單片機課設(shè)自動打鈴器設(shè)計_第1頁
單片機課設(shè)自動打鈴器設(shè)計_第2頁
單片機課設(shè)自動打鈴器設(shè)計_第3頁
單片機課設(shè)自動打鈴器設(shè)計_第4頁
單片機課設(shè)自動打鈴器設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、目 錄引言與摘要第1章 設(shè)計方案論證1.1 設(shè)計的應(yīng)用意義1.2 設(shè)計方案選擇1.3 總體設(shè)計框圖第2章 硬件電路設(shè)計21 單元電路設(shè)計與原理分析第3章 軟件設(shè)計31 程序流程圖32 源程序清單第4章 設(shè)計總結(jié)參考文獻附錄1附錄2引言與摘要為方便人們的日常生活,優(yōu)化學(xué)校,機關(guān)等單位的計時系統(tǒng),采用以單片機為基礎(chǔ)設(shè)計了一種的自動打鈴器。本電路有電源,顯示電路,按鍵控制電路,功放電路四部分組成。這次設(shè)計利用了單片機AT89C51的定時和計數(shù)功能,來完成時間的計時,校時功能。用LM12864液晶顯示時,分,秒。選用蜂窩器模擬現(xiàn)實的電鈴實現(xiàn)打鈴,其中計時和定時功能是軟件為主,硬件為輔。而校時功能是軟件

2、為輔,由外部按鍵控制,實現(xiàn)加一與減一的操作。用單片機控制的自動打鈴器,充分發(fā)揮單片機體積小,價格便宜,功耗低可靠性好等特點。可用于學(xué)校作息,方便了廣大師生第1章設(shè)計方案論證11 設(shè)計的應(yīng)用意義“單片機與接口技術(shù)”課程設(shè)計是在教學(xué)及實驗基礎(chǔ)上,對課程所學(xué)理論知識的深化和提高。因此,要求學(xué)生能綜合應(yīng)用所學(xué)知識,設(shè)計與制造出具有較復(fù)雜功能的小型單片機系統(tǒng),并在實踐的基本技能方面進行一次系統(tǒng)的訓(xùn)練。 能夠較全面地鞏固和應(yīng)用“單片機”課程中所學(xué)的基本理論和基本方法,并初步掌握小型單片機系統(tǒng)設(shè)計的基本方法。 培養(yǎng)獨立思考、獨立收集資料、獨立設(shè)計規(guī)定功能的單片機系統(tǒng)的能力;培養(yǎng)分析、總結(jié)及撰寫技術(shù)報告的能力

3、。12 設(shè)計方案選擇設(shè)計課題簡要概述自動打鈴裝置用于工廠,學(xué)校等地的時間控制,本設(shè)計是按照學(xué)校作息時間設(shè)定的,模擬了電子鐘顯示時,分,秒。還根據(jù)學(xué)校的作息時間按時打鈴,本系統(tǒng)有兩個按鈕,分別用來調(diào)時,周分,以保證時鐘與標準時間相吻合。首先設(shè)計出本系統(tǒng)的硬件基本框圖,根據(jù)框圖設(shè)計電氣原理圖,簡要概述基本原理,按照設(shè)計技術(shù)參數(shù)設(shè)計出各部分程序。系統(tǒng)軟硬件劃分由于要依據(jù)最小系統(tǒng)設(shè)計,因此,極大地節(jié)約系統(tǒng)的硬件成本,所有能用軟件實現(xiàn)的功能都用軟件完成,如按鍵的去抖,采用延時,顯示部分用動態(tài)顯示等,這樣硬件部分的設(shè)計可以采用單片機最小系統(tǒng),所謂最小系統(tǒng)是僅有程序存儲器和時鐘及復(fù)位電路的為時過早片機系統(tǒng)。

