LCD1602 的4線接法
雖然LCD1602的顯示屏幕與顯示字符都較小,實用性并不強,但是在一般的教學實驗中,它仍不失為一個常用的輸出顯示設備。
LCD1602與單片機連接的線路共有11條,其中有8條數(shù)據(jù)線,3條控制線。如果把它們都連接上,將占用較多的單片機的接口。
LCD1602還有一種使用高4位數(shù)據(jù)線的接法,可以減少單片機的負擔。
另外,RW的控制也并非是必用的,如果僅僅是用于讀取LCD1602“忙”的狀態(tài),就可以用稍事等待來代替。這樣一來,RW就可以直接接地,使LCD1602永遠處于寫入的狀態(tài)。
那么,LCD1602和單片機之間就僅僅需要6條線了,這就是LCD1602最簡潔的連接方法。
下面的一個例子是使用P0口的高4位連接到LCD1602的高4位數(shù)據(jù)線,P2.0連接到RS,P2.1連接到EN。
對LCD1602寫入輸出的子程序如下:
LCD_W_DATA:;LCD1602數(shù)據(jù)線D7~D4接P0口高四位
CALLWAIT5MS;稍等
PUSHACC;保存
SETBLCD_RS;RS=1,數(shù)據(jù)
ORLA,#0FH;低4位置一
MOVP0,A;寫高四位
CALLENABLE;在EN給出正脈沖
POPACC;恢復
SWAPA;高低四位交換
ORLA,#0FH;低4位置一
MOVP0,A;寫低四位
CALLENABLE;在EN給出正脈沖
RET
程序中,先輸出高4位,再輸出低4位,這是按照LCD1602的4線接法的數(shù)據(jù)傳輸規(guī)范進行的。
輸出時,對P0口的低4位進行了置1,目的是使其處于輸入狀態(tài),這樣,低4位可以用做按鍵的輸入接口。
對LCD1602寫入命令的子程序,和上面的程序類似,只是要有RS=0。
但是要注意,初始化為4位的時候,應該使用8位的形式。
利用LCD1602、DS18B20制作萬年歷溫度計的電路如下:
這個電路已經(jīng)制作成實物,經(jīng)過多日的實際測量,可以看出時間精度很高,并不亞于使用DS1302的方案。
溫度的顯示程序,可以顯示零下、以及超過100度的溫度。
可以使用4個按鍵進行控制,長按“設置”,方可進入設置狀態(tài);之后再短按“設置”,即可依次改變當前設置的項目。
只有再長按“設置”,方可退出設置狀態(tài)。
在設置狀態(tài),當前選定的項目,將以閃爍顯示,此時再按下“加”、“減”,即可進行修改。
程序中,具有自動計算平閏年、計算星期幾的功能,所以只需要設置年月日即可。
程序中,設計了一個鬧鐘功能,可以設置一個精確到秒的鬧時時刻。鬧時,也可以設置為鬧或不鬧。
實際上,多設計幾個鬧時也是可輕易辦到的,這樣就可以做為定時控制器了,比如用于校園打鈴。





