|
給大家分享一個lcd1602顯示的子程序模塊化可多次調(diào)用,非常方便移植,不改或改一點(diǎn)就可以用到自己的程序中
0.jpg (28.2 KB, 下載次數(shù): 42)
下載附件
2018-4-19 21:43 上傳
單片機(jī)源程序如下:
- #include "lcd1602.h"
- /*LCD1602忙碌等待*/
- void LCD1602Wait()
- {
- unsigned char sta;//讀取LCD1602狀態(tài)字
-
- /*讀取液晶狀態(tài)字之前必須將P2口全部拉高*/
- LCD1602_DB = 0xFF;
-
- LCD1602_RS = 0;
- LCD1602_RW = 1;
- LCD1602_EN = 0;
-
- do
- {
- LCD1602_EN = 1;
- sta = LCD1602_DB;//讀狀態(tài)字
- LCD1602_EN = 0;
- } while (sta & 0x80); //檢測最高位是否為1,1忙碌,0空閑
- }
- /*LCD1602寫命令*/
- void LCD1602WriteCmd(unsigned char cmd)
- {
- //讀寫前要進(jìn)行液晶的忙碌等待
- LCD1602Wait();
-
- LCD1602_RS = 0;
- LCD1602_RW = 0;
- LCD1602_EN = 0;
- LCD1602_DB = cmd;
- LCD1602_EN = 1;//高脈沖
- LCD1602_EN = 0;//關(guān)閉液晶輸出
- }
- /*LCD1602寫數(shù)據(jù)*/
- void LCD1602WriteData(unsigned char dat)
- {
- LCD1602Wait();
-
- LCD1602_RS = 1;
- LCD1602_RW = 0;
- LCD1602_EN = 0;
- LCD1602_DB = dat;//送入數(shù)據(jù)
- LCD1602_EN = 1;//高脈沖
- LCD1602_EN = 0;//關(guān)閉液晶輸出
- }
- /*液晶初始化*/
- void InitLCD1602()
- {
- LCD1602WriteCmd(0x38); //寫指令38H
- LCD1602WriteCmd(0x0C); //開顯示不顯示光標(biāo)
- LCD1602WriteCmd(0x06); //寫入字符時字符指針++且光標(biāo)++
- LCD1602WriteCmd(0x01); //顯示清屏
- }
- /*在LCD1602的坐標(biāo)(x, y)位置顯示一個字節(jié)*/
- void LcdShowData(unsigned char x, unsigned char y, unsigned char byte)
- {
- unsigned char addr;
-
- if (y == 0)
- {
- addr = 0x00 + x; //第一行的x位置顯示
- }
- else
- {
- addr = 0x40 + x; //第二行x的位置顯示
- }
- LCD1602WriteCmd(addr + 0x80);
- LCD1602WriteData(byte);
- }
- /*在LCD1602的坐標(biāo)(x, y)位置顯示str*/
- void LcdShowStr(unsigned char x, unsigned char y, unsigned char * str)
- {
- unsigned char addr;
-
- if (y == 0)
- {
- addr = 0x00 + x; //第一行的x位置顯示
- }
- else
- {
- addr = 0x40 + x; //第二行x的位置顯示
- }
- LCD1602WriteCmd(addr + 0x80);
- while (*str != '\0')
- {
- LCD1602WriteData(*str++);
- }
- }
- //*設(shè)置光標(biāo)的位置為(x, y)
- void LcdSetCoursor(unsigned char x, unsigned char y)
- {
- unsigned char addr;
-
- if (y == 0)
- {
- addr = 0x00 + x;
- }
- else
- {
- addr = 0x40 + x;
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
1602顯示函數(shù).zip
(27.6 KB, 下載次數(shù): 38)
2018-4-19 19:10 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|