|
IO口不夠用,所以只能用4位控制1602屏,不成功。不知道問題在哪里,望高人指導(dǎo)!
單片機源程序如下:
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit lcdrs= P2^1;
- sbit lcdrw= P2^2;
- sbit lcden= P2^3;
- void delay(uint m)
- {while(--m);}
-
- void write(uchar com,uchar date)
- {
- uint nn=20;
- lcdrs=com;
-
- P1=(date&0xf0);
- delay(nn);
- lcden=1;
- delay(nn);
- lcden=0;
- P1=(date&0x0f)<<4;
- delay(nn);
- lcden=1;
- delay(nn);
- lcden=0;
- delay(nn);
- }
- void init()
- {
- lcdrw=0;
- lcden=0;
- delay(5);
- write(0,0x28);
- write(0,0x0c);
- write(0,0x01);
- write(0,0x80);
- delay(255);
- }
- void main()
- {
- init();
- while(1){
- write(0,0x80);write(1,'a');
- }
- }
復(fù)制代碼
|
|