信息職業技術學院
設計題目:基于單片機的校園打鈴系統設計
專 業:應用電子技術
班 級:應電08-2
學 號:
姓 名:
指導教師:
學 生 姓 名 | 學號 | 班級 | 應電08-2 | 專業 | 應用電子技術 | |||||
設計(或論文)題目 | 基于單片機的校園打鈴系統設計 | |||||||||
指導教師姓名 | 職 稱 | 工作單位及所從事專業 | 聯系方式 | 備 注 | ||||||
工程師 | 學 | 01 | ||||||||
設計(論文)內容:利用單片機做為主控器件,設計一校園打鈴系統的硬件部分: 1.實現打鈴時間的設置和修改; 2.顯示當前日期、時間; 3.掉電情況下計時工作正常進行、能保存以前設置的時刻。 基本要求: 1.正確選擇元器件完成相應功能; 2.設計整機電路、明晰系統工作原理; 3.系統仿真; 4.完成說明書撰寫。 | ||||||||||
進度安排: 第3~6周:選題及查找相關資料主要查找與課題相關的資料; 第7周:相關資料的整理并對其進行理解; 第8周:對畢業論文的資料進行初步的整理; 第9周:期中檢查; 第10周:對論文進行修改及進行仿真實驗; 第11周:對畢業論文進行排版; 第12周:檢查排版及內容; 第13周:加深對畢業論文的理解準備答辯; 第14周:檢查畢業設計論文的地方準備答辯; 第15周:答辯。 | ||||||||||
主要參考文獻、資料(寫清楚參考文獻名稱、作者、出版單位): [1]蘇平.單片機原理與接口技術.北京:電子工業出版社,2003 [2]林伸茂.8051單片機徹底研究實習篇.北京:人民郵電出版社,2005 [3]韓志軍.單片機應用系統設計.北京:機械工業出版社,2005 [4]陳坤.電子設計技術.成都:電子科技大學出版社,1997 [5]鄭應光.模擬電子線路(一).南京:東南大學出版社,2005 [6]李秀忠.單片機應用技術.北京:人民郵電出版社,2007 | ||||||||||
審 批 意 見 | 教研室負責人: 年 月 日 | |||||||||
摘 要.................................................................... 1
第1章 緒論.............................................................. 2
第2章 方案設計與論證.................................................... 3
2.1 系統方案選擇與比較.................................................. 3
2.1.1 控制模塊方案選擇................................................ 3
2.1.2 顯示模塊方案選擇................................................ 4
2.2.3 存儲模塊方案選擇................................................ 4
2.2 總體方案設計思想.................................................... 5
第3章 硬件電路設計...................................................... 6
3.1 控制模塊設計........................................................ 6
3.1.1 單片機AT89C51簡介.............................................. 6
3.1.2 單片機時鐘電路復位電路介紹...................................... 7
3.2 打鈴模塊............................................................ 8
3.3 存儲模塊............................................................ 8
3.3.1 實時時鐘DS1302簡介............................................. 8
3.3.2 存儲器24C02C................................................... 10
3.4 鍵控模塊........................................................... 12
3.4.1 獨立式鍵盤介紹................................................. 12
3.4.2 鍵盤接口及鍵位的功能介紹....................................... 13
3.5 顯示模塊........................................................... 13
3.5.1 數碼管的組成及工作原理......................................... 14
3.5.2 數碼管的顯示................................................... 14
第4章 整機原理......................................................... 16
4.1 整機原理圖......................................................... 16
4.2 整機電路原理....................................................... 16
第5章 軟件設計......................................................... 18
5.1 打鈴系統流程圖..................................................... 18
5.2 讀時間日期顯示流程圖............................................... 18
5.3 LED顯示流程圖..................................................... 19
5.4 主程序流程圖....................................................... 20
第6章 仿真和調試....................................................... 21
6.1 調試軟件的介紹..................................................... 21
6.2 調試的操作步驟..................................................... 21
6.3 仿真軟件對于本設計的仿真........................................... 22
結 論................................................................... 25
參考文獻................................................................. 26
附錄1 整機原理圖....................................................... 27
附錄2 元件明細表....................................................... 28
附錄3 源程序........................................................... 29
本設計以單片機AT89C51為控制核心,與DS1302、24C02C和LED等組成校園打鈴系統,運用實時時鐘芯片DS1302實現時間控制,同時運用LED七段數碼管完成當前的年、月、日、時、分、秒和星期以及打鈴時間的顯示,再利用鍵盤可以對系統當前時間以及打鈴時間進行調節、存儲、清空操作,并且使用外部存儲器24C02C完成打鈴時間的存儲。此設計在系統掉電狀態下仍可以正常的打鈴、時間設定、數據保持,整體性好、人性化強、可靠性高、功能強,體積小,功耗低,價格便宜,工作可靠,使用方便等特點。
關鍵詞 單片機;AT89C51;DS1302;24C02C打鈴
校園打鈴系統就是利用現代計算機、通訊等技術,以傳統的鈴聲系統為基礎,根據用戶對鈴聲系統功能的要求,由單片機來控制、管理、播放的系統。
通過把播放的內容以數字形式存放在存儲器中,然后單片機通過控制軟件,按照學校設定的播放時間和內容控制單片機自動將存儲器中的數字音樂文件播放出來。鈴聲控制系統整體由兩部分組成:主控中心和終端電鈴。主控中心以單片機為核心,包括控制電路、顯示電路、鍵盤電路和存儲電路。終端電鈴為響應控制設備,通過其自身的控制系統可以獲得清晰、響亮的聲響。
單片機在電子產品中的應用已經越來越廣泛,并且在很多電子產品中也將其用到校園鈴聲和廣播控制。單片機又稱單片微控制器,是把一個計算機系統集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。 現在,這種單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞—“智能型”,如智能型洗衣機等。
本次設計是實現一個單片機的校園打鈴系統,能過設置打鈴時間,同時要求能夠在系統掉電時,時間能夠繼續,數據能夠保持,能夠實現打鈴。
校園打鈴系統設計方案有多種,下面提出兩種電路方案。
方案一:主要是由石英晶體振蕩電路和分頻器電路組成的脈沖發生器、校時電路、報時電路以及時、分、秒計數器和譯碼顯示電路等電路組成,其中采用計數器74LS290、譯碼器74LS49、分頻器和八段數碼管顯示器等器件組成的校園打鈴系統,整個系統有控制簡單,調試容易等優點,但是其顯示功能單一、電路復雜。其組成方框圖如下2-1所示:
圖2-1 方案一組成方框圖
方案二:采用ATC公司的單片機ATC89C51作為控制器。單片機運算能力強,軟件編程靈活,自由度大。它是MCS-51系列單片機的派生產品,在指令系統、硬件結構和片內資源上與標準8051單片機完全兼容,使用時容易掌握;采用ATC89S52單片機穩定可靠、應用廣泛、通用性強。
圖2-2 方案二組成方框圖
方案選擇:采用方案一實現的校園打鈴控制系統調試容易,價格相對較為便宜,但是電路結構復雜,控制單一,且整個系統性能不是很高,倒計時不是非常精確,功能不完整,如果要求系統調節打鈴時間時不容易調整。采用方案二實現的校園打鈴系統其電路結構簡單,可實現多功能控制,計時精確,全自動化實現其所用功能,并且能在斷電的情況下任能正常的實現打鈴。因而對于完成此題目,方案二完全能實現設計要求,并且容易掌握,此方案是利用編程來實現,易于調整時間,且I/O接口很多,易于擴展外圍電路,故選擇方案二。
2.1.2 顯示模塊方案選擇該系統要求完成當下年、月、日、時、分、秒、星期的顯示等功能。基于上述原因,考慮了三種方案。
方案一:完全采用點陣式LED 顯示。這種方案實現復雜,且須完成大量的軟件工作;但功能強大,可方便的顯示各種英文字符,漢字,圖形等。
方案二:用七段LED數碼管完成年、月、日、時、分、秒、星期顯示,這種方案只能顯示數字、英文字符及一些簡單的數學符號,但價格相對便宜。
方案比較:相對比較而言,方案二比方案一更符合此設計要求,方案一采用點陣式LED顯示的方法,而設計只要求年、月、日、時、分、秒、星期的顯示輸出。因此這種方案既軟件工作量大,又價格相對較貴,因此權衡利弊,選擇方案二。
2.2.3 存儲模塊方案選擇存儲器是整個系統的“連接線”,它是系統穩定工作的保障,為使各個模塊穩定工作,須有可靠存儲器。下面考慮了兩種電源方案。
方案一:采用單片機存儲器。該方案的優點是存儲方便,節約成本;缺點是斷電后存儲數據消失。
方案二:采用存儲器24C02C。該方案保證設置的打鈴時間數據在掉電時也不會丟失,同時實現在系統運行時能夠修改打鈴時間,采用開關電源作為整個系統的供電,它具有多路電源輸出,缺點是價格較貴。
方案比較:方案一只采用單片機自身的存儲是不行的,而方案二雖然要給另外購買,但卻能在斷電的情況下仍能存儲數據并且繼續計數。故選擇第二種方案。
2.2 總體方案設計思想根據校園打鈴系統的設計,可將本系統分為四個模塊,第一個模塊是控制模塊,主要負責整個系統工作的控制和運算,從而使各模塊正常工作;第二個模塊為顯示模塊,主要是對現時刻內年、月、日、時、分、秒和星期的直觀顯示;第三個模塊是鍵控模塊,它的主要作用是輔助控制模塊,相當于輸入裝置,利用它可以對打鈴時間進行調節;第四個模塊是存儲模塊,它是整個系統的連接線,負責給各模塊提供合適的信息,讓各模塊能穩定工作。其系統設計結構如圖2-3所示。
圖2-3 系統設計結構圖
AT89C51在此設計中起到非常重要的作用,它就像一個人的大腦,控制著整個設計的所有系統。此設計的控制模塊由單片機、復位電路、時鐘電路組成的。
3.1.1 單片機AT89C51簡介AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPER-OM-Flash Programmable and Erasable Read Only Memory)的低電壓。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種商效微控制器,AT89C51是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。
圖3-1 AT89C51引腳圖
AT89C51單片機引腳分布如圖3-1所示。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P3.0(RXD):串行輸入口
P3.1(TXD):串行輸出口
3.1.2 單片機時鐘電路復位電路介紹1.時鐘電路模塊
單片機的時鐘信號用來為單片機芯片內部的各種操作提供時間基準。
時鐘電路為單片機產生時鐘脈沖序列,作為單片機工作的時間基準,典型的晶體管振蕩頻率為12MHz。
AT89C51單片機內有時鐘振蕩電路,只要在單片機的XTAL1和XTAL2引腳外接石英晶體和微調電容,就構成了自激振蕩器并在單片機內部產生時鐘脈沖信號,具體電路設計如圖3-2所示。圖中電容C1和C2的作用是穩定頻率和快速起振,其值為5~30pF,在此選擇30pF;晶振X1的振蕩頻率范圍在1.2~12MHz之間選擇。
圖3-2 單片機時鐘、復位電路
2.復位電路模塊
復位電路使單片機或系統中的其他部件處于某種確定的狀態。
當在單片機的RST引腳處引入高電平并保持2個機器周期,單片機內部就執行復位操作。實際應用中,復位操作有兩種基本形式:一種是上電復位,另一種是按鍵復位。在單片機運行期間,可以利用此按鍵完成復位操作。具體電路設計如上圖3-2所示。
3.2 打鈴模塊電鈴工作在交流電220V下,單片機工作電壓為直流電+5V,所以單片機引腳不能直接控制電鈴工作,因此我們使用單片機控制電鈴工作電路的通斷。由于單片機驅動能力有限,因而需要硬件將單片機輸出的高、低電平變成控制電鈴通斷的電路,能夠具體實現該功能的電路有多種。常見的方式是采用將單片機輸出信號放大后驅動繼電器,用繼電器的觸頭控制電鈴電路的接通和斷開,如圖3-3所示。
三極管在電路當中起開關作用,管型為PNP型。單片機的P1.7通過三極管驅動繼電器,當P1.7腳輸出高電平時,給三極管基極送入高電壓。此時,三極管呈截止狀態,繼電器不吸合電鈴停止打鈴;當P1.7腳輸出低電平時,給三極管基極送入的是低電壓。此時,三極管呈導通狀態,促使繼電器吸合,電鈴打鈴。
繼電器是一種電子控制器件,它具有控制系統(又稱輸入回路)和被控制系統(又稱輸出回路),通常應用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關”。當輸入量達到規定值時,使被控制的輸出電路導通或斷開的電器。繼電器線圈在斷電時會產生一個很大的反感生電動勢,這個電壓會損失繼電器或者電路中的元件,在繼電器線圈上反向并聯一個二極管,可將產生的反感生電動勢通過二極管回路釋放掉、保護繼電器線圈和電路中的電子元件不受高壓損壞。
圖3-3 聲音控制電路圖
3.3 存儲模塊3.3.1 實時時鐘DS1302簡介它可以對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。
1.引腳功能及結構
圖3-4 DS1302引腳圖
如圖3-4所示,DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過RST輸入高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節或多字節數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變為高阻態。上電運行時,在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向),SCLK始終是輸入端。
2.實時時鐘DS1302的控制字節
DS1302的控制字節的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節總是從最低位開始輸出。
3.數據輸入輸出(I/O)
在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7。
4.實時時鐘DS1302的寄存器
DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式,其日歷、時間寄存器及其控制字。
此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發寄存器及與RAM相關的寄存器等。時鐘突發寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內容。DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態為一個8位的字節,其命令控制字為C0H~FDH,其中奇數為讀操作,偶數為寫操作;另一類為突發方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節,命令控制字為FEH(寫)、FFH(讀)。
5.引腳連接圖
圖3-5 DS1302引腳連接圖
在學校正常上課中,不可能保證學校隨時都有電,為了不影響學校的正常運轉,同學們能夠正常的上、下課。所以就采用能在學校停電時借助電池也能工作的芯片,而DS1302能夠在學校掉電時,Vcc2無法給實時時鐘DS1302供電,只有通過干電池B1給實時時鐘DS1302的Vcc1提供電量讓DS1302繼續工作,系統能夠繼續計時。而這時的其它電路停止工作,但存儲器中的打鈴時間不會因為沒有電而丟失。其與單片機連接方式如上圖3-5所示。
3.3.2 存儲器24C02C要保證設置的打鈴時間數據在掉電時也不會丟失,同時實現在系統運行時能夠修改打鈴時間,在本系統中采用I2C總線的串行存儲器24C02C存儲打鈴數據。
1.存儲器24C02C的引腳介紹
考慮到串口線、穩定性等方面,本系統采用串行數據傳輸存儲器。其容量計算如下:若以打鈴次數較多的校園為例,每天按12節課計算,每節課打鈴2次,再加上起床和熄燈的次數,打鈴大約在20次左右。這樣每個信息單元占8個字節,存儲時均按照非壓縮型BCD碼存儲,則需要存儲空間大約在160個字節左右,選用256字節的存儲器就能夠滿足容量的要求,可以采用ATMEL公司的24C02C。根據硬件電路的設計可得24C02C的I2C硬件地址為:0A2H/0A3H。
(1)行數據(SDA)引腳
串行數據引腳為雙向引腳,用于把地址和數據輸入/輸出期間。該引腳為漏極開路。因此,SDA總線要求在該引腳與VCC之間接入上拉電阻(通常頻率為100KHz時該電阻阻值為10K,頻率為400KHz和1MHz時,阻值為2K)。
對于正常的數據傳輸,只允許在SCL為低電平期間改變SDA電平。而SDA電平在SCL高電平期間若發生變化,表明起始和停止條件產生。
(2)寫保護(WP)引腳
該引腳必須連接到VSS或者VCC。如果連接到VSS,寫操作使能。如果連接到VCC,寫操作被禁止,但讀操作不受影響
2.引腳連接方法
引腳采用I2C總線連接方法,這種方法能夠節約I/O輸出端口。它主要的特點有:
(1)總線只有兩根線,即串行時鐘線和串行數據線,這在設計中大大簡化了硬件接口;
(2)每個連接到總線上的器件地址同時由芯片內部硬件電路和外部地址引腳決定,避免了片選線的線連接方法,并建立簡單的主從關系,主器件既可以作為發送器,又可作為接收器;
(3)它是一個真正的多主總線,帶有競爭監測和仲裁電路,多個主機可以任意發送而不破壞總線上的數據;
(4)同步時鐘可以作為停止或重新啟動串行口發送的握手方式;
(5)連接到同一總線的集成電路數量只受400pF最大總線電容的限制。
學校設定的系統時間和打鈴時間存儲在24C02C中。24C02C的三個地址端口A0、A1、A2都接地,因而其存儲地址為A000H-A6FFH,共1KB的存儲空間。其中,WP是24C02C的寫保護控制引腳,WP為低電平時,串行存儲器可以正常地讀/寫;WP為高電平時,對串行存儲器內部的數據進行寫保護。在系統掉電時不會丟失其中的內容,保證了設置的打鈴時間不會因系統掉電而需要重新設置。如圖3-6所示。
圖3-6 24C02C引腳連接圖
3.4 鍵控模塊鍵盤是一組按鍵的組合,它是各種儀表中最常用的輸入設備。操作人員可通過鍵盤輸入數據或命令,實現簡單的人機對話。在單片機應用系統中,有的是單個按鍵,有的是矩陣式的按鍵,即行列式按鍵。按鍵是一種常開型按鈕開關,常態時按鍵的兩個觸點處于斷開狀態,按下鍵時它們才閉合。根據本設計本的要求,我們選用獨立式鍵盤實現整個功能。
3.4.1 獨立式鍵盤介紹
圖3-7 獨立式按鍵結構
獨立式鍵盤的按鍵相互獨立,每個按鍵占用一根I/O口線,每根I/O口線上的按鍵工作狀態不會影響其他按鍵的工作狀態。這種按鍵軟件程序簡單,但占用I/O口線較多(一根口線只能接一個鍵),適用于鍵盤應用數量較少的系統中。獨立式按鍵電路配置靈活,軟件結構簡單,但每個按鍵必須占用一根I/O口線,因此,在按鍵較多時,I/O口線浪費較大,不宜采用。獨立式按鍵結構圖如圖3-7所示。
3.4.2 鍵盤接口及鍵位的功能介紹按鍵功能介紹:
模式按鍵:它的主要功能就是選擇時鐘芯片里的年、月、日、時、分、秒,當按下模式這個鍵時,它從年到月依次往后的選中,這時按調節按鈕就能從當前的時間往上調。
調節按鍵:它的主要功能就是想改變當前的系統時間首先要按模式鍵,選中要修改的時間,再按調節鍵就能控制當前系統時間遞增。
存入按鍵:它的主要功能就是把系統不正確的時間修改后按下存入鍵,系統的時間就為按下那瞬間的時間。
清空按鍵:它的主要功能就是當學校要重新輸入打鈴時間的時候,就先按下清空鍵,再輸入新的時間。
通過上述每個按鍵的功能介紹,實現對打鈴系統的打鈴時間設置。與單片機具體鏈接圖,如圖3-8所示。
在本系統中因為要顯示年、月、日、星期、時、分、秒,如果用發光二極管不能具體的顯示出來,所以采用了七段數碼顯示管來作為顯示元件。
3.5.1 數碼管的組成及工作原理數碼管由8個發光二極管構成,可以用來顯示數字、字符等它在家電及工業控制中有著很廣泛的應用。數碼管實際上是由7個發光管組成“8”字形構成的,加上小數點就是8個。這些段分別由字母a、b、c、d、e、f、g、dp來表示。數碼管的引腳結構如圖3-9 所示,其中COM引腳為公共端,用來控制數碼管顯示的打開或關閉,既起到“使能”作用。當數碼管特定的段加上電壓后,這些特定的段就會發亮,以形成我們眼睛看到的字樣。
根據公共端接法方式的不同,數碼管又分為共陰極和共陽極兩種結構的二極管,分別如下:
共陽極就是將8個LED的陽極連接到一起組成公共端COM,接到正極,當相應字段為低電平“0”時,可以點亮該字段;但相應字段為高電平“1”時,該字段不亮。
共陰極就是將8個LED的陰極連接到一起組成公共端COM,接負極,當相應字段為高電平“1”時,可以點亮該字段;當相應字段為低電平“0”時,該字段不亮。
圖3-9 LED數碼管引腳
數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(COM)的數碼管。共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。
3.5.2 數碼管的顯示數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。
圖3-10 數碼管動態顯示電路
動態顯示驅動:數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃“a、b、c、d、e、f、g、dp”的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位數碼管的點亮時間為1~2ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的I/O端口,而且功耗更低。數碼管動態顯示連接,如圖3-10所示。
圖4-1 整機原理圖
4.2 整機電路原理電路中采用I2C總線的串行存儲器24C02C,在系統掉電時不會丟失其中的內容,保證了設置的打鈴時間不會因系統掉電而需要重新設置。24C02C的三個地址端口A0、A1、A2都接地,因而其存儲地址為A000H-A6FFH,共1KB的存儲空間。其中,WP是24C02C的寫保護控制引腳,WP為低電平時,串行存儲器可以正常地讀/寫;WP為高電平時,對串行存儲器內部的數據進行寫保護。
實時時鐘芯片DS1302采用3V的電池作為后備電源,使DS1302內部的時鐘不會因為系統掉電而停止。在系統正常供電時,DS1302通過內部的涓流充電電阻給后備電池充電,能保證系統電池的長時間工作。
掉電情況下:由BAT1干電池通過DS1302的引腳VCC1供電,系統時間不會因為沒有電而停止工作,顯示電路、鍵盤電路、存儲電路、聲音控制電路因為AT89C51沒有電,所以停止工作。來電時,數碼管上顯示的系統時間不會是停電時刻的時間,系統繼續工作。
正常情況下:按鍵按鈕通過AT89C51的P1.3、P1.4、P1.5、P1.6腳進行調節、存入、清空系統當前時間和打鈴時間和模式選擇。當前系統時間在數碼管上顯示系統時間和打鈴時間,學校設置的打鈴時間存儲在外部存儲器24C02C中。DS1302時鐘芯片為單片機提供實時時間并與24C02C中的打鈴時間進行比較來控制AT89C51的P1.7腳輸出高、低電平。如果當前系統與打鈴時間不一致,AT89C51中的P1.7腳就輸出高電平,三極管Q1截止,繼電器斷開,電鈴電路不導通。如果當前系統時間與打鈴時間一致,AT89C51中的P1.7腳就輸出低電平,三極管Q1導通,繼電器閉合,電鈴電路導通打鈴。
本系統中軟件部分應承擔日期時間顯示、按鍵掃描、系統狀態設置、打鈴時間判斷等功能。
5.1 打鈴系統流程圖打鈴系統程序打鈴是是調用存儲器中存儲的打鈴時間,把鬧鈴值與計時值的時、分單元比較,看是否相等,如果不相等就不打鈴,如果相等就啟動鬧鈴,鬧鈴延時時間為12秒。程序流程圖如圖5-1所示。
圖5-1 打鈴系統流程圖(附件中剛有圖片)
5.2 讀時間日期顯示流程圖讀時間日期顯示程序是先對時間日期進行初始化,再對是顯示年月日還是顯示時分秒進行判斷,并利用總線加以顯示。程序流程圖如圖5-2所示。
圖5-2 讀時間日期顯示流程圖
5.3 LED顯示流程圖顯示子程序采用動態掃描法實現三位數碼管的數值顯示。測量數據在顯示時需轉換成10進制BCD碼放在24C02C存儲器中,再轉換成十進制進過總線輸出,經由單片機控制LED顯示。程序流程圖如圖5-3所示。
圖5-3 LED顯示的流程圖
5.4 主程序流程圖主程序比較簡單,初始化完成后,調用按鍵掃描程序,取得鍵值,并根據當前系統狀態調用相應的子程序。這里有五個基本的子程序供調用,分別對應系統的各種功能狀態。分別是打鈴時間設置子程序、當前時間顯示子程序、鍵盤模塊子程序、打鈴校準子程序等。程序流程圖如圖5-4所示。
圖5-4 控制模塊的流程圖
下面用keil與porteus仿真軟件實現校園打鈴的仿真與調試。
6.1 調試軟件的介紹Keil軟件是目前最流行開發MCS-51系列單片機的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。
Keil C51 µVision2集成開發環境是Keil Software,Inc/Keil Elektronik GmbH開發的基于80C51內核的微處理器軟件開發平臺,內嵌多種符合當前工業標準的開發工具,可以完成從工程建立到管理、編譯、鏈接、目標代碼的生成、軟件仿真、硬件仿真等完整的開發流程尤其是C編譯工具在產生代碼的準確性和效率方面達到了較高的水平,而且可以附加靈活的控制選項,在開發大型項目時非常理想。
Proteus是目前最好的模擬單片機外圍器件的工具,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況?梢苑抡51系列、AVR,PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI器件,部分IIC器件)。
6.2 調試的操作步驟1.在uVision集成開發環境中創建新項目(Project),擴展文件名為UV2,并為該項目選定合適的單片機CPU器件。
2.用uVision的文本編輯器編寫源文件,可以是匯編文件(.ASM),也可以使C語言文件(擴展名.C),并將該文件添加到項目中去。一個項目文件可以包含多個文件,除了源程序文件外,還可以是庫文件、頭文件或文本說明文件。
3.通過uVision2的相關選擇項,配置編譯環境、連接定位器以及Debug調試器的功能。
4.對項目中的源文件進行編譯連接,生成絕對目標代碼和可選的HEX文件,如果出現編譯連接錯誤則返回到第2步,修改源文件中的錯誤后重構整個項目。
5.對沒有語法錯誤的程序進行仿真調試,調試成功后將HEX文件寫入到單片機應用系統的ROM中。
6.下一步就可以在Proteus軟件中將HEX文件燒入單片機。
6.3 仿真軟件對于本設計的仿真通過以上步驟,來實現校園打鈴系統設計的仿真:
狀態1:LED數碼管對年、月、日顯示的仿真效果如圖6-1所示。
圖6-1 當前年、月、日的顯示
狀態2:LED數碼管對時、分、秒和星期顯示的仿真效果如圖6-2所示。
圖6-2 當前年、月、日的顯示
Proteus的ISIS是一款Labcenter出品的電路分析實物仿真系統,可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業的單片機軟件仿真系統。
表6-1 器件庫及所選器件
器件庫 | 器件名稱 |
Microprocessor ICs | 89C51 |
Memory ICs | 24C02C |
Switches&Relays | BUTTON |
Memory ICs | DS1302 |
Optoelectronics | 7SEG-MPX8-CA |
Optoelectronics | LAMP |
Resistors | MINRES200R |
Diodes | 1N4148 |
Transistors | 2N2905 |
Switches&Relays | RELAY |
Miscellaneous | BATTERY |
Terminals Mode | POWER |
操作步驟如下:
1.進入proteusISIS集成環境,在工作前,在systerm菜單下設置界面的顏色、圖形界面大小等項目,我采用了系統默認值。
2.通過工具欄中的P(從庫中選擇元件命令)命令,在pickdevices窗口中選擇電路所需的元件,放置元件到編輯區并調整其相對位置,進行元件參數設置,元器件間連線。器件庫如表6-1所示。
本次是通過51單片機實現校園打鈴系統的設計,設計的目的是能過通過按鍵系統的功能對打鈴時間的更改、存儲、清除等操作,能通過數碼管顯示低昂前系統的時間,并顯示具體的打鈴時間。單片機的存儲容量小,所以采用了I2C總線的串行存儲器24C02C,并通過始終芯片DS1302進行時鐘控制,最后經過三極管的開關性能控制繼電器進而控制鈴聲。
通過本次設計,鞏固了單片機原理及應用這門課的所學的知識與技能,更加了解單片機的功能及應用,最開始拿到這個課題的時候,腦袋里只是白茫茫的一片,說不懂吧,好像又有點懂,說全懂吧,好像又有些不懂。其實這次設計說難也不是很難,但也不會簡單哪里去。只是要把以前學的東西融合起來變成自己需要的東西。這次畢業設計我認為不僅僅是一次簡單的設計,同時也教會我們學以致用的道理,很多知識我們學過卻沒有應用到實踐中,很可能就荒廢了,但通過這次設計讓我加深知識的理解,真正將知識與實踐結合,達到了理論的升華,同時也是一次熟悉知識、改正錯誤、提升自己的機會。
這次畢業設計提高了我的查閱資料的能力,同時也使我的能力也得到了提升,提高是有限的但提高也是全面的,正是這一次設計讓我積累了無數實踐經驗,使我的頭腦更好的被知識武裝了起來。同時我也學會了僅憑個人的知識是有限的,需要多思多問。這也是學習需要的效果。也必然會讓我在未來的工作學習中表現出更高的應變能力、更強的溝通力和理解力。
這次設計是我第一次用單片機運用到實際生活當中,所以在很多地方都有不足之處。希望各位老師給我更多的建議,以便我在將來的設計中做的更好,誠心希望老師的指點。
[1] 蘇平主編.單片機原理與接口技術.北京:電子工業出版社,2003
[2] 林伸茂主編.8051單片機徹底研究實習篇.北京:人民郵電出版社,2005
[3] 韓志軍主編.單片機應用系統設計.北京:機械工業出版社,2005
[4] 陳坤.電子設計技術.成都:電子科技大學出版社,1997
[5] 李秀忠主編.單片機應用技術.北京:人民郵電出版社,2007
[6] 肖洪兵主編.跟我學單片機.北京:北京航空航天大學出版社,2002
[7] 張國鋒主編.單片機原理及應用.北京:機械工業出版社,2009
[8] 張旭濤.單片機原理及應用.北京:北京理工大學出版社,2007
[9] 張偉.單片機原理及應用.北京:機械工業出版社,2005
項目 代號 | 名稱、型號、規格 | 數量 | 備注 | 更改 | |||||||||||||||
AT89C51 | 單片機芯片 | 1 | |||||||||||||||||
12MHz | 晶振 | 1 | |||||||||||||||||
7SEG | LED顯示器 | 1 | |||||||||||||||||
LS1 | 揚聲器 | 1 | |||||||||||||||||
200 | 電阻 | 9 | |||||||||||||||||
30pF | 瓷片電容 | 2 | |||||||||||||||||
10pF | 電解電容 | 1 | |||||||||||||||||
3V | 電池 | 1 | |||||||||||||||||
24C02C | 外部存儲器 | 1 | |||||||||||||||||
DS1302 | 時鐘芯片 | 1 | |||||||||||||||||
2N2905 | 三極管 | 1 | |||||||||||||||||
1N4148 | 二極管 | 1 | |||||||||||||||||
220V | 繼電器 | 1 | |||||||||||||||||
220V | 燈泡 | 1 | |||||||||||||||||
BUTTON | 按鍵 | 4 | |||||||||||||||||
舊底圖 | |||||||||||||||||||
更改標記 | 數量 | 更改單號 | 簽名 | 日 期 | |||||||||||||||
底圖號 | 擬制 | 基于 單片 機的 校園 打鈴 系統 設計 | |||||||||||||||||
審校 | |||||||||||||||||||
日期 | |||||||||||||||||||
等級標記 | 第1張 | 共1張 | |||||||||||||||||
簽名 | 標準化 | ||||||||||||||||||
梁雪英 | 批準 | ||||||||||||||||||
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |