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

下載本文檔

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

文檔簡介

1、課程設(shè)計說明書 第 II頁目 錄1 設(shè)計方案及論證.11.1 設(shè)計的應(yīng)用意義.11.2 設(shè)計方案選擇.11.3 總體設(shè)計框圖.21.4 整體電路原理圖.21.5 元器件清單.42 硬件電路設(shè)計.42.1 單元電路設(shè)計與原理分析.42.1.1 基本原理概述.42.2 元件參數(shù)及功能簡介.52.2.1 主控制器 AT89C51.52.2.2 時鐘電路 DS1302.52.2.3 顯示電路設(shè)計.72.2.4 鍵盤接口設(shè)計.73 系統(tǒng)軟件設(shè)計.83.1 程序流程圖.83.2 程序設(shè)計.11總 結(jié).15致 謝.16參考文獻.17課程設(shè)計說明書 第1頁1 設(shè)計方案及論證1.1 設(shè)計的應(yīng)用意義 “單片機與接

2、口技術(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ù)報告的能力。1.2 設(shè)計方案選擇設(shè)計課題簡要概述自動打鈴裝置用于工廠,學(xué)校等地的時間控制,本設(shè)計是按照學(xué)校作息時間設(shè)定的,模擬了電子鐘顯示時,分,秒。還根據(jù)學(xué)校的作息時間按時打鈴,本系統(tǒng)有兩個按鈕,分別用來調(diào)時,周

3、分,以保證時鐘與標準時間相吻合。首先設(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)。單片機選型根據(jù)課題的具體內(nèi)容,任務(wù)要求,計時,校時,定時,鍵盤顯示等功能,經(jīng)多方考慮,所以本系統(tǒng)選項用與 MCS51 系統(tǒng)單片機完全兼容的AT89C51 低功耗單片機。課程設(shè)計說明書 第2頁1.3 總體

4、設(shè)計框圖時鐘電路電源顯示電路AT89C51CPU鍵盤電路驅(qū)動電路電鈴圖 1 整體框圖總體設(shè)計框圖如圖 1 所示:1.4 整體電路原理圖整體電路原理圖如圖 2 所示:課程設(shè)計說明書 第3頁123456ABCD654321DCBAEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U?8

5、051abfcgdeDPY1234567abcdefg8dpdpDPY_7-SEG_DPabfcgdeDPY1234567abcdefg8dpdpDPY_7-SEG_DPabfcgdeDPY1234567abcdefg8dpdpDPY_7-SEG_DPabfcgdeDPY1234567abcdefg8dpdpDPY_7-SEG_DPabfcgdeDPY1234567abcdefg8dpdpDPY_7-SEG_DPabfcgdeDPY1234567abcdefg8dpdpDPY_7-SEG_DPU?OPTOISO1R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES

6、2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2R?RES2S?SW-PBS?SW-PBS?SW-PBK?RELAY-SPSTU?NOTY2U?BELLC1C2C3C4BATTERYY112345678DS1302123456789101112131415161718192021222324252674LS104Q?NPN1Q?NPN1Q?NPN1Q?NPN1Q?NPN1Q?NPN1Q?NPN1VCCU?GNDGNDU?GNDU?GNDQ?NPN1D?ZENER3VCCVC

7、CS?SW SPSTVCCU?GNDVCCC?CAPC?CAPC?ELECTRO1C?ELECTRO1T?TRANS1Vin1GND2Vout3U?VOLTREGAC1V+2AC3V-4D?BRIDGE2NOT圖 2 整體電路原理圖課程設(shè)計說明書 第4頁1.5 元器件清單 AT89C511 片DS13021 片74LS1641 片數(shù)碼顯示管6 個晶振 12MHZ1 個按鍵3 個電阻若干電容若干三極管若干二極管若干表 1 元器件清單元器件清單如表 1 所示:2 硬件電路設(shè)計2.1 單元電路設(shè)計與原理分析2.1.1 基本原理概述本系統(tǒng)主要由主控模塊,時鐘模塊,顯示模塊,鍵盤接口模塊等 4 部分組成

