微機(jī)原理與接口實(shí)驗(yàn) 43 串口通信-8251 賴曉錚_第1頁(yè)
微機(jī)原理與接口實(shí)驗(yàn) 43 串口通信-8251 賴曉錚_第2頁(yè)
微機(jī)原理與接口實(shí)驗(yàn) 43 串口通信-8251 賴曉錚_第3頁(yè)
微機(jī)原理與接口實(shí)驗(yàn) 43 串口通信-8251 賴曉錚_第4頁(yè)
微機(jī)原理與接口實(shí)驗(yàn) 43 串口通信-8251 賴曉錚_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論