




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、at89c51 系統軟件設計3.1 at89s51單片機的中斷系統cpu正在執(zhí)行主程序時,單片機外部或內部發(fā)生的某一事件(如外部設備產生的一個電平的變化,一個脈沖沿的發(fā)生或內部計數器的計數溢出等)請求cpu迅速處理,于是,cpu暫時中止當前的工作,轉到中斷服務處理程序處理所發(fā)生的事件。中斷服務處理程序處理完該事件后,再回到原來中止的地方,繼續(xù)原來的工作(例如,繼續(xù)執(zhí)行被中斷的主程序),這稱為中斷。cpu處理事件的過程,稱為cpu的中斷響應過程。3.1.1中斷處理涉及幾個環(huán)節(jié) 中斷源、中斷申請、開放中斷、保護現場、中斷服務、恢復中斷、中斷返回。單片機處理中斷的原則是:先高后低;停低轉高;高不睬低
2、;中斷同級時按系統設計優(yōu)先順序處理。單片機有5種中斷源。3.1.2mcs-51中斷系統的結構其基本特點是:有5個固定的可屏蔽中斷源,3個在片內,2個在片外,它們在程序存儲器中各有固定的中斷入口地址,由此進入中斷服務程序;5個中斷源有兩級中斷優(yōu)先級,可形成中斷嵌套;2個特殊功能寄存器用于中斷控制和條件設置的編程。中斷系統的結構:5個中斷源的符號。名稱及產生的條件如下。int0:外部中斷0,由p32端口線引入,低電平或下跳沿引起。int1:外部中斷1,由p33端口線引入,低電平或下跳沿引起。t0:定時器計數器0中斷,由t0計滿回零引起。t1:定時器計數器l中斷,由t1計滿回零引起。tiri:串行i
3、o中斷,串行端口完成一幀字符發(fā)送接收后引起。3.1.3中斷請求源(1)外部中斷請求源:即外中斷0和1,經由外部引腳引入的,在單片機上有兩個引腳,名稱為int0.int1,在內部的tcon中有四位是與外中斷有關的。it0:int0觸發(fā)方式控制位,可由軟件進和置位和復位,it0=0,int0為低電平觸發(fā)方式,it0=1,int0為負跳變觸發(fā)方式。ie0:int0中斷請求標志位。當有外部的中斷請求時,這位就會置1(這由硬件來完成),在cpu響應中斷后,由硬件將ie0清0。it1.ie1的用途和it0.ie0相同。(2)內部中斷請求源tf0:定時器t0的溢出中斷標記,當t0計數產生溢出時,由硬件置位t
4、f0。當cpu響應中斷后,再由硬件將tf0清0。tf1:與tf0類似。ti.ri:串行口發(fā)送。接收中斷,在串口中再講解。3.1.4中斷系統的控制寄存器(1)中斷允許寄存器ie中斷屏蔽在中斷源與cpu之間有一級控制,類似開關,其中第一級為一個總開關,第二級為五個分開關,由ie控制。在mcs51中斷系統中,中斷的允許或禁止是由片內可進行位尋址的8位中斷允許寄存器ie來控制的。其中ea是總開關,如果它等于0,則所有中斷都不允許。es串行口中斷允許et1定時器1中斷允許ex1外中斷1中斷允許。et0定時器0中斷允許ex0外中斷0中斷允許。(2)中斷優(yōu)先級寄存器ip中斷優(yōu)先原則:(概括為四句話)1).低
5、級不打斷高級2).高級不睬低級3).同級不能打斷4).同級。同時中斷,事先約定。cpu同一時間只能響應一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。為此將5個中斷源分成高級。低級兩個級別,高級優(yōu)先,由ip控制。在mcs中斷優(yōu)先級中由中斷優(yōu)先級寄存器ip來高置的,ip中某位設為1,相應的中斷就是高優(yōu)先級,否則就是低優(yōu)先級。ip優(yōu)先級別寄存器各位介紹如下: ps:串行口中斷優(yōu)先級控制位。ps=1設定串行口為高優(yōu)先級中斷;ps=0為低優(yōu)先級中斷。pt1: t1中斷優(yōu)先級控制位。pt1=1設定定時器t1為高優(yōu)先級中斷;pt1=0為低優(yōu)先級中斷。px1:外部中斷1優(yōu)先級控制位。px1=
6、1設定定時器外部中斷1為高優(yōu)先級中斷;px1=0為低優(yōu)先級中斷。pt0: t0中斷優(yōu)先級控制位。pt0=1設定定時器t0為高優(yōu)先級中斷;pt0=0為低優(yōu)先級中斷。px0:外部中斷0優(yōu)先級控制位。px0=1設定定時器外部中斷0為高優(yōu)先級中斷;px0=0為低優(yōu)先級中斷。3.1.5中斷響應過程及反回過程中斷過程cpu每個機器周期都需要順序檢查每個中斷源,當檢測到有中斷請求時,能否響應,還要看下述情況是否存在:.cpu正處理相同級別或更高級別的中斷;.正在執(zhí)行指令,還未到最后一個機器周期;.正在執(zhí)行的指令是reti或訪問ip.ie指令,則執(zhí)行完上述指令后,再執(zhí)行一條指令后,才會響應新中斷。響應過程:(
7、假設已使某中斷請求標志置1).先使相應優(yōu)先級狀態(tài)觸發(fā)器置1;.執(zhí)行一個硬件子程序的調用。1)硬件清零相應中斷請求標志(ti.ri除外)2)將當前pc內容壓入堆棧保護斷點;3)將中斷服務子程序入口地址送pc轉移。返回過程(reti執(zhí)行后).使相應優(yōu)先級狀態(tài)觸發(fā)器清0。.從堆棧中彈出棧頂的兩個字節(jié)內容送pc恢復斷點。.cpu接著中斷處繼續(xù)執(zhí)行原程序。3.2 at89s51單片機指令系統3.2.1指令系統的尋址方式指令系統尋址方式規(guī)定了單片機內部地址單元或數據的訪問方式。at89s51單片機指令系統中有寄存器尋址方式、直接尋址方式、間接尋址方式、位尋址方式、立即數尋址方式、基址變址尋址方式、相對尋址
8、方式共7中尋找方式。3.2.2 at89s51的指令單片機與一般通用微處理器指令系統的區(qū)別在于突出了控制功能,具體表現為有大量的轉移指令和位操作指令。按指令操作功能,mcs-51指令系統由數據傳送、算術運算、邏輯操作、程序轉移和位操作指令組成,共有111條指令。數據傳送類指令共24條,分為程序存儲器查表指令(movc)、片外數據存儲器傳送指令(movx)、片內寄存器及數據存儲器傳送指令(mov)和數據交換指令(xch、xchd、swap)算術運算類指令共23條,有加(add)、帶進位加(addc)、帶借位減(subb)、乘(mul)、除(div)、加1(inc)和減1(dec)操作。邏輯運算指
9、令共25條,邏輯主要是“與”(anl)、“或”(orl)、“異或”(xrl)、的邏輯操作和累加器自身內容的清0(clr)、求反(cpl)、右移(rr)、帶進位位右移(rrc)、左移(rl)、帶進位位左移(rlc)和十進制調整(da)。轉移操作類指令共23條,分為無條件轉移和條件轉移。無條件轉移指令有跳轉、調用、散轉、返回及空操作指令;條件轉移指令有零與非零轉移jz/jnz、減1非零轉移djnz和比較不等轉移cjne。條件轉移均為相對轉移,條件符合是轉移到相對地址rel指令處。布爾指令集共有17條指令,包括位操作指令和位條件轉移指令。在布爾指令集中,實現累加器功能的是進位位c3.3 led顯示器
10、的顯示原理led數碼管顯示器由8個發(fā)光二極管中的7個長條形發(fā)光二極管(稱七筆段)按a、b、c、d、e、f、g順序組成“8”字形,另一個點形的發(fā)光二極管放在右下方,用來顯示小數點。本設計采用的是2位led數碼管。2位led數碼管顯示原理與1位led數碼管顯示原理基本相同,區(qū)別在于2位led數碼管的1、6引腳分別為2位數碼管的位選控制,c1為第一位數碼管的公共端,c2為第二位數碼管的公共端。數碼管按內部連接方式又分為共陽極數碼管和共陰極數碼管兩種。若內部8個發(fā)光二極管的陽極連在一起接電源正極,就稱為共陽極數碼管;若8個發(fā)光二極管的陰極連在一起接地,則稱為共陰極數碼管。本設計采用共陽極數碼管顯示,2
11、位led數碼管如圖3-1所示。采用共陽級連接:圖3-1 兩位led數碼管表3-1數碼管顯示碼字符hgfedcba驅動代碼(16進制)011000000c0h111111001f9h210100100a4h310110000b0h41001100199h51001001092h61000001082h711111000f8h81000000080h91001000090ha1000100088hb1000001183hc11000110c6hd10100001a1he1000011086hf100011108eh3.4 主程序流程圖 主程序流程圖如圖3-2所示,開始接上電源,程序進行初始化設置。
12、然后啟動程序,然后執(zhí)行程序。編程思路:正常情況下交通燈的紅燈可以直接變成綠燈,但綠燈不能直接變成紅燈,在變成紅燈之前需要經過黃燈,同時交通燈的旁邊顯示有這種燈亮的剩余秒數,即經過一秒鐘顯示數字減1,因此單片機需要知道何時到1秒,在這里采用定時器t0進行1秒的定時(工作方式1)。 程序工作流程如下:先對用到的寄存器、存儲器和中斷入口地址進行初始化,比如初始化東西南北線式存儲器,定時器t0和外部中斷0入口地址等,東西亮綠燈,同時顯示還剩25秒,南北亮紅燈,同時顯示還剩30秒;判斷東西南北時間是否到,如到由綠燈變成黃燈,顯示時間為5秒,南北紅燈不變;繼續(xù)判斷黃燈的現實時間是否到,如到有黃燈變成紅燈,
13、顯示時間為30秒,同時判斷紅燈顯示時間是否到,如到有紅燈變成綠燈,顯示時間為25秒。之后周而復始。圖3-2 基本交通等主程序流程圖3.5 四種狀態(tài)的主程序流程圖 四種狀態(tài)的子程序流程圖如圖3-3所示,通過點亮相關紅綠黃燈,再調用東西及南北顯示子程序運行,若顯示結束則返回,若沒結束則繼續(xù)執(zhí)行子程序。 四種狀態(tài)的主程序如下:start: acall s1 acall s2 acall s3 acall s4 sjmp starts1: mov p1,#0eeh lcall ewdisp lcall sndisp mov a, ewtime cjne a, #00h, s1 mov ewtime,
14、#5 rets2: clr c mov a, #10 subb a, r0 jc s21 mov p1,#0feh ajmp s22s21: mov p1, #0dehs22: lcall ewdisp lcall nsdispmov a, ewtimecjne a, #00h, s2mov ewtime ,#30mov sntime, #25rets3: mov p1, #0f5h lcall ewdisp lcall nsdisp mov a.,sntime cjne sntime, #5 rets4: clr c mov a, #10 subb a, r0 jc s41 mov p1 ,
15、 #0f7h ajmp s42s41: mov p1, #0f3hs42: lcall ewdisp lcall nsdisp mov a, sntime cjne a, #00h,s4 mov ewtime, #25 mov sntime ,#30ret圖3-3 四種狀態(tài)的子程序流程圖3.6 顯示子程序流程圖顯示子程序流程圖如圖3-4所示,通過顯示時間的十位字位口來顯示時間,把顯示的時間拆分成十位和個位,分別把十位和個位數字送各自的字位口。顯示子程序如下:ewdisp: mov r2,#0bh mov a, ewtime. mov b .#10 div ab mov r1,a call di
16、sp mov r2 ,#07h mov r1,b call disp ret nsdisp : mov r2 ,#0eh mov a,sntime mov b ,#10 div ab mov r1 ,a lcall disp mov r2 ,#0dh mov r1 ,b lcall dispdisp: mov p2 , r2 mov a, r1 mov dptr , #tab movc a , a+dptr mov p0, a lcall delay mov p0 , #0ffhdisp: mov p2, r2 mov a, r1 mov dptr ,#tab movc a, a+dptr mov p0 ,#0ffh ret圖3-4 顯示子程序流程圖3.7 t0中斷服務子程序流程圖t0中斷服務子程序流程圖如圖3-5所示,通過重載定時器初值,然后判斷1秒定時是否到,是則東
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025如何判斷建筑施工合同的效力
- 2025標準配送服務合同范本
- 服裝公司干股協議書
- 2025年03月棗莊滕州市校園公開招聘中小學教師12名(山師大站)筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年03月廣西南寧市良慶區(qū)發(fā)展和改革局公開招聘1人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 平板數字電視接收機項目風險評估報告
- 烏海市重點中學2025年高三3月零次考試生物試題試卷含解析
- 陽泉師范高等專科學?!掇r村社會工作》2023-2024學年第二學期期末試卷
- 浙江省嘉興市平湖市2025年小升初考試數學試卷含解析
- 伊春職業(yè)學院《集成電路概述》2023-2024學年第二學期期末試卷
- 國際壓力性損傷-潰瘍預防和治療臨床指南(2025年版)解讀課件
- 數學全等三角形課件++2024-2025學年北師大版七年級數學下冊
- LBT 235-2022綠色食品設施甜櫻桃生產操作規(guī)程
- 英語-北京市朝陽區(qū)2025年高三年級第二學期質量檢測一(朝陽一模)試題和答案
- 編織老師考試試題及答案
- 2025年03月重慶市涪陵區(qū)新妙鎮(zhèn)選聘本土人才1人筆試歷年參考題庫考點剖析附解題思路及答案詳解
- 2025年國家電投集團內蒙古能源有限公司招聘筆試參考題庫含答案解析
- 抖音運營考核試題及答案
- 2025年河南醫(yī)學高等??茖W校單招職業(yè)適應性考試題庫含答案
- 腫瘤化學療法的護理
- 河南省鄭州市河南測繪職業(yè)學院2024年4月單招考試語文試卷
評論
0/150
提交評論