8、。通過內(nèi)部定時產(chǎn)生中斷,從而驅(qū)動電鈴打鈴。設(shè)定 51 單片機工作在定時器工作方式 1,每課程設(shè)計說明書 第5頁100ms 產(chǎn)生一次中斷,利用軟件將基準 100ms 單元進行累加,當定時器產(chǎn)生 10 次中斷就產(chǎn)生 1S 信號,這時秒單元加 1。同理,對分單元和時單元計數(shù),從而產(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 鍵進

9、入打鈴時間設(shè)定,在分別用 2 鍵 3 鍵進行調(diào)整,調(diào)整完后按下 1 鍵便退出調(diào)整,時鐘繼續(xù)走動。當時鐘時間與設(shè)置時間一致時,驅(qū)動電路動作進行打鈴,每次打鈴 10 秒。2.2 元件參數(shù)及功能簡介 2.2.1主控制器 AT89C51AT89C51 分司生產(chǎn)的 AT89C51 單片機用高性能的靜態(tài) 80C51 設(shè)計,由先進工藝制造,并帶有非易失性 FLASH 程序存儲器,它是一種高性能,低功耗的 8 位 CMOS 微處理芯片,市場應(yīng)用最多,主要性特點有:有 4K 的 FLASH 程序存儲器,256 字節(jié)內(nèi)部 RAM。電源控制模式:時鐘可停止和恢復(fù),空閑模式,掉電模式。6 個中斷源。4 個中斷優(yōu)先級。

10、4 個 8 位 I/O 口。全雙工增強型 UART。2 個 16 位定時/計數(shù)器2.2.2時鐘電路 DS1302性能特性 實時時鐘可對秒,分,時等進行計數(shù),存在高速數(shù)據(jù)暫存的 31*8 位 RAM,最少引腳的串行 I/O 口;2.55.5V 電壓工作范圍;2.5V 耗電小于 300nA;用于時鐘或 RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)數(shù)據(jù)傳送方式;簡單的 3 線接口;可選的慢速充電的能力。課程設(shè)計說明書 第6頁DS1302 時鐘芯片包括實時時鐘和 31 字節(jié)的靜態(tài) RAM,它經(jīng)過一個簡單的串行接口與微處理器通信,實時時鐘提供秒,分,時等信息,時鐘運行可以采用 24H,或帶AM/PM 的 12H 格

11、式,采用三線接口與 CPU 進行同眇通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM 數(shù)據(jù)。DS1302 有主電源/后備電源雙電源引腳;工作原理DS1302 在任何數(shù)據(jù)傳送時必須先初始化,把 RST 引腳置為高電平,然后把 8 位地址和命令裝入移位寄存器,數(shù)據(jù)在 SCLK 的上升沿被輸入,無論是讀周期還是寫周期開始 8 位指定 40 個寄存器中哪個將被訪問到,在開始 8 個時鐘周期,把命令字節(jié)裝入撳位寄存器之后,另外的時鐘周期在闈時操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù),時鐘脈沖的個數(shù)在單位字節(jié)下為 8 加 8,在多字節(jié)方式下為 8 加字節(jié)數(shù),最大可達 248字節(jié)數(shù)。為了提高對 32 個

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

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

14、串行口輸出段碼,用74LS164 來驅(qū)動數(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ù)位端,當該位為低電平時,移位寄存器各位復(fù)0。當它為高電平時時鐘脈沖才起作用。Q1Q8 并行輸出分別接數(shù)碼管的各段對應(yīng)腳上,在給出 8 個脈沖后,最先進入 74LS164 的第一個字節(jié)數(shù)據(jù)到達最高位,再來 1 個

15、脈沖,第一個脈沖就會從最高位移出,進入下一個 74LS164 的第一位。2.2.4 鍵盤接口設(shè)計由于按鍵盤只有 3 個,采用獨立式按鈕,分別與 8051 的 P10.P11.P12 相連,用普通按鈕 10K 上拉電阻,用查詢法完成讀鍵功能。鍵盤接口設(shè)計電路圖如圖 3 所示:圖 4 鍵盤接口設(shè)計電路圖課程設(shè)計說明書 第8頁3 系統(tǒng)軟件程序設(shè)計3.1 程序流程圖開始初始化參數(shù)設(shè)置調(diào)用鍵盤子程序調(diào)用顯示子程序調(diào)用控制子程序圖 5 主程序流程圖主程序流程圖如圖 5 所示:定時中斷程序流程圖如圖 6 所示:課程設(shè)計說明書 第9頁開始保護現(xiàn)場100ms單元加1100ms單元 =0?100ms單元清零,秒單

