

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢業(yè)設計 論文說明書</p><p> 課題名稱: 單片機秒表系統(tǒng)的設計 </p><p> 學生姓名 </p><p> 專 業(yè) 機電一體化 </p><p> 班 級 機電0902 </p><p><b> 時 間 </b&
2、gt;</p><p> 指導教師 </p><p><b> 摘 要</b></p><p> 近年來隨著科技的飛速發(fā)展,微電子的發(fā)展可謂是日新月異,特別是單片機更是百花爭艷。在電子時代的大潮流中,MCS-51系列的單片機以其特有的簡單、易用、易學、應用技術成熟、應用技術人員多、性價比高的優(yōu)勢占有8位微控制器市場大約50%以上
3、的份額,由此可見單片機在實際生活的廣泛運用。</p><p> 單片機控制秒表是集于單片機技術、模擬電子技術、數(shù)字技術為一體的機電一體化高科技產(chǎn)品,具有功耗低,安全性高,使用方便等優(yōu)點。</p><p> 本次設計內(nèi)容為以AT89C51單片機為核心的秒表。設計的主要特點是計時器從00~99秒的計時,每秒自動加1,同時設置有暫停鍵和復位鍵,在任何情況下都可以暫停和復位。利用單片機定時器/
4、計數(shù)器定時和記數(shù)的原理,結合顯示電路、LED數(shù)碼管以及外部中斷電路來設計計時器。將軟、硬件有機地結合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)3位LED顯示,顯示時間為0~99秒,計時精度為1秒,能正確地進行計時。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,中斷服務,外部中斷服務程序,復位程序等。本系統(tǒng)相對簡單,指令中有較豐富的邏輯控制功能指令,能叫方便的直接操作外部的I/O設備。</p><p> 關鍵字:單片機;定時器;計
5、數(shù)器</p><p><b> 目錄 </b></p><p> 一、硬件簡介與電路設計3</p><p> 1.1 單片機AT89C51介紹3</p><p> 1.1.1 單片機AT89C51管腳說明3</p><p> 1.1.2 振蕩器特性5</p>
6、;<p> 1.1.3 芯片擦除5</p><p> 1.2 復位和按鍵電路設置5</p><p> 1.3 顯示電路的選擇與設計7</p><p> 1.4 晶振電路和電源電路的設計10</p><p><b> 二、軟件設計11</b></p><p
7、> 2.1 程序設計思想11</p><p> 2.2 系統(tǒng)資源的分配12</p><p> 2.3 主程序設計12</p><p> 2.4 中斷程序設計13</p><p> 2.4.1外部中斷0服務程序14</p><p> 2.4.2 外部中斷1服務程序14</p>
8、;<p> 2.5定時器T0子程序設計15</p><p> 數(shù)字電子秒表的安裝與調(diào)試15</p><p> 3.1 軟件的仿真與調(diào)試15</p><p> 3.2 硬件的安裝與調(diào)試16</p><p> 3.2.1晶振電路的測試16</p><p> 3.2.2復位電路的測試17
9、</p><p> 3.2.3顯示電路的測試17</p><p><b> 四、程序設計18</b></p><p><b> 五、結束語21</b></p><p><b> 致謝22</b></p><p><b> 參考
10、文獻23</b></p><p> 一.硬件簡介與電路設計</p><p> 1.1 單片機AT89C51介紹</p><p> AT89C51單片機介紹 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CM
11、OS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51 ? 指令集和輸出管腳相兼容。由于將多功</p><p> 圖 1 AT89C51</p><p> 能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p>
12、; 1.1.1 單片機AT89C51管腳說明:</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存
13、儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位
14、地址接收。</p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲
15、器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89
16、C51的一些特殊功能口,如下表所示:</p><p><b> 口管腳 備選功能</b></p><p> P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1)</p><p> P
17、3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p>
18、<p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是AL
19、E才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部
20、程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p> 1.1.2 振蕩器特性:</p&g
21、t;<p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 1.1.3 芯片擦除:</p><p> 整個PEROM陣列
22、和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結
23、振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。</p><p> 1.2 復位和按鍵電路設計</p><p> 數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點,在計時中廣泛使用。本設計用單片機組成數(shù)字電子秒表,力求結構簡單、精度高為目標。</p><p> 本方案采用AT89C51單片機為中心器件,利用其定時器/計數(shù)器定時和計數(shù)的原理,結合硬件電
24、路如電源電路,晶振電路,復位電路,顯示電路,以及一些案件電路來設計計時器,將軟、硬件結合起來。設計中包括硬件電路的設計和系統(tǒng)程序的設計。其硬件電路主控制采用單片機AT89C51,顯示電路采用二位共陽極LED數(shù)碼管顯示計時時間。利用中斷系統(tǒng)使其能實現(xiàn)開始、繼續(xù)/暫停、復位和分/秒顯示轉(zhuǎn)換的功能。</p><p><b> 圖2 電路設計圖</b></p><p>
25、初始狀態(tài)下計時器顯示00,當按下開始鍵時,外部中斷INT0向CPU發(fā)出中斷請求,CPU轉(zhuǎn)去執(zhí)行外部中斷0服務程序,即開啟定時器T0。計時采用定時器T0中斷完成,定時溢出中斷周期為1s,當一處中斷后向CPU發(fā)出溢出中斷請求,每發(fā)出一次中斷請求就對計數(shù)單元進行加一,達到1次就對秒位進行加一,依次類推,直到99秒重新復位。在計時過程中,只要按下繼續(xù)/暫停鍵,外部中斷INT1向CPU發(fā)出中斷請求,CPU轉(zhuǎn)去執(zhí)行外部中斷1服務程序,即關閉定時器T
26、0,調(diào)用顯示程序,實現(xiàn)暫停功能,同時將此次計時時間存入中間緩存區(qū)。再次按下繼續(xù)/暫停鍵,定時器T0在次開啟,調(diào)用中間緩存區(qū)的數(shù)據(jù),秒表繼續(xù)加一。當秒表計時超過99時,則程序跳轉(zhuǎn)從0開始。</p><p> 在秒表暫停時,按下復位開關,中間緩存區(qū)中的數(shù)據(jù)清零,程序回到開始。而在秒表暫停時,按下分/秒顯示轉(zhuǎn)換開關,則將中間緩存區(qū)中的數(shù)據(jù)轉(zhuǎn)換為以分秒顯示的狀態(tài)送入顯示區(qū)。</p><p>
27、根據(jù)要求秒表設計主要實現(xiàn)的功能是計時和顯示。因此設置了四個按鍵和二位數(shù)碼管顯示時間,四個按鍵分別是開始、繼續(xù)/暫停、復位、分/秒顯示轉(zhuǎn)換。利用這四個鍵來實現(xiàn)秒表的全部功能,而二位數(shù)碼管則能顯示最多99秒的計時。</p><p> 圖3 開始、繼續(xù)/暫停電路 圖4 復位電路</p><p> 本設計中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元7CH-7DH中。
28、7CH存放秒位數(shù)據(jù),7DH存放十秒位數(shù)據(jù),每一地址單元內(nèi)均為十進制BCD碼。由于采用軟件動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十進制BCD碼數(shù)據(jù)的對應段碼存放在ROM表中。顯示時,先取出7CH-7DH某一地址中的數(shù)據(jù),然后查得對應的顯示用段碼,并從P0口輸出,P2口將對應的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。</p><p> 按鍵處理方面,四個鍵可以采用中斷的方法,也可以采用掃描的方法來識別。復位鍵和分/秒
29、顯示轉(zhuǎn)換鍵主要功能在于數(shù)值復位和轉(zhuǎn)換,對于時間的要求不是很嚴格。而開始、繼續(xù)/暫停鍵則是用于對時間的鎖定,需要比較準確的控制。因此可以對開始、繼續(xù)/暫停鍵采用外部中斷的方式。</p><p> 1.3 顯示電路的選擇與設計</p><p> 對于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。一般的段式液晶屏,需要專門的驅(qū)動電路,而且液晶顯示作為一種被動顯示,可視性差,不適合遠距離觀看;
30、對于具有驅(qū)動電路和單片機接口的液晶顯示模塊(字符或點陣),一般多采用并行接口,對單片機的接口要求較高,占用資源多;另外,AT89C51單片機本身無專門的液晶驅(qū)動接口。而數(shù)碼管作為一種主動顯示器件,具有亮度高、響應速度快、防潮防濕性能好、溫度特性極性、價格便宜、易于購買等優(yōu)點,而且有遠距離視覺效果,很適合夜間或是遠距離操作。因此,本設計的顯示電路采用8段數(shù)碼管作為顯示介質(zhì)。</p><p> 數(shù)碼管顯示可以分為靜
31、態(tài)顯示和動態(tài)顯示兩種。本設計采用二位數(shù)碼管顯示時間,動/靜態(tài)顯示皆可。則本設計應任務要求選用動態(tài)顯示。</p><p> 圖5 顯示電路基本原理圖</p><p> 動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應并聯(lián)在一起,由一個8位的I/O口控制。動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻
32、只能選通一位數(shù)碼管,并送出相應的段碼,在另一時刻選通另一位數(shù)碼管,并送出相應的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應,只要每位顯示間隔足夠短就可以給人同時顯示的感覺。</p><p> 數(shù)碼顯示管分為共陽數(shù)碼管和共陰數(shù)碼管兩種。共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,如圖6(c),通常,公共陽極接高電平(一般接電
33、源),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。</p><p> 共陰極數(shù)碼管的8個發(fā)光二極管的陰極(二極管負端)連接在一起,如圖(b),通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端,當某段驅(qū)動電路的
34、輸出端為高電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能提供額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。 </p><p> 圖6 (a)數(shù)碼管引腳圖 (b)共陽極內(nèi)部結構圖 </p><p> ?。╟)共陰極內(nèi)部結構圖</p><p> 顯示電路由二位數(shù)碼管組成,采用動
35、態(tài)顯示方式,有8位段控制端和2位位控制端,八位段控制接P0口,P0.0~P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,AT89C51的P0口沒有集成上拉電阻,高電平的驅(qū)動能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動能力。二位位控制則由低位到高位分別接到P2.0~P2.1口,NPN三極管9013做為位控制端的開關,當P2.0~P2.1端口任意一個端口為高電平時,與其相對應的三極管就導通,對應的數(shù)碼管導通顯示。&l
36、t;/p><p> 本設計采用共陽極數(shù)碼顯示管做顯示電路,由于采用的是共陽的數(shù)碼顯示管,所以只要數(shù)碼管的a、b、c、d、e、f、g、h引腳為低電平,那么其對應的二極管就會發(fā)光,使數(shù)碼顯示管顯示0~9的編碼見表1.1。</p><p> 表1.1 共陰極數(shù)碼顯示管字型代碼</p><p> 顯示時采用查表程序顯示</p><p> MOV
37、 A , R3</p><p> MOV DPTR , #TAB</p><p> MOVC A , @A+DPTR</p><p> MOV P0 , A</p><p> MOV A , R4</p><p> MOV DPTR ,
38、 #TAB</p><p> MOVC A , @A+DPTR</p><p> MOV P2 , A</p><p><b> RET</b></p><p><b> TAB:</b></p><p> DB 0C0H,0F9H,
39、0A4H,0B0H,99H,92H,82H,0F8H,80H,90H</p><p> 由于數(shù)碼管是有P0口來驅(qū)動,它內(nèi)部沒有上拉電阻,作為輸出口時驅(qū)動能力比較弱,不能點亮數(shù)碼顯示管,因此P0口必須接上拉電阻來提高驅(qū)動能力。電源供電電壓為+5V,當上拉電阻選用220Ω電阻時灌電流為22mA。不會損壞單片機的I/O口,同時也可以為數(shù)碼顯示管起到限制電流的保護作用。</p><p> 1.
40、4 晶振電路和電源電路的設計</p><p> 系統(tǒng)總電路除以上設計的顯示電路,按鍵電路和復位電路組成外,其次還剩晶振電路和電源電路。再將單片機與以上各部分電路合理的連接就組成了系統(tǒng)總電路。AT89C51單片機為主電路的核心部分,各個電路均和單片機相連接,由單片機統(tǒng)籌和協(xié)調(diào)各個電路的運行工作。</p><p> AT89C51單片機提供了XTAL1和XTAL2兩個專用引腳接晶振電路,
41、因此只要將晶振電路接到兩個專用引腳即可為單片機提供時鐘脈沖,但在焊接晶振電路時要盡量使晶振電路靠近單片機,這樣可以為單片機提供穩(wěn)定的始終脈沖。</p><p><b> 圖 7 晶振電路</b></p><p> 在這個系統(tǒng)中電源采用由7805構成的穩(wěn)壓電路,它可以提供非常恒定的+5V電壓,不會因為電壓不穩(wěn)兒引入新的干擾,保證系統(tǒng)更加穩(wěn)定運行。</p>
42、<p> 通過以上設計已經(jīng)將各部分電路與單片機有機的結合到一起,硬件部分的設計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現(xiàn)數(shù)字電子秒表的全部功能。</p><p><b> 二、軟件設計</b></p><p> 2.1 程序設計思想</p><p> 本設計采用了匯編語言編寫,匯編語言由于采用了助
43、記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器并較好地發(fā)揮機器的特性,得到質(zhì)量較高的程序。</p><p><b> 匯編語言的特點:</b></p><p> (1).面向機器的低級語言,通常是為特定的計
44、算機或系列計算機專門設計的。</p><p> (2).保持了機器語言的優(yōu)點,具有直接和簡捷的特點。</p><p> (3).可有效地訪問、控制計算機的各種硬件設備,如磁盤、存儲器、CPU、I/O端口等。</p><p> (4).目標代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設計語言。</p><p> (5).經(jīng)常與高級語言
45、配合使用,應用十分廣泛。</p><p> 在程序設計過程中,為了有效地完成任務,把所要完成的任務精心的分割成若干個相互獨立但相互又仍可有聯(lián)系的任務模塊,這些任務模塊使得任務變得相對單純,對外的數(shù)據(jù)交換相對簡單,容易編寫,容易檢測,容易閱讀和維護。這種程序設計思想稱為模塊化程序設計思想。模塊化結構程序的設計,可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設計。因此,本醫(yī)院病床呼叫系統(tǒng)在軟件的
46、設計上,運用了模塊化程序的結構對軟件進行設計,使得程序變得更加直觀易懂。程序的主要模塊有:主程序、顯示程序、定時溢出中斷服務程序、外部中斷服務程序。</p><p> 2.2 系統(tǒng)資源的分配</p><p> 本設計系統(tǒng)所用到的單片機端口數(shù)比較多,所以在這里將對數(shù)字電子秒表的硬件資源的大概分配加以說明。片內(nèi)RAM的分配、各功能鍵的定義以及各端口的分配。</p><
47、p> 表2.1端口的分配安排表</p><p> 2.3 主程序設計</p><p> 本系統(tǒng)程序主要模塊由主程序、定時中斷服務程序、外部中斷0服務程序和外部中斷1服務程序組成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進行調(diào)用。協(xié)調(diào)各個子程序之間的聯(lián)系。</p><p> 系統(tǒng)(上電)復位后,進入主程序。如圖8. 首先對系統(tǒng)進行初始化,包括設置
48、各入口地址、中斷的開啟、對各個數(shù)據(jù)緩存區(qū)清“0”、賦定時器初值,初始化完畢后,就進入數(shù)碼管顯示程序。數(shù)碼管顯示程序?qū)︼@示緩存區(qū)內(nèi)的數(shù)值進行調(diào)用并在數(shù)碼管上進行動態(tài)顯示。查詢復位鍵RST是否按下,當復位鍵按下后,程序返回開始,重新對系統(tǒng)進行初始化。</p><p> 圖8 主程序流程圖</p><p> 在主程序中還進行了賦寄存區(qū)的初始值、設置定時器初值以及開啟外部中斷等操作,當定時時
49、間到后就轉(zhuǎn)去執(zhí)行定時中斷程序。當外部中斷有請求則去執(zhí)行外部中斷服務程序。并在執(zhí)行完后返回主程序。</p><p> 2.4 中斷程序設計</p><p> 現(xiàn)在方案中采用了三個中斷,外部中斷INT0,INT1和定時中斷T0。CPU在響應中斷時,先處理高級中斷,在處理低級中斷,若有多個同級中斷時,則按自然優(yōu)先順序處理。例如當CPU正在處理一個中斷申請時,有出現(xiàn)了另一個優(yōu)先級比它高的中斷請
50、求,這是,CPU就暫停終止對當前優(yōu)先級較低的中斷源的服務,轉(zhuǎn)去響應優(yōu)先級比它高的中斷請求,并為其服務。待服務結束,再繼續(xù)執(zhí)行原來較低級的中斷服務程序。而當CPU為級別高的終端服務程序服務時,如果級別低的中斷發(fā)出中斷請求,此時CPU是不會響應的,所以為了避免開始和暫停兩個按鍵中的一個出現(xiàn)沒有響應的情況,在進行程序編輯時要注意對中斷的使用,避免出現(xiàn)中斷的嵌套。,合理分配中斷對本設計的實現(xiàn)是至關重要的。</p><p>
51、; 另外由于數(shù)字式電子秒表的最小精度位1ms,屬于高精度電子秒表。定時器T0的定時周期也為1ms,為了使電子秒表暫停鍵按下后CPU能馬上去響應中斷程序,必須將暫停的外部中斷級別高于定時計數(shù)器的中斷級別。避免出現(xiàn)CPU執(zhí)行完定時溢出中斷程序后再響應外部中斷程序,影響計時精度。</p><p> AT89C51的自然優(yōu)先級順序排列如下:</p><p> 中斷源
52、 最高</p><p><b> 外部中斷0</b></p><p> 定時/計數(shù)器0溢出中斷</p><p><b> 外部中斷1</b></p><p> 定時/計數(shù)器1溢出中斷</p><p> 串行口中斷
53、 最低</p><p> 數(shù)字式秒表中的兩個按鍵采用了中斷實現(xiàn)功能。開始采用外部中斷INT0,暫停采用外部中斷INT1。另外程序中還用到了定時/計數(shù)器0溢出中斷進行計時。依據(jù)設計要求,暫停的外部中斷INT1中斷級別最高,計時的定時/計數(shù)器0溢出中斷次之,開始的外部中斷INT0級別最低。</p><p> 2.4.1外部中斷0服
54、務程序:</p><p> 外部中斷0服務程序結合外部P3.2停止鍵實現(xiàn)數(shù)字電子秒表的停止功能。</p><p> 當按下P3.2停止鍵按下向CPU發(fā)出外部中斷請求,CPU轉(zhuǎn)向外部中斷0服務程序執(zhí)行,停止定時器。另外將當前顯示的時間進行一次存儲,存進中間寄存區(qū)。最后中斷返回。</p><p> 2.4.2外部中斷1服務程序</p><p&g
55、t; 外部中斷1服務程序結合外部P3.3停止鍵實現(xiàn)數(shù)字電子秒表的啟動功能。</p><p> 當按下P3.3啟動鍵按下向CPU發(fā)出外部中斷請求,CPU轉(zhuǎn)向外部中斷1服務程序執(zhí)行,啟動定時器。另外進行二次存儲,將之前進行一次存儲的數(shù)碼管顯示數(shù)據(jù)存入最終緩存區(qū),避免下次計時暫停時一次存儲將數(shù)據(jù)掩蓋,從而起到保護數(shù)據(jù)的作用。二次存儲后就中斷返回。</p><p> 在對定時器賦初值時將單片
56、機需要執(zhí)行的語句所花的時間加上,這樣就能使數(shù)字電子秒表的誤差達到最小。</p><p> 2.5 定時器T0子程序設計</p><p> 圖9 定時器T0子程序圖框</p><p> 三、數(shù)字電子秒表的安裝與調(diào)試</p><p> 3.1 軟件的仿真與調(diào)試</p><p> Proteus ISIS是英國L
57、abcenter公司開發(fā)的電路分析與實物仿真軟件,它可以仿真、分析(SPICE)各種模擬器件和集成電路。該軟件的主要特點總結后有以下四點:①實現(xiàn)了單片機仿真和SPICE電路仿真相結合的功能。②支持目前主流單片機系統(tǒng)的仿真。③提供了軟件調(diào)試功能,并可以與WAVE聯(lián)合仿真調(diào)試。④具有強大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其強大。在電子領域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可
58、以先仿真調(diào)試通過后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時間。</p><p> Proteus ISIS的工作界面是一種標準的Windows界面。它包括標題欄、主菜單、狀態(tài)欄、標準工具欄、繪圖工具欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口等十幾個工具,方便了使用者的使用。</p><p> Proteus SISI繪制原理圖的操作
59、與Protel 99se繪制原理圖的操作基本相同,在這里就不再作贅述。下面拿本設計中的一個仿真例子作簡述說明。運行Proteus SISI后,繪制病床呼叫系統(tǒng)的原理圖。</p><p> 首先打開已經(jīng)畫好的proteus DSN文件,雙擊圖中的AT89S52芯片,就彈出一個窗口,在Program File項中通過路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的AT89S52芯片就已經(jīng)讀取了本
60、設計中的HEX文件。單擊“三角形按鈕”進行仿真。通過對仿真結果的觀察來對程序進行修改,最終使程序到達設計要求。</p><p> 3.2 硬件的安裝與調(diào)試</p><p> 按照之前設計好的數(shù)字電子秒表原理圖,詳細計算系統(tǒng)中各個元件的參數(shù),選擇相應器件,制作實際電路板。由于考慮到萬能板大小的問題及元件之間連線的方便,在焊接元器件前必須考慮元件的布局然后進行實際操作。</p>
61、<p> 制作好的電路板可以用萬用表(200歐姆檔)的紅、黑表筆測試電路板的每條走線,當其電阻非常小時,證明走線沒有斷開,當其電阻很大時,證明該條走線斷了,應該重新走線,使電路板在電氣上得到正確地連接。選用萬用表的20K歐姆檔,檢測電路中是否存在短路。因為系統(tǒng)采用的是共陰極數(shù)碼管作為顯示電路,必須確保數(shù)碼管的公共端接的是低電平。</p><p> 3.2.1晶振電路的測試</p>
62、<p> 在單片機正常運行的必要條件是單片機系統(tǒng)的時鐘穩(wěn)定正常。實際中,因為各種原因?qū)е孪到y(tǒng)時鐘不正常而出現(xiàn)系統(tǒng)無法正常運行的情況時有,因此系統(tǒng)時鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬用表的直流電壓檔(20V),分別測量XTAL1和XTAL2引腳的電壓,看是否正常,在調(diào)試過程中,測得電壓XTAL1引腳應為2.05V,XTAT2應為2.15V。</p><p> 3.2.2復位電路的測
63、試</p><p> 復位不正常也會導致系統(tǒng)不能工作。如果復位引腳始終為高電平,系統(tǒng)將始終處于復位狀態(tài);如果始終為低電平,不能產(chǎn)生復位所需的高電平信號脈沖,則系統(tǒng)也可能無法正常工作。單片機正常工作時,RST復位引腳應為0V,按下復位按鍵時,復位引腳為高電平+5V左右。</p><p> 3.2.3顯示電路的測試</p><p> 顯示電路是數(shù)字電子秒表正常運行
64、最直觀的觀察窗口,我們可以通過觀察顯示電路的顯示結果觀察系統(tǒng)能否正常運行。當顯示電路按照電路圖焊接好后,用萬用表的測二極管檔位,將黑表筆接共陰數(shù)碼管的公共段,然后將紅表筆接數(shù)碼管的各段,當數(shù)碼管的段能正常顯示,說明各點焊接正常。 </p><p><b> 四、程序設計</b></p><p><b> 原程序:</b></p>
65、<p> ORG 0000H AJMP MAIN ORG 0003H AJMP X0_INT &
66、#160; ORG 000BH AJMP T0_INT ORG 0013H AJMP X1_INTMAIN:
67、; MOV TMOD,#01H ;T0定時方式1 MOV TH0, #(65536-50000) / 256 ;50ms@12MHz
68、160; MOV TL0, #(65536-50000) MOD 256; SETB TR0 SETB ET0 &
69、#160; ;開啟定時中斷 SETB EX0 SETB EX1 SETB EA
70、0; ;開中斷 MOV R1, #0 ;0
71、~99秒計數(shù) MOV R2, #0 ;0.1秒數(shù) </p><p> MOV P0, #0C0H
72、160; ;顯示00.0 MOV P2, #0C0H MOV p1, #0C0HLOOP:
73、60; SJMP LOOP;-----------------------------------------------------------DELAY: &
74、#160; ;延時子程序. MOV R4, #0 DJNZ R4, $ DJNZ R4, $
75、160; RET;-----------------------------------------------------------X0_INT:
76、; ;啟動/停止 CPL F0 RETI;-----------------------------------------------------------X1_INT:
77、60; ;清零 </p><p><b> 五.結束語</b></p><p> 本篇論文是利用單片機
78、(Single chip Microcomputer)和接口外圍電路組成的時鐘和秒表雙重功能的電子秒表電路。</p><p> 整個電路由硬件電路和軟件程序兩部分組成。硬件電路使用元件少,電路結構簡單,功能強,在文中有很多地方敘述的并不是很清楚,因此用圖示出以便更好的了解;軟件程序設計結構合理,思路清晰,利用中斷服務程序?qū)Ω鞣N事件進行處理,提高微處理器的工作效率。</p><p> 硬
79、件電路由單片機AT89C51(微處理器CPU)、接口芯片8279、8位LED數(shù)碼管顯示電路、按鍵電路等構成。</p><p> 系統(tǒng)總電路由以上設計的顯示電路,時鐘電路,按鍵電路和復位電路組成,只要將單片機與以上各部分電路合理的連接就組成了系統(tǒng)總電路。AT89C52單片機為主電路的核心部分,各個電路均和單片機相連接,由單片機統(tǒng)籌和協(xié)調(diào)各個電路的運行工作。</p><p> 通過以上設計
80、已經(jīng)將各部分電路與單片機有機的結合到一起,硬件部分的設計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現(xiàn)數(shù)字電子秒表的全部功能</p><p> 這次的單片機秒表設計在顯示方面?zhèn)戎氐亩嘁恍劣诎存I方面則設置有兩個,一個是“暫停”鍵,另一個是“復位”鍵。而這次的的程序則是用C語言編寫的,雖然在同學的幫助下編寫完成,但是還有很多不足的地方,比如在中斷程序的那一塊就有很多不足的地方。</p&
81、gt;<p><b> 致謝</b></p><p> 在這次的畢業(yè)設計中我的畢業(yè)設計老師給了我很大的幫助.老師為我們指點迷津,幫助我開拓設計思路,精心點撥、鼓勵。在設計過程中,不管我遇到任何問題都熱心的幫我們解決。在我想松懈,放棄的時,適時給我們打氣,從圖紙的繪制到畢業(yè)論文的的完成,每一步都給予詳細的解釋和說明,在此,感謝老師。</p><p>
82、 總的來說,通過此次畢業(yè)實習,完成了畢業(yè)設計任務書規(guī)定的各項要求。</p><p> 1、通過這次畢業(yè)設計使我學習了工程設計的一般設計理念和思路以及工程資料和文查閱、檢索方法等,為今后從事電子工程設計打下良好基礎。</p><p> 2、通過這次畢業(yè)設計使我在學習單片機AT89C51、接口電路7085和Prote2004等內(nèi)容的基礎上,進一步學習并實踐了電路制作、電路圖的繪制、WORD
83、的熟練使用、電子元器件的選擇和使用方法等多種實用技術,成功設計出了基于單片機的數(shù)字式電子秒表電路。</p><p> 3、通過這次畢業(yè)設計使我學習了不少新的知識和技術,又親身體驗方案設計、電路繪制,個人覺得收獲頗豐。</p><p><b> 參考文獻</b></p><p> [1] 張培仁.單片機原理與應用 [M]北京:清華大學出版社
84、,2003</p><p> [2] 朱宇光.單片機應用新技術教程[M].北京:電子工業(yè)出版社,2002</p><p> [3] 鄒久朋.80C51單片機實用技術[M].北京:北京航空航天大學出版社,2008.5</p><p> [4] 付家才.單片機控制工程實踐技術[M]北京:化學工業(yè)出版社,2004.11</p><p> [
85、5]林全新,蘇麗娟 單片機應用與接口技術 [M]北京:人民電郵出版社,2003</p><p> [6] 汪德彪.MCS—51單片機原理及接口技術[M]北京:電子工業(yè)出版社,2003</p><p> [7] 李曉荃.單片機原理及應用技術[M].北京:電子工業(yè)出版社,2000</p><p> [8] 李全利 單片機原理及應用技術[M]北京:高等教育出版社,2
86、004</p><p> [9] 王秀山 李廣第 等.單片機基礎[M]北京:化學航天航空大學出版社,2001.8 </p><p> [10] 萬國春.交通電子技術[M]上海:同濟大學出版社,2007.9</p><p> [11] 李曉明.電路與電子技術[M].北京:高等教育出版社,2004.6</p><p> [12] 雷麗文
87、等.微機原理與接口技術[M].北京:電子工業(yè)出版社,1997.2</p><p> [13 張毅坤.單片微型計算機原理及應用[M].西安:西安電子科技大學出版社 1998.6</p><p> [14] 李華 .MCS-51系列單片機實用接口技術[M]北京:北京航空航天大學出版社,1993.5</p><p> [15] 朱定華.單片機原理及接口技術學習[M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機秒表畢業(yè)論文
- 單片機秒表設計畢業(yè)論文.doc
- 電子秒表畢業(yè)論文--基于單片機的電子秒表的設計
- 畢業(yè)論文-基于單片機的數(shù)字秒表設計【精校排版】
- 基于單片機的秒表制作-畢業(yè)論文任務書
- 基于單片機的秒表制作-畢業(yè)論文任務書
- 基于at89c52單片機的電子秒表設計畢業(yè)論文
- 畢業(yè)論文范文——單片機電子秒表
- 單片機秒表單片機課程設計
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機課程設計報告---單片機秒表系統(tǒng)設計
- 基于單片機的秒表設計單片機課程設計
- 單片機課程設計---秒表
- 單片機秒表課程設計
- 秒表(單片機課程設計)
- 單片機秒表課程設計
- 單片機秒表課程設計
評論
0/150
提交評論