期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
利用單片機的控制程序結合LCD設計一個簡易的微電腦時鐘,可以告知現在的時間或記錄完成一件工作花費的時間(通過重置計時),設計過程中可以學習利用單片機定時器設計時間計時處理,這是許多電子裝置最基本的功能。LCD在電子產品設計中使用率相當的高,普通的七段顯示器只能用來顯示數字若遇到要顯示英文文字時,則一定會選用LCD。通常我們在電子商城買到的LCD,其背面都含有控制電路,其上面有專門的IC來完成LCD的動作控制,在自行設計的接口中,只要送入適當的命令碼和欲顯示的數據,LCD便會將其字符顯示出來,在控制上非常方便。本次設計是利用單片機8051的控制程序結合LCD設計一個簡易的可調微電腦時鐘。
一、設計思路
定時器0計時中斷程序每隔5ms中斷一次當作一次中斷完成,每中斷一次計數器加1,計數200次,表示1秒依次判斷1min、1h,計數到了相關變量清零;用K1、K2、K3、K4進行時間調節:K1(P2.4)---進入時間調節;K2(P2.5)---調節小時;K3(P2.6)---調節分鐘;K4(P2.7)---調節完成。
二、硬件電路
1、原理圖
其中LCD引腳說明如下:
D0----D7:雙向數據總線
RS:寄存器選擇控制線
R/W:讀寫控制線
EN:啟用控制線
VCC:電源正端
VO:字符顯示亮度控制引腳
GND:電源地端
值得注意的是:有的第1腳是接+5V,第2腳接地;有的第1腳是接地的,第2腳接+5V(最好能拿到原廠的引腳圖)。
2、實物電路
三、開發環境
開發環境選擇Keil C51 Vision2,Keil C51軟件是德國Keil Software/Keil Elektronik 公司開發的功能完善的C51開發軟件,近年來在國內得到了迅速普及。
在keil的uV2集成環境下使用偉福仿真器需要在keil環境中做如下設定:1、設置“編譯后運行程序”,以便初始化偉福仿真器;2、設置硬件調試方式,并設置串口參數。
四、軟件原理
1、使用定時器0模式0
INIT_TIMER:
MOV TMOD,#00000000B
MOV IE,#10000010B
MOV TL0,#LO
MOV TH0,#HI
SETB TR0
RET
2、設置目前的時間
SZSJ:
CLR TR0
MOV SEC,#0
L0:
JB K2,L1
INC HOUR
MOV A,HOUR
CJNE A,#24,L2
MOV HOUR,#0
L2:
CALL CONV
MOV R5,#20
CALL DELAY
JMP L0
L1:
JB K3,L3
INC MIN
MOV A,MIN
CJNE A,#60,L4
MOV MIN,#0
L4:
CALL LCDZB
MOV R5,#20
CALL DELAY
JMP L0
L3:
JB K4,L0
JNB K4,$
SETB TR0
RET
3、一秒中斷子程序
INT:
PUSH ACC
MOV TL0,#24
MOV TH0,#99
INC DEDA
MOV A,DEDA
CJNE A,#200,K
K:
POP ACC
RETI
4、將時分秒的數據轉換成數字數據顯示在LCD上
LCDZB:
MOV A,HOUR
MOV X,#5
CALL SZZA
INC X
MOV A,#':'
MOV B,X
CALL LCDXS
MOV A,MIN
INC X
CALL SZZA
INC X
MOV A,#':'
MOV B,X
CALL LCDXS
MOV A,SEC
INC X
CALL SZZA
RET
5、在LCD上顯示數字
SZZA:
MOV B,#10
DIV AB
ADD A,#30H
PUSH B
MOV B,X
CALL LCDXS
POP B
MOV A,B
ADD A,#30H
INC X
MOV B,X
CALL LCDXS
RET
6、以4位控制方式將命令寫至LCD
MDL:
MOV P0,A
CLR RS
CALL DMC
RLC A
RLC A
RLC A
RLC A
MOV P0,A
CLR RS
CALL DMC
RET
7、以4位控制方式將數據寫入LCD
SDL:
MOV P0,A
SETB RS
CALL DMC
RLC A
RLC A
RLC A
RLC A
MOV P0,A
SETB RS
CALL DMC
RET
8、更新時分秒數據
TIMERGX:
MOV A,SEC
MOV B,SEC0
CJNE A,B,W1
JMP W2
W1:
CALL LCDZB
MOV SEC0,SEC
W2:RET
9、在LCD上顯示字符
LCDXS:
PUSH ACC
MOV A,B
ADD A,#0C0H
CALL MDL
POP ACC
CALL SDL
RET
10、總延遲時間(R5*10ms)
DELAY:
MOV R6,#50
LOOP:
MOV R7,#100
DJNZ R7,$
DJNZ R6,LOOP
DJNZ R5,DELAY
RET
其中:DMC-----短脈沖信
結語:本次設計使用了一般的LCD顯示器來顯示字符數據,尤其是在教學中不僅能使學生L靈活掌握定時器的應用,而且能掌握模塊化的設計思路。另外根據本設計可以自行擴充其他的功能,如:增加鬧鈴、產生音樂聲、啟動繼電器控制家電等。
參考文獻
[1] 單片機實踐與應用.吳金成.清華大學出版社
[2] 單片機實用技術.陶春鳴.人民郵電出版社
[3] 單片機原理與應用.李群芳.武漢大學出版社