課程設計定時器設計_第1頁
課程設計定時器設計_第2頁
課程設計定時器設計_第3頁
課程設計定時器設計_第4頁
課程設計定時器設計_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計定時器設計名稱:微機原理與接口課程設計班姓學級:名:號:設計時間:指導教 師:12.09至12.22評語:評閱成績:評閱教師:信息工程學院課程設計報告設計題目:定時器的設計一、課程設計的性質(zhì)和目的通過課程設計,進行硬件設計和程序設計 的方法和技能訓練,鞏固在課堂上學到的有關軟件程序設計和硬件電路設 計的基本知識和基本方法,通過具體課題的訓練,進一步熟悉匯編語言的 結(jié)構和使用方法,掌握軟硬結(jié)合的控制程序設計,達到能獨立閱讀、查閱 資料、編制和調(diào)試完善特定功能的目的。二、課程設計的要求1、遵循硬件設計模塊化。2、要求程序設計結(jié)構化。3、程序簡明易懂,多運用輸入輸出提示,有出錯信息及必要的注

2、釋。4、要求程序結(jié)構合理,語句使用得當。5、適當追求編程技巧和程序運行效率。三、主要儀器設備及軟件PC機、MASM匯編軟件、繪圖軟件及仿真等。四、課程設計題目及要求要求:采用8086系列CPU構建控制系統(tǒng), 采用定時器完成定時功能,延時控制LED燈的點亮與熄滅。五、課題分析及設計思路設計方法與步驟:設計系統(tǒng)的硬件部分(1)進行方案選擇,采用中斷方式,硬件中斷(2)選擇設計可能用到的芯片,分析他們的工作特點(3)按照各芯片的使用特點和系統(tǒng)設計逐步連接,畫出硬件連接圖2. 設計系統(tǒng)的軟件部分(1)將程序的編程方式?jīng)Q定是子程序調(diào)用(2)確定本系統(tǒng)設計的源程序的各個模塊,明確各個模塊的系統(tǒng)功能(3)畫

3、出各個模塊的程序流程圖(4)依據(jù)流程圖寫出信號燈全部匯編程序芯片選擇:選擇8086作為CPU,輸入輸出用8255,定時用8253,中 斷用8259,因為8086的地址線和數(shù)據(jù)線是分時復用的,即先傳送地址, 在傳送數(shù)據(jù)。所以選用74LS373作為地址鎖存器,然后用74LS138作為地 址譯碼器來接到各個芯片的片選端。選用74LS245做數(shù)據(jù)緩沖器??紤]到1HZ脈沖定時不精確,所以用1.19MHZ的脈沖,而且用查詢方 式來實現(xiàn)的話,CPU利用率不高,還是選擇中斷來實現(xiàn)!設計思路:要求通過8086控制定時器,來實現(xiàn)信號燈功能,將此設計分成幾部分。首先通過 8255的A端口輸入八位二進制數(shù),將A端口設

4、置為1方式輸入,通過開 關撥動的高低電平將二進制送到8255 內(nèi)。B端口接輸出的發(fā)光二極管,設置為1方式輸出,用以顯示定時的數(shù)據(jù)。 當8253定時器沒有啟動時,沒用中斷請求,此時8255B端口沒輸出,C 端口接的信號燈控制輸出低電平,信號燈熄滅。定時啟動時,通過開關電源下降沿觸發(fā),將信號通過D觸發(fā)器,接非 門輸出24V電壓,繼電器的常開開關閉合,接到8253的GATE接口,使8253開始工作,8253接0赫茲脈沖!每一秒后8253內(nèi)的計數(shù)器會進行減一,將8253OUT輸出接到8259的 中斷端IN0,向CPU申請中斷,CPU響應后,轉(zhuǎn)向處理中斷服務程序,會 控制8255的B端口輸出的數(shù)減一,C

5、端口繼續(xù)輸出高電平,信號燈繼 續(xù)亮!表明正在計時。中斷處理完后,8086返回斷點,等待下一個中 斷.8253每減一都中斷一次,使8255輸出減一,當減到0時,C端口輸出 低電平,信號燈熄滅,定時過程結(jié)束。開始設定定時初始值開關電源觸發(fā),8253工作,減一 8259收到中斷 8259向8086申請中斷CPU響應中斷處理中斷服務程序返回斷點8255輸 出減一信號燈亮,定時否8255輸出為0是C輸出電平,信號燈熄滅定時 結(jié)束 硬件設計:輸入輸出(8255實現(xiàn))8255A在使用前要寫入一個方式控制字,選擇A、B、C三個端口各自 的工作方式,共有三種;方式0:基本的輸入輸出方式,即無須聯(lián)絡就可 以直接進