4、單片機選型根據(jù)課題的具體內(nèi)容,任務(wù)要求,計時,校時,定時,鍵盤顯示等功能,經(jīng)多方考慮,所以本系統(tǒng)選項用與MCS51系統(tǒng)單片機完全兼容的AT89C51低功耗單片機。13 總體設(shè)計框圖時鐘電路電源顯示電路AT89C51CPU鍵盤電路驅(qū)動電路電鈴 整體框圖第2章硬件電路設(shè)計21單元電路設(shè)計與原理分析基本原理概述 本系統(tǒng)主要由主控模塊,時鐘模塊,顯示模塊,鍵盤接口模塊等4部分組成。通過內(nèi)部定時產(chǎn)生中斷,從而驅(qū)動電鈴打鈴。設(shè)定51單片機工作在定時器工作方式1,每100ms產(chǎn)生一次中斷,利用軟件將基準100ms單元進行累加,當(dāng)定時器產(chǎn)生10次中斷就產(chǎn)生1S信號,這時秒單元加1。同理,對分單元和時單元計數(shù),

5、從而產(chǎn)生秒,分,時的值,通過六位七段顯示器進行顯示。由于動態(tài)顯示法需要數(shù)據(jù)鎖存等硬件,接口較復(fù)雜,考慮顯示只有六位,且系統(tǒng)沒有其他復(fù)雜的處理任務(wù),所以采用動態(tài)掃描實現(xiàn)LED的顯示。本系統(tǒng)采用三個按鍵,1鍵為功能鍵,另外兩個做控制鍵。按一下1鍵進入時間設(shè)置,然后按2鍵進行時調(diào)整,按3鍵進行分調(diào)整,按兩下1鍵進入打鈴時間設(shè)定,在分別用2鍵3鍵進行調(diào)整,調(diào)整完后按下1鍵便退出調(diào)整,時鐘繼續(xù)走動。當(dāng)時鐘時間與設(shè)置時間一致時,驅(qū)動電路動作進行打鈴,每次打鈴10秒。元件參數(shù)及功能簡介1.主控制器AT89C51AT89C51分司生產(chǎn)的AT89C51單片機用高性能的靜態(tài)80C51設(shè)計,由先進工藝制造,并帶有非

6、易失性FLASH程序存儲器,它是一種高性能,低功耗的8位CMOS微處理芯片,市場應(yīng)用最多,主要性特點有:有4K的FLASH程序存儲器,256字節(jié)內(nèi)部RAM。電源控制模式:時鐘可停止和恢復(fù),空閑模式,掉電模式。6個中斷源。4個中斷優(yōu)先級。4個8位I/O口。全雙工增強型UART。2個16位定時/計數(shù)器2時鐘電路DS13021)性能特性實時時鐘可對秒,分,時等進行計數(shù),存在高速數(shù)據(jù)暫存的31*8位RAM,最少引腳的串行I/O口;2.55.5V電壓工作范圍;2.5V耗電小于300nA;用于時鐘或RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)數(shù)據(jù)傳送方式;簡單的3線接口;可選的慢速充電的能力。DS1302時鐘芯片包括

7、實時時鐘和31字節(jié)的靜態(tài)RAM,它經(jīng)過一個簡單的串行接口與微處理器通信,實時時鐘提供秒,分,時等信息,時鐘運行可以采用24H,或帶AM/PM的12H格式,采用三線接口與CPU進行同眇通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302有主電源/后備電源雙電源引腳;2) 工作原理DS1302在任何數(shù)據(jù)傳送時必須先初始化,把RST引腳置為高電平,然后把8位地址和命令裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被輸入,無論是讀周期還是寫周期開始8位指定40個寄存器中哪個將被訪問到,在開始8個時鐘周期,把命令字節(jié)裝入撳位寄存器之后,另外的時鐘周期在闈時操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù)

8、,時鐘脈沖的個數(shù)在單位字節(jié)下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達248字節(jié)數(shù)。為了提高對32個地址的尋址能力,可以把時鐘或RAM寄存器規(guī)定為多字節(jié)方式,在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開始,必須管按數(shù)據(jù)傳送的次序電先的8個寄存器。但是當(dāng)以多個字節(jié)寫RAM時,為了傳送數(shù)據(jù)不必寫所有31字節(jié),不管是否寫了全部31字節(jié),所寫的每個字節(jié)都將傳送至RAM。時鐘暫停:秒寄存器的位7定義位時鐘暫停位,當(dāng)它為1時,DS1302停止振蕩,進入低功耗的備份方式,通常在對DS1302進行寫操作時,停止振蕩,當(dāng)它為0時時鐘將開始啟動。8051通過串口向DS1302寫數(shù)據(jù)的程序框圖如圖:8051 PX T

