基于51單片機的電子時鐘設計_第1頁
基于51單片機的電子時鐘設計_第2頁
基于51單片機的電子時鐘設計_第3頁
基于51單片機的電子時鐘設計_第4頁
基于51單片機的電子時鐘設計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、昆明工業(yè)職業(yè)技術學院課程設計任務書設計題目:電子時鐘電路班 級:2010級電氣自動控制技術3班學生姓名: 學 號: 指導教師: 莫麗薇 職 稱: 講師 指導小組組長: 楊云英 教學班負責人: 呂姝宜 設計時間:2012年6月18日至2012年7月1日 一、設計目的及設計要求(一)設計目的:按要求完成單片機實現電子時鐘系統(tǒng)(二)設計要求及技術指標1、采用MCS51系列單片機設計一個嫩而過顯示時、分、秒的電子時鐘。2、剛打開電源是,顯示的數據為12:00:00,然后電路會自動開始計時。電路中應有時、分、秒的各自單獨的時間調整按鈕。當顯示數據變?yōu)?3:59:59時,接下來的顯示數據應變?yōu)?0:00:

2、00.時間調整按鈕每按一次,應使相應調整的顯示時間值家1.3、位碼采用P1口通過38譯碼器實現,段碼采用P1口通過74LS47芯片實現。 (二)課程設計說明書應包含的內容1、目錄2、系統(tǒng)工作原理3、電子時鐘設計總體電路圖4、程序流程圖5、程序模塊設計6、設計分析總結7、參考文獻(三)課程設計應完成的圖紙(1)時鐘電路設計電路圖 A4 一張(2)時鐘電路設計程序流程圖 A4 一張(四)其它要求:設計說明書采用A4紙打印,要求采用宋體小四,并標上頁碼。(五) 課程設計(論文)的期限: 自 2012年6月18日至2012年7月1日(六)課程設計(論文)進度計劃:起訖日期工作內容備 注6月18日6月1

3、8日-6月19日6月20日-6月23日6月24日-6月26日6月27日-6月30日7月1日下達課程設計任務書收集設計資料擬定設計初稿修改設計方案、繪制設計草圖編制設計說明書、正式繪圖交設計資料,進行質疑。目 錄一、 課程設計名稱1、單片機簡介()2、設計意義()二、設計方案1、電子時鐘應用方向()2、時鐘芯片的重要性()3、構成電子時鐘的設計思路()三、設計內容8051單片機實現的控制及時鐘調整()四、硬件與軟件部分 1電子時鐘的概述() 2,電子時鐘的硬件電路設計() 2.1選用單片機() 2.2 8051單片機引腳 () 2.3單片機各接口功能:() 2.4單片機工作原理() 2.5,發(fā)光

4、二級管8字數碼管的顯示() 數碼管有共陰極、共陽極兩種接法() LED顯示分為靜態(tài)顯示和動態(tài)顯示兩種方式() 2.6定時器/計數器T0中斷服務程序() 2.7 74LS138譯碼器()2.8 74LS47芯片()2.9電子時鐘校時()五、電子時鐘的軟件部分1、程序流程圖()2、時鐘電路工作工作原理()六、總結七、參考文獻八、附錄附錄一 時鐘電路設計電路圖 附錄二 時鐘電路控制程序圖一、課程設計名稱:51單片機電子時鐘1、單片機簡介單片機全稱,單片機微型計算機,從應用領域來看,單片機主要用來控制系統(tǒng)運行,所以又稱微控制器或嵌入式控制器,單片機是將計算機的基本部件微型化并集成在一塊芯片上的微型計算

5、機。2、設計意義本課程設計主要掌握數碼管顯示電路的動態(tài)顯示原理,了解74LS138芯片和74LS47芯片運行方式,掌握掃描工作原理,掌握MCS-51單片機定時器、中斷工作原理以及處理程序編程方法,利用MCS-51單片機的功能與74LS138芯片、74LS47芯片、數碼管等部件組合構成一個用于顯示時間的數字電路,時、分、秒都可調整。 單片機技術在計算機中作為獨立的分支,有著性價比高、集成度高、體積少、可靠性高、控制功能強大、低功耗、低電壓、便于生產、便于攜帶等特點,越來越廣泛的被應用于實際生活中。二、設計方案: 1、通過單片機內部的計數/定時器,采用軟件編程來實現時鐘計數,一般稱為軟時鐘,這種方

