1、/芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 /LCD控制线宏定义 #define rs RA5#define rw RA4#define e RA3/显示公司web地址char web = "*.*.*&; /显示公司电话号码 char tel = & 110 & ; void init(); /申明I/O口初始化函数 void lcd_init(); /申明LCD初始化函数 void write(char x); /申明显示1字节数据函数 void lcd_enable(); /申明LCD显示设置函数 void delay(); /申明延时函
2、数 void writelcd(char *pt); /声明LCD写字符串函数 /* * 名 称:main() * 功 能:主函数 * 入口参数:* 出口参数:* 说 明:* 备 注:*/void main() init(); /调用I/O口初始化函数 lcd_init(); /调用LCD初始化函数 while (1) writelcd(web); /调用显示公司web地址函数 PORTD = 0XC0; /设置第2行显示地址 lcd_enable(); /调用LCD显示设置函数 writelcd(tel); /调用显示公司tel函数 init() I/O口初始化 void init() AD
3、CON1 = 0X07; /设置A口为普通I/O口 RA1=1; TRISA = 0X00; /设置A口为输出 TRISD = 0X00; /设置D口为输出 lcd_init() LCD初始化 void lcd_init() PORTD = 0X1; /清除显示 PORTD = 0X38; /8位2行5*7点阵 PORTD = 0X0e; /显示开,光标开,闪烁 PORTD = 0X06; /文字不动,光标右移 PORTD = 0X80; /公司web显示地址 write() 写一个字节数据到LCD char x 字符void write(char x) PORTD = x; /待显示数据送P
4、ORTD口 rs = 1; /该字节数据为数据,而不是命令 rw = 0; /此次操作为写,而不是读 e = 0; /拉低使能信号 delay(); /保持使能信号为低一段时间 e = 1; /拉高使能信号,建立LCD操作所需要的上升沿 lcd_enable() LCD显示设置 void lcd_enable() rs = 0; /该字节数据为命令,而不是数据 delay() 延时 void delay() int i; for (i = 0;i 5000;i+); writelcd() 在LCD上显示字符串 char *pt 字符串的首地址void writelcd(char *pt) while(*pt) write(*pt+);