《微型計(jì)算機(jī)原理》由會(huì)員分享,可在線閱讀,更多相關(guān)《微型計(jì)算機(jī)原理(15頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊以編輯母版標(biāo)題樣式,單擊以編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,7-11 有一片8253接在系統(tǒng)中,其端口地址分配如下:0#計(jì)數(shù)器:220H 1#計(jì)數(shù)器:221H 2#計(jì)數(shù)器:222H 控制口:223H 利用0#計(jì)數(shù)器高8位計(jì)數(shù),計(jì)數(shù)值為256,二進(jìn)制方式,選用方式3工作,試編程初始化。答:MOV AL,26H;,選擇0#計(jì)數(shù)器高8位,方式3,二進(jìn)制方式,MOV DX,223H OUT DX,AL ;寫(xiě)控制字,必須使用DX MOV AL,0,;,計(jì)數(shù)器0高8位計(jì)數(shù)256FFH,MOV DX,220H;(上行注釋:256是一個(gè)字節(jié)寫(xiě)不下的)OUT DX,AL ;,或AL,或A
2、X,而不能AH,利用1(2)#計(jì)數(shù)器高、低8位計(jì)數(shù),計(jì)數(shù)值為1000,BCD 方式計(jì)數(shù),選用方式2工作,試編程初始化。,MOV AL,75H,(0B5H),;,1,(2),#計(jì)數(shù)器16位,方式2,BCD計(jì)數(shù),MOV DX,223H OUT DX,AL ;寫(xiě)控制字 MOV AX,10,00H,;1000=3E8H,MOV DX,221H,(222H),OUT DX,AL ;先送低字節(jié)00 MOV AL,AH,;,OUT DX,AL ;再送高字節(jié)10(1000D),必須送高字節(jié),必須分兩次送,不能 OUT DX,AX 一次完成,7-12 有一片8253接在系統(tǒng)中,其端口地址分配如下:,0#計(jì)數(shù)器:
3、340H 1#計(jì)數(shù)器:341H,2#計(jì)數(shù)器:342H 控制口:343H,設(shè)已有信號(hào)源頻率1MHZ,現(xiàn)要求用一片8253定時(shí)1秒鐘,設(shè)計(jì)出硬件連接圖,并編程初始化。,答:使用定時(shí)器0、1串聯(lián),經(jīng)兩次1000分頻,MOV AL,34H,;,選擇0#計(jì)數(shù)器16位計(jì)數(shù),方式2,2進(jìn)制計(jì)數(shù)方式,MOV DX,343H,;,OUT DX,AL,;寫(xiě)控制字;,MOV AX,1000 MOV DX,340H,OUT DX,AL ;先送低字節(jié) MOV AL,AH OUT DX,AL ;再送高字節(jié)(,所設(shè)計(jì)出的定時(shí)器1的初始化程序見(jiàn)下頁(yè)),MOV AL,73H;#1計(jì)數(shù)器16位計(jì)數(shù),方式1/0/4,BCD計(jì)數(shù)方式
4、,MOV DX,343H;,72H,#1 16位計(jì)數(shù),方式1/0/4,二進(jìn)制計(jì)數(shù)方式.,OUT DX,AL ;寫(xiě)控制字;1000的二進(jìn)制數(shù)是3E8H,MOV AL,00H MOV DX,341H,OUT DX,AL ;先送低字節(jié) MOV AL,10H OUT DX,AL ;再送高字節(jié),答案當(dāng)然不唯一:也可以將三個(gè)定時(shí)器全用上:使用定時(shí)器0、1、2串聯(lián),各進(jìn)行100分頻,MOV AL,14H;,選擇0#計(jì)數(shù)器8位計(jì)數(shù),,MOV AL,100,MOV DX,343H;,方式2,二進(jìn)制計(jì)數(shù)方式,MOV DX,341H,OUT DX,AL;,OUT DX,AL,MOV AL,100 ;64H,MOV
5、AL,98H;,選擇2#計(jì)數(shù)器8位計(jì)數(shù),MOV DX,340H,MOV DX,343H;,方式4/0/1,二進(jìn)制計(jì)數(shù)方式,OUT DX,AL ;OUT DX,AL,MOV AL,54H;,選擇1#計(jì)數(shù)器8位計(jì)數(shù),MOV AL,100,MOV DX,343H;,方式2,二進(jìn)制計(jì)數(shù)方式,MOV DX,341H,OUT DX,AL OUT DX,AL,0,0,RD,WR,CS,A1,A0,D0 D7,GATE0,GATE1,GATE2,CLK0,CLK1,OUT0,CLK2,OUT1,OUT2,IOR,IOW,來(lái)自74LS138的Y5,A1,A0,D0 D7,+5V,8253-5,1MHz 頻率信號(hào)
6、,0,G2A,Y5,G2B,G1,74LS138,Y7,A8,A7,A6,A11 A10 A9,Y0,去8253的片選引腳,高電平,0,如果要求畫(huà)圖,圖可不能不畫(huà)。,7.21,編寫(xiě)8259的初始化程序,系統(tǒng)中僅有一片8259,允許8個(gè)中斷邊沿觸發(fā),不需要緩沖,一般全嵌套工作方式,中斷向量為40H。(設(shè)其片選地址20H、21H),答:MOV DX,,20H,MOV AL,13H,(1BH?),;寫(xiě)ICW1,上升沿,單片,要ICW4,OUT DX,AL,MOV DX,,21H,MOV AL,40H ;寫(xiě)ICW2,中斷類型號(hào)從40H開(kāi)始,OUT DX,AL,NOP ;,系統(tǒng)中僅有一片8259,不需設(shè)
7、ICW3,MOV AL,01H,(03H),;,寫(xiě)ICW4,,不需要,緩沖工作方式,非特殊完全,嵌套,8088/8086配置,,未提自動(dòng)結(jié)束否,。,OUT DX,AL,MOV AL,0,OUT DX,AL,;寫(xiě)OCW1(一個(gè)都不屏蔽),7.22 試按照如下要求對(duì)8259中斷控制器設(shè)置命令字。系統(tǒng)中有一片8259,中斷請(qǐng)求信號(hào)用電平觸發(fā)方式,下面要用ICW4,中斷類型碼為80H87H,用特殊全嵌套方式,不用緩沖方式,采用中斷自動(dòng)結(jié)束方式,8259的端口地址為,76H,77H,答:MOV AL,1BH,(13H?),;寫(xiě)ICW1,高電平,單片,要ICW4,OUT,76H,,AL,MOV AL,80
8、H ;寫(xiě)ICW2,中斷類型號(hào)從80H開(kāi)始,OUT,77H,,AL,NOP ;,系統(tǒng)中僅有一片8259,不需設(shè)ICW3,MOV AL,13H(03H);,寫(xiě)ICW4,,用特殊(一般)全嵌套方式,不需要,緩沖,;工作方式,,采用中斷自動(dòng)結(jié)束方式,,088/8086配置,OUT 77H,AL,MOV AL,0,OUT 77H,AL ;寫(xiě)OCW1(一個(gè)都不屏蔽),7-26 有一片8255接在系統(tǒng)中,其A口,B口,C口,控制口地址分別是200H,201H,202H,203H,實(shí)現(xiàn):,A組與B組均設(shè)為方式0,A口,B口均設(shè)為輸入,C口為輸出,試編程初始化。,(2)在上述情況下,設(shè)查詢信號(hào)從B口輸入,如何實(shí)
9、現(xiàn)查詢式輸入(輸入信號(hào)從A口輸入)與查詢式輸出(輸出信號(hào)從C口輸出),答:MOV AL,92H;,A組與B組均設(shè)為方式0,A口,B口均設(shè)為輸入,C口為輸出,MOV DX,203H OUT DX,AL ;寫(xiě)控制字,(2),START:MOV DX,201H ;取B口狀態(tài),Detect:IN AL,DX,RCR AL,1 ;將PB0位移至C,JC Detect;檢測(cè) 等待低,OR AL,02H ;PB1 置1,OUT DX,AL ;發(fā)出IBF信號(hào),MOV DX,201H;取B口狀態(tài),IN AL,DX,AND AL,0FDH,OUT DX,AL;清除IBF信號(hào),至此,輸入結(jié)束,硬件圖見(jiàn)下頁(yè),選通信號(hào)
10、低有效,輸入緩沖器接收到一個(gè)來(lái)自外設(shè)的8位數(shù)據(jù),IBF輸入緩沖器滿的輸出信號(hào),高電平有效,P265 方式1(輸入),MOV DX,202H ;PC口地址MOV AL,BL,OUT DX,AL;用PA口狀態(tài)去控 制PC口,MOV DX,201H;取B口狀態(tài),IN AL,DX,AND AL,0FBH ;,OUT DX,AL;發(fā)出 信號(hào),Detect1:IN AL,DX,MOV CL,4,RCR AL,CL;將PB3位移至C,JC Detect1 ;檢測(cè),JMP START,硬件圖見(jiàn)下頁(yè),輸出緩沖器滿信號(hào),低有效,通知外設(shè)取走端口數(shù)據(jù),:外設(shè)應(yīng)答信號(hào),低有效,表示外設(shè)已取走PC口數(shù)據(jù),P266 方式
11、1(輸出),G2A,Y1,G2B,G1,74LS138,Y7,IBF,A11 A10 A9,Y0,去8255的片選引腳,D0 PA0,D1 PA1,D2 PA2,D3 PA3,D4 PA4,D5 PA5,D6 PA6,D7 PA7,PC0 PB0,PC1,PC2 PB1,PC3,PC4 PB2,PC5,PC6 PB3,PC7,PB4,RESET A0,PB5,A1,來(lái)自138的Y0,A8,A7,A6,D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,RESET,8255,(2),CSEG SEGMENT,ASSUME CS:CSEG,AAA:MOV DX,201H,IN AL,DX
12、;,AND AL,01H,CMP AL,0,JNE AAA ;查詢PB0(輸入選通信號(hào),低有效把外設(shè)輸入的數(shù)據(jù)進(jìn)入A口緩沖器),MOV DX,200H,IN AL,DX,MOV AH,AL,BBB:MOV DX,201H,IN AL,DX,AND AL,02H,CMP AL,0,JNE BBB ;查詢PB1(外設(shè)應(yīng)答信號(hào),低有效,將外設(shè)由A口輸入的數(shù)據(jù)傳送到C口緩沖器),MOV DX,202H,MOV AL,AH,OUT DX,AL ;C口輸出,JMP AAA,CSEG ENDS,END AAA,硬件圖見(jiàn)下頁(yè),方法2,D0D7 PA0,PC0 PC7,PB0,PB1,PB2 PB7,RESET
13、 A0,A1,來(lái)自138的Y0,D0D7,A0,A1,RESET,8255,8,8,8,Y0,G2A,G2B,G1,74LS138,A9,A4,A3,A2,去8255的片選(200H),+,A7 A8,+,A5 A6,PB2PB7,7-26 如果需要8255A的PC3口輸出頻率是2KHZ的連續(xù)方波,如何使用C口的置位與復(fù)位控制命令字編程實(shí)現(xiàn)它(主頻2MHZ)?,第一種方法:軟件延時(shí)的方法,分析:主頻2MHZ,則一個(gè)機(jī)器周期0.5微秒,PC3口輸出頻率是2KHZ的連續(xù)方波,則半個(gè)周期是0.25毫秒(即0.25毫秒翻轉(zhuǎn)一次),構(gòu)造一個(gè)延時(shí)0.25毫秒的子程序.,PC3口伴隨著PC口聯(lián)動(dòng),.,MOV
14、 AL,92H;A組與B組均設(shè)為方式0,A口,B口均設(shè)為輸入,C口為輸出,MOV DX,203H OUT DX,AL ;寫(xiě)控制字,MOV DX,202H ABC:MOV AL,08H ;PC3輸出高電平,OUT DX,AL ;1,CALL DELAY ;,MOV AL,00H ;PC3輸出低電平,OUT DX,AL ;,CALL DELAY ;延時(shí),JMP ABC,DELAY PRCO NEAR,MOV CX,49 ;4,BCD:LOOP BCD ;10 RET ;8,DELAY ENDP,(4+8+1049)0.5us=250us=0.25ms,7-22 如果需要8255A的PC7口輸出頻率
15、是2KHZ的連續(xù)方波,如何使用C口的置位與復(fù)位控制命令字編程實(shí)現(xiàn)它(主頻2MHZ)?,第二種方法:軟件延時(shí)的方法(硬件電路如題7-16圖),分析:主頻2MHZ,則一個(gè)機(jī)器周期0.5微秒,PC3口輸出頻率是2KHZ的連續(xù)方波,則半個(gè)周期是0.25毫秒(即0.25毫秒翻轉(zhuǎn)一次),構(gòu)造一個(gè)延時(shí)0.25毫秒的子程序.,PC3口不是伴隨著PC口聯(lián)動(dòng),而是單獨(dú)被置1或清0,.,MOV AL,0B6H;A組與B組均設(shè)為方式1,A口,B口均設(shè)為輸入,C口為輸出,MOV DX,203H OUT DX,AL ;寫(xiě)控制字,MOV DX,203H ABC:MOV AL,07H ;PC3輸出高電平,OUT DX,AL ;1,CALL DELAY ;,MOV AL,06H ;PC7輸出低電平,OUT DX,AL ;,CALL DELAY ;延時(shí),JMP ABC,