6、法的硬件線路簡單,系統(tǒng)的功能一般與軟件設計相關,通常用在對時間精度要求不高的場合。2、采用時鐘芯片,它的功能強大,功能部件集成在芯片內部,具有自動產生時鐘等相關功能,硬件成本相對較高;軟件編程簡單,通常用在對時鐘精度要求較高的場合。3、通過應用8051單片機、74LS47芯片、74LS138芯片和數碼管來組成一個完整的時鐘控制電路,應用各自的功能,相互組合,通過匯編語言實現各自原件相互聯(lián)系在一起,掌握一些數字電路的邏輯控制,時序控制三、設計內容: 使用8051單片機作為時鐘控制芯片,應用單片機內部的定時/計數器T0 實現軟時鐘的目的。首先將T0設定工作于定時方式,對機器周期計數形成基準時間,然

7、后用另一個定時/計數器T1對基準時間計數形成秒,妙計60次形成分,分計60形成小時,小時計到12。最后通過數碼管把它們的內容在相應的位置顯示出來,達到時、分、秒計時的功能。還要實現對時間的調整功能,8051的P0.0、P0.1、P0.2外接三個獨立按鍵,當按下P0.0按鍵時,系統(tǒng)進入調時間的狀態(tài)或啟動時間顯示的功能;當按下P0.1按鍵時,對顯示的數碼管進行加一的功能;當按下P0.2按鍵時,對顯示的數碼管進行減一的功能,達到調整時間的目的。四、硬件與軟件部分1,電子時鐘的概述概述電子時鐘功用,利用 MCS51 單片機定時、中斷功能完成時間的定時工作。 整個系統(tǒng)具有參數設定和時間運行,顯示時、分、

8、秒的電子時鐘。開機時顯示時間為12:00:00,然后電路會自動開始計時,電路中時、分、秒各自有單獨的時間調整按鈕,當時間到23:59:59時,接下來顯示時間變?yōu)?0:00:00參數設定完后,電子時鐘顯示由6個LED數碼顯示器顯示時、分、秒 2,電子時鐘的硬件電路設計2.1選用單片機1、選用單片機 MCS51 系統(tǒng)選用 8051 單片機,8051 單片機內有 4KROM、256 字節(jié) RAM,程序存放在 4KROM。系統(tǒng)組成有:2.2 8051單片機引腳VCC - 芯片電源,接+5VVSS - 接地端XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端ALE/PROG:地址鎖存允許/片內

9、EPROM 編程脈沖ALE 功能:用來鎖存 P0 口送出的低 8 位地址,PROG 功能:片內有 EPROM 的芯片,在 EPROM 編程期間,此引腳輸入 編程脈沖。PSEN:外 ROM 讀選通信號。RST/VPD:復位/備用電源,RST(Reset)功能:復位信號輸入端,VPD 功能:在 VCC 掉電情況下,接備用電源。EA/VPP:內外 ROM 選擇/片內 EPROM 編程電源,EA 功能:內外 ROM 選擇端,VPP 功能:片內有 EPROM 的芯片,在 EPROM 編程期間,施加編程電 源 VPP。單片機I/O接口擴展當單片機構成系統(tǒng)時,常常I/O接口不夠用,此時可以用MCS-51單片

10、機的擴展接口,根據相應的需求擴展接口嗎,利用MCS-51單片機的串行接口擴展并行I/O接口2.3單片機各接口功能:、時鐘電路,用8051單片機的內部有一個高增益的反相放大器,其輸入端XTAL1,輸出端XTAL2,用輸入端XTAL1引腳和輸出端XTAL2引腳指教接入一個晶振,工作時鐘采用12MHz的晶振頻率產生一個精確的周期性脈沖信號的自激振蕩器、 RAM,51單片機有片內存儲器RAM還有特殊寄存器SFR,可以存放數據但是不能用來當做數據寄存器使用,也就是說用戶不能隨意的使用,特殊功能寄存器是可以隨意讀寫的,屬于RAM,RAM的主要功能用于存放程序運行中的數據和結果的存儲。 、ROM,用于存儲預