16、元加1秒單元 =60?秒單元清零,分單元加 1分單元 =60?分單元清零,時單元加 1時單元 =24?時單元清零退出NNN N N圖 6 定時中斷程序流程圖課程設(shè)計說明書 第10頁開始向緩沖區(qū)放數(shù)指向緩沖區(qū)首地址關(guān)顯示指向A口查段碼,送段碼指向B口送出碼延時 1ms指向指向下一個緩沖單元顯示下一位六位顯示完返回圖 7 顯示程序流程圖顯示程序流程圖如圖 7 所示:圖 10 延時子程序流程課程設(shè)計說明書 第11頁3.2 程序設(shè)計K-KEY EQU P1.0 ;控制按鍵M-KEY EQU P1.1 ;分按鍵H-KEY EQU P1.2 ;時按鍵S-DATA DATA 50H ;秒單元數(shù)據(jù)存儲地址M-

17、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-KEY,H-SET ;分設(shè)置鍵壓下嗎?如果沒壓下,則判斷時設(shè)置鍵LCALL DELL ;調(diào)用鍵盤防抖動子程序JB M-KEY,H-SETINC M

18、-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è)置鍵是否壓下? LCALL DELL ;調(diào)用鍵盤防抖動子程序 JB H-KEY,HEX-BCD INC H-DATA ;如時設(shè)置鍵壓下,則時單元加

19、 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,B課程設(shè)計說明書 第12頁H-REP:LCALL DIS ;調(diào)用顯示子程序 JNB H-KEY,H-REP ;等待時設(shè)置鍵釋放HEX-BCD:MOV B,#10 DIV AB RETDELL:MOV R6,#20H ;延遲 10ms 子程序DEL1:MOV R7,#0FFH DJNZ R7,DJNZ R6,DEL1 RET CLOCK:P

20、USH 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,#00H MOV A,M-DATA ADD A,#01H ;分單元加 1 MO

21、V 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 ;放分值課程設(shè)計說明書 第13頁 MOV A,29HACALL PTDS ;放時值 MOV R0,#4A

22、H ;指向緩沖區(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,#4001H ;字位口地址 MOVX DPTR

23、,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

24、;緩沖區(qū)地址指針減 1RET課程設(shè)計說明書 第14頁SEGPT: DB 3FH , 06H, 5BH, 4FH, 66H, DB6DH, 7DH, 07H, 7FH, 6FH;時間表DL: MOV DPTR, #P0MOVX A, DPTRINC AMOVC A, A+PC TAB: DB 320H, 352H, 384H, 3B6H, DB 3F2H, 44CH, 47EH, 4B0H, DB 532H, 58CH, 596H, 5F0H, DB 604H, 65EH, 668H, 6C2H, DB 76CH, 79EH, 7B0H, 802H, 課程設(shè)計說明書 第15頁總 結(jié)經(jīng)過一學(xué)期的學(xué)習(xí),使我對單片機有了初步的認識,了解了一些軟件編程的技巧。通過本次課程設(shè)計,使我學(xué)會了課堂上學(xué)不到的知識。對單片機又有了更深的認識,掌握單片機設(shè)計步驟,知道這門課程在工作中的重要性。在課程設(shè)計過程中也遇到了許多困難,但在老師和同學(xué)們的同共努力下都得到解決 ,最終看到了成果 .我感謝老師這半年來對我們細心的教導(dǎo),使我熟悉了一些軟件方面的知識 ,相信定會為日后工作打下堅實基礎(chǔ) .課程設(shè)計加深了學(xué)生對所學(xué)課程理論的理解,擴展了教學(xué)中的實驗內(nèi)容和要求,積累了實踐體驗和經(jīng)驗,讓我們提前感受到畢業(yè)設(shè)計的大致過程,進而能順利進入畢業(yè)設(shè)

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論