模塊化51庫程序1602液晶顯示,保證好用,有需要的拿走吧!!!!!
單片機源程序如下:
- #include <REGX52.H>
- #define io P0 // 1602的宏定義。
- //=======1602顯示位申明========//
- sbit dula=P2^6;
- sbit wela=P2^7;
- sbit lcden=P3^4;
- sbit rs=P3^5;
- //=====1602顯示位申明完成=====//
- //===============================================//
- //====11.0592Mhz晶振前提下,延時1毫秒左右=====//
- void delay1ms(unsigned int ms)
- {
- unsigned int x,y;
- for(x=ms;x>0;x--)
- for(y=112;y>0;y--);
- }
- //================延時1毫秒完畢==============//
- //=======1602顯示的函數申明=========//
- void write_1602com(unsigned char com);
- void write_1602dat(unsigned char dat);
- void add_1602(unsigned char line,unsigned char list);
- void display_1602(unsigned char *p);
- void init_1602(void);
- //=======1602顯示的函數申明完成=========//
- //=======1602顯示需要的函數=========//
- void write_1602com(unsigned char com)
- {
- delay1ms(15);
- rs=0;
- io=com;
- lcden=0;
- lcden=1;
- lcden=0;
- }
- void write_1602dat(unsigned char dat)
- {
- delay1ms(15);
- rs=1;
- io=dat;
-
- lcden=0;
- lcden=1;
- lcden=0;
- }
- void add_1602(unsigned char line,unsigned char list)
- {
- if(line==1)
- {
- write_1602com(0x80+list);
- }
- else
- {
- write_1602com(0x80+0x40+list);
- }
- }
- void display_1602(unsigned char *p)
- {
- while(*p!='\0')
- {
- write_1602dat(*p);
- p++;
- }
- }
- void init_1602(void)
- {
- dula=0;
- wela=0;
- delay1ms(15);
- write_1602com(0x38);
- delay1ms(5);
- write_1602com(0x38);
- delay1ms(5);
- write_1602com(0x38);
- write_1602com(0x08);
- write_1602com(0x01);
- write_1602com(0x0c);
- write_1602com(0x06);
- }
- //=======1602顯示需要的函數完成=========//
- void main()
- {
- init_1602();
- while(1)
- {
- add_1602(1,1);
- display_1602("hello!");
- }
- }
復制代碼
所有資料51hei提供下載:
1602顯示.rar
(17.85 KB, 下載次數: 17)
2019-8-25 11:37 上傳
點擊文件名下載附件
51庫程序1602液晶顯示 下載積分: 黑幣 -5
|