9、XDRXDVcc1Vcc2 DS1302RSTSCLKI/O X2其中,Px可以是8051單片機的任何一位I/O口,注意因為DS1302的數(shù)據(jù)發(fā)送或接收時序和8051的串行口不完全一致,因此,需要在TXD的輸出端加反相器,另外,接收數(shù)據(jù)時,不能以串行口的接收方式接收,必須將串行口當(dāng)作普通I/O口進行數(shù)據(jù)接收.DS1302的晶振選用32.768KHZ,電容推薦值為6PF,因為振蕩頻率較低,也可以不接電容, 對計時精度影響不大。3顯示電路設(shè)計顯示部分采用普通的共陽數(shù)碼管顯示,采用動態(tài)掃描,以減少硬件電路,數(shù)碼管分別為十時,時,十分,分,十秒,秒顯示,顯示時采用串行口輸出段碼,用74LS164來驅(qū)動

10、數(shù)碼管掃描只需7ms。74LS164內(nèi)部為8個D觸發(fā)器,用以實現(xiàn)數(shù)據(jù)的串行移位,74LS164為TTL單向8位移位寄存器,可實現(xiàn)串行輸入并行輸出,CPU為時鐘輸入端,可連接到串行口TXD端。每個時鐘信號的上升沿加到CP端時,移位寄存器移一位,8個時鐘脈沖過后8位二進制數(shù)全部移入74LS164中,MR腳為復(fù)位端,當(dāng)該位為低電平時,移位寄存器各位復(fù)0。當(dāng)它為高電平時時鐘脈沖才起作用。Q1Q8并行輸出分別接數(shù)碼管的各段對應(yīng)腳上,在給出8個脈沖后,最先進入74LS164的第一個字節(jié)數(shù)據(jù)到達最高位,再來1個脈沖,第一個脈沖就會從最高位移出,進入下一個74LS164的第一位。4鍵盤接口設(shè)計由于按鍵盤只有3

11、個,采用獨立式按鈕,分別與8051的P10.P11.P12相連,用普通按鈕10K上拉電阻,用查詢法完成讀鍵功能。第3章 程序設(shè)計31 程序流程圖開始初始化參數(shù)設(shè)置調(diào)用鍵盤子程序調(diào)用顯示子程序調(diào)用控制子程序主程序流程圖開始保護現(xiàn)場100ms單元加1100ms單元=0?100ms單元清零,秒單元加1秒單元=60?秒單元清零,分單元加1分單元=60?分單元清零,時單元加1時單元=24?時單元清零退出NNN N N定時中斷程序流程圖開始向緩沖區(qū)放數(shù)指向緩沖區(qū)首地址關(guān)顯示指向A口查段碼,送段碼指向B口送出碼延時1ms指向指向下一個緩沖單元顯示下一位六位顯示完返回顯示程序流程圖32 源程序清單K-KEY

12、EQU P1.0 ;控制按鍵M-KEY EQU P1.1 ;分按鍵H-KEY EQU P1.2 ;時按鍵S-DATA DATA 50H ;秒單元數(shù)據(jù)存儲地址M-DATA DATD 51H ;分單元數(shù)據(jù)存儲地址H-DATA DATA 52H ;時單元數(shù)據(jù)存儲地址MOV SP,#70H ;堆棧區(qū)地址從70H開始MOV DPTR,#0FB00HMOV A,#03H ;設(shè)8155的PA,PB口為輸出方式MOVX DPTR,ASTART:LCALL KEY ;調(diào)用鍵盤設(shè)置子程序LCALL DIS ;調(diào)用顯示子程序LCALL CONTROL ;調(diào)用控制子程序AJMP START ;循環(huán)調(diào)用KEY:JB M

13、-KEY,H-SET ;分設(shè)置鍵壓下嗎?如果沒壓下,則判斷時設(shè)置鍵LCALL DELL ;調(diào)用鍵盤防抖動子程序JB M-KEY,H-SETINC M-DATA ;如果分設(shè)置健壓下,則分單元加1MOV A,M-DATACJNZ A,#60,M-DIS ;分單元=60,則清0MOV M-DATA,#00HM-DIS:MOV A,M-DATALCALL HEX-BCD ;調(diào)用HEX至BCD碼轉(zhuǎn)換子程序MOV 69H,AMOV 6AH,B M-REP:LCALL DIS ;調(diào)用顯示子程序JNB M-KEY,M-REP ;等待分設(shè)置鍵釋放H-SET:JB H-KEY,HEX-BCD ;判斷時設(shè)置鍵是否壓

