版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)七定時(shí)器8253與中斷控制器8259A實(shí)驗(yàn)二、實(shí)驗(yàn)電路 CLK0 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1CSGNDWRRD接1MHZ輸出端接IRQ7280H~287HIOWIOR8253圖18253與8259實(shí)驗(yàn)電路圖+5V五、實(shí)驗(yàn)工程1.該實(shí)驗(yàn)用PC機(jī)內(nèi)部的中斷控制器8259A,中斷源用TPC-2.編寫(xiě)程序,要求每次主機(jī)響應(yīng)外中斷IRQ7時(shí),顯示"THISISA8259AINTERRUPT!",在鍵盤(pán)上敲任意一個(gè)鍵,程序退出。3.修改電路和程序,直接用手動(dòng)產(chǎn)生單個(gè)脈沖作為中斷請(qǐng)求信號(hào),要求每按一次開(kāi)關(guān)產(chǎn)生一次中斷,在屏幕上顯示一次"THISISA8259AINTERRUPT!",中斷10次后程序退出。六、編程提示1.在TPC-H實(shí)驗(yàn)系統(tǒng)的接口卡上有一個(gè)跳線開(kāi)關(guān)〔JP〕,可以選擇IRQ2、IRQ3、IRQ4、IRQ7引到試驗(yàn)箱上的IRQ插孔,出廠設(shè)置的是IRQ7。2.由于9054的驅(qū)動(dòng)程序影響直寫(xiě)9054芯片的控制存放器,中斷實(shí)驗(yàn)需要在純DOS的環(huán)境中才能正常運(yùn)行。3.由于TPC卡使用PCI總線,所以分配的中斷號(hào)每臺(tái)微機(jī)可能都不同,編程時(shí)需要了解當(dāng)前的微機(jī)使用那個(gè)中斷號(hào)并進(jìn)行設(shè)置,獲取方法如下:在純DOS環(huán)境下C:\ASM\>提示符下鍵入PORTR1后敲回車鍵,會(huì)得到:TPCPCICard9054ChipI/OBaseAdress:2000TPCPCICardI/OBaseAdress:2400TPCPCICardMemoryBaseAdress:d2000000TPCPCICardInterruptLine:0A其中,2000為PCI卡上9054芯片的基地址;2400為試驗(yàn)箱的基地址,2400/2407對(duì)應(yīng)的是280/287H插孔;0A表示系統(tǒng)分配中斷為IRQ10。4.由于TPC卡使用9054芯片連接微機(jī),所以在編程使用微機(jī)中斷前需要使能9054的中斷功能,代碼如下:movdx,ioport_cent+68h;設(shè)置tpc卡中9054芯片io口,使能中斷inax,dxorax,0900houtdx,ax其中IOPORT_CENT是9054芯片存放器組的I/O起始地址(TPCPCICard9054ChipI/OBaseAdress:2000),+68H的偏移是關(guān)于9054芯片中斷使能的存放器地址,設(shè)置含義如下:設(shè)置INTCSR(68H)存放器,中斷模式設(shè)置:BITS功能81:能夠產(chǎn)生PCI中斷0:禁止產(chǎn)生PCI中斷111:能夠LOCAL端輸入的中斷送到PCI端0:禁止LOCAL端輸入的中斷送到PCI端其它位為零即可,更多內(nèi)容參看9054芯片數(shù)據(jù)手冊(cè)程序退出前還要關(guān)閉9054的中斷,代碼如下:movdx,ioport_cent+68h;設(shè)置tpc卡中9054芯片io口,關(guān)閉中斷inax,dxandax,0f7ffhoutdx,ax5.PC機(jī)中斷控制器8259的主片地址為20H、21H,從片地址為A0H、A1H,編程時(shí)要根據(jù)中斷類型號(hào)設(shè)置中斷矢量,8259中斷屏蔽存放器IMR對(duì)應(yīng)位要清零〔允許中斷〕,中斷效勞結(jié)束返回前要使用中斷結(jié)束命令:MOVAL,20HOUT20H,ALOUT0A0H,AL中斷結(jié)束返回DOS時(shí)應(yīng)將IMR對(duì)應(yīng)位置1,以關(guān)閉中斷。;手動(dòng)產(chǎn)生單個(gè)脈沖作為中斷請(qǐng)求信號(hào)對(duì)應(yīng)程序datasegmentint_offsetdw ?int_segdw ? ;舊中斷向量保存空間irq_times db10;中斷計(jì)數(shù)flagdb0;中斷標(biāo)志msg1db0dh,0ah,'THISISA8259AINTERRUPT!',0dh,0ah,'$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axcli;TPCPCICard9054ChipI/OBaseAdress:2000時(shí)movdx,2068h;設(shè)置tpc卡中9054芯片io口,使能中斷inax,dxorax,900houtdx,axpushds;TPCPCICardInterruptLine:0A,分配中斷為IRQ10時(shí),中斷類型號(hào)為72Hmovax,3572hint21h;保存原中斷向量movint_seg,esmovint_offset,bxmovax,segint_proc;設(shè)置新中斷向量movds,axmovdx,offsetint_procmovax,2572hint21hinal,0a1handal,11111011bout0a1h,al;開(kāi)放從片相應(yīng)的中斷popdsstiloop1:cmpflag,0 jeloop1movdx,offsetmsg1movah,9int21hmovflag,0decirq_timesjnzloop1cliin al,0a1hor al,00000100bout 0a1h,al;屏蔽從片相應(yīng)的中斷movdx,int_offset;恢復(fù)原中斷向量movds,int_segmovax,2572hint21hmovdx,2068h;設(shè)置tpc卡中9054芯片io口,關(guān)閉中斷inax,dxandax,0f7ffhoutdx,axstimovax,4c00hint21hint_procprocfarpushaxmovflag,1moval,20hout0a0h,alout20h,al;SendEOIpopaxiretint_procendpcodeends endstart;8253每隔4秒產(chǎn)生一次中斷請(qǐng)求對(duì)應(yīng)程序datasegmentint_offsetdw ?int_segdw ? ;舊中斷向量保存空間flagdb0msg1db0dh,0ah,'THISISA8259AINTERRUPT!',0dh,0ah,'$'msg2db0dh,0ah,'Pressanykeytoexit!',0dh,0ah,'$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axcli;TPCPCICard9054ChipI/OBaseAdress:2000時(shí)movdx,2068h;設(shè)置tpc卡中9054芯片io口,使能中斷inax,dxorax,900houtdx,axpushds;TPCPCICardInterruptLine:0A,分配中斷為IRQ10時(shí),中斷類型號(hào)為72Hmovax,3572hint21h;保存原中斷向量movint_seg,esmovint_offset,bxmovax,segint_proc;設(shè)置新中斷向量movds,axmovdx,offsetint_procmovax,2572hint21hinal,0a1handal,11111011bout0a1h,al;開(kāi)放從片相應(yīng)的中斷popdsmovdx,offsetmsg2movah,9int21h movdx,2403H;向8253寫(xiě)控制字,TPCPCICardI/OBaseAdress:2400moval,27h;使0通道為工作方式3outdx,almoval,65h;設(shè)8253通道1工作方式2outdx,almoval,20H;寫(xiě)入計(jì)數(shù)初值movdx,2400Houtdx,almovdx,2401Houtdx,alstiloop1:cmpflag,0 jeloop1movdx,offsetmsg1movah,9int21hmovflag,0movah,0bhint21hcmpal,0jnzexit ;按任意鍵退出jmploop1exit:cliin al,0a1hor al,00000100bout 0a1h,al;屏蔽從片相應(yīng)的中斷movdx,int_offset;恢復(fù)原中斷向量movds,int_segmovax,2572hint21hmovdx,2068h;設(shè)置tpc卡中9054芯片io口,關(guān)閉中斷inax,dxandax,0f7ffhoutdx,axstimovax,4c00hint21hint_procprocfarpushaxmovflag,1moval,20h;SendEOIout0a0h,alout20h,alpopaxiretint_procendpcodeendsendstart實(shí)驗(yàn)八8255和LED數(shù)碼管顯示實(shí)驗(yàn)二、實(shí)驗(yàn)電路實(shí)驗(yàn)電路如圖2及圖3所示。圖2靜態(tài)顯示電路圖3動(dòng)態(tài)顯示電路五、實(shí)驗(yàn)工程1.靜態(tài)顯示:按圖2連接好電路,將8255A的A口PA0~PA6分別與七段數(shù)碼管的段碼驅(qū)動(dòng)輸入端a~g相連,位碼驅(qū)動(dòng)輸入端S1接+5V〔選中〕,S0、dp接地〔關(guān)閉〕。編程從鍵盤(pán)輸入一位十進(jìn)制數(shù)字〔0~9〕,在七段數(shù)碼管上顯示出來(lái)。程序框圖、源代碼〔含注釋〕及實(shí)驗(yàn)結(jié)果如下:2.動(dòng)態(tài)顯示〔選做〕:按圖3連接好電路,七段數(shù)碼管段碼連接不變,位碼驅(qū)動(dòng)輸入端S1S0接8255C口的PC1、PC0。編程在兩個(gè)數(shù)碼管上顯示56。六、編程提示1.實(shí)驗(yàn)臺(tái)上的七段數(shù)碼管為共陰極,碼段采用同相驅(qū)動(dòng),輸入端加高電平,選中的數(shù)碼管亮,位碼加反相驅(qū)動(dòng)器,位碼輸入端高電平選中。2.七段數(shù)碼管的字形代碼如下表:;0-9程序:datasegmentioport equ2400h-280hio8255aequioport+288hio8255ctrequioport+28bhleddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1db0dh,0ah,'Inputanum(0--9),otherkeyisexit:',0dh,0ah,'$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8255ctr;使8255的A口為輸出方式movax,80houtdx,alsss:movdx,offsetmesg1;顯示提示信息movah,9int21hmovah,1;從鍵盤(pán)接收字符int21hcmpal,'0';是否小于0 jbexit;假設(shè)是那么退出cmpal,'9';是否大于9 jaexit;假設(shè)是那么退出subal,30h;將所得字符的ASCII碼減30Hmovbx,offsetled;bx為數(shù)碼表的起始地址xlat;求出相應(yīng)的段碼movdx,io8255a;從8255的A口輸出outdx,aljmpsss;轉(zhuǎn)SSSexit:movax,4c00h;返回int21hcodeendsendstart;動(dòng)態(tài)56程序:datasegmentioport equ2400h-280hio8255aequioport+288hio8255cequioport+28Aio8255ctrequioport+28bhmesg1db0dh,0ah,'Pressanykeytoexit!',0dh,0ah,'$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,offsetmesg1;顯示提示信息movah,9int21hmovdx,io8255ctr;將8255設(shè)為A口輸出moval,80houtdx,alloop1:movdx,io8255amoval,6Dhoutdx,almovdx,io82
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 力量系列活動(dòng)方案策劃(3篇)
- 塔吊電纜施工方案(3篇)
- 南岸廚房施工方案(3篇)
- 中山彩燈活動(dòng)策劃方案(3篇)
- 超高天棚施工方案(3篇)
- 玻璃團(tuán)隊(duì)施工方案(3篇)
- 車輛維修保養(yǎng)服務(wù)標(biāo)準(zhǔn)規(guī)范(標(biāo)準(zhǔn)版)
- 游樂(lè)場(chǎng)所安全培訓(xùn)
- 2025年高職戲劇學(xué)(戲劇理論)試題及答案
- 2025年高職醫(yī)學(xué)檢驗(yàn)技術(shù)(臨床生物化學(xué)檢驗(yàn))試題及答案
- 低空經(jīng)濟(jì)行業(yè)前景與市場(chǎng)分析
- 《系統(tǒng)可靠性分析》課件
- 《macd指標(biāo)詳解》課件
- 自動(dòng)化電氣元器件介紹與使用
- 天津市-2024年-社區(qū)工作者-上半年筆試真題卷
- GB/T 44545-2024制冷系統(tǒng)試驗(yàn)
- 脾約免疫細(xì)胞在腸道菌群維持穩(wěn)態(tài)中的作用
- DBJ 53∕T-23-2014 云南省建筑工程施工質(zhì)量驗(yàn)收統(tǒng)一規(guī)程
- 物資、百貨、五金采購(gòu) 投標(biāo)方案(技術(shù)方案)
- 2024年安防電子市場(chǎng)洞察報(bào)告
- 3D打印技術(shù)合同
評(píng)論
0/150
提交評(píng)論