用单片机控制液晶的显示 从右侧循环滚动显示
单片机源程序如下:
- #include"reg52.h"
- #define u16 unsigned int
- #define u8 unsigned char
- u8 code table1[]="I LOVE YOU!";
- u8 code table2[]="www.51hei.com";
- sbit lcd_1602rd=P2^6;
- sbit lcd_1602wr=P2^5;
- sbit lcde=P2^7;
-
- void delay(u16 mas)
- {
- u16 i,j;
- for(i=mas;i>0;i--)
- for(j=110;j>0;j--);
- }
- void send_comand(u8 com)
- {
- lcd_1602rd=0;
- P0=com;
- lcde=1;
- delay(10);
- lcde=0;
- }
- void send_date(u8 date)
- {
- lcd_1602rd=1;
- P0=date;
- lcde=1;
- delay(10);
- lcde=0;
- }
- void init()
- {
- lcd_1602wr=0;
- lcde=0;
- send_comand(0x38);
- send_comand(0x0f);
- send_comand(0x06);
- send_comand(0x01);
- }
- void xianshi()
- {
- u8 i;
- init();
- send_comand(0x80+0x10);
- for(i=0;i<11;i++)
- {
- send_date(table1[i]);
- delay(500);
- }
-
- send_comand(0x80+0x50);
- for(i=0;i<13;i++)
- {
- send_date(table2[i]);
- delay(5);
- }
- for(i=0;i<16;i++)
- {
- send_comand(0x18);
- delay(200);
- }
- }
- void main()
- {
- while(1)
- {
- send_comand(0x01);
- delay(100);
- xianshi();
- delay(100);
- }
- }
复制代码
所有资料51hei提供下载:
液晶1602的滚动显示.zip
(17.73 KB, 下载次数: 34)
|