




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精品文檔電子秒表概述此電子秒表,是在TNDMD教學(xué)系統(tǒng)上實(shí)現(xiàn)的,其計(jì)時(shí)精確度為0.01s。所使用的芯片主要有8253定時(shí)計(jì)數(shù)器、8255A并行接口電路芯片、8259A中斷控制器等。通過系統(tǒng)中的開關(guān)鍵KK1和KK2可實(shí)現(xiàn)開始計(jì)時(shí),暫停計(jì)時(shí),繼續(xù)計(jì)時(shí),清零功能,用系統(tǒng)中的四片七段數(shù)碼管將計(jì)得的時(shí)間以XXXX秒百分秒,其中秒占兩位,百分秒兩位的形式顯示給用戶。計(jì)時(shí)準(zhǔn)確度與現(xiàn)實(shí)時(shí)間相符。一、設(shè)計(jì)要求按一下kk1開關(guān)啟動(dòng),再按暫停,按kk2清零,周而復(fù)始。最小計(jì)時(shí)單位0.01S,即可顯示XXXX秒百分之一秒。設(shè)計(jì)要求如下:1由鍵盤和8255作為輸入局部2用七段數(shù)碼管或液晶顯示屏來顯示時(shí)間3由8253和8
2、259構(gòu)成計(jì)時(shí)信號(hào),通過中斷完成啟動(dòng)計(jì)時(shí)、停止計(jì)時(shí)和動(dòng)態(tài)刷新顯示。二、設(shè)計(jì)思想1、為了試驗(yàn)秒表的準(zhǔn)確計(jì)時(shí)功能,此秒表精確到了0.01s,為了得到0.01s的時(shí)間脈沖,使用8253芯片來產(chǎn)生,又由于可以系統(tǒng)自動(dòng)產(chǎn)生1.1932MHZ的時(shí)鐘頻率,因此可以通過設(shè)定計(jì)數(shù)初值為2E9c,并設(shè)定8253工作在方式3來獲得所需的周期為10ms的時(shí)間脈沖軟件操作:首先向8253的控制端口43H輸入控制字B6H來設(shè)置計(jì)數(shù)器2計(jì)時(shí),工作在方式3,循環(huán)計(jì)數(shù),產(chǎn)生10ms的時(shí)間脈沖,然后再像計(jì)數(shù)器2端口42H輸入計(jì)數(shù)初值2e9cH,先寫入低八位數(shù)據(jù),再寫入高八位數(shù)據(jù)硬件操作:唐都儀器8253芯片的CLK接bus總線上
3、的OPCLK系統(tǒng)時(shí)鐘信號(hào),頻率為1.1932MHZ,GATE門信號(hào)接+5v電源,out引腳接8259芯片的IRQ72、為了驅(qū)動(dòng)數(shù)碼管,需使用8255芯片,通過設(shè)定控制字,用其PB端口來驅(qū)動(dòng)段,PA端口來驅(qū)動(dòng)位,軟件操作:向8255的控制端口63H輸入控制字81H,使其三個(gè)端口都工作在方式0,PA60H端口的低四位用來驅(qū)動(dòng)數(shù)碼的位,PB端口61H用來驅(qū)動(dòng)數(shù)碼管的段,然后用E命令重新開辟一塊內(nèi)存區(qū)域,用來存放數(shù)碼管0-9的字模3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH硬件操作:唐都儀器上的8255芯片的PA0PA3引腳接數(shù)碼管的X4X1引腳,PB0PB7引腳接數(shù)
4、碼管的0DP引腳3、為了能夠?qū)崿F(xiàn)系統(tǒng)的中斷調(diào)用,需使用8259芯片的IRQ2,IRQ6,IRQ7引腳,其中斷向量分別為:0AH,0EH,0FH把三個(gè)中斷效勞程序的的入口地址分別填入這三個(gè)中斷向量所指向的內(nèi)存地址,IRQ2接KK1控制秒表的啟動(dòng)和暫停,IRQ6接KK2控制秒表的復(fù)位軟件操作:IRQ2的中斷向量乘以四得:0028H,然后向這個(gè)地址填入IRQ2效勞程序的入口地址mov 0028,IRQ2,然后向002a地址填入中斷向量表的段地址:0000H,IRQ6的中斷的首地址為:0038H,填入中斷效勞程序入口地址mov 0038,IRQ6,填入段地址mov 003a,0000H,IRQ7中斷的
5、首地址:003cH,填入中斷效勞程序入口地址:mov 003c,IRQ7,t填入段地址:mov 003e,0000H.三、設(shè)計(jì)所用芯片及工作原理1、8255芯片工作原理接口電路在CPU和I/O設(shè)備之間起著信號(hào)的變換和傳輸?shù)淖饔谩?任何接口電路與CPU之間的信息傳輸方式都是并行的,即CPU與接口電路之間以數(shù)據(jù)字節(jié)/字為單位傳送信息。接口電路與I/O設(shè)備之間的信息傳送方式,有并行和串行兩種,相應(yīng)的接口電路稱為并行接口和串行接口。8255將一個(gè)8位的輸入輸出雙向數(shù)據(jù)端口擴(kuò)展為端口A,端口B,端口C 3個(gè)八位I/O雙向傳輸端口,另加一個(gè)控制端口,因而其內(nèi)部含有4個(gè)端口存放器,3個(gè)I/O端口
6、都有不同的工作方式,端口A可以工作在方式0,1,2;端口B只能工作在方式0,1;端口C工作在方式0,他們與I/O端口間的數(shù)據(jù)傳輸都是并行方式。2、8259芯片工作原理 1) 外部事件觸發(fā)中斷控制器8259A的某個(gè)中斷請(qǐng)求引腳IRQX,其狀態(tài)鎖存在中斷請(qǐng)求存放器IRR中。2) 8259A判定中斷屏蔽存放器IMR是否允許此中斷請(qǐng)求,假設(shè)允許那么做優(yōu)先權(quán)判定。3) 假設(shè)同時(shí)有幾個(gè)中斷源發(fā)出請(qǐng)求,8259A優(yōu)先權(quán)判定電路會(huì)檢測出當(dāng)前優(yōu)先級(jí)最高的中斷請(qǐng)求位,獲取相應(yīng)的中斷向量值N,并置位芯片內(nèi)部中斷效勞存放器ISR4) 8259A向CPU發(fā)中斷請(qǐng)求信號(hào)INTR5) 如果CPU標(biāo)志存放器FLAGS中的中斷
7、允許標(biāo)志位I置位,那么CPU執(zhí)行完當(dāng)前一條指令后響應(yīng)該中斷并送出應(yīng)答信號(hào)INTA。6) 中斷控制器8259A收到該應(yīng)答信號(hào)后立即將對(duì)應(yīng)該中斷源的中斷向量號(hào)N送到系統(tǒng)數(shù)據(jù)總線上。7) CPU讀入中斷向量號(hào)N后查找中斷向量表既可以轉(zhuǎn)向相應(yīng)的中斷效勞程序入口地址開始執(zhí)行中斷事務(wù)處理。8) CPU 完成中斷效勞后,向8259A送中斷結(jié)束命令EOI,使中斷效勞存放器ISR復(fù)位,從而結(jié)束本次中斷,為下次中斷做好準(zhǔn)備3、8253芯片工作原理CLK信號(hào)進(jìn)行“減1計(jì)數(shù)。首先CPU把“控制字,寫入“控制存放器,把“計(jì)數(shù)初始值寫入“初值存放器,然后, 定時(shí)/計(jì)數(shù)器按控制字要求計(jì)數(shù)。計(jì)數(shù)從“計(jì)數(shù)初始值 開始,每當(dāng)CL
8、K信號(hào)出現(xiàn)一次,計(jì)數(shù)值減1,當(dāng)計(jì)數(shù)值減為0時(shí),從OUT端輸出規(guī)定的信號(hào)具體形式與工作模式有關(guān)。當(dāng)CLK信號(hào)出現(xiàn)時(shí),計(jì)數(shù)值是否減1即是否計(jì)數(shù),受到“門控信號(hào)GATE的影響,一般,僅當(dāng)GATE有效時(shí),才減1.門控信號(hào)GATE如何影響計(jì)數(shù)操作,以及輸出端OUT在各種情況下輸出的信號(hào)形式與定時(shí)/計(jì)數(shù)器的工作模式有關(guān)。四、系統(tǒng)接線圖 GATE2 OUT28253 CLK2 5V8259IRQ7OPCLK1.193MHZ8253接線圖8255PB7PB6PB5.PA3PA2PA1PA0數(shù)碼管DPG.AX1X2X3X4 8255接線圖IRQ6 IRQ28259KK1+KK2+8259接線圖五、程序流程圖開始
9、8253初始化8259初始化8255初始化時(shí)間清零,狀態(tài)標(biāo)志位清零開中斷主程序流程圖調(diào)用屏顯程序調(diào)用數(shù)碼管顯示程序發(fā)送EOI調(diào)用時(shí)間計(jì)算程序FLAG=0是否IRQ7中斷效勞程序標(biāo)志位FLAG取反發(fā)送EOIIRQ2中斷效勞程序時(shí)間清零,F(xiàn)LAG清零發(fā)送EOIIRQ6中斷效勞程序六、程序源代碼push ds ;數(shù)據(jù)段壓棧mov ax,0000mov ds,ax;數(shù)據(jù)段清零mov ax,3000 ;IRQ7的絕對(duì)偏移地 入口地址mov si,003c ;IRQ7的中斷向量首地址mov wsi,ax ;裝載偏移地址mov ax,0000;中斷向量表的段地址為0000Hmov si,003e ;源地址指
10、針指向段地址裝載點(diǎn)mov wsi,ax ;裝載段地址mov ax,2700 ;IRQ6的絕對(duì)偏移地 入口地址mov si,0038 ;IRQ6的中斷向量首地址mov wsi,ax ;裝載偏移地址mov ax,0000;中斷向量表的段地址為0000Hmov si,003a ;源地址指針指向段地址裝載點(diǎn)mov wsi,ax ;裝載段地址mov ax,2900 ;IRQ2的絕對(duì)偏移地 入口地址mov si,0028 ;IRQ2的中斷向量首地址mov wsi,ax ;裝載偏移地址mov ax,0000 ;中斷向量表的段地址為0000Hmov si,002a ;源地址指針指向段地址裝載點(diǎn)mov wsi,
11、ax ;裝載段地址pop ds ;彈棧mov al,13out 20,almov al,08out 21,al;對(duì)8259進(jìn)行編程開放IRQ2,IRQ6,IRQ7mov al,09out 21,almov al,39out 21,almov al,b6 ;8253控制字,以方式3產(chǎn)生0.01s方波out 43,al ;寫入控制字mov ax,2e9c ;計(jì)數(shù)初值,用來產(chǎn)生0.01s方波out 42,al ;寫入低8位計(jì)數(shù)初值mov al,ahout 42,al ;寫入高8兩為計(jì)數(shù)初值mov al,81 ;8255控制字,是三個(gè)端口都工作在方式0,PA0-PA3端口驅(qū)動(dòng)位,PB0-PB7驅(qū)動(dòng)位o
12、ut 63,al ; 寫入控制字call 2500 ;初始化時(shí)間和標(biāo)志位2064:HLT ;停機(jī)等待STI ;開中斷jmp 20642500: mov si 4000 mov al,00mov si,al ;時(shí)間顯示初值置零mov si+01,almov si+02,almov si+03,almov si+04,al ;狀態(tài)標(biāo)志位置零RET ;返回主程序2700: mov si,4000 ;IRQ6中斷效勞程序not si+04 ;狀態(tài)位取反,用來控制啟動(dòng)和暫停計(jì)時(shí)mov al,20out 20,al ;發(fā)送中斷結(jié)束控制字IRET ;中斷返回2900: call 2500 ;IRQ2中斷效勞
13、程序,初始化狀態(tài)標(biāo)志位和時(shí)間初始值mov al,20out 20,alIRET3000: call 3100 ;調(diào)用屏幕顯示程序 IRQ7中斷效勞程序call 3500 ;調(diào)用數(shù)碼管顯示程序mov si,4000cmp si+04,00 ;判斷狀態(tài)標(biāo)志位是否為零jz 3012 ;為零跳轉(zhuǎn),結(jié)束中斷效勞程序call 3300 ;不為零調(diào)用秒表顯示程序,計(jì)算時(shí)間顯示方式3012: mov al,20out 20,alIRET3100: mov si,4000 ;屏幕顯示程序mov ah,03 ;讀光標(biāo)位置mov bh,01int 10 ;bios功能調(diào)用mov ah,0E mov al,siadd
14、 al,30 ;轉(zhuǎn)化成ascll碼int 10 ;顯示數(shù)字mov al,si+1add al,30int 10mov al,2eint 10mov al,si+02add al,30int 10mov al,si+03add al,30int 10RET ;返回主程序3300: mov si,4000addsi+03,01 ;10ms處數(shù)字,加一用來設(shè)置進(jìn)位顯示只是0-9的數(shù)字cmpsi+03,0ajz 330f ;等于10進(jìn)位,跳轉(zhuǎn)到100ms位jmp 3340 ;不等返回主程序330f:mov si+03,00 ;10ms位置零add si+02,01cmp si+02,0ajz 331f
15、jmp 3340331f: mov si+02,00add si+01,01cmp si+01,0ajz 332fjmp 3340332f:mov si+01,00add si,01cmp si,06 ;判斷10s位是否大于6jz 333djmp 3340333d:mov si,003340:RET3350:push axmov si,4000mov dl,f7;設(shè)定顯示數(shù)碼管第一位mov al,dl3508out 60,al ;PA端口驅(qū)動(dòng)位mov al,simov bx,4100 ;指向字模數(shù)據(jù)區(qū)and ax,00ff ;屏蔽高八位add bx,ax ;指向此時(shí)數(shù)據(jù)的字模mov al,bx ;將字模取出,賦給alout 61,al ;pb端口驅(qū)動(dòng)段,顯示字模對(duì)應(yīng)的數(shù)字call 352a ;調(diào)用延時(shí)程序inc si ;si加1,指向下一個(gè)要顯示的數(shù)據(jù)mov al,dl test al,01 ;測試是否要顯示第二位數(shù)據(jù),即al的低兩位是否為01jz 3528 ;返回主程序,顯示第二位數(shù)字ROR al,1 ;不等那么循環(huán)右移,使11110111變?yōu)閙ov dl,al jmp 3508 ;跳轉(zhuǎn),顯示剩余的數(shù)據(jù)3528:pop axRET352A:push cx;延時(shí)程序mov cx,0010352E:mov a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省雙鴨山市名校2025年中考仿真模擬卷(二)英語試題含答案
- 上海交通職業(yè)技術(shù)學(xué)院《寵物疾病學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西省大同市云岡區(qū)翰林學(xué)校2025屆數(shù)學(xué)五下期末考試模擬試題含答案
- 鄭州美術(shù)學(xué)院《機(jī)器人視覺技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆工程學(xué)院《魏晉人物與文化》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇省東臺(tái)市第二教育聯(lián)盟重點(diǎn)達(dá)標(biāo)名校2025屆初三5月第四次測評(píng)化學(xué)試題含解析
- 浙江省杭州市富陽區(qū)2025年初三質(zhì)量檢查化學(xué)試題含解析
- 民辦安徽旅游職業(yè)學(xué)院《物料與能量衡算原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇第二師范學(xué)院《財(cái)務(wù)管理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 三亞航空旅游職業(yè)學(xué)院《生物制藥大實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東省深圳市深圳高級(jí)中學(xué)2023-2024學(xué)年下學(xué)期期中測試八年級(jí)數(shù)學(xué)試題
- 譯林英語六年級(jí)下冊(cè)期中試卷(含答案)
- 金融領(lǐng)域AI大模型和AGENT實(shí)踐
- 鋼板加固梁施工方案
- GDAL源碼剖析與開發(fā)指南
- 《化工腐蝕與防護(hù)》課程標(biāo)準(zhǔn)(煤化工技術(shù))
- 土方平衡工程施工方案樣本
- 消防安全知識(shí)掌上手冊(cè)APP開發(fā)指南
- 培養(yǎng)孩子的人際交往能力
- 高三二診考試分析報(bào)告
- 2024年ISO14001體系目標(biāo)、指標(biāo)和管理方案一覽表
評(píng)論
0/150
提交評(píng)論