版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理與接口實(shí)驗(yàn)系列一、IO端口擴(kuò)展(8255)二、定時(shí)器/計(jì)數(shù)器(8253)三、串口通信(8251)四、模數(shù)轉(zhuǎn)換(ADC0809)五、數(shù)模轉(zhuǎn)換(DAC0832)六、液晶屏顯示(LCD1602)七、中斷控制器(8259)賴曉錚博士華南理工大學(xué)laixz@QQ:68046508(三)
串口通信(8251)實(shí)驗(yàn)實(shí)驗(yàn)內(nèi)容:●構(gòu)建一個(gè)“CPU+8253+8251”的微型計(jì)算機(jī)系統(tǒng),其中8253定時(shí)器為8251芯片提供工作時(shí)鐘。編寫(xiě)機(jī)器語(yǔ)言程序,令CPU通過(guò)8251芯片實(shí)現(xiàn)與外設(shè)(虛擬端口)的串行通信。實(shí)驗(yàn)?zāi)康模骸窳私獯型ㄐ诺幕驹?,比較串行通信與并行通信的異同及各自的優(yōu)勢(shì)?!裾莆沾薪涌谛酒?251的編程方法,通過(guò)8251芯片實(shí)現(xiàn)CPU與外設(shè)的串行通信。微程序版“CPU+8251”電路圖初始化過(guò)程時(shí)鐘信號(hào)CLK接手動(dòng)開(kāi)關(guān)MANUAL,啟動(dòng)仿真,使能復(fù)位信號(hào)#RESET=0;手動(dòng)按鈕MANUAL開(kāi)關(guān)“010”,然后令信號(hào)#RESET=1.注:初始化完成后,若時(shí)鐘信號(hào)CLK繼續(xù)接開(kāi)關(guān)MANUAL,則CPU進(jìn)入手動(dòng)模式,手動(dòng)MANUAL開(kāi)關(guān),生成時(shí)鐘信號(hào)CLK,程序單步執(zhí)行;若時(shí)鐘信號(hào)CLK接信號(hào)源AUTO-CLK(主頻10Hz),則CPU進(jìn)入自動(dòng)模式,程序自動(dòng)運(yùn)行,直到HLT指令的“斷點(diǎn)”處暫停。重啟過(guò)程(跳出“斷點(diǎn)”)時(shí)鐘信號(hào)CLK接開(kāi)關(guān)MANUAL,手動(dòng)令復(fù)位信號(hào)端#RESET的狀態(tài)“101”變化,即重啟完成,跳出“斷點(diǎn)”繼續(xù)執(zhí)行
。注:跳出“斷點(diǎn)”后,CPU進(jìn)入HLT指令的后續(xù)下一條指令的取指周期。8251應(yīng)用電路圖可編程串行接口芯片8251A結(jié)構(gòu)圖
#CS#RD#WRC/#D功能0010CPU從8251A讀數(shù)據(jù)0100CPU向8251A寫(xiě)數(shù)據(jù)0011CPU向8251A讀狀態(tài)0101CPU向8251A寫(xiě)控制字1XXX禁止訪問(wèn),總線D7~D0接口呈現(xiàn)高阻態(tài)8251A讀/寫(xiě)控制邏輯8251A同步通信格式8251A異步通信格式8251A芯片
工作流程圖8251A芯片
狀態(tài)字格式8251A芯片
方式控制字格式8251A芯片
操作控制字格式實(shí)驗(yàn)步驟:1)8251A數(shù)據(jù)發(fā)送測(cè)試程序UART_TX.asm存放在實(shí)驗(yàn)4.3項(xiàng)目的子文件夾test里,其功能實(shí)現(xiàn)了CPU從8251A芯片的串行通信接口自動(dòng)發(fā)送一段ASCII碼字符序列“HELLO!”,并且在外接的虛擬串口終端屏幕上顯示。具體代碼如后頁(yè)所示。2)編譯、燒寫(xiě)、自動(dòng)運(yùn)行上述UART_TX源程序,在程序自動(dòng)運(yùn)行過(guò)程中,觀察虛擬串口終端屏幕的顯示。(編譯和燒寫(xiě)asm文件的方法參見(jiàn)“2.6存儲(chǔ)器實(shí)驗(yàn):ROM批量導(dǎo)入數(shù)據(jù)”)
3)自行設(shè)計(jì)所要發(fā)送的字符序列,修改并自動(dòng)執(zhí)行UART_TX源程序。在運(yùn)行過(guò)程中觀察虛擬串口終端屏幕的顯示。4)若需要把本實(shí)驗(yàn)改成8251A數(shù)據(jù)接收測(cè)試實(shí)驗(yàn),請(qǐng)問(wèn)硬件電路和程序怎么修改?
匯編助記符注釋(M地址:機(jī)器指令)JMP08H00H:0001000001H:0000100048H“H”02H:0100100045H“E”03H:010001014CH“L”04H:010011004CH“L”05H:010011004FH“O”06H:0100111121H“!”07H:00100001SETR3,01HR3用來(lái)檢測(cè)8253狀態(tài)字08H:0011110009H:00000001SETR2,02HR2用以記錄發(fā)送字符地址發(fā)送字符地址初始化[02H]0AH:001110000BH:00000010UART_TX匯編助記符注釋(M地址:機(jī)器指令)SETR0,06HR0用作待發(fā)送字符的計(jì)數(shù)器總共6個(gè)數(shù)據(jù)0CH:001100000DH:00000110SETR1,A6H;8253計(jì)數(shù)器設(shè)置R1用于外設(shè)端口讀寫(xiě)8253地址[1010xxxxH],控制口A1A0=110EH:001101000FH:10100110OUTAR1,PORT0選擇8253的控制寄存器10H:01010110SETR1,16H控制字:選計(jì)數(shù)器0/只讀寫(xiě)低8位數(shù)據(jù)/方式3(方波)/二進(jìn)制11H:0011010012H:00010110OUTR1,PORT0輸入8253控制字后OUT端應(yīng)該拉高13H:01010100SETR1,A0H0通道計(jì)數(shù)寄存器地址打入R18253地址[1010xxxxH]控制口A1A0=0014H:0011010015H:10100000OUTAR1,PORT0選擇8253的0通道計(jì)數(shù)寄存器16H:01010110UART_TX匯編助記符注釋(M地址:機(jī)器指令)SETR1,0DH計(jì)數(shù)初始值N=13,CLK=125KHZ,計(jì)數(shù)時(shí)長(zhǎng)8us*13=104us,輸出9600HZ方波17H:0011010018H:00001101OUTR1,PORT0輸入初始值N,做N個(gè)CLK周期循環(huán)方波19H:01010100HLT8253芯片配置結(jié)束,觀測(cè)示波器界面波形1AH:00000001SETR1,F8H;8251串口設(shè)置8251芯片復(fù)位8251地址[1111xxxxH]RESET=11BH:001101001CH:11111000OUTAR1,PORT0選擇8251的端口1DH:01010110SETR1,F2H8251地址[1111xxxxH]控制字1EH:001101001FH:11110010OUTAR1,PORT0選擇8251控制字狀態(tài)工作20H:01010110SETR1,4DH方式控制字:1個(gè)停止位/無(wú)校驗(yàn)/數(shù)據(jù)8位/異步x121H:0011010022H:01001101UART_TX匯編助記符注釋(M地址:機(jī)器指令)OUTR1,PORT0輸入8251方式控制字23H:01010100SETR1,15H;若循環(huán)發(fā)送下一個(gè)字符,則跳轉(zhuǎn)到此處操作控制字:清出錯(cuò)標(biāo)志/接收允許/發(fā)送允許24H:0011010025H:00010101OUTR1,PORT0輸入8251操作控制字26H:01010100SETR1,F0H
8251地址[1111xxxxH]數(shù)據(jù)27H:0011010028H:11110000OUTAR1,PORT0選擇8251數(shù)據(jù)狀態(tài)工作29H:01010110POPR1,[R2]把待發(fā)送數(shù)據(jù)從堆棧彈出,賦值R12AH:10000110INCR2堆棧指針+12BH:00101000OUTR1,PORT0輸入8251數(shù)據(jù)2CH:01010100SETR1,F2H
8251地址[1111xxxxH]控制字2DH:001101002EH:11110010UART_TX匯編助記符注釋(M地址:機(jī)器指令)OUTAR1,PORT0選擇8251控制字狀態(tài)工作2FH:01010110INR1,PORT0讀取8251狀態(tài)字30H:01000100ANDR1,R3檢測(cè)狀態(tài)字最后一位,“1”則發(fā)送成功,“0”則失敗31H:11100111JZ30H發(fā)射尚未成功,繼續(xù)讀取8251狀態(tài)字循環(huán)檢測(cè)32H:0001100033H:00110000DECR0待發(fā)送字符計(jì)數(shù)器遞減
“-1”34H:00100001NOP斷點(diǎn):?jiǎn)蝹€(gè)字符發(fā)送完成后觀察串口輸出35H:00000000JZ3AH待發(fā)送字符計(jì)數(shù)器為0,結(jié)束發(fā)送36H:0001100037H:00111010JMP24H狀態(tài)字檢測(cè)發(fā)送成功,繼續(xù)發(fā)送下一個(gè)字符38H:0001000039H:00100100HLT3AH:00000001UART_TX思考題:●請(qǐng)把本實(shí)驗(yàn)的微程序版“CPU+8253+8251”電路改成硬布線版和流水線版“CPU+8253+8251”電路,并且運(yùn)行本實(shí)驗(yàn)步驟所示的8251發(fā)送數(shù)據(jù)測(cè)試程序。請(qǐng)問(wèn)上述程序在硬布線或流水線版本中需要修改么?若需要,請(qǐng)修改并測(cè)試。(三)串口通信(8251)實(shí)驗(yàn)附錄:CPU指令集(OP碼表)OP碼(I7I6I5I4)指令助記符OP碼(I7I6I5I4)指令助記符0111IRET1111OR/ORI0110MOV1110AND/ANDI0101OUT/OUTA1101ADD/ADDI0100IN1100SUB/SUBI0011SET1011XOR/XORI0010SOP(INC/DEC/NOT/THR)1010SHT(RLC/LLC/RRC/LRC)0001JMP/JMPR/Jx/JxR1001STO/PUSH0000NOP/HLT1000LAD/POP一、系統(tǒng)指令:匯編語(yǔ)言功能I7I6I5I4I3I2I1I0NOP;無(wú)操作(延時(shí)4個(gè)T)00000/0x/0HLT;停機(jī)(斷點(diǎn))00000/0x/1IRET;中斷返回BP_PCPC;BP_PSWPSW01110/0x/x匯編語(yǔ)言注釋I7I6I5I4I3I2I1I0MOVRA,RB;(RB)RA0110RARBSETRA,IMM;IMMRA0011RAx/xIMM二、寄存器及I/O操作指令:匯編語(yǔ)言功能I7I6I5I4I3I2I1I0INRA,PORTx;(PORTx)RA0100RAPORTxOUTRA,PORTx;(RA)PORTx0101RA0/PORTxOUTARA,PORTx;(RA)PORTx0101RA1/PORTx匯編語(yǔ)言功能I7I6I5I4I3I2I1I0LADRA,[ADDR];[ADDR]RA1000RA0/0ADDRPOPRA,[RB];[RB]RA1000RARBSTORA,[ADDR];(RA)[ADDR]1001RA0/0ADDRPUSHRA,[RB];(RA)[RB]1001RARB三、存儲(chǔ)器及堆棧操作指令:匯編語(yǔ)言功能I7I6I5I4I3I2I1I0JMPADDR;ADDRPC00010/00/0ADDRJMPRRB;(RB)PC00010/0RBJCADDR;IFCF=1,ADDRPC00010/10/0ADDRJCRRB;IFCF=1,(RB)PC00010/1RBJZADDR;IFZF=1,ADDRPC00011/00/0ADDRJZRRB;IFZF=1,(RB)PC00011/0RBJSADDR;IFSF=1,ADDRPC00011/10/0ADDRJSRRB;IFSF=1,(RB)PC00011/1RB四、跳轉(zhuǎn)系列指令:五、算術(shù)邏輯運(yùn)算指令:匯編語(yǔ)言功能I7I6I5I4I3I2
I1I0RLCRA;(RA)右邏輯移位1010RA0/0LLCRA;(RA)左邏輯移位1010RA1/0RRCRA;(RA)右循環(huán)移位1010RA0/1LRCRA;(RA)左循環(huán)移位1010RA1/1匯編語(yǔ)言功能I7I6I5I4I3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)議室管理制度培訓(xùn)
- 油氣管道保護(hù)培訓(xùn)交流
- 陜西省榆林市第十四中學(xué)2024-2025學(xué)年高一上學(xué)期期中考試數(shù)學(xué)試題(無(wú)答案)
- 江西省宜春市上高二中2024-2025學(xué)年高二上學(xué)期11月月考數(shù)學(xué)試卷(含解析)
- 河北省衡水市武強(qiáng)中學(xué)2025屆高三上學(xué)期期中考試數(shù)學(xué)試題 含解析
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)課件 易月娥 項(xiàng)目1、2 部署虛擬環(huán)境和安裝Windows Server 2022操作系統(tǒng)、活動(dòng)目錄的配置與管理
- 編程語(yǔ)言概述-介紹編程語(yǔ)言特點(diǎn)
- 醉翁亭記課件
- 甘肅省蘭州市2017年中考語(yǔ)文真題試卷(含答案)
- 2024-2025學(xué)年八年級(jí)上學(xué)期道德與法治期中模擬試卷(統(tǒng)編版+含答案解析)
- VASP自旋軌道耦合計(jì)算錯(cuò)誤匯總
- 唐朝服飾專題知識(shí)
- 初中衡水體英語(yǔ)(28篇)
- 創(chuàng)傷的評(píng)估與處理
- 別克維修手冊(cè)02.動(dòng)力轉(zhuǎn)向系統(tǒng)
- Q-SY 08803-2021 加油站油氣回收系統(tǒng)管理規(guī)范
- 電力拉管施工方案
- GB/T 4854.6-2014聲學(xué)校準(zhǔn)測(cè)聽(tīng)設(shè)備的基準(zhǔn)零級(jí)第6部分:短時(shí)程測(cè)試信號(hào)的基準(zhǔn)聽(tīng)閾
- GB/T 16907-1997離心泵技術(shù)條件(I類)
- GB 6245-1998消防泵性能要求和試驗(yàn)方法
- GB 4789.15-2016食品安全國(guó)家標(biāo)準(zhǔn)食品微生物學(xué)檢驗(yàn)霉菌和酵母計(jì)數(shù)
評(píng)論
0/150
提交評(píng)論