No.83115 作者:mpszm 邮件:mpszm@sina.com ID:15299 登陆:9次 文章数:2篇 最后登陆IP:220.115.131.144 最后登陆:2008/10/22 15:38:55 注册:2003/9/30 23:28:53 财富:117 发帖时间:2005/9/3 10:04:05 发贴者IP:61.190.89.126 标题:mpszm:[求助]我的液晶无法显示,源程序如下,请帮忙分析,谢谢各位高手。 摘要:No.83115[求助]我的液晶无法显示,源程序如下,请帮忙分析,谢谢各位高手。 C8051F 单片机:ST7920液晶请教!!!急,串行方式。 我的液晶无法显示,源程序如下,请帮忙分析,谢谢各位高手。 #include <C8051F000.H> sbit LCM_CS = P0^3 ; //LCM 驱动端口 sbit LCM_SID = P0^4 ; sbit LCM_SCLK = P0^5 ; sbit LCM_RST = P0^6 ; sbit LCM_BK = P0^7 ; void send_byte(unsigned char dat); void write_cmd(unsigned char cmd); void write_data(unsigned char buffer); void lcd_init(void) ; void delay_us(int ms) { unsigned int data i; unsigned char data j; for(i=0;i <ms;i++) { for(j=0;j <0x2f;j++); } } //串行发送一字节数据 void send_byte(unsigned char lcd_byte) { unsigned char data i; for(i=0;i <8;i++) { LCM_SCLK = 0 ; delay_us(10); if((lcd_byte) & 0x80) LCM_SID = 1; else LCM_SID = 0; LCM_SCLK = 1 ; lcd_byte=lcd_byte < <1; delay_us(10); } } void write_cmd(unsigned char cmd) { //LCM_CS=1; delay_us(20); send_byte(0xf8); //11111,00,0 RW=0,RS=0 同步标志 send_byte(cmd & 0xf0); //高四位 send_byte((cmd < <4) & 0xf0); //低四位 delay_us(20); // LCM_CS=0; } void write_data(unsigned char buffer) { // LCM_CS=1; delay_us(20); send_byte(0xfa); //11111,01,0 RW=0,RS=1 send_byte(buffer & 0xf0); //高四位 send_byte((buffer < <4) & 0xf0); //低四位 delay_us(20); //LCM_CS=0; } void lcd_init(void) { LCM_RST= 0; delay_us(1000) ; LCM_RST=1; delay_us(1000); LCM_CS = 1; ......
>>返回讨论的主题
|