《8位数码管滚动显示单个数字》由会员分享,可在线阅读,更多相关《8位数码管滚动显示单个数字(4页珍藏版)》请在金锄头文库上搜索。
1、8 只数码管滚动显示单个数字/* 名称:8 只数码管滚动显示单个数字说明:数码管从左到右依次滚动显示 07,程序通过每次仅循环选通一只数码管*/#include#include#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/延时void DelayMS(uint x)uchar t;while(x-) for(t=0;t#include#define uchar unsigned char#defi
2、ne uint unsigned intuchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/延时void DelayMS(uint x)uchar t;while(x-) for(t=0;t#define uchar unsigned char#define uint unsigned int/段码表uchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/位码表uchar code DSY_IDX=0x01,0x02,0
3、x04,0x08,0x10,0x20,0x40,0x80;/延时void DelayMS(uint x)uchar t;while(x-) for(t=0;t#include#define uchar unsigned char#define uint unsigned int/段码表uchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;/下面数组看作环形队列,显示从某个数开始的 8 个数( 10 表示黑屏)uchar Num=10,10,10,10,10,10,10,10,2,9,8;/延时void DelayMS(uint x)uchar t;while(x-) for(t=0;t120;t+);/主程序void main()uchar i,j,k=0,m=0x80;while(1) /刷新若干次,保持一段时间的稳定显示for(i=0;i15;i+)for(j=0;j8;j+) /发送段码,采用环形取法,从第 k 个开始取第 j 个P0=0xff;P0=DSY_CODENum(k+j)%11; m=_crol_(m,1);P2=m; /发送位码DelayMS(2);k=(k+1)%11; /环形队列首支针 k 递增,Num 下标范围 010,故对 11 取余