lcd顯示程序
單片機源程序如下:
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit rs=P3^2; //1602的數據/指令選擇控制線
- sbit rw=P3^3; //1602的讀寫控制線
- sbit en=P3^4;
- uchar code table[]="zxcv";
- uchar code table1[]="study up";
- void delay(uint n) //延時函數
- { uint x,y;
- for(x=n;x>0;x--)
- for(y=110;y>0;y--);
- }
- void lcd_wcom(uchar com)
- { rs=0; //選擇指令寄存器
- rw=0; //選擇寫
- P2=com; //把命令字送入P2
- delay(5); //延時一小會兒,讓1602準備接收數據
- en=1; //使能線電平變化,命令送入1602的8位數據口
- en=0;
- }
- void lcd_wdat(uchar dat) //1602寫數據函數
- {
- rs=1; //選擇數據寄存器
- rw=0; //選擇寫
- P2=dat; //把要顯示的數據送入P2
- delay(5); //延時一小會兒,讓1602準備接收數據
- en=1; //使能線電平變化,數據送入1602的8位數據口
- en=0;
- }
- void lcd_init()
- {
- lcd_wcom(0x38); //8位數據,雙列,5*7字形
- lcd_wcom(0x0c); //開啟顯示屏,關光標,光標不閃爍
- lcd_wcom(0x06); //顯示地址遞增,即寫一個數據后,顯示位置右移一位
- lcd_wcom(0x01); //清屏
- }
- void main()
- {
- uchar n,m=0;
- lcd_init(); //液晶初始化
- lcd_wcom(0x80); //顯示地址設為80H(即00H,)上排第一位
- for(m=0;m<4;m++) //將table[]中的數據依次寫入1602顯示
- {
- lcd_wdat(table[m]);
- delay(200);
- }
- lcd_wcom(0x80+0x44);
- //重新設定顯示地址為0xc4,即下排第5位
- for(n=0;n<8;n++) //將table1[]中的數據依次寫入1602顯示
- {
- lcd_wdat(table1[n]);
- delay(200);
- }
- while(1);
- }
復制代碼
所有資料51hei提供下載:
液晶.rar
(165 KB, 下載次數: 12)
2018-4-8 20:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|