|
51单片机学习记录,按时计数选取显示
单片机源程序如下:
- #include<reg52.h>
- #include<string.h>
- #define uchar unsigned char
- sbit RS=P1^0;
- sbit RW=P1^1;
- sbit E=P1^2;
- unsigned int num,units=0,tens=0,hundreds=0;
- uchar row1[]={"Welcome to China"};
- uchar row2[]={"0123456789"};
- void delay(uchar ms)
- {
- uchar k;
- while(ms--)
- for(k=0;k<123;k++);
- }
- void command(uchar com)
- {
- RS=0;
- RW=0;
- E=1;
- P0=com;
- E=0;
- delay(1);
- }
- void WriteData(uchar dat)
- {
- RS=1;
- RW=0;
- E=1;
- P0=dat;
- E=0;
- delay(1);
- }
- void init()
- {
- command(0x38);
- command(0x0c);
- command(0x06);
- command(0x01);
- }
- void display()
- {
- if(units==10)units=0,tens++;
- if(tens==10)tens=0,hundreds++;
- if(hundreds==10)hundreds=0;
-
- command(0x80);
- for(num=0;num<16;num++)
- WriteData(row1[num]),delay(5);
- command(0x80+0x40);
- WriteData(row2[hundreds]);
- command(0x80+0x40+0x01);
- WriteData(row2[tens]);
- command(0x80+0x40+0x02);
- WriteData(row2[units]);
- units++;
- delay(10);
- }
- void main()
- {
- init();
- while(1)
- display();
- }
复制代码 |
-
-
exp41.zip
75.24 KB, 下载次数: 4, 下载积分: 黑币 -5
keil和proteus8.9
|