微機(jī)接口實驗報告_第1頁
微機(jī)接口實驗報告_第2頁
微機(jī)接口實驗報告_第3頁
微機(jī)接口實驗報告_第4頁
微機(jī)接口實驗報告_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

。微機(jī)接口實驗報告精選資料,歡迎下載。實驗一:I/O地址譯碼一、實驗?zāi)康恼莆誌/O 地址譯碼電路的工作原理。二、實驗原理和內(nèi)容實驗電路如圖(1)所示,其中74LS74為D觸發(fā)器,可直接使用實驗臺上數(shù)字電路實驗區(qū)的D觸發(fā)器,74LS138為地址譯碼器。譯碼輸出端Y0~Y7在實驗臺上I/O地址輸出端引出,每個輸出端包含8個地址,Y0:280H~287H,Y1:288H~28FH,當(dāng)CPU執(zhí)行I/O指令且地址在280H~2BFH范圍內(nèi),譯碼器選中,必有一根譯碼線輸出負(fù)脈沖。例如:執(zhí)行下面兩條指令Y4輸出一個負(fù)脈沖,執(zhí)行下面兩條指令MOVDX,2A0HOUTDX,AL(或INAL,DX)Y5輸出一個負(fù)脈沖。MOVDX,2A8HOUTDX,AL(或INAL,DX)利用這個負(fù)脈沖控制L7閃爍發(fā)光(亮、滅、亮、滅、),時間間隔通過軟件延時實現(xiàn)。精選資料,歡迎下載。三、實驗程序L1:MOVDX,2A0H //選通74LS138的11口OUTDX,AL //使端口A輸出,給D觸發(fā)器一個時鐘信號LOOP$ //延時LOOP$ //延時MOVDX,2A8H //選用74LS138的10口OUTDX,AL //使D觸發(fā)器清零LOOP$ //延時LOOP$ //延時MOVAH,11 //十一號功能調(diào)用INT21H //如果有鍵按下INCAL //AL加一,退出循環(huán)JNZL1 // 如果沒鍵按下,則繼續(xù)循環(huán)四、總結(jié)第一次實驗比較簡單、主要是學(xué)會了通過程序控制芯片及其端口的選通,其方法是根據(jù)芯片外圍搭建的電路使 DX進(jìn)行寫或讀的操作、例如本實驗里,要想選通 74LS138的11口操作8255的端口A,則需要使 ,同理操作10口時,則使DX=2A8H,再加上延時DELAY功能,即可使LED燈循環(huán)亮滅。但是如果不給芯片斷電,則LED燈會一直循環(huán),不能進(jìn)進(jìn)行人為的控制,所以又在后面加上了11號功能調(diào)用,只要當(dāng) AL=0,循環(huán)結(jié)束。實驗二:可編程并行接口精選資料,歡迎下載。一、實驗?zāi)康恼莆?255方式0的工作原理及使用方法。二、實驗內(nèi)容實驗電路如圖,8255C口接邏輯電平開關(guān)K0~K7,A口接LED顯示電路L0~L7。編程從8255C口輸入數(shù)據(jù),再從A口輸出。三、編程提示1、8255控制寄存器端口地址28BH口的地址288HC口的地址28AH2、參考流程圖精選資料,歡迎下載。四、實驗程序MOVDX,28BH //寫端口CMOVAL,10001001BOUTDX,AL //8255初始化L1:MOVDX,28AHINAL,DX //讀取C口數(shù)據(jù)MOVDX,288H //寫端口AOUTDX,AL //從A口輸出MOVAH,11 //十一號功能調(diào)用INT21HINCALJNZL1MOVAH,4CHINT21H五、實驗總結(jié)這個實驗可以看作是第一個實驗的加強(qiáng), 同樣也考驗的是對端口的讀寫操作,因為有了第一次實驗的經(jīng)驗、所以這次實驗特別順利,沒有出現(xiàn)什么問題。精選資料,歡迎下載。實驗三:七段數(shù)碼管靜態(tài)顯示一、實驗?zāi)康恼莆諗?shù)碼管顯示數(shù)字的原理二、實驗內(nèi)容靜態(tài)顯示:按圖1連接好電路,將8255的A口PA0~PA6分別與七段數(shù)碼管的段碼驅(qū)動輸入端a~g相連,位碼驅(qū)動輸入端S1接+5V(選中),S0、dp接地(關(guān)閉)。編程從鍵盤輸入一位十進(jìn)制數(shù)字(0~9),在七段數(shù)碼管上顯示出來。圖1 圖2三、編程提示1、實驗臺上的七段數(shù)碼管為共陰型,段碼采用同相驅(qū)動,輸入端加高電平,選中的數(shù)碼管亮,位碼加反相驅(qū)動器,位碼輸入端高電平選中。2、段數(shù)碼管的字型代碼表如下表:精選資料,歡迎下載。3、參考流程圖(見圖3)四、實驗程序LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH//建立表格用于顯示數(shù)字MOVDX,28BH //寫控制字寄存器MOVAL,10000000B //使端口C按方式0輸出OUTDX,AL //8255初始化,A口為輸出L2:MOVAH,1INT21HCMPAL,30H //和0比較JBL1 //小于則結(jié)束程序CMPAL,39H //和9比較精選資料,歡迎下載。JAL1 //大于則結(jié)束程序SUBAL,30H //ASCII 碼減30得到對應(yīng)數(shù)字MOVBX,OFFSETLED //將表LED的首地址賦值給 BXADDBL,AL //將AL的值加給BLADCBH,0MOVAL,[BX] //查表MOVDX,288H //通過A口輸出OUTDX,ALJMPL2 //繼續(xù)循環(huán)L1:MOVAH,4CHINT21H五、實驗總結(jié)因為以前在學(xué)習(xí)單片機(jī)和 FPGA的時候都做過靜態(tài)數(shù)碼管的實驗,所以實驗原理已經(jīng)非常了解了,這里的難點就是用匯編語言來實現(xiàn)。首先,要建立一個表以便于快速得到數(shù)字對應(yīng)的數(shù)碼管的值; 其次寫一個比較程序來確定輸入的值是否是自然數(shù); 然后再通過ASCII碼減即可得到這個數(shù)的值,經(jīng)過查表就可以輸出了,實驗思路清晰,所以做起來并不難。精選資料,歡迎下載。實驗四:七段數(shù)碼管動態(tài)顯示一、實驗?zāi)康恼莆諗?shù)碼管顯示數(shù)字的原理二、實驗內(nèi)容動態(tài)顯示:按圖2連接好電路,七段數(shù)碼管段碼連接不變,位碼驅(qū)動輸入端S1,S0接8255C口的PC1,PC0。編程在兩個數(shù)碼管上顯示56。三、參考流程圖四、實驗程序MOVDX,28BH //寫控制字寄存器MOVAL,80H //使端口C按方式0輸出OUTDX,AL精選資料,歡迎下載。L1:MOVDX,28AH //寫端口CMOVAL,01H //控制第一個數(shù)碼管的位碼OUTDX,ALMOVDX,288H //寫端口AMOVAL,7DH //使第一個數(shù)碼管顯示 6OUTDX,ALCALLDEALY //延時MOVDX,28AH //寫端口CMOVAL,02H //控制第二個數(shù)碼管的位碼OUTDX,ALMOVDX,28BH //寫端口AMOVAL,6DH //使第一個數(shù)碼管顯示 5CALLDELAY //延時MOVAH,11 //十一號功能調(diào)用INT21HINCALJNZL1MOVAH,4CHINT21HDELAYPROC //延時子程序MOVCX,00FFH精選資料,歡迎下載。D2:MOVBX,00FFHD1:PUSHAXPUSHDXPOPDXPOPAXDECBXJNZD1LOOPD2RETDELAYENDP五、實驗總結(jié)在做完了靜態(tài)數(shù)碼管之后,我嘗試做了一下動態(tài)數(shù)碼管。再畫了動態(tài)數(shù)碼管流程圖之后實驗思路非常清晰,主要是要先選擇端口 C來控制位碼,再選擇端口 A來控制段碼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論