6、行的I/O方式。其中A、B、C 口的高四位或低四位可分別設置成 輸入或輸出。方式1:選通I/O,此時接口和外圍設備需聯(lián)絡信號進行協(xié)調(diào),只有A 口和B 口可以工作在方式1,此時C 口的某些線被規(guī)定為A 口或B 口與外 圍設備的聯(lián)絡信號,余下的線只有基本的I/O功能,即只工作在方式0. 方式2:雙向1 /O方式,只有A 口可以工作在這種方式,該I/O線即可輸入又 可輸出,此時C口有5條線被規(guī)定為A口和外圍設備的雙向聯(lián)絡線,C口 剩下的三條線可作為B 口方式1的聯(lián)絡線,也可以和B 口一起方式0的 I/O 線。此次設計的具體操作首先將待輸入的計數(shù)值通過開關以BCD碼送到 8255A端口中,A端口為0方

7、式的輸入,B端口為0方式的輸出,接到發(fā) 光二極管上。將8255的地址線與8066的低八位相連,通過地址鎖存器74LS273接到 8255,將片選端通過地址譯碼器接到8086 上, C端口作為普通的輸出端,接信號燈,即發(fā)光二極管。讀寫分別接到 8086的讀寫上,8086的數(shù)據(jù)線通過鎖存器后選擇Q0,Q1接到8255的 A0,A1 上。二、定時器(8253實現(xiàn))8253具有3個獨立的計數(shù)通道,采用減1計數(shù)方式。在門控信號有 效時,每輸入1個計數(shù)脈沖,通道作1次計數(shù)操作。當計數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就成為定時。、8253內(nèi)部結(jié)構1.數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器與系統(tǒng)總 線連接,8位雙向,與

8、CPU交換信息的通道。這是8253與CPU之間的數(shù)據(jù)接口,它由8位雙向三態(tài)緩沖存儲器構 成,是CPU與8253之間交換信息的必經(jīng)之路。讀/寫控制讀/寫控制分別連接系統(tǒng)的IOR#和IOW#,由CPU控制著訪問8253的內(nèi)部通道。接收CPU送入的 讀/寫控制信號,A1A0:端口選擇信號,由CPU輸入。8253內(nèi)部有3個獨立的通道和一個控制字寄存器,它們構成8253芯片的4個端口,CPU可對3個通道進行讀/寫操作3 對控制字寄存器進行寫操作。這4個端口地址由最低2位地址碼A1A0來選擇。通道選擇CS#片選信號,由CPU輸入,低電平有效,通常由端口地址的 高位地址譯碼形成。(2)RD#、WR#讀/寫控

9、制命令,由CPU輸入,低電平有效。RD#效時,CPU讀取由A1A0所選定的通道內(nèi)計數(shù)器的內(nèi)容。WR#有效時,CPU將計數(shù)值寫入各個通道的計數(shù)器中,或者是將方式控制字寫入控制字寄存器中。計數(shù)通道02每個計數(shù)通道內(nèi)含1個16位的初值寄存器、減1計數(shù)器和1個16位 的(輸出)鎖存器。8253內(nèi)部包含3個功能完全相同的通道,每個通道內(nèi)部設有一個16位計數(shù)器,可進行二進制或十進制(BCD碼)計數(shù)。采用二進制計 數(shù)時,最大計數(shù)值是FFFFH,采用BCD碼計數(shù)時。最大計數(shù)值是9999。與此計數(shù)器相對應,每個通道內(nèi)設有一個16位 計數(shù)值鎖存器。必要時可用來鎖存計數(shù)值。(二)、8253定時器的工作步驟設置通道:

10、向方式控制字寄存器 端口寫入方式選擇控制字,用于確定要設置的通道及工作方式;計數(shù)/ 定時:向通道寫入計數(shù)值,啟動計數(shù)操作;讀取當前的計數(shù)值:向指定 通道讀取當前計數(shù)器值時,8253將計數(shù)器值存入鎖存器,從鎖存器向外 提供當前的計數(shù)器值,計數(shù)器則繼續(xù)作計數(shù)操作。計數(shù)到:當計數(shù)器減1為0時,通過引腳OUTi向外輸出“到”的 脈沖信號。(三)、具體的實現(xiàn)方法將8253的數(shù)據(jù)線接在8086上,讀寫控制端 也分別接在8086的讀寫上,CLK接一個時鐘脈沖,GATE接到開關電源控制的繼電器上,OUT端接到8259的中斷信號上,每一次減一都申請一次 中斷。三、中斷服務(8059實現(xiàn))(一)、8259 工作原