14、下? LCALL DELL ;調(diào)用鍵盤防抖動子程序 JB H-KEY,HEX-BCD INC H-DATA ;如時設(shè)置鍵壓下,則時單元加1 MOV A,H-DATA CJNZ A,#24,H-DIS ;時單元=24,則清0 MOV H-DATA,#10HH-DIS:MOV A,H-DATALACLL HEX-BCD ;調(diào)用HEX至BCD碼轉(zhuǎn)換子程序MOV 79H,AMOV 7AH,BH-REP:LCALL DIS ;調(diào)用顯示子程序 JNB H-KEY,H-REP ;等待時設(shè)置鍵釋放HEX-BCD:MOV B,#10 DIV AB RETDELL:MOV R6,#20H ;延遲10ms子程序DE

15、L1:MOV R7,#0FFH DJNZ R7,DJNZ R6,DEL1 RET CLOCK:PUSH ACC ;參數(shù)入棧保護 PUSH PSW CLR TR0 MOV TL0,#0B0H ;定時參數(shù)重新設(shè)置 MOV TH0,#03CH SETB TR0 INC 4FH ;100ms單元內(nèi)容加1 MOV A,4FH CJNZ A,#10,D0 ;100ms單元內(nèi)容=10,則秒單元加1 MOV 4FH,#00H ;100ms單元清0 MOV A,S-DATA ADD A,#01H ;秒單元加1 MOV S-DATA,A CJNE A,#60,D0 ;秒單元內(nèi)容=60,則清0 MOV S-DATA

16、,#00H MOV A,M-DATA ADD A,#01H ;分單元加1 MOV M-DATA,A CJNE A,#60,D0 ;分單元=60,則清0 MOV M-DATA,#00H MOV A,H-DATA ADD A,#01H ;時單元加1 MOV H-DATA,A CJNE A,#24,D0 ;時單元=24,則清0 MOV H-DATA,#00H D0:POP PSW ;出棧,出中斷程序 POP ACC RETIDIS:MOV R0,#4FH ;準備向緩沖區(qū)放數(shù) MOV A,27H ACALL PTDS ;放秒值 MOV A,28H ACALL PTDS ;放分值 MOV A,29HAC

17、ALL PTDS ;放時值 MOV R0,#4AH ;指向緩沖區(qū)首地址 MOV R2,#0FFH ;左邊第一位開始顯示 MOV DPTR,#SEGPT ;指向字形碼表首DIS1:MOV A,#00H MOV 20H,DPL MOV 21H,DPH ;熄滅碼 MOV DPTR,#4001H ;取顯示緩沖區(qū)中的數(shù) MOV A,#0FFH MOVX DPTR,A MOV DPL,20H MOV DPH,21H MOV A,R0 MOVC A,A+DPTR ;查表,找字形碼 CPL A MOV DPTR,#4002H MOVX DPTR,A ;送出字形碼 MOV A,R2 ;取字位碼 MOV DPTR

18、,#4001H ;字位口地址 MOVX DPTR,A MOV DPL,20H MOV DPH,21H ;顯示一位數(shù) MOV R3,#00HDIS2:DJNZ R3,DIS2 ;延時一段時間 INC R0 ;修改顯示緩沖區(qū)指針 CLR ;為移位作準備 MOV A,R2 ;取字位碼 RL A ;右移一位,為顯示下一位作準備 MOV R2,A ;存位碼 JB ACC.7,DIS1 ;不到最后一位,則繼續(xù) RETPTOS:MOV R1,A ;暫存 ACALL DIS1 ;低4位先放入緩沖區(qū) MOV A,R1 ;取了原數(shù) SWAP A ;高4位放入低4位中RTDS1:ANL A,#0FH ;放進顯示緩沖區(qū) MOV R0,A DEL R0 ;緩沖區(qū)地址指針減1RETSEGPT: DB 3FH , 06H, 5BH, 4FH, 66H, DB6DH, 7DH, 07H, 7FH, 6FH;時間表DL: MOV

溫馨提示

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

評論

0/150

提交評論