




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、可任意停止啟動的電子秒表目錄一、課程設計要求2二、課程設計目的3三、設計思想3四、所用芯片及其工作原理介紹31.808632.825343.8255a44.8259a55.led5五、程序流程圖6六、原理圖8七、心得體會9八、致謝10九、參考文獻11十、附錄12一、 課程設計要求6位led數(shù)碼顯示,計時單位為1/100秒。利用功能鍵進行啟/??刂?。其功能為:上電后計時器清0,當?shù)谝淮危ɑ蚱鏀?shù)次)按下啟/停鍵時開始計數(shù)。第2次(或偶數(shù)次)按下該鍵時停止計時,再一次按啟/停鍵時清零后重新開始計時。二、 課程設計目的 “微機原理與接口技術(shù)”是一門實踐性很強的技術(shù)基礎課程。微機原理及應用課程設計是一項
2、實踐性很強的實訓環(huán)節(jié),運用所學的匯編語言及8086微處理芯片設計一個電子秒表,通過實現(xiàn)它的的一些基本功能,能夠熟練運用匯編語言的一些基本指令,通過實踐能夠加深對匯編語言的理解和對8086微處理器、253可編程定時器、8259a可編程中斷控制器、8255a可編程并行i/o接口芯片的基本功能的認識。在設計過程中,提高學生的實踐編程能力和硬件設計能力,增加編程的信心。也可以進一步鞏固和融會貫通所學的匯編語言,并且可以培養(yǎng)學生查找資料的能力和培養(yǎng)自己分析問題解決問題的能力,微機原理及應用課程設計的過程所體現(xiàn)的是一種工程設計的思維方法,要學會在生活實踐中運用這種思維。三、 設計思想 電子秒表要實現(xiàn)的功能
3、:用按鍵中斷來控制整個程序,按一下key1啟動電子秒表,再按一下暫停,按一下key2鍵清零,用六個七段數(shù)碼管顯示時間。整個程序涉及到8255、8253和8259三個芯片。給8253的clk0提供一個頻率為10khz的時鐘信號, 8253的out0連接8259的irq7,8253的gate2連接正5伏電壓,采用計數(shù)器0每隔0.01秒產(chǎn)生一次中斷并且計數(shù),寫入以偏移地址4000h開始的6個內(nèi)存單元,然后利用8255將內(nèi)存單元的數(shù)據(jù)輸出到七段數(shù)碼管。由于按鍵中斷優(yōu)先于8259的7號中斷,所以程序只有在按一下key1才啟動電子秒表,再按一下暫停,按一下key2鍵清零,如果超出了60分,整個程序自動重新
4、開始。四、 所用芯片及其工作原理介紹1. 8086 8086cpu是16位微處理器,工作電源為單一5v,它的外部數(shù)據(jù)總線為16位,地址線為20根,故尋址的地址空間為1mb。8086具有一個功能相對完善的指令系統(tǒng),能對各種類型的數(shù)據(jù)進行處理。它可以在兩種不同的模式下工作,即最大工作模式和最小工作模式。所謂最小模式,就是微型計算機系統(tǒng)中只有8086或8088一個微處理器,在這個系統(tǒng),所有的總線控制信號直接由cpu提供。最大模式就是微型計算機系統(tǒng)中包含有兩個或多個微處理器,其中一個主處理器是8086或8088微處理器,其他處理器稱為協(xié)處理器,它們協(xié)助主處理器工作。2. 8253可編程定時器/計數(shù)器。
5、有多種工作方式,此設計中選用方式2。首先用輸出指令向控制寄存器寫入一個控制字,用輸出指令向選中的計數(shù)器端口地址寫入一個計數(shù)初值,然后, 定時/計數(shù)器按控制字要求計數(shù)。計數(shù)從“計數(shù)初始值”開始,每當clk信號出現(xiàn)一次,計數(shù)值減1,當計數(shù)值減為0時,從out端輸出一個低電平(具體形式與工作模式有關(guān))。當clk信號出現(xiàn)時,計數(shù)值是否減1(即是否計數(shù)),受到“門控信號”gate的影響,一般,僅當gate有效時,才減1.門控信號gate如何影響計數(shù)操作,以及輸出端out在各種情況下輸出的信號形式與定時/計數(shù)器的工作模式有關(guān)。3. 8255a微機系統(tǒng)的信息交換有兩種方式:并行通信接口方式和串行通信接口方式
6、。接口電路在cpu和i/o設備之間起著信號的變換和傳輸?shù)淖饔谩?255a可為86系列cpu與外部設備之間提供并行輸入/輸出的通道。由于它是可編程的,可以通過軟件來設置芯片的工作方式,因此,用8255a連接外部設備時,通常不用再附加外部電路,使用教方便。 并行接口是在多根數(shù)據(jù)線上,以數(shù)據(jù)字節(jié)/字與i/o設備交換信息。在輸入過程中,輸入設備把數(shù)據(jù)送給接口,并且使狀態(tài)線“輸入準備好”有效。接口把數(shù)據(jù)存放在“輸入緩沖寄存器”中,同時使“輸入回答”線有效,作為對外設的響應。外設在收到這個回答信號后,就撤消數(shù)據(jù)和“輸入準備好”信號。數(shù)據(jù)到達接口中后,接口會在“狀態(tài)寄存器”中設置輸入準備好標志,或者向cpu
7、發(fā)一個中斷請求。cpu可用查詢方式或中斷方式從接口中讀取數(shù)據(jù)。接口中的數(shù)據(jù)被讀取后,接口會自動清除狀態(tài)寄存器中的標志,且撤消對cpu的中斷請求。在輸出過程中,每當輸出寄存器可以接收數(shù)據(jù),接口就會將狀態(tài)寄存器中“輸出準備好”狀態(tài)置1或向cpu發(fā)一個中斷請求,cpu可用查詢或中斷方式向接口輸出數(shù)據(jù)。當cpu輸出的數(shù)據(jù)到達接口后,接口會清除“輸出準備好”狀態(tài),把數(shù)據(jù)送往外設,并向外設發(fā)一個“數(shù)據(jù)輸出準備好”信號。外設受到驅(qū)動后,便接收數(shù)據(jù),并向接口電路發(fā)一個“輸出回答”信號,接口收到該回答信號后,又將狀態(tài)寄存器中“輸出準備好”置位,以便cpu輸出下一個數(shù)據(jù)。4. 8259a1. ir線上提出了中斷請
8、求的中斷源,即出現(xiàn)請求,irr中斷請求寄存器(共有8位d7d0)對應于連接在ir0ir7線上的外設的中斷請求,哪一根輸入線有請求,哪一根輸入線就置1。2. 若ocw1(imr中斷屏蔽寄存器)未使該中斷請求屏蔽(對應位為0時不屏蔽),該請求被送入pr(優(yōu)先權(quán)分析器)比較。否則,不送入pr比較。3. pr把新進入的請求與isr(服務中寄存器)中正在被處理的中斷進行比較。如果新進入的請求優(yōu)先級較低,則8259不向cpu提出請求。如果新進入的請求優(yōu)先級較高,則8259使int引腳輸出高電平,向cpu提出請求。4. 如果cpu內(nèi)部的標志寄存器中的if(中斷允許標志)為0,cpu不響應該請求。若if=1,
9、cpu在執(zhí)行完當前指令后,從cpu的inta引腳上向8259發(fā)出兩個負脈沖。5.第一個 inta負脈沖到達8259時,8259完成以下三項工作:a.使irr(中斷請求寄存器)的鎖存功能失效。這樣一來,在ir7ir0上的請求信號就不會被8259接收。直到第二個inta負脈沖到達8259時,才又使irr的鎖存功能有效。b.使isr(服務中寄存器)中的相應位置1。c.使irr中的相應位清0。6.第二個inta負脈沖到達8259時,8259完成以下工作:a.將中斷類型碼(icw2中的值)送到數(shù)據(jù)總線上,cpu將其保存在“內(nèi)部暫存器”中。b.如果icw4(它設定級中斷聯(lián)方式之特定完全嵌套方式,將在825
10、9的工作方式中詳述icw4)中設置了中斷自動結(jié)束方式,則將isr的相應位清0。5. ledled為發(fā)光二極管構(gòu)成的顯示器件,亦稱數(shù)碼管。由7個字符段和一個小數(shù)點段組成,每段對應一個發(fā)光二極管,當發(fā)光二極管點亮時,相應的字符段點亮。led有共陰極和共陽極兩種供應狀態(tài)。共陰極顯示時,將led顯示的com接地,將八個字符段端a、b、c、d、e、f、g、dp依次與一個8位i/o口的最低到最高位連接,當i/o給led的哪個字符段送入一個高電平時,該段就被點亮,從而可從這7個字符段中被點亮的構(gòu)成相應的字符顯示出來。同理,com陽極即將com端接vcc,其顯示原理與com陰極的基本相同,但i/o口送入低電平
11、是相應的段才被點亮。五、 程序流程圖開始初始化key1是否按下賦值子程序開中斷delay子函數(shù)key2是否按下顯示子函數(shù)結(jié)束nykey2按下偶數(shù)次或沒按下key1被按下奇數(shù)次六、 原理圖七、 心得體會八、 致謝九、 參考文獻1 姚君遺匯編語言程序設計,南京大學出版社,1995 2 黃道君微型計算機原理及應用,高等教育出版社,20013 徐建民匯編語言程序設計,電子工業(yè)出版社,20024 周明德微型計算機系統(tǒng)原理及應用(第四版), 北京:清華大學出版社,2002,5 李芷主編微機原理與接口技術(shù),北京:電子工業(yè)大學出版社,20026 錢曉捷匯編語言程序設計,電子工業(yè)出版社,20037 黃冰,覃偉年
12、,黃知超編著 微機原理及應用,重慶:重慶大學出版社,20038 王成端匯編語言程序設計, 高等教育出版社,20039 彭楚武 微機原理與接口技術(shù),湖南大學出版社,200410 許曰濱匯編語言程序設計,人民郵電出版社,2005十、 附錄主程序:push ds ;保存數(shù)據(jù)段mov ax,0000hmov ds,ax ;數(shù)據(jù)段清零mov ax,offset irq7 ;取中斷程序入口地址add ax,2000h ;加裝時ip2000地址mov si,003c ;填8259中斷7中斷矢量mov wsi,ax ;填偏移量矢量mov ax,0000h ;段地址cs0000hmoc si,003ehmov
13、wsi,ax ;填段地址矢量pop ds ;彈棧in al,21h ;讀8259中斷屏蔽字and al,7fh ;開8259中斷7out 21h,almov al,39h ;8253的計數(shù)器0為方式2,采用bcd碼計數(shù),先寫低8位,后寫高8位。方式控制字為00110101out 43h,al ;寫入方式控制字到控制字寄存器mov al,00h ;計數(shù)初值低8位out 42h,al ;寫入計數(shù)初值低8位到通道0mov al,10h ;計數(shù)初值高8位out 42h,al ;寫入計數(shù)初值高8位到通道0mov al,81h ;8255的a口位方式0輸出,b口為方式0輸出,c口下部輸入1000 0001
14、out 63h,al ;寫方式控制字call first ;調(diào)用first子程序,賦計數(shù)初值begi: hlt ; 延時等待sti ;開中斷mov ah,01hint 16h ;檢測是否按了鍵jz bejimov ah,00h ;讀鍵值int 16hcmp al,0dh ;是否按了key2jnz a1mov si,4000h not si+04h ;偏移地址為4004h的內(nèi)存單元內(nèi)容取反jmp begia1:cmp al,1bh ;是否按了key1鍵jnz a2call first ;重新賦初值,相當于清零a2: jmp begi中斷程序:irq7:cakk dis ;調(diào)用disp子程序,用來
15、在數(shù)碼管顯示數(shù)據(jù)mov si 4000hcmp si+04h,00h ;判斷是否按了第2次回車鍵je a4call addn ;調(diào)用addn子程序,用來計數(shù)a4:mov al,20hout 20h,alcli ;關(guān)中斷iret ;返回addn程序:addn:mov si,4000hadd si+05h,01h ;百分之一秒加1cmp si+05h,0ah ;判斷是否大于10jz a5jmp a11a5:mov si+05h,00hadd si+04h,01h ;十分之一秒加1cmp si+04h,0ah ;判斷是否大于10jz a6jmp a11a6:mov si+04h,00hadd si+
16、03h,01h ;秒位加1cmp si+03h,0ah ;判斷是否大于10jz a7jmp a11a7:mov si+03h,00hadd si,01h ;十秒位加1a8:mov si+02h,00hadd si+01h,01h ;分位加1cmp si+01h,0ah ;判斷是否大于10jz a7jmp a9a9:mov si+01h,00hadd si,01h ;十分位加1cmp si,06h ;判斷是否大于6jz a8jmp a9a10:mov si,00 ;大于60:00重新開始a11: ret賦初值程序:first:mov si,4000hmov al,00hmovsi,al mov
17、si+01h,almov si+02h,almov si+03h,almovsi+04h,al ret顯示程序:dsp: push ax;保存axmov si,4000h;指向數(shù)據(jù)緩沖區(qū)mov dl,f7h;1111 0111 指向數(shù)碼管mov al,dl ;al=1111 0111again:out 60h,al;寫端口amov al,simov bx,4100h ;指向數(shù)碼緩沖區(qū) bx=0100 0001 0000 0000and ax,00ffh ; bx=0000 0000 aladd bx,ax;得到顯示代碼 bx=0100 0001 almov al,bx out 61h,al ;寫端口bc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代理人合同范例
- 單位管道維修合同范本
- 辦公翻新合同范本
- 人工燃氣采購合同范本
- 企業(yè)消防維修合同范本
- 廠房綠化征用合同范本
- 以前臨時用工合同范本
- 海外餐飲勞務合同范本
- 綠化補苗合同范本
- 人教版《美術(shù)》二年級上冊第20課 《豐富多彩的玩具》課件
- GB/T 24474.2-2020乘運質(zhì)量測量第2部分:自動扶梯和自動人行道
- GB/T 17689-2008土工合成材料塑料土工格柵
- GB/T 13734-2008耳穴名稱與定位
- 適航法規(guī)基礎培訓
- 2023版初中化學跨學科實踐活動(化學)
- 植物保護學通論-植物病害分析課件
- 藥品經(jīng)營質(zhì)量管理規(guī)范(GSP)實用教程教學課件
- 外研社一起英語四年級下冊課文
- DB32-T 2705-2014公路工程地質(zhì)勘察監(jiān)理規(guī)程-(高清現(xiàn)行)
- After-Effects影視特效設計教程完整版全套ppt課件
- 醫(yī)療設備清單
評論
0/150
提交評論