11、先編寫的程序,屬于只讀程序存儲器 、I/O接口,8051單片機有四組接口,分別是P0、P1、P2、P3。P0:系統(tǒng)不進行擴展時作為通用I/O接口,P0口有輸出數據、讀引腳、讀鎖存器的功能;P1口除了能做通用的I/O接口外,是專用的用戶數據通訊端,P1端口是具有輸出鎖存的靜態(tài);P2口增加了實現功能轉換的多路開關MUX,所以P2端口在功能上兼有P0端口和P1端口的特點。這主要表現在輸出功能上,當切換開關向下接通時,從內部總線輸出的一位數據經反相器和場效應管反相后,輸出在端口引腳線上;當多路開關向上時,輸出的一位地址信號也經反相器和場效應管反相后,輸出在端口引腳線上。此外P2口不能輸出靜態(tài)的數據,自

12、身輸出外部程序存儲器的高8位地址,執(zhí)行MOVX指令時,還輸出外部RAM的高位地址,故稱P2端口為動態(tài)地址端口P3口除了作為通用I/O端口使用外,每個端口線都具有第二功能,當處于第二功能時,鎖存器輸出1,通過第二輸出功能線輸出特定的內含信號,在輸入方面,即可以通過緩沖器讀入引腳信號,還可以通過替代輸入功能讀入片內的特定第二功能信號。由于輸出信號鎖存并且有雙重功能,故P3端口為靜態(tài)雙功能端口。2.4單片機工作原理單片機運行時,單片機本身自帶的上電復位電路自動向單片機輸入有效的復位信號,使單片機內各寄存器及端口復位到初始化狀態(tài),使程序計數器PC復位到0000H,然條后復位信號自動去除掉,CPU開始從

13、0000H地址讀取指令,暫存到指令寄存器,由指令譯碼器譯碼,譯碼結果送入定時與控制電路,產生各種定時與控制信號,控制CPU執(zhí)行指令要求的控制、運算、讀/寫數據等操作程序計數器具有加1功能,當執(zhí)行完一條指令時,PC會自動跳轉指向下一條指令實現順序控制,當執(zhí)行完后沒有循環(huán)指令時,直到程序運行完成后,PC不在執(zhí)行加1指令,從而使程序不在順序執(zhí)行,實現程序終止。2.5,發(fā)光二級管8字數碼管的顯示數碼管有共陰極、共陽極兩種接法。共陰極接法:將多只LED的陽極連接在一起即為共陰式,數碼管各段dp,g,f,e,d,c,b,a從高到低順序排列連接到并行接口各位相連,當作為共陰極接法時高電平有效。共陽極接法:將

14、多只LED的陽極連接在一起即為共陽式,共陽式與共陰極不同共陽極低電平有效,但是在顯示時對于共陽極接法,會是數碼管在不需要工作時依然工作,所以在使用數碼管時,一般采用共陰極接法 LED顯示分為靜態(tài)顯示和動態(tài)顯示兩種方式 靜態(tài)顯示:靜態(tài)顯示占用 CPU 時間短,顯示簡單、穩(wěn) 定,但當顯示位數較多 時,占用接口資源多。 動態(tài)顯示接口電路較簡單,但占用 CPU 時間, 顯示亮度較靜態(tài)顯示差, 一般說,顯示位數較多時,采用 動態(tài)或串并轉換;顯示位數較少時,采用靜態(tài)顯示方式。選用共陰極 LED,將共陰極點連接在一起接地,每一位的段選線與一個8位并行口相 連,只要將要顯示的字符的字型碼送至并行口鎖存,LED

15、顯示器上便立即顯示出該字符,直到 CPU 送來一個新的字型碼為止,由于靜態(tài)顯示每位數碼管均 有獨立的段選碼,耗電量大,硬件多。動態(tài)顯示:將各位數碼管的段并聯(lián)接在一起,由 P1 口控制(字型口) ,每一個數碼管的共陰極(共陽極)接到 P2.0、P2.1 作為 位選信號。雖說要顯示的字型碼通過 P1 口同時送到了每一個數碼管,但它們不 會同時顯示同一個字符,只有控制共陰極(共陽極)的位選信號有效時,對應的 數碼管才會顯示相應字符。這種由字型口控制要顯示字符的字形碼,依此循環(huán)選 通每位數碼管的位選信號就得到了動態(tài)顯示效果。 它主要是利用人眼的視覺暫留 特性及數碼管得余光特性,看上去似乎是多位數碼管同