11、理 8259A 通過發(fā)送一個 INTR(InterruptRequet) 信號給CPU,通知CPU有一個中斷到達。CPU收到這個信號后,會暫停執(zhí)行下一條指令,然后發(fā)送一個 INTA(InterruptAcknowledge)信號給 8259A。8259A 收到這個信號之后, 馬上將ISR中對應此中斷請求的Bit設置,同時IRR中相應的bit會被 reet。比如,如果當前的中斷請求是IR3的話,那么ISR中的bit-3就會 被設置,IRR中IR3對應的bit就會被reet。這表示此中斷請求正在被 CPU處理,而不是正在等待CPU處理。CPU從DataBu上得到這個中斷向量之后,就去IDT中找到相

12、應的中 斷服務程序ISR,并調(diào)用它。如果8259A的EndofInterrupt(EOI)通知被 設定位人工模式,那么當ISR處理完該處理的事情之后,應該發(fā)送一個 EOI 給 8259A(二)、具體實現(xiàn)過程將8259的數(shù)據(jù)線與8086相連,INT和INTA 分別和8086的INTR和INTA相連,中斷IR0與8253的OUT端口連接。讀 寫控制端接到8086的讀寫上,片選通過譯碼后接到一個輸出端四、啟動部分(繼電器實現(xiàn))開關電源控制繼電器電氣隔離啟動8253整體框圖開關8255輸出二極管信號燈808674LS37374LS1388253OUT8259A074LS245A1啟動裝置硬件電路連接圖

13、15OUT0U718IR0D0.7D1LEDD2LEDD3LED19IR120IR221IR322IR4CS1WR2WRRD3RD27A0LEDD423IR524IR625IR7CAS0.28259INTA26U2D0PA04D1PA13D2PA22D3PA31D4PA440D5PA539D6PA638D7PA737R110kD5R210kD6R310kD7R410kD821RESET22READY24INTA/QS118INTR31HOLD/GT130HLDA/GT023TEST17NMI33MN/M 某19CLK8086AD0.15A16.19ALE/QS0BHEDT/R/S1DEN/S2

14、RDWR/LOCKM/IO/S0RDWRA0A1RESETCSD1PB119D2PB220D3PB321D4PB422D5PB523D6PB624D7PB725D8PC014PC116D9PC217PC3R510kLEDR610kLEDR710kLEDR810kLEDAD0AD1AD2U63D04D17U5Q021AQ152B63Y015Y11413PC413PC512PC611PC710LEDAD3CY212AD413AD514AD617AD718111D3Q312D4Q4D5Q51516D6Q6D7Q719CLKMR74LS273U46E14E25E374LS138Y311Y4Y5109Y

15、67Y7AD0AD1U387D08255AABCLK0CAD0AD1AD2AD3AD4AD5AD6AD73D04D17D28D313D414D518D711CLK2A0Q05A1Q16Q2Q39Q412Q515Q61619Q7AD26D1AD35D2AD44D3D4AD53D5AD62AD71D6D7RD22WR23RDWRGATE0OUT0DCLK1GATE1OUT124CLK2GATE2OUT2RL11MR74LS273A019A12021A0A1CS8253AS1VSWITCHT73S5D15-24V軟件編程:中斷程序流程圖開始A某,B某推入堆棧標志寄存器入棧調(diào)用子程序,使8255B端口

16、輸出減1標志寄存器出A某,B某出棧中斷返回AD034AD133AD232AD331AD430AD529AD628AD72753625A0934A1827352632RD629WR28U3(CLK0)9 1110OUT015 1413181617程序流程圖:開始將8255置控制字設定8253的工作方式確定8259的各個中斷的 方式建立中斷地址入口表中斷服務程序?qū)⒂嫈?shù)輸出到8255端口 A8253定 時工作8259申請中斷CPU響應中斷找到中斷地址中斷返回執(zhí)行中斷服務 程序C某地址增加否8255輸出為0是退出六、程序主要代碼與分析(關鍵代碼要有注釋):08Hdataegmentaadb0c3hda

