




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 課程設計任務書課程名稱:微型計算機技術設計題目:多功能數字鐘基于at89c51單片機的電子鐘的設計電子鐘使用外接時鐘芯片作為時鐘源,精確到秒。顯示部分為led動態顯示設計;并有鍵盤設計;硬件設計:1)最小系統設計:at89c51單片機為本設計的控制器,包括外擴rom,ram各32 m(其大小由設計者自己設計),系統時鐘電路、復位電路等構成的最小系統;2)接口電路的設計:設計者擴展一個并行接口8155或8255,鍵盤設計由設計者根據需要設計鍵盤的數量,顯示采用led顯示,顯示電路也根據顯示的內容設計(年、月、日,時、分、秒;可用兩屏顯示);3)有開機顯示狀態(如顯示888888);4)在完成基
2、本設計功能同時可以增加功能。軟件設計: 1)主程序設計(包括初始化芯片,定時器,中斷以及sp指針等); 2)各功能子程序設計,鍵盤子程序、顯示子程序設計,定時,中斷程序等;引言:單片機因將其主要組成部分集成在一個芯片上而得名,單片機具有體積小、功能多、價格低廉、使用方便、系統設計靈活等優點。它把中央處理單元、隨機存儲器、只讀存儲器、定時/計數器以及i/o接口電路等主要部件集成在一塊半導體芯片上。因此從某種意義上說,一塊單片機芯片就是一臺微型計算機。自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發展很快。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域
3、沒有單片機的蹤跡。導彈的導航裝置,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,錄像機、攝像機、全自動洗衣機的控制等等,這些都離不開單片機。隨著半導體技術的飛速發展,以及移動通信、網絡技術、多媒體技術在嵌入式系統設計中的應用,從4位、8位、16位到32位,單片機功能越來越強大,價格越來越低,同時應用領域的擴大也使得更多人加入到基于單片機系統的開發行列中,推動著單片機技術的創新進步。數字時鐘應用廣泛,在現實生活中有著至關重要的作用,在工業控制和日常生活中它不僅可以用于計時、提醒又可用于對機器的控制。給人們的生活,學習,工作,娛樂帶來極大的方便,其一般由振蕩器,分頻器,譯碼器,顯
4、示器等部分組成,采用了先進的石英技術,使數字鐘具有走時準確,性能穩定。本次課程設計采用外接時鐘芯片ds1302為系統提供計時信號,通過51單片機進行控制讀寫,由按鍵進行時間設置修改,最終將年月日時分秒等時間信息顯示到外界數碼管上,同時亦可用蜂鳴器來實現鬧鐘功能,具有穩定準確,靈活方便的特點。1、 系統方案與論證 1.1整體方案論證本系統主要利用at89c51單片機外接8155擴展單片機io口,a口控制數碼管的位顯示, 51單片機p0口控制數碼管的段顯示,p3口與按鍵和蜂鳴器相接用于時間的校正和聲音提醒,使用外接rom2764和外接ram6264芯片各兩片擴展單片機的外部程序容量為24kb的 r
5、om和ram空間。本設計采用一節1.5v干電池為整個系統供電,通過一個升壓電路(從1.5v升至5v),產生+5v電壓用于給cpu及顯示電路提供工作電壓,這是數字時鐘正常工作時的總電壓。顯示電路將“時”、“分”、“秒”計數器的輸出,通過六個八段led顯示器顯示出來。校時電路是直接加一個脈沖信號到時計數器或者分計數器或者秒計數器來對“時”、“分”、“秒”顯示數字進行校對調整 圖1 系統結構圖1.2主要模塊方案選擇比較與論證1.2.1單片機的選取選用at89c51作為控制器,具有價格低,性價比高,功能齊全的特點,擁有多個定時器和其他外圍功能。作為8位單片機運行速度快且工作穩定。1.2.2輸入方案的選
6、擇方案1:采用實時時鐘芯片ds1287、ds12887、ds1302等具備年、月、日、時、分、秒計時功能和多點定時功能,計時數據的更新每秒自動進行一次,不需要程序干預。方案2:使用單片機內部的可編程定時器。 利用單片機內部的定時計數器進行中端定時,配合軟件延時實現時、分、秒的計時。該方案節省硬件成本,但程序設計較為復雜。經比較 選擇方案二1.2.3輸入方案的選擇 方案一:通過矩陣鍵盤輸入數據,可調范圍廣,但占用單片機管腳較多,不易于其他功能的實現。方案二:通過獨立鍵盤輸入數據,通過數據的加減來確定數據,占用管腳少,功能齊全且直接輸入方便快捷,易于控制。經比較,故比較選用方二1.2.4顯示方案的
7、選擇 方案一:使用12864或1602液晶顯示,顯示信息的可讀性好,看起來更方便。而12864點陣液晶模塊具有微功耗,尺寸小,超薄輕巧,字跡美觀,視覺舒適,顯示信息量大等優點,但本次設計中大部分功能用不到,造成浪費,且與矩陣鍵盤一樣占用管腳較多 方案二:數碼管顯示,顯示信息少,但控制簡單,相比12864復雜時序數碼管秩序位選段選控制。經比較,故選用方案二進行設計。2、系統硬件電路模塊2.1 at89c51單片機 at89c51是一種低電壓、高性能cmos 8位微處理器,俗稱單片機。具有4k 字節flash 閃速存儲器,128 字節內部ram,32 個i/o 口線,2 個16 位定時/計數器,一
8、個5 向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用atmel高密度非易失存儲器制造技術制造,與工業標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器, at89c51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。同時,at89c51 降至0hz 的靜態邏輯操作,并支持兩種可選的節電工作模式。空閑方式體制cpu 的工作,但允許ram,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存ram 中的內容,但振蕩器體制工作
9、并禁止其他所有不見工作直到下一個硬件復位。 管腳原理圖見附圖1,2. 2晶振電路 51單片機晶振電路采用外置石英晶振,為單片機提供11.0592時鐘信號,電容c1.c2可以幫助起振典型值為30pf,調節他們可以達到微調晶振頻率的作用,見附圖32.3復位電路51單片機的復位電路有兩種,即上電復位和手動復位電路。本次設計采用如圖所示為手動復位電路。見附圖2。2.按鍵調整電路本系統采用3位按鍵,其中s1為功能選擇鍵,s2、s3為數字加減鍵。見附圖42. 蜂鳴器電路 蜂鳴器電路采用一個晶體管驅動,功率大,安全穩定。可以為系統提供鬧鐘功能,同時由于51單片機管腳功率限制問題,故亦可作為功率報警電路見附圖
10、52-6電源指示電路 通過開關閉合時led燈的亮滅來提示51單片機是否正常工作,亦可系統電源是否正常。見附圖62.7電源轉換電路 本電源電路采用dc-dc轉換芯片rt9266實現1.5v-5v直流電壓轉換,輸出為(1+r大r小)*1.25 見附圖72.8外置時鐘芯片電路 ds1302時鐘芯片采用32.768mhz的石英晶振提供時鐘信號,具有年月日時分秒星期更能,且能通過51單片機控制來改變初始時間 見附圖82.9 74ls373芯片電路與管腳圖373為三態輸出的八 d 透明鎖存器,用以鎖存51低八位地址信號。當oe為低le為高時,鎖存器輸出信號o隨數據d而變 引出端符號: d0d7 數據輸入端
11、 輸入低八位地址信號oe 三態允許控制端(低電平有效) le 鎖存允許端 高電平有效o0o7 輸出端 輸出鎖存的低八位地址信號見附圖92.10 2764電路與管腳圖本系統使用了3片用與擴展外部rom 24kb 基本地址范圍為:0000h5fffh2764管腳說明a0到a13為14條地址信號輸入線。d0到d7為雙向數據線,d7為最高位,d0為最低位,用來傳送2764的讀寫信號ce為片選端,低電平有效。用以選通芯片工作oe為輸出允許信號,低電平有效pgm為編程脈沖輸入端,高電平時芯片正常工作,低電平時配合vpp上的高電壓處于處于編程狀態vcc和vpp都是接電源的,正常工作時是+5v見附圖102.1
12、1 6264電路與管腳圖本系統使用了3片6264用以擴展外部ram 24kb 基本地址范圍6000hbfffha0到a12為13條地址信號輸入線。d0到d7為雙向數據線,d7為最高位,d0為最低位,用來傳送2764的讀寫信號oe為允許輸出線用以控制從芯片讀出的數據是否送到d0d7上,低電平有效 cs cs為片選輸入線,cs為1cs為0時芯片選中工作 we讀寫命令線,高電平時讀出低電平時寫入vcc電源線,正常工作時是+5v見附圖112.12外部并行口擴展8155電路圖 本系統通過51單片機控制外部可編程i/o芯片8155的a口對數碼管進行位選8155各引腳功能說明如下: rst:復位信號輸入端,
13、高電平有效。復位后,3個i/o口均為輸入方式。 ad0ad7:三態的地址/數據總線。與單片機的低8位地址/數據總線(p0口)相連。單片機與8155之間的地址、數據、命令與狀態信息都是通過這個總線口傳送的。 rd:讀選通信號,控制對8155的讀操作,低電平有效。 wr:寫選通信號,控制對8155的寫操作,低電平有效。 ce:片選信號線,低電平有效。 io/m :8155的ram存儲器或i/o口選擇線。當io/m 0時,則選擇8155的片內ram,ad0ad7上地址為8155中ram單元的地址(00hffh);當io/m 1時,選擇 8155的i/o口,ad0ad7上的地址為8155 i/o口的地
14、址。 ale:允許地址輸入線,低電平有效。8155內部設有地址鎖存器,在ale的下降沿將單片機p0口輸出的低8位地址信息及 io/ 的狀態都鎖存到8155內部鎖存器。因此,p0口輸出的低8位地址信號不需外接鎖存器。 pa0pa7:8位通用i/o口,其輸入、輸出的流向可由程序控制。 pb0pb7:8位通用i/o口,功能同a口。 pc0pc5:有兩個作用,既可作為通用的i/o口,也可作為pa口和pb口的控制信號線,這些可通過程序控制。 timer in:定時/計數器脈沖輸入端。 timer out:定時/計數器輸出端。 vcc:5v電源。 2、8155的地址編碼及工作方式 在單片機應用系統中,81
15、55是按外部數據存儲器統一編址的,為16位地址,其高8位由片選線 提供, ce0,選中該片。 當 ce0,io/m 0時,選中8155片內ram,這時8155只能作片外ram使用,其ram的低8位編址為00hffh;當 ce0,io/m 1時,選中8155的i/o口,其端口地址的低8位由ad7ad0確定見附圖122.13 六位8段led數碼管顯示電路數碼管時間顯示分為 時、分、秒三部分時,jp5jp6為時位 采用24進制,jp3jp4為分位,采用60進制,jp1jp0為時位,采用60進制。當顯示為年月日三部分時jp5jp6為年位,jp3jp4為月位采用12進制,jp1jp0為日位,采用365進
16、制。見附圖133、系統軟件調試3.1 程序結構3.1 程序結構(1)主程序。 實現初始化與鍵盤監控與鬧鐘檢測與報警 (2)定時器 t0 中斷服務程序。 時鐘電路的設計功能是利用單片機內部的定時/計數器進行中斷定時刷新計時緩沖區。定時器 t0 每隔 100ms 益處中斷一次(設系統使用 12mhz 晶振, 定時 t0 工作方式 1) 的定時初值為 3cboh(即 tho=3ch,tl0=0b0h),每循環中斷 10 次則延時時間為 1s,進入中斷服務程序后調用讀取ds1302始終數據及顯示程序 。 (3)時間設置與鬧鐘設置子程序。 實現當前時間及定時啟鬧鐘時間的鍵盤輸入設置。key1鍵位段位循環
17、選擇鍵根據key1鍵被按下的次數進行段位的選擇,依次為秒,分,時,日,月,年,設定完成并進入顯示時分秒模式。在每種段位模式下都可以改變該段時間實現時間調節功能。當key3為顯示模式及鬧鐘設定模式循環選擇鍵,分別為顯示年月日模式,顯示時分秒模式,及鬧鐘設置模式實現分屏顯示及 鬧鐘設置 功能 。(4)鍵盤掃描子程序。 判斷是否有鍵按下, 無鍵按下則循環等待, 有鍵按下則求取返回。 (5)顯示子程序。 實現顯示緩沖區的 6 位 bcd 碼的動態掃描方式顯示。 首先將 3 字節計時緩沖區中 時、分、和秒壓縮 bcd 碼拆分為 6 字節 bcd 碼,由拆字子程序實現。當按下時間 或鬧鐘設置鍵后,在 6
18、位設置完成之前,應顯示鍵入的數據而不顯示當前時間, 為此系統設置一個計時顯示允許標志位 f0,在時間/鬧鐘設置期間 f0=1,不調用 拆字子程序。 (6)定時比較子程序。 實現當前時間與預設的啟鬧鐘時間的比較,若二者完全相同時,啟動蜂鳴器名 叫并置位鬧鐘標志位。當按下key3鍵時退出報警程序。(7)ds1302初始化程序。包括往ds1302寫入1byte數據程序,從ds1302讀取1byte數據往ds1302寫入數據從程序,讀取ds1302某地址的數據程序,往ds1302寫入時鐘數據(多字節方式)程序,讀取ds1302時鐘數據程序及設置初始時間程序。(8)其他輔助功能子程序。 鍵盤設置子程序:將鍵入的 6 位時間值送入鍵盤設置緩沖區。 拆字程序:將 3 字節計時緩沖區中時、分和秒壓縮 bcd 碼拆分為 6 字節 bcd 碼并刷新顯示緩沖區。 合字子程序:將鍵盤設置緩沖區中 6 位 bcd 碼合并為 3 位壓縮 bcd 碼,送入 計時緩沖區或
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論