16、時顯示。是當顯示位數較 多時,節(jié)省硬件,接口電路簡單,但顯示占用 CPU 時間。2.6定時器/計數器T0中斷服務程序 T0用于計時,選中方式一,重復定時,定時時間設為50ms,定時時間到則中斷,在中斷服務程序中用一個計數器對50ms計數,計20次則對秒單元加一。秒單元加到60則對分單元加一,同時秒單元清0;分單元加到60則對時單元加一,同時分單元清0;時單元加到24則對時單元清0,標志一天時間計滿。在對各單元計數的同時,把他們的值放到存儲器單元的指定位置。2.7 74LS138譯碼器對3個輸入信號進行譯碼。得到8個輸出狀態(tài)。G1,G2A,G2B,為數據允許輸出端,G2A,G2B低電平有效。G1

17、高電平有效。A,B,C為譯碼信號輸出端,Y0Y7為譯碼輸出端,低電平有效。本實驗中用作位碼譯碼器選擇通過A、B、C的輸入來選擇輸出Y0Y7,從而使得在數碼管上顯示出相應的時間。2.8 74LS47芯片 74LS47芯片主要作為段碼譯碼器,把用于將BCD碼轉化成數碼塊中的數字,然后我們就能看到從0-9的數字,通過A、B、C、D四個選擇輸入端來組合相應的BCD碼,來使輸出0-9的數字顯示于數碼管。2.9電子時鐘校時定義三個按鍵時按鍵,分按鍵,加1鍵,用8051單片機的P0.0、P0.1、P0.2相連接,保證芯片的正常工作,同時加上了限流電阻。每個按鍵都是相互獨立的,在使用按鍵進行調時間時,由于每個

18、按鍵占用了一條I/O接口線,按鍵之間不會相互影響,按鍵工作以高、低電平狀態(tài),通過采用8051單片機匯編語言的編程,軟件控制操作,在按鍵控制時,沒有按鍵按下則時鐘正常走下去,當時按下時加1到24時時進行清零,分按下時加1到60時進行清零,正常工作時,分和秒運行到59時自動跳轉為00,然后在順序執(zhí)行。五、電子時鐘的軟件部分將程序以模塊方式分割成具有相應功能的子程序,根據系統(tǒng)功能,合理安排主程序任務,中斷服務程序任務,程序有兩個分支:參數整定及時鐘運行 。1、程序流程圖:2、時鐘電路工作工作原理: 電子時鐘各部分連接完畢后,接通電源,整個電路進入復位狀態(tài),然后對時鐘進行調試狀態(tài),通過按鍵操作和軟件程

19、序的配合使用,達到時間的調整和設定,硬件電路完成后,通過匯編語言編寫的應用程序,存儲于8051單片機的ROM中,通過對CPU的調用,讀取數據,實現中斷,計時,加1等指令。晶振產生一個頻率脈沖,系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。在整個電子時鐘電路中單片機主要分配各部分的運行,實現位碼段碼的選擇,以及數碼管顯示出相應的數據值,達到一個微型計算機的控制要求,控制時、分、秒各自的加1與程序循環(huán)達到一天24小時的計時。六、總結經過一段時間整理資料,把課程設計分成了硬件和軟件兩大模塊來完成電子時鐘電路。硬件部分主要涉及的是簡單的按鍵、電容、電阻、晶振和數碼管。在軟件部分

20、,細分為了按鍵模塊、顯示模塊、定時/計數模塊,最后把幾個模塊整合在主程序模塊中,使得程序簡單明了。整個設計過程中遇到的最大問題是軟件的編寫,由于采用的是匯編語言其間使用到的各種寄存器、存儲器地址、變量很多,很難對程序的整體把握。通過電子鐘的設計,對單片機的原理、結構、外圍電路進一步的了解。 通過對電子時鐘的設計,使本組同學把單片機應用于實際生活當中,讓我們感覺到單片機的應用廣泛,經過這次課程設計,讓我們更加清晰的了解單片機,同時也鍛煉了我們的團隊合作精神,也是讓我們能力的一種提升。七、參考文獻1單片機原理與應用技術王豐 欒學德 ,北京航空航天大學出版社,2007。3電子技術劉阿玲 北京理工大學

