版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 設 計 (論 文)</p><p> 課題名稱: 基于51單片機的智能定時控制器系統(tǒng)設計 </p><p> 指導教師: </p><p> 系 別: 電子信息系 </p><
2、;p> 專 業(yè): 應用電子技術 </p><p> 班 級: 10電子(2)班 </p><p> 姓 名: </p><p> 畢業(yè)設計(論文)任務書</p>&
3、lt;p> 課題名稱 基于51單片機的智能定時控制器系統(tǒng)設計 </p><p><b> 課題條件:</b></p><p> 隨著電子工業(yè)的發(fā)展,數字電子技術已經深入到了人們生活的各個層面,各種各樣的電子產品也正在日新月異地向著高精尖技術發(fā)展。數字電子時鐘是一種用數字電路技術實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確
4、性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。</p><p> 畢業(yè)論文(設計)主要內容:</p><p> 時間顯示:用4位數碼管顯示當前小時和分鐘,秒功能用兩LED燈代替(每秒閃爍一次)。</p><p><b> 可手動設定時間。</b></p><p> 開機流程:系統(tǒng)有紅色和藍色
5、指示燈,上電10S內,每秒紅色指示燈閃爍一次,并伴有蜂鳴聲,作為開機/重啟提醒,此時綠色指示燈滅。10S后紅色指示燈滅,若光線較強則綠色指示燈亮,若光線較弱則綠色指示燈亮度減半進入節(jié)能模式。</p><p> 3、 具有整點報時功能(四短一長),可自行設定報時時間段;</p><p><b> 計劃進度:</b></p><p> 1
6、. 資料的收集撰寫開題報告 6月20日至9月8日 </p><p> 2. 方案設計 9月9日至9月15日 </p><p> 3. 電路的設計指標分析與確定;后期的電路優(yōu)化元器件的選擇與參數確定9月16日至11月2日</p><p> 4. 畢業(yè)設計論文的修改、完善 11月3日至11月10日</p><
7、;p> 5. 畢業(yè)設計答辯11月15 日至11月20日</p><p><b> 主要參考文獻:</b></p><p> 康光華主編.電子技術基礎.北京:高等教育出版社,1999.6</p><p> b)何宏主編.單片機原理與接口技術.北京:國防工業(yè)出版社.2006.07</p><p> c)楊西明
8、,朱騏主編.單片機編程與應用入門.北京:機械工業(yè)出版社.2004.06</p><p> d)先鋒工作室編著.單片機程序設計實例.北京:清華大學出版社.2003.01</p><p> 指導教師 (系)教研室主任 </p><p> 年 月
9、日 年 月 日 </p><p><b> 摘 要</b></p><p> 本次設計以AT89C51芯片為核心,輔以必要的外圍電路,設計了一個簡易的電子時鐘,它由5V直流電源供電。在硬件方面,除了CPU外,使用四個七段LED數碼管來進行顯示,LED采用的是動態(tài)掃描顯
10、示。通過LED能夠比較準確顯示時、分。三個簡單的按鍵實現(xiàn)對時間的調整。軟件方面采用匯編語言編程。整個電子鐘系統(tǒng)能完成時間的顯示,調時,定時鬧鐘,報警等功能。</p><p> 本設計是以ATMEL公司的AT89C51單片機芯片為系統(tǒng)核心的智能定時控制器設計,論文具體描述了設計的系統(tǒng)硬件和軟件的具體實現(xiàn)過程。智能定時控制器在硬件、軟件設計上均采用模塊化的方法,使得在設計 和調試方面取得很大的方便。論文重點闡述了數
11、字鐘硬件中MCU模塊、按鍵模塊、顯示模塊等相關模塊的模塊化設計及制作;軟件同樣采用模塊化的設計,包括中斷模塊、時間調整模塊等設計,并采用簡單流通性強的C語言編寫實現(xiàn)。本設計實現(xiàn) 了年、月、日及時、分、秒的顯示和時間修改的功能。通過對比實際的智能定時控制器,查找出誤差的來源,確定調整誤差的方法,盡可能的減少誤差,使得系統(tǒng)可以達到實際智能定時控制器的允許誤差范圍內,取得了設計的預期效果。</p><p> 關鍵詞:
12、AT89C51 數碼管 模塊化 數字鐘</p><p><b> 目 錄</b></p><p><b> 摘 要4</b></p><p><b> 1概 述6</b></p><p><b> 2設計方案6</b></
13、p><p> 2.1.要求功能………………………………………………………………………………..6</p><p> 2.2.單片機芯片……………………………………………………………………………..6</p><p> 2.3顯示模塊………………………………………………………………………………...7</p><p> 2.4時鐘芯片的選擇
14、………………………………………………………………………...7</p><p> 2.5電路設計方案確定……………………………………………………………………...8</p><p> 3單片機內部結構概述…………………………………………………………………………………………8</p><p> 3.1AT89C51單片機………………………………………………………
15、………………….8</p><p> 3.2單片機的定時/中斷系統(tǒng)………………………………………………………………10</p><p> 3.3顯示系統(tǒng)………………………………………………………………………………..12</p><p> 4硬件電路設計………………………………………………………………………………………………..12</p>&l
16、t;p> 4.1硬件系統(tǒng)設計的概述…………………………………………………………………..12</p><p> 4.2報警電路………………………………………………………………………………..13</p><p> 4.3按鍵電路………………………………………………………………………………..14</p><p> 4.4電源設計………………………………
17、……………………………………………......15</p><p> 4.5單片機最小系統(tǒng)………………………………………………………………………..16</p><p> 4.5.1單片機的復位電路16</p><p> 4.5.2單片機系統(tǒng)的晶振電路17</p><p> 4.6主電路設計……………………………………………………
18、………………………..18</p><p> 5 主程序和中斷程序設計19</p><p> 5.1主程序…………………………………………………………………………………..19</p><p> 5.2中斷程序………………………………………………………………………………..21</p><p><b> 6系統(tǒng)調試22&
19、lt;/b></p><p> 6.1軟件調試概述…………………………………………………………………………..22</p><p> 6.2軟件調試………………………………………………………………………………..22</p><p><b> 結 論24</b></p><p><b>
20、致 謝25</b></p><p> 參 考 文 獻26</p><p><b> 1概 述 </b></p><p> 隨著產業(yè)結構的不斷調整、生產工藝的飛速發(fā)展、人們生活水平的不斷提高及家用電器的逐漸普及, 市場對定時控制系統(tǒng)的需求越來越大. 如, 定時自動報警、定時自動打鈴、定時開關烘箱、定時通斷動力設備以及
21、各種電氣的定時啟動等都屬于定時控制系統(tǒng)[ 1] . 定時控制系統(tǒng)的實現(xiàn)方法很多, 本文主要介紹以80C51 系列單片機中的AT89C51 為核心的智能定時控制系統(tǒng)的設計實現(xiàn)方式. 80C51 系列單片機進入市場時間早, 總線開放, 仿真開發(fā)設備多, 芯片及其開發(fā)價格低廉、速度較快、電磁兼容性較好. 本文所述智能時鐘控制系統(tǒng)主要包括時鐘顯示、時間校正、鬧鈴設置及各種設備定時開關機( 可擴展功能) 等功能. 實時日歷和時鐘顯示的設計過程在硬
22、件與軟件方面進行同步設計。硬件部分主要由AT89S52單片機,LED顯示電路,以及調時按鍵電路等組成,系統(tǒng)通過LED顯示數據,所以具有人性化的操作和直觀的顯示效果。軟件方面主要包括時鐘程序、鍵盤程序,顯示程序等。</p><p> 本系統(tǒng)以單片機的匯編語言進行軟件設計,為了便于擴展和更改,軟件的設計采用模塊化結構,使程序設計的邏輯關系更加簡潔明了,以便更簡單地實現(xiàn)調整時間及日期顯示功能。所有程序編寫完成后,在k
23、eil2軟件中進行調試,確定沒有問題后,在Proteus軟件中嵌入單片機內進行仿真在日新月異的21世紀里,家用電子產品得到了迅速發(fā)展。許多家電設備都趨于人性化、智能化,這些電器設備大部分都含有CPU控制器或者是單品具有便攜實用,操作簡單的特點。</p><p><b> 2設計方案</b></p><p><b> 2.1.要求功能</b>&
24、lt;/p><p> 1、 時間顯示:用4位數碼管顯示當前小時和分鐘,秒功能用兩LED燈代替(每秒閃爍一次)。2、 可手動設定時間。3、 開機流程:系統(tǒng)有紅色和藍色指示燈,上電10S內,每秒紅色指示燈閃爍一次,并伴有蜂鳴聲,作為開機/重啟提醒,此時綠色指示燈滅。10S后紅色指示燈滅,若光線較強則綠色指示燈亮,若光線較弱則綠色指示燈亮度減半進入節(jié)能模式。4、具有整點報時功能(四短一長),可自行設定報時時間段;&
25、lt;/p><p><b> 2.2.單片機芯片</b></p><p><b> 方案一: </b></p><p> 采用89C51芯片作為硬件核心,采用Flash ROM,內部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設計中時由于不具備ISP在線編程技術
26、, 當在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,對芯片的多次拔插會對芯片造成一定的損壞。</p><p><b> 方案二:</b></p><p> 采用AT89c51,片內ROM全都采用Flash ROM;能以3V的超底壓工作;同時也與MCS-51系列單片機完全該芯片內部存儲器為8KB ROM 存儲空間,同樣具有89C51的功能,
27、且具有在線編程可擦除技術,當在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,不需要對芯片多次拔插,所以不會對芯片造成損壞。所以選擇采用AT89S52作為主控制系統(tǒng).</p><p><b> 2.3顯示模塊</b></p><p><b> 方案一:</b></p><p> 采用LED液晶顯
28、示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設計中不采用LED液晶顯示屏。</p><p><b> 方案二:</b></p><p> 采用點陣式數碼管顯示,點陣式數碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。&l
29、t;/p><p><b> 方案三:</b></p><p> 采用LED數碼管動態(tài)掃描,LED數碼管價格適中,對于顯示數字最合適,而且采用動態(tài)掃描法與單片機連接時,占用的單片機口線少。</p><p> 所以采用了LED數碼管作為顯示。</p><p> 2.4時鐘芯片的選擇</p><p>
30、; 方案一:采用實時時鐘芯片</p><p> 直接采用單片機定時計數器提供秒信號,使用程序實現(xiàn)、時、分、秒計數。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大。所以不采用此方案。</p><p><b> 方案二:軟件控制:</b></p><p> 利用AT89s51內部定時進行中斷,配合軟件延時實現(xiàn)時、分、秒的
31、計時,該方案節(jié)約成本,且能綜合運用知識</p><p> 2.5電路設計方案確定</p><p> 綜上各方案所述,對此次作品的方案選定: 以單片機AT89C51為主控制器,采用單片機內部定時、行列式鍵盤和動態(tài)LED顯示</p><p> 3單片機內部結構概述</p><p> 3.1AT89C51單片機</p><
32、;p> AT89C51是一種低功耗、性存儲器技術制造, 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數據指針,三個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結
33、,單片機一切工作停止,直到下一個中斷或硬件復位為止。</p><p> 80C51:40個引腳雙排直插DIP封裝,大致可分為3類:電源及時鐘、控制和I/O引腳。</p><p> 圖3.1 89C51單片機引腳圖</p><p> 圖3.2 單片機片內結構圖: 由如下功能部件組成:</p><p> 對圖3.2中的片內各部件做簡單
34、介紹。 </p><p> 1.CPU(微處理器)</p><p> 2.數據存儲器(RAM) 片內為128個字節(jié)(52子系列的為256個字節(jié))</p><p> 3.程序存儲器(ROM/EPROM) 89C51/89C52/89C55:4K/8K/20K 字節(jié)閃存。</p><p> 4. 4個并行可編程的8位I/O口 P1口、P2
35、口、P3口、P0口</p><p> 5. 串行口1個全雙工的異步串行口,具有四種工作方式。</p><p> 6. 定時器/計數器</p><p><b> 7. 中斷系統(tǒng)</b></p><p> 8. 特殊功能寄存器(SFR)共有21個,是一個具有特殊功能的RAM區(qū)。CPU對各種功能部件的控制是采用特殊功能
36、寄存器(SFR,Special Function Register)的集中控制方式。</p><p> 圖3.3 89C51單片機功能結構</p><p> 3.2單片機的定時/中斷系統(tǒng)</p><p> 51內部集成定時/計數器的基本特征:</p><p> 51系列單片機內部提供2個16位的遞增定時/計數器T0和T1。</
37、p><p> 可以設置為定時或者計數器工作。</p><p> 有多種可選的工作模式,通過SFR-TMOD選擇使用。</p><p> 對應兩個中斷源,可用中斷處理。 </p><p> 主要作用: 對外部脈沖計數、產生精確定時時間、作串行口的波特率發(fā)生器。</p><p> 圖3.5 T0、T1的結構
38、</p><p> TMOD寄存器的M1,M0位設置四種工作方式</p><p> 模式0:13位定時/計數器 計數寄存器:THx和TLx低5位</p><p> 最大計數值:213:</p><p> 模式1:16位定時/計數器 計數寄存器:THx和TLx </p><
39、p><b> 最大計數值:216</b></p><p> 模式2: 8位自動重載定時/計數器 計數寄存器:TLX</p><p> 計數初值重載寄存器:THX </p><p><b> 最大計數值28</b></p><p> 模式3:僅T0可用,將T0拆為兩個獨立
40、8位定時器</p><p><b> 80C51的中斷源</b></p><p> 外部中斷0(INT0)</p><p> 外部中斷1(INT1)</p><p> T0溢出中斷(TF0)</p><p> T1溢出中斷(TF1)</p><p> 串行口中斷
41、(RI或TI)</p><p> 觸發(fā)方式設置及中斷標志</p><p> 外部中斷標志IE1、IE0(用IEx表示)</p><p> 電平方式(ITX=0),INTx引腳低電平時IEx=1,響應中斷后IEx不自動清0(INTx引腳狀態(tài))。</p><p> 邊沿方式(ITx=1),INTx引腳負跳變時IEx=1,響應中斷后IEx自
42、動清0。</p><p> 同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:</p><p><b> 3.3顯示系統(tǒng)</b></p><p> LED顯示器由若干個發(fā)光二極管組成,當發(fā)光二極管導通時,相應的一個筆畫或一個點就發(fā)光??刂葡鄳墓軐ǎ?/p>
43、能顯示出對應字符。各段LED顯示器需要由驅動電路驅動。在七段LED顯示器中,通常將各段發(fā)光二極管的陰極或陽極連在一起作為公共端。將各段發(fā)光二極管連在一起的叫共陽極顯示器,用低電平驅動;將陰極連在一起的叫共陰極顯示器,用高電平驅動。</p><p> 靜態(tài)顯示就是每一個顯示器各筆畫段都要獨占具有一個鎖存功能的輸出口線,CPU把要顯示的字形代碼送到輸出口上,就可以使顯示器上顯示所需的數字或符號,此后,即使CPU不在
44、去訪問它,因為各筆畫段借口具有鎖存功能,顯示的內容也不會消失。</p><p> 動態(tài)顯示是指顯示器顯示某一字符時,相應段的發(fā)光二極管恒定地導通或截止。靜態(tài)顯示有并行輸出和串行輸出兩種方式。在本系統(tǒng)中數碼管使用共陰極接法而且是用動態(tài)顯示。本設計利用一個4位七段數碼管顯示時鐘結果。</p><p><b> 4硬件電路設計</b></p><p&
45、gt; 4.1硬件系統(tǒng)設計的概述</p><p> 本電路是由AT89C51單片機為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302
46、內部有一個31*8的用于臨時性存放數據的RAM寄存器。可產生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;顯示部份由15個數碼管,74Hs138、74ls244構成。使用動態(tài)掃描顯示方式對數字的顯示。硬件的結構和可靠性直接影響著整個系統(tǒng)的可靠性,所以合理的安排電路能提高電子產品的性能。</p><p><b> 整體電路設計框圖</b><
47、;/p><p> 圖4.1電路設計框圖</p><p> 框圖介紹了智能定時控制器系統(tǒng)設計的主要組成部分,系統(tǒng)主要分成核心芯片AT89C51單片機、電源模塊、時鐘模塊、報警模塊、復位電路模塊、鍵盤輸入模塊以及LED數碼管顯示模塊等七大模塊,很好的實現(xiàn)了智能定時控制器的一些主要功能。</p><p> 本電路是由AT89C51單片機為控制核心,具有在線編程功能,低功
48、耗,能在3V超低壓工作。采用內部時鐘的驅動方式來驅動AT89C51單片機工作,內部復位的方式使系統(tǒng)的外圍電路更加簡單,減少了硬件的損耗,利用倆個不同顏色的發(fā)光二極管來表示秒鐘,其他的顯示電路部分由一個4位7段數碼管構成,使用動態(tài)掃描顯示方式對數字的顯示,整個系統(tǒng)具有使用壽命長,精度高和低功耗等特點,實現(xiàn)了智能定時控制器的一些主要功能:</p><p><b> 4.2報警電路</b><
49、;/p><p> 蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產生磁場來驅動振動膜發(fā)聲的,因此需要一定的電流才能驅動它,單片機IO引腳輸出的電流較小,單片機輸出的TTL電平基本上驅動不了蜂鳴器,因此需要增加一個電流放大的電路。S51增強型單片機實驗板通過一個三極管C8550來放大驅動蜂鳴器,原理圖見下面圖4.6:</p><p> 圖4.2 蜂鳴器驅動電路</p><p
50、> 如圖3.6所示,蜂鳴器的正極接到VCC(+5V)電源上面,蜂鳴器的負極接到三極管的發(fā)射極E,三極管的基級B經過限流電阻R1后由單片機的P3.7引腳控制,當P3.7輸出高電平時,三極管T1截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當P3.7輸出低電平時,三極管導通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制P3.7腳的電平來使蜂鳴器發(fā)出聲音和關閉。程序中改變單片機P3.7引腳輸出波形的頻率,就可以調整控制蜂鳴器
51、音調,產生各種不同音色、音調的聲音。另外,改變P3.7輸出電平則可以控制蜂鳴器的聲音大小,這些我們都可以通過實驗來顯示報警器電路模塊。</p><p><b> 4.3按鍵電路</b></p><p> 按鍵的開關狀態(tài)通過一定的電路轉換為高、低電平狀態(tài)。按鍵閉合過程在相應 的I/O端口形一個負脈沖。閉合和釋放過程都要經過一定的過程才能達到穩(wěn)定。 這一過程是處于高、
52、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動的持續(xù)時間長 短與開關的機械特性有關,一般在5—10ms之間。為了避免CPU多次處理按鍵的一 次閉合,應采用措施消除抖動。本文采用的是獨立式按鍵,直接用I/O口線構成單 個按鍵電路,每個按鍵占用一條I/O口線,每個按鍵的工作狀態(tài)不會產生相互影響。</p><p><b> 圖4.3 按鍵電路</b></p><p><
53、b> 4.4電源設計</b></p><p> 在這里因設計分工和側重點不同,電源模塊用通用的5v變壓器。</p><p> 從圖上看220V交流電經過一個變壓器進行降壓,變壓器后面由四個二極管組成一個橋式全波整流電路,整流后就得到一個電壓波動很大的直流電,所以在這里接一個330u/F的電解電容。</p><p> 變壓器輸出端的9V電壓經
54、過橋式整流并電容濾波,在電容C1兩端大約會有11V多一點的電壓,如果電容兩端直接接負載,當負載變化或者交流電波動時會使C1兩端的電壓變化很大,為得到一個比較穩(wěn)定的電壓因此在此處接一個三端穩(wěn)壓器元件。</p><p> 三端穩(wěn)壓器是一個集成電路元件,內部有三極管和電阻構成當負載電流大時內部電阻變小,當負載電流小時內部電阻變大,這樣能保持穩(wěn)壓器的輸出電壓保持基本不變,</p><p> 本
55、設計要+5V電壓,因此選用LM7805,LM7805最大可以輸出1A的電流,內部有限流式短路保護,可以很穩(wěn)定的進行電流輸出</p><p><b> 圖4.4 電源電路</b></p><p> 4.5單片機最小系統(tǒng)</p><p> 4.5.1單片機的復位電路</p><p> 圖4.5.1 手動復位電路&
56、lt;/p><p> 二、復位電路的工作原理</p><p> 在書本上有介紹,51單片機要復位只需要在第9引腳接個高電平持續(xù)2US就可以實現(xiàn),那這個過程是如何實現(xiàn)的呢?</p><p> 在單片機系統(tǒng)中,系統(tǒng)上電啟動的時候復位一次,當按鍵按下的時候系統(tǒng)再次復位,如果釋放后再按下,系統(tǒng)還會復位。所以可以通過按鍵的斷開和閉合在運行的系統(tǒng)中控制其復位。</p&g
57、t;<p> 開機的時候為什么為復位</p><p> 在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。</p><p> 也就是說在電腦啟動的0.1S內,電容兩端的電壓時在0~3.5V增加。這個時候10K電阻兩端的電
58、壓為從5~1.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內,RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機中小于1.5V的電壓信號為低電平信號,而大于1.5V的電壓信號為高電平信號。所以在開機0.1S內,單片機系統(tǒng)自動復位(RST引腳接收到的高電平信號時間為0.1S左右)。</p><p> 按鍵按下的時候為什么會復位</p><p> 在單片機啟動
59、0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當按鍵按下的時候,開關導通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內,從5V釋放到變?yōu)榱?.5V,甚至更小。根據串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統(tǒng)
60、自動復位。</p><p> 在系統(tǒng)運行的過程中,有時可能對系統(tǒng)需要進行復位,為了避免對硬件系統(tǒng)經常加電和斷電造成的損害,設計了手動的復位電路。如圖4-2所示。這種電路的設計,在系統(tǒng)的運行過程中需要復位時,只需使開關閉合,在RST端就會出現(xiàn)一定時間的高電平信號,從而使單片機實現(xiàn)復位。</p><p> 4.5.2單片機系統(tǒng)的晶振電路</p><p> 單片機必
61、須在時鐘的驅動下才能進行工作。MCS-51系列單片機內部都有一個時鐘振蕩電路,只需外接晶振源,就能產生一定頻率的時鐘信號送到單片機的內部的各個單元,決定單片機的工作速度。圖4-3就是內部時鐘工作方式的電路圖,這是一種常用的方式。這種方式是外界振蕩源,本設計就采用這種外接晶振的方法。電路中的兩個電容的作用有兩個:一是幫助振蕩器起振(C1 C2的值大,起振的速度慢;反之,速度快。);二是對振蕩器的頻率起到微調的作用(C1 C2的值大,頻率略
62、有減少,反之,頻率略有提高)。C1 C2的值采用30pF。</p><p> 圖4.5.2 單片機內部晶振電路連接圖</p><p> 內部時鐘原理圖 (就是一個自激振蕩電路)</p><p> 在內部方式時鐘電路中,必須在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個微調電容構成振蕩電路,通常C1和C2一般取30pF,晶振的頻率取值
63、在1.2MHz~12MHz之間。對于外接時鐘電路,要求XTAL1接地,XTAL2腳接外部時鐘,對于外部時鐘信號并無特殊要求,只要保證一定的脈沖寬度,時鐘頻率低于12MHz即可。晶體振蕩器的振蕩信號從XTAL2端送入內部時鐘電路,它將該振蕩信號二分頻,產生一個兩相時鐘信號P1和P2供單片機使用。時鐘信號的周期稱為狀態(tài)時間S,它是振蕩周期的2倍,P1信號在每個狀態(tài)的前半周期有效,在每個狀態(tài)的后半周期P2信號有效。CPU就是以兩相時鐘P1和P
64、2為基本節(jié)拍協(xié)調單片機各部分有效工作的。 </p><p><b> 2.指令時序 </b></p><p> 我們將單片機的基本操作周期稱作機器周期,一個機器周期由6個狀態(tài)組成,每個狀態(tài)由兩個時相P1和P2構成,故一個機器周期可依次表示為S1P1,S1P2,…,S6P1,S6P2,即一個機器共有12個振蕩脈沖。為了大家便于分析CPU的時序,在
65、此先對以下幾個概念作一介紹。</p><p> ?。?)振蕩周期 振蕩周期指為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期。 </p><p> ?。?)時鐘周期 時鐘周期又稱作狀態(tài)周期或狀態(tài)時間S,它是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍,通常在P1節(jié)拍完成算術邏輯操作,在P2節(jié)拍完成內部寄存器之間的傳送操作。 </p>
66、<p> ?。?)機器周期 一個機器周期由6個狀態(tài)組成,如果把一條指令的執(zhí)行過程分作幾個基本操作,則將完成一個基本操作所需的時間稱作機器周期。單片機的單周期指令執(zhí)行時間就為一個機器周期。 </p><p> ?。?)指令周期 指令周期即執(zhí)行一條指令所占用的全部時間,通常為1~4個機器周期。</p><p> 在圖2.12中給出了MCS-51單片機的
67、典型取指、執(zhí)行時序。由圖可知,在每個機器周期內,地址鎖存信號ALE兩次有效,一次在S1P2與S2P1之間,另一次在S4P2和S5P1之間。</p><p> 從圖2.12我們可以看出,對于單周期指令,當操作碼被送入指令寄存器后,指令的執(zhí)行從S1P2開始。若對于雙字節(jié)單周期指令,則在同一機器周期的S4期間讀入第二個字節(jié)。如果是單字節(jié)單周期指令,則在S4期間仍然保持讀操作,但所進行的讀操作為無效操作,同時程序計數器
68、PC并不加1。在圖2.12(a)和(b)給出了單字節(jié)單周期和雙字節(jié)單周期指令的時序,這些操作都在S6P2結束時完成指令操作。在圖2.12(c)中給出了單字節(jié)雙周期指令時序,在兩個機器周期內進行了四次讀操作,由于是單字節(jié)指令,故后面的三次讀操作是無效的。 在圖2.12(d)中給出了訪問外部數據存儲器指令MOVX的時序,它是一條單字節(jié)雙周期指令。在執(zhí)行MOVX指令期間,外部數據存儲器被訪問且選通時跳過兩次取指操作,其中在第一個機器
69、周期S5開始送出片外數據存儲器的地址后,進行讀、寫數據,在此期間并無ALE信號,故第二周期不產生取指操作。</p><p><b> 4.6主電路設計</b></p><p> 系統(tǒng)設計如下圖:單片機的P0口作為6位LED數碼管顯示的位選口,其中P0.0~P0.5分別對應相應的端口,P1作為位選口,由于采用共陰極數碼管,因此P0口輸出低電平選中相應的位,而P1口輸
70、出高電平選中相應的段。</p><p><b> 圖4.6主電路圖</b></p><p> 5 主程序和中斷程序設計</p><p><b> 5.1主程序</b></p><p> 主程序主要有main()組成通過對相關子程序的調用,實現(xiàn)對時間的設置與修改、LCD顯示等主要功能。相關的
71、調整是靠對功能鍵的判斷來實現(xiàn)的。我們用流程框圖來表示,如下圖</p><p> 圖5.1 主程序框圖</p><p> void main() //主函數</p><p><b> {</b></p><p> TMOD|=0X11;</p><p> TH0=(65536-5
72、0000)/256;</p><p> TL0=(65536-50000)%256;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p>
73、 shi=12;fen=59;miao=0;green=0;beep=0; //十分秒的初始值</p><p> handle_1(shi); </p><p> handle_2(fen); </p><p> display_1(); //顯示時鐘初始值</p><p> display_2();
74、 //顯示分鐘初始值</p><p><b> while(1)</b></p><p><b> {</b></p><p> scan_key(); //調用按鍵掃描函數</p><p> time_1(); //調用時鐘函數</p>&l
75、t;p> handle_1(shi); //對小時拆分</p><p> handle_2(fen); //對分鐘拆分</p><p> display_1(); //顯示小時</p><p> display_2(); //顯示分鐘</p><p><b> }</b&g
76、t;</p><p><b> 5.2中斷程序</b></p><p> //函數名:clock</p><p> //函數功能:定時器T0定時中斷,interrupt 1</p><p><b> //形式參數:無</b></p><p><b> //
77、返回值:無</b></p><p> void clock() interrupt 1</p><p><b> { </b></p><p> EA=0; //關中斷</p><p> if(msec1!=0x28)</p><p> msec1++;
78、 //到10毫秒否,不到則msec1加1</p><p><b> else</b></p><p> { msec1=0;</p><p> if(msec2!=100)msec2++; //到1秒否,不到則msec2加1</p><p><b> else</b></p>
79、<p> {if(rtimbit==1)count++;</p><p><b> msec2=0;</b></p><p> if(clockbuf[2]!=59)</p><p> clockbuf[2]++; //到1分否,不到則clockbuf[2]加1</p><p><b>
80、 else</b></p><p> { clockbuf[2]=0;</p><p> if(clockbuf[1]!=59)</p><p> clockbuf[1]++; // 到1小時否,不到則clockbuf[1]加1</p><p><b> else</b></p>&
81、lt;p> { clockbuf[1]=0;</p><p> if(clockbuf[0]!=23)</p><p> clockbuf[0]++; // 到24時否,不到則clockbuf[0]加1 </p><p> else clockbuf[0]=0; }</p><p><b> }</b>
82、</p><p><b> }</b></p><p><b> }</b></p><p> EA=1; //開中斷}</p><p><b> 6系統(tǒng)調試</b></p><p><b> 6.1軟件調試概述</b&g
83、t;</p><p> 單片機系統(tǒng)經過總體設計,完成了硬件和軟件設計開發(fā)。通過軟件和硬件相結合系統(tǒng)即可運行。但編制好的程序或焊接好的線路不能按預計的那樣正常工作是常見的事,經常會出現(xiàn)一些硬件、軟件上的錯誤,這是軟件和硬件開發(fā)者經常遇見的,這就需要通過調試來發(fā)現(xiàn)錯誤并加以改正。調試可分為硬件調試和軟件調試。本設計系統(tǒng)的已經在PC機上用模擬開發(fā)軟件進行了檢測和調試,并運行成功,最后進行實物圖的硬件組裝與調試,這樣就
84、給開發(fā)者在提供了方便。</p><p><b> 6.2軟件調試</b></p><p> 本設計是在Proteus軟件和Keil2軟件相結合調試的,完全用仿真軟件在PC機上對目標電路原理圖和程序進行檢測和調試。調試過程中單片機相應輸入端由通用鍵盤和鼠標設定,運行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來,以確定程序運行有無錯誤。</p&g
85、t;<p> 目標程序糾錯:該階段工作通常在目標程序編輯時就完成。一般來說,仿真軟件能為用戶輸入的程序指令糾錯,包括書寫格式、標號未定義或多重定義、轉移地址溢出等錯誤。</p><p> 整體程序調試:即把各子程序整體連起來進入到綜合電路調試,看是否能實現(xiàn)預計的功能顯示。在這階段若發(fā)生故障,可以考慮各子程序在運行時是否破壞現(xiàn)場,數據緩沖單元是否發(fā)生沖突,標志位的建立和清除在設計上是否失誤,堆棧是
86、否溢出,輸入輸出狀態(tài)是否正常等。</p><p> 圖6.2 定時器調試的結果</p><p> 圖6.2 定時器調試的結果</p><p><b> 結 論</b></p><p> 硬件系統(tǒng)關系到所要設計的電子產品好懷,如系統(tǒng)抗干擾性等,所以要合理的安排盡量減少干擾提高性能。單片機是很容易受干
87、擾的控制器,當采用外部晶振時,應盡量讓其靠近單片機減少對其干擾,防止程序亂飛現(xiàn)象。同時還可以采用隔離等方式減少干擾,硬件系統(tǒng)設計的好壞很大部分來源于經驗,所以我們要有動手的好習慣。</p><p> 軟件設計是核心部分,具有多樣化,靈活性高,易移植等優(yōu)點,要深深理會各指令的含義才能更加熟練應用,中斷的合理利用可以減少CPU利用資源,具有執(zhí)行效率高等優(yōu)點,本設計用到定時器中斷以減少對CPU的占用,更好的處理其他功
88、能。軟件的設計大部分采用模塊化設計的方法以方便調試,并使其可讀性大大增強,方便更改和移植。</p><p><b> 致 謝</b></p><p> 不知不覺,十二周的畢業(yè)設計結束了。我的畢業(yè)論文已整理完畢,電路調試進展良好。畢業(yè)設計的完成意味著我的大學學習生活即將結束,從此我將進入一個新的人生旅途、開始一段嶄新的生活——工作。在此,我衷心地感謝所有在我做
89、畢業(yè)設計期間幫助過我的人。 </p><p> 首先我要感謝XX老師、XX老師XX老師的大力幫助和支持。在整個設計過程當中,為我的畢業(yè)設計帶來了很大方便。同時在我完成畢業(yè)設計的過程中提供了很多指導性的意見,使我受益匪淺。在此,我衷心感謝老師們給予我的幫助和教育。</p><p> 此外,還要衷心感謝其他所有對本課題的研究和論文撰寫有過幫助的同學。</p><p>
90、; 最后,我要感謝我的母校——XXXXXXX,在校期間,這里給我留下了美好的回憶。特別是在我即將踏上工作崗位的同時,畢業(yè)設計整個過程給了我這樣一個鍛煉的機會,使我加深了對以前知識的理解和鞏固,拓寬了知識面,也提高了我對所學知識的綜合應用能力。祝愿母校的將來更美好!</p><p><b> 參 考 文 獻</b></p><p> [1]王靜霞主編 單片機應用技
91、術(C語言版) 北京電子工業(yè)出版社 2012.5</p><p> [2]胡輝.主編 單片機應用系統(tǒng)設計與訓練 北京中國水利水電出版社 2004.9.</p><p> [3]丁亞濤主編C語言程序設計 高等教育出版社 2006.8</p><p> [4]王幸之主編 AT89系列單片機原理與接口技術 高等教育出版社 2004.7</p>&
92、lt;p> [5]王迎旭主編單片機原理與應用 北京機械工業(yè)出版社 2004.3</p><p> [6]何宏主編單片機原理與接口技術 北京國防工業(yè)出版社 2006.7</p><p> [7]李光 單片機基礎. 北京:北京航空航天大學出版社,1994</p><p> [8]廖常初.現(xiàn)場總線概述.電工技術,1999.</p><p
93、> [9]倪曉軍.單片機原理與接口技術教程.北京:清華大學出版社,2009</p><p> [10]姚年春 向華Protel99SE基礎教程. 北京.人民名郵電出版社,2009</p><p> [11]韓穎; Proteus在單片機技術實訓中的應用[J];中國科教創(chuàng)新導刊;2008年31期</p><p> [12]周靈彬PROTEUS的單片機教學
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的智能定時器畢業(yè)設計
- 單片機課程設計智能定時器
- 基于單片機的音樂定時器畢業(yè)設計
- 單片機定時器
- 畢業(yè)論文 --單片機定時器設計
- 基于51單片機的智能定時充電器設計畢業(yè)設計
- 基于單片機的定時器的設計與實現(xiàn)畢業(yè)設計
- 畢業(yè)設計---基于51單片機智能溫度控制器系統(tǒng)設計
- 畢業(yè)設計基于51單片機的定時控制系統(tǒng)設計
- 單片機課程設計--秒表定時器
- 單片機課程設計--定時器實驗
- 單片機課程設計---加熱定時器
- 單片機課程設計---基于單片機的定時控制器設計
- 單片機實驗二 定時器
- 基于單片機的智能pid控制器設計畢業(yè)設計
- 基于51單片機的智能定時充電器設計
- 畢業(yè)設計---基于單片機的定時打鈴器設計
- 基于單片機的多用途定時器裝置畢業(yè)設計論文
- 單片機定時器的使用總結
- 基于dsp微控制器定時器設計
評論
0/150
提交評論