題目:LED電子數位時鐘 第 二組 組員:49912028 陳柏霖 49912086 李育昇
目錄 前言________________P.3 系統架構____________P.4 硬體電路設計_______P.5
前言 8051為一個小型的微控制器,常被用來當作小型專題的控制器,因此利用8051單晶片控制設計一個電子時鐘,並結合七段顯示器來顯示數字,使在夜晚或黑暗的地方也能夠使用,其主要功能為時間顯示與設定。
系統架構 在設計程式中,運用計時器(Timer)與中斷(Interrupt)的概念,挑選合適的計時器模式去實行,使CPU在穩定的狀態下運作。當有中斷發生時,CPU跳至其相對的向量位址去執行,直至副程式結束回到主程式,CPU繼續穩定運作。
硬體電路設計 單晶片時鐘電路圖
硬體電路元件 (1).IC-89C51 (2).七段顯示器 (3).LED 燈 (4).排阻 (5).電阻 (6).電容 (7).按鈕 (8).石英震盪器 12MHz
元件介紹:單晶片8051: 8051能夠達到以更小的體積,來達成自動控制作業,如感測訊號的擷取、循序控制等,且具備了便宜、電路簡單、體積小與耗電低等優點,使得傳統的8051成為學校的教材,在業界使用上也極為廣泛。
8051系統要件 1. 振盪器: 外接一個石英晶體,可生整個系統所需時序 脈波。 2. CPU: 用來執行指令、控制整個微電腦的運作。 3. 程式記憶體: ROM或Flash Memory,用來儲存程式及固 定不變的常數,不會因電源切斷而消失。
4. 資料記憶體: RAM,用來儲存程式執行中須加 以改變的資料, 可由CPU存取資料,但電源切斷,資料即消失。 5. 計時器/計數器: 用指令設定16位元的計時器與計數器。 6. I/O接腳: 一共有32隻接腳可被應用。
接腳說明 1. ALE:編號第30隻接腳,為位址栓鎖致能 信號腳位。 2. PSEN :編號第29隻接腳,外部程式記憶 體致能腳位。 3. EA: 用於存取外部程式碼,編號第31隻 接腳,屬於輸入腳。 4. Vss或GND:編號第20隻接腳,接地電位。 5. Vcc:編號第40隻接腳,外接+5V電源。
6. XTAL1及XTAL2(圖.1):反相放大器輸入與輸出端,編號第18~19隻接腳,用來外接石英震盪器。 7. RESET(圖.2):編號第9隻接腳,重置輸入腳,當輸入為High時,則重置;加按鈕,以方便重置設定。 nnnn 圖.1 圖.2
1. P0.0~P0.7(port0): 編號第32~39支接腳, 可為八位元輸入埠或輸出埠。 2. P1.0~P1.7(Port1): 編號第1~8支接腳, 3. P2.0~P2.7(Port2): 編號第21~28支接腳,
4. P3.0~3.7:編號第10~17隻腳,可為八位元輸入埠或輸出埠。
元件介紹:七段顯示器 在日常生活中,是一種表現數字的方式。 例如:冷氣、時鐘、手錶...等等的顯示表,大部分都是由七段顯示器來呈現。
它是由 7 個 LED 所構成,透過單晶片的程式運算, 進制或十六進制的數字。 例如:單晶片控制a、b、g、c、d位置發亮,即可 產生數字3。
七段顯示器可分為「共陽極」與「共陰極」兩種 共陽極顯示器,需在電路輸入4-bit的二進位數字訊號,即可顯示數字。(共同接點接Vcc) 共陰極顯示器,以獨立方式控制不同接點開合來顯示數字。(共同接點接Vss)
程式說明 在單晶片的運算下過了一秒後,更新變換顯示時間,並檢查是否過了1秒,最後在記錄舊的秒數。 ;----------------------------------- ; UPDATE MIN , SEC TIME_PRO: 例如: MOV A , SEC 60秒後又過一秒鐘, MOV B , SEC0 分鐘的顯示器會加1分鐘。 CJNE A , B ,TI1 JMP TI2 60分鐘又過一秒鐘, TI1: CALL CONV 小時的顯示器會加1小時。 MOV SEC0, SEC TI2: RET
;------------------------------------- ; K2:HH K3:MM K4:OK SET_TIME: CLR TR0 MOV SEC,#0 ; SCAN 3 KEY TO ADJ............ L0: CALL SCAN1 JB K2,L1 ; K1 KEYED ADJ HH...... INC HOUR MOV A, HOUR CJNE A,#24,L11 MOV HOUR,#0 L11: CALL CONV CALL SCANS ; DELAY JMP L0 表示 K2 控制小時的按鍵 表示 K3 控制分鐘的按鍵 表示 K4 完成設定的按鍵 當按下 K1 重新設定按鍵,計時器動作暫停,秒鐘變數清除為0 七節顯示器開始掃描,若按下K2鍵,顯示器小時計數加1,若沒有按下K2鍵,則顯示器繼續掃描 當顯示器小時計數為24小時,小時變數自動清除為0,即顯示器顯示為”00”
系統功能 1.時間顯示: 七段顯示器C1:顯示小時(十位數) 七段顯示器C2:顯示小時(個位數) 七段顯示器C3:顯示分鐘(十位數) 七段顯示器C4:顯示分鐘(個位數) 2.時間設定: 按鍵K1:設定時間 按鍵K2:設定小時 按鍵K3:設定分鐘 按鍵K4:完成設定
操作說明 1.程式執行後,LED閃動表示程式開始執行, 七段顯示器顯示初始值“0000”。 2.按下K1進入時間設定。 6.按reset按鍵,單晶片運算重置,並回歸初始狀 態, 顯示器為”0000”。
影片介紹 1.基本作動形式 2.LED創意作動形式
結論 透過單晶片實作了解8051及其他電子元件的功用,並且學習在實作過程中,遇到電路上與程式上的問題時,能夠有耐心地了解問題所在,並自行解決的能力;而最重要的就是享受焊接電路的樂趣與完成後的成就感。
參考資料 LED創意之電子數位時鐘 http://dspace.lib.fcu.edu.tw/bitstream/2377/29826/1/D973627698201.pdf 七段顯示器計時時鐘 http://eshare.stust.edu.tw/EshareFile/2010_12/2010_12_6e462f5c.pdf 單晶片8051實作入門-CH13(單晶片時鐘)
謝謝指教