21、出版社,2009八、附錄 附錄一 時鐘電路設計電路圖附錄二 時鐘電路控制程序圖 ORG 00H 主程序起始地址 JMP START 主程序START ORG 0BH 定時器T0中斷起始地址 JMP TIM0 定時器T0中斷子程序TIM0START: MOV SP,#70H 設置堆棧指針 MOV 28H,#00 設置顯示位數掃描指針初值為0 MOV 2AH,#12H 設置時鐘顯示寄存器初值為12H MOV 2BH,#00 設置分鐘顯示寄存器初值為00H MOV 2CH,#00 設置秒鐘顯示寄存器初值為00H MOV TM0D,#01H 設置定時器T0工作方式為1 MOV TH0,#0F0H 定時

22、4ms的初值,即0F060H MOV TL0,#60H 初值的低位 MOV IE,#82H 定時器T0中斷允許 MOV R4,#250 保證后面實現中斷250次,即1s的延時 SETB TR0 啟動定時器T0LOOP: JB P0.0,N2 若秒沒有按鍵,就轉去下一步檢查分 CALL DELAY 延時5ms,消除抖動 MOV A,2CH 將秒寄存器的值載入累加器A ADD A,#01H A的內容加1 DA A 十進制調整 MOV 2CH,A A的值存入秒寄存器 CJNE A,#60H,N1 看是否已經是60s,若不是就繼續(xù)檢查 MOV 2CH,#00 已經是60s,就清空秒寄存器的值N1: J

23、NB P0.0,$ 秒按鍵還沒有放開就循環(huán)等待 CALL DELAY 延時5ms,消除抖動N2: JB P0.1,N4 若分沒有按鍵,就轉去下一步檢查時鐘 CALL DELAY 延時5ms,消除抖動 MOV A,2BH 將分寄存器的值載入累加器A ADD A,#01H A的內容加1 DA A 十進制調整 MOV 2BH,A A的值存入分寄存器 CJNE A,#60H,N3 看是否已經是60分,若不是就繼續(xù)檢查 MOV 2BH,#00 已經是60分,就清空分寄存器的值N3: JNB P0.1,$ 分按鍵還沒有放開就循環(huán)等待 CALL DELAY 延時5ms,消除抖動N4: JB P0.2,LOO

24、P 若時沒有按鍵,就轉回去檢查看是否秒有按鍵 CALL DELAY 延時5ms,消除抖動 MOV A,2AH 將時寄存器的值載入累加器A ADD A,#01H A的內容加1 DA A 十進制調整 MOV 2AH,A A的值存入時寄存器 CJNE A,#24H,N5 看是否已經是24時,若不是就繼續(xù)檢查 MOV 2AH,#00 已經是24時,就清空時寄存器的值N5: JNB P0.2,$ 時鐘按鍵還沒有放開就循環(huán)等待 CALL DELAY 延時5ms,消除抖動 JMP LOOP 返回重新檢查看是否有按鍵定時器T0中斷子程序TIM0: MOV TH0,#OFOH 定時初值重設 MOV TL0#60

25、H PUSH ACC 將累加器的A值暫存于堆棧 PUSH PSW 將PSW的值暫存于堆棧 DJNZ R4,X2 計時中斷不滿1s就退出繼續(xù)中斷 MOV R4,#250 計時1s CALL CLOCK 調用計時子程序CLOCK CALL DISP 調用顯示子程序DISPX2: CALL SCAN 調用掃描子程序SCAN POP PSW 到堆棧取出PSW的值 POP ACC 到堆棧取回累加器ACC的值 RETI 返回主程序掃描子程序SCAN MOV R0,#28H INC R0 顯示位數掃描值加1 CJNE R0,#6,X3 掃描位數不為6就準備控制輸出 MOV R0,#0 掃描位數為6,就令其值為0X3: MOV A,R0 掃描位數載入A ADD A,#20H A加上20H(顯示寄存器地址)=各時間顯示區(qū)地址 MOV R1,A 各時間顯示區(qū)地址存入A MOV A,R0 掃描位數存入A SWAP A 將A的高低4位交換(其高4位為掃描的位數,低4位為 顯示數據值) ORL A,R1 將掃描值于顯示數據組合 MOV P1,A 顯示輸出 RET計時子程序CLOCK: MOV A,2CH 秒寄存器值載入A ADD A,#1 加1s DA A 十進制調整 MOV 2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論