1、PIC单片机驱动LCD1602液晶显示字符串程序PIC单片机驱动LCD1602液晶显示字符串程序 /* * 功能:LCD1602的使用* 实验内容:LCD显示本站网址和电话* 开发板连接方法: 调节1602电位器,使LCD对比度最好,装1602时不要装错了,否测会烧掉。*/#include; _CONFIG(0xFF32); /芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 /LCD控制线宏定义 #define rs RA5#define rw RA4#define e RA3/显示公司web地址char web = "*.*.*" /显示
2、公司电话号码 char tel = " 110 " ; void init(); /申明I/O口初始化函数 void lcd_init(); /申明LCD初始化函数 void write(char x); /申明显示1字节数据函数 void lcd_enable(); /申明LCD显示设置函数 void delay(); /申明延时函数 void writelcd(char *pt); /声明LCD写字符串函数 /* * 名 称:main() * 功 能:主函数 * 入口参数:* 出口参数:* 说 明: * 备 注: */void main() init(); /调用I/O
3、口初始化函数 lcd_init(); /调用LCD初始化函数 while (1) writelcd(web); /调用显示公司web地址函数 PORTD = 0XC0; /设置第2行显示地址 lcd_enable(); /调用LCD显示设置函数 writelcd(tel); /调用显示公司tel函数 /* * 名 称:init() * 功 能:I/O口初始化 * 入口参数:* 出口参数:* 说 明: * 备 注: */void init() ADCON1 = 0X07; /设置A口为普通I/O口 RA1=1; TRISA = 0X00; /设置A口为输出 TRISD = 0X00; /设置D口
4、为输出 /* * 名 称:lcd_init() * 功 能:LCD初始化 * 入口参数:* 出口参数:* 说 明: * 备 注: */void lcd_init() PORTD = 0X1; /清除显示 lcd_enable(); PORTD = 0X38; /8位2行5*7点阵 lcd_enable(); PORTD = 0X0e; /显示开,光标开,闪烁 lcd_enable(); PORTD = 0X06; /文字不动,光标右移 lcd_enable(); PORTD = 0X80; /公司web显示地址 lcd_enable(); /* * 名 称:write() * 功 能:写一个字
5、节数据到LCD * 入口参数:char x 字符* 出口参数:* 说 明: * 备 注: */void write(char x) PORTD = x; /待显示数据送PORTD口 rs = 1; /该字节数据为数据,而不是命令 rw = 0; /此次操作为写,而不是读 e = 0; /拉低使能信号 delay(); /保持使能信号为低一段时间 e = 1; /拉高使能信号,建立LCD操作所需要的上升沿 /* * 名 称:lcd_enable() * 功 能:LCD显示设置 * 入口参数:* 出口参数:* 说 明: * 备 注: */void lcd_enable() rs = 0; /该字节
6、数据为命令,而不是数据 rw = 0; /此次操作为写,而不是读 e = 0; /拉低使能信号 delay(); /保持使能信号为低一段时间 e = 1; /拉高使能信号,建立LCD操作所需要的上升沿 /* * 名 称:delay() * 功 能:延时 * 入口参数:* 出口参数:* 说 明: * 备 注: */void delay() int i; for (i = 0;i 5000;i+); /* * 名 称: writelcd() * 功 能: 在LCD上显示字符串 * 入口参数:char *pt 字符串的首地址* 出口参数:* 说 明: * 备 注: */void writelcd(char *pt) while(*pt) write(*pt+);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1