其實PIC單片機讀寫1062程序沒有多難,照著時序圖很容易寫出來,而且很多人已經在51中操作過,在PIC單片機中也是大同小異,所以這里不再贅述。我在附件中打包了一個我寫完的程序,需要的可以打開看看,其中CPU使用的是PIC18F97J60,晶振使用的25MHz,其他的單片機和晶振稍微改一改程序即可。(換單片機主要改端口、換了晶振的請適當修改毫秒延時函數void DelayMS(unsigned int xms))
但是今天我要說的是很多人都是用延時的方法寫的1602液晶讀寫數據、寫命令時間間隔,這是不精確的,我今天是用的是1602自帶的忙檢測功能,也就是寫數據和命令之前我先判斷液晶是否忙,不忙我再讀寫。
//忙檢測
void LCD_BusyDect(void)
{
TRISEbits.TRISE7 = 1; //忙檢測位輸入
do
{
E=0;
RS=0;
RW=1;
Nop();
E=1;
Nop();Nop();
}while(PORTEbits.RE7);
TRISEbits.TRISE7 = 0; //恢復忙檢測位端口輸出