17、taendtack1egmenttackdw64dup()tack1endcod eegmentaumec:code,d:datatart:mova 某,datamovd,a 某 cli;關中斷開始 初始化;把中斷服務程序的入口地址寫入中斷向量表中,使用的中斷類型 號為0FHpuhd某ora某,a某movd,a某movi,4某0fh;找到該中斷類型號 在中斷向量表中的首地址mova某,offetirq7adda某,2000hmovwordptri,a某;把中斷服務程序的偏移地址放入低字中 mova 某,0movwordptri+2,a某;把中斷服務程序的段地址放入高字中 popd;8259A初

18、始化,其中地址為20H和21Hmoval,13h;設置ICW1,單片, 上升沿觸發(fā),需要設置ICW4out20h,al;ICW1寫入8259A的偶地址中moval,08h;設置ICW2,中斷類型號的基值(即IR0的類型號)為out21h,al;ICW2寫入8259A的奇地址中;由于是單片8259,所以不需要設 置 ICW3moval,09h;設置3可4,非自動結(jié)束,緩沖方式,完全嵌套 out21h,al;ICW4寫入8259A的奇地址中moval,6fh;設置OCW, 1開放4和7的中斷請 求口 out21h,al;OCW1寫入8259A的奇地址中;8255A初始化,其中地址A :60H,B

19、:61H,C :62H,控制口:63Hmoval,80h;設置8255A 工作方式控制字,A、B 口都為方式0,輸 出 out63h,almoval,0ffhout61h,al;B 口屏蔽;8253 初始化,其中地址為 通道0: 40H,通道1:41H,通道2:42H,控制寄存器:43Hmoval,35h;設置8253控制字,通道0為工作方式2,BCD計數(shù),先讀 寫低字節(jié),后讀寫高字節(jié)(方式2不用寫初值)out43h,almoval,00h;設置計數(shù)通道0的計數(shù)初值,先送低字節(jié) out40h,almoval,50h;計數(shù)通道0的計數(shù)初值高字節(jié) out40h,almoval,0b1h;設置825

20、3控制字,通道2為工作方式0,BCD計數(shù), 先讀寫低字節(jié),后讀寫高字節(jié)out43h,almoval,37h;把計數(shù)初值寫入通道2, 先送低字節(jié)out42h,almoval,02h;計數(shù)通道2的計數(shù)初值高字節(jié)out42h,alti;初始化完畢,開中斷;中斷服務程序irq7:puha某;保護現(xiàn)場 puhc某moval,37h;把計數(shù)初值寫入通道2,先送低字節(jié)out42h,almoval,02h;計數(shù)通道2的計數(shù)初值高字節(jié)out42h,al某 ordi,dimovc 某,2movdi,offetnumberl5:cmpwordptrdi,0;先比較個位,再比較十位jzl7decwordptrdijm

21、pe 某itl7:adddi,2cmpwordptrdi,0jnel3movi,offetaamoval,byteptriout 62h,alnotalmovbyteptri,al;重新對 al 賦值 movwordptrdi,6jmpe 某 itl3:ubdi,2movwordptrdi,9adddi,2cmpwordptrdi,0jzl4decwordptr dijmpe 某 itl4:movwordptrdi,5adddi,2loopl5e 某 it:OUT01819202122232425U7IR0IR1IR2IR3IR4IR5IR6IR7D0.7CSWRRDA0SP /END1LED

22、D2LED12WR3RD2716D3LEDLEDD4R110kR210kR310kR410kINT1726CAS0.2INTA8259U2D0D1D2D3D4D5D6D721222418313023173319U1RESETREADYINTA/QS1INTRHOLD/GT1HLDA/GT0TE STNMIMN/M 某CLK8086PA0PA1PA2PA3PA4PA5PA6PA7432140393837D7AD0.15A16.19D 5LEDD6LEDLEDD8LEDALE/QS0BHEDT/R/S1DEN/S2RDWR/LOCKM/IO/S0RDWRA0A1RESETPB0PB1PB2PB3P

23、B4PB5PB6PB71819202122232425D1D2D3D4D5D6D7D8R51 0kR610kR710kR810kCSAD03AD14AD27AD38AD414AD617AD718U6D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q7256912151619U51A2B3CE1E2Y0Y1Y2Y3Y4Y5Y61312111098255A64111CLKMR74LS273AAD0AD1AD2A D3AD4AD5AD6AD7347813141718U4D0D1D2D3D4D5D6D7U3D0D1D2D3D4D5D6D7U3 (CLK0)BCLK0GATE0OUT091110COUT0Q0Q1Q2Q3Q4Q5Q6Q7DCLK1GATE1OUT11514 13WR23RDWRCLK2GATE2OUT218161724111CLKMR74LS273A019A0A120A1S1VSWITCHRL1T73S5D15-24V21CS825

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論