3.4.1实验电路与原理说明(电路原理图,Protues) file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7CE7.tmp.jpg
说明:有p1口控制数码管的的位选,p2口控制每个数码管的段选,采用扫描式显示。 3.4.2程序流程图
3.4.3源程序清单 #include <reg51.h> void delay(unsigned int i); //函数声名 void display (); //此表为 LED 的字模, 共阴数码管 0-9 - unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //段码控制 //此表为8个数码管位选控制, 共阴数码管 1-8个 - unsigned char code dispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F}; //位选控制 查表的方法控制 unsigned char date[8]={1,9,9,3,0,8,1,2};//显存 void main() { int k;int j;unsigned char tem; while(1) { for (k=0;j<200;j++) { display (); } tem=date[0]; for (j=0;j<7;j++) { date[j]=date[j+1]; } date[7]=tem; } } void display () { int i; for (i=0;i<8;i++) { P1=dispbit[ i]; P0=Disp_Tab[date]; delay(50); P0=0x00; delay(5); } } void delay(unsigned int t) //延时 { while(--t); } |