请问论坛中的高人,单片机系统中要求用地址线A1,A2来作为LCD的WR,RD控制信号.用总线方式并不能控制数据写入和读出,如果精确控制其读写时序该怎么编写程序.希望达人指点指点 谢谢了! xdata uchar LCD_cmdRegWr _at_ 0xe002;//cs 低 可接受指令,rs 低 寄存器 ,A1(/RD)为'1' ,A2(/WR)为'0' xdata uchar LCD_cmdRegRd _at_ 0xe004;//cs 低 可接受指令,rs 低 寄存器 ,A1(/RD)为'0' ,A2(/WR)为'1' xdata uchar LCD_Data _at_ 0xe003;//cs 低 可接受指令,rs 高 数据 ,A1(/RD)为'1' ,A2(/WR)为'0'
void LCD_CmdWrite(uchar cmdReg , uchar cmdData) small { LCD_cmdRegWr = cmdReg; // 写入缓存器的地址 Delay_us(6); LCD_cmdRegWr = cmdData; // 写入缓存器的数据 } uchar LCD_CmdRead(uchar cmdReg) small { uchar ReadReg; LCD_cmdRegWr = cmdReg; // 写入缓存器的地址 Delay_us(6); ReadReg = LCD_cmdRegRd; return ReadReg; } void LCD_DataWrite(uchar WrData) small { LCD_Data = WrData; Delay_us(4); }
|