微机原理大题(共13页).doc
精选优质文档-倾情为你奉上1. 请给出下图中138译码器的所有译码输出引脚对应的地址范围。 2. 写出下图中138译码器指定引脚译码输出的地址范围。 <div align="center">3. 利用全地址译码将6264芯片接在IA-32的系统总线上,其所占地址范围为0BE000H0BFFFFH,画出连接电路图。 7. 下图示例了无条件输入输出接口电路,编程实现当开关闭合时,相应的LED灯将点亮,并调用延时子程序DELAY保持一定时间(假设延时子程序DELAY已经编写,直接调用)。 wutiaojian procmov dx,8000h in al,dx not al out dx,al call delay wutiaojian endp8. 下图示例了无条件输入输出接口电路,编程实现让L7点亮(其它LED灯灭)一段时间后,L0点亮(其它LED灯灭),持续时间可调用延时子程序DELAY 。 wu procmov dx,8000h in al,80h out dx,al call delay in al, 1 out dx,al wu endp1. 利用扬声器控制原理,编写一个简易乐器程序。P263例题,习题8.7当按下18数字键时,分别发出连续的中音17和高音i(对应频率依次为524Hz,588Hz,660Hz,698Hz,784Hz,880Hz,988Hz和1048Hz);当按下其他键时暂停发音;当按下ESC键(ASCII码为1BH),程序返回操作系统。; 数据段table dw 2277,2138,1808,1709,1522,1356,1208,1139 ; 对应中音17和高音i的定时器记数值; 代码段mov al,0b6h ; 设置定时器2工作方式out 43h,alagain: call readc ; 等待按键cmp al,'1' ; 判断是否为数字18jb nextcmp al,'8' ja nextsub al,30h ; 18的ASCII码转换为二进制数sub al,1 ; 再减1,将数字18变为07,以便查表xor ah,ahshl ax,1 ; 乘以2mov bx,ax ; 记数值表是16位数据,无法采用xlat指令mov ax,tablebx ; 取出对应的记数值out 42h,al ; 设置定时器2的记数值mov al,ahout 42h,alin al,61h ; 打开扬声器声音or al,03h ; 使D1D0PB1PB011B,其他位不变out 61h,aljmp again ; 连续发声,直到按下另一个键next: push axin al,61h ; 不是数字18,则关闭扬声器声音and al,0fch ; 使D1D0PB1PB000b,其他位不变out 61h,alpop axcmp al,1bh ; 判断是否为ESC键(对应ASCII码1bh)jne again ; 不是ESC,继续;否则程序执行结束2. 下图是用8255端口B方式0与打印机接口连接示意图及各引脚间时序关系,编程实现该功能。P271例题,习题8.10 设端口地址为200H203H,203H为控制端口!控制字:1 000 0 00 1,B口、C口高4位输出,C口低4位输人 Init8255procmov dx,203h ;控制端口地址为203Hmov al,b ;方式控制字out dx,al; B口方式0输出,口A任意;C口上半部输出、下半部输入mov al,b;端口C复位置位控制字out dx,al;使PC71,即置STORE*1 Init8255 endp3. 下图是用8255端口A方式1与打印机接口连接示意图及各引脚间时序关系,编程实现该功能。设端口地址为200H203H,203H为控制端口!控制字:1 010 0 00 0,A口方式1输出,其余不关心,禁止中断。Init8255procmov dx,203h ;控制端口地址为203Hmov al,b ;方式控制字out dx,al ; A口方式1输出mov al,b ; C口位控制字使PC60,禁止中断out dx,al Init8255 endp4. 下图是用8255端口B方式1与打印机接口连接示意图及各引脚间时序关系,编程实现该功能。设端口地址为200H203H,203H为控制端口!mov dx,0fffehmov al,84h out dx,almov al,04h ; 使INTEB(PC2)为0,禁止中断out dx,almov cx,counter ; 打印字节数送CXmov bx,offset buffer ; 取字符串首地址call prints ; 调用打印子程序prints procpush ax ; 保护寄存器push dxprint1: mov al,bx ; 取一个数据mov dx,0fffahout dx,al ; 从端口B输出mov dx,0fffchprint2: in al,dxtest al,02h ; 检测(PC1)为1否?jz print2inc bxloop print1pop dxpop axretprints endp5. 如图所示,8253的端口地址为90H93H。要求8253的通道0产生周期为100µs 的对称方波,8253的通道1产生周期为1S的对称方波。完成如下任务:1. 在该图的基础上画出完成指定功能的线路连接(译码电路的设计可略去)。2. 分别写出通道0和通道1的控制字,并求出它们的计数初值。3.编写完成指定功能的8253初始化程序子程序INIT8253。通道0的控制字:B 初值是200mov al,Bout 93h,almov ax,200out 90h,almov al,ahout 90h,al通道1的控制字:B 初值是10000mov al,Bout 93h,almov ax,10000out 91h,almov al,ahout 91h,al6. 下图是8255与8088/86系统总线的连接原理图,要求A口B口和C口的低4位定义为输出;C口的高4位定义为输入。请完成系列任务:1A口、B口、C口和控制端口的地址分别是:2方式控制字是:3写出完成指定功能的8255初始化的程序片段。端口地址:380h383hA9A8A7A6A5A4A3A2A1A01110000000 3 8 0Init8255procmov dx,383H mov al, Bout dx,almov dx,380hout dx,alInit8255 endp7. 下图是某PC系列微机应用系统以8255A作为接口,采集一组开关S7S0的状态,然后它通过一组发光二极管LED7LED0显示出来,(Si闭合,对应LEDi亮;Si断开,对应IEDi灭)。已知8255A的AB两组均工作在方式0。(1)写出8255A的四个端口地址;(2)写出8255A的工作方式控制字;(3)编写实现数据采集与显示的子程序App8255。端口地址:320h323hA9A8A7A6A5A4A3A2A1A01100100000 3 2 0App8255 procmov dx,323hout dx,almov al,Bout dx,alApp8255 endp8. 下图是某PC系列微机应用系统以8255A作为接口,采集一组开关S7S0的状态,然后它通过一组发光二极管LED7LED0显示出来,(Si闭合,对应LEDi亮;Si断开,对应IEDi灭)。已知8255A的AB两组均工作在方式0。(1)写出8255A的四个端口地址;(2)写出8255A的工作方式控制字;(3)编写实现数据采集与显示的子程序App8255。端口地址:188h191hA9A8A7A6A5A4A3A2A1A0 0110001000 1 8 8App8255 procmov dx,191h mov al,Bout dx,alnogout dx,alApp8255 endp9. 如图所示,利用8253的3个计数器输出out,分别产生周期为100µs的对称方波周期为1s的负窄脉冲和周期为10s的对称方波( 8353方式控制字如图所示)试按上述要求分别编写8253的初始化程序。计数器1:mov al,Bout 93h,almov ax,200out 90h,almov al,ahout 90h,al计数器2:mov al, Bout 93h,almov ax,10000out 90h,almov al,ahout 90h,al计数器3:mov al,Bout 93h,almov ax,out 90h,almov al,ahout 90h,al10. 有一个控制系统,有4个控制点,分别由4个对应的输入端控制,现用8255的端口C模拟实现该系统的控制,如图所示(A15A10按0处理)。开关K0K3打开则对应发光二极管L0L3亮,表示该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障,编写8255的初始化程序和控制程序。(假设A口控制口地址分别为60H63H)63H为控制端口!; 写入方式字mov al,b ; 81Hmov dx,63H;控制口地址 out dx,al;加入下一段更好,使L0L3全亮mov al,0fhmov dx,62H; 端口C地址out dx,al;控制程序段mov dx,62H;端口C地址in al,dx ; 读入PC0PC3mov cl,4shl al,cl ; 左移4位 out dx,al ; 控制PC4PC711. 如下图所示,8253的端口地址为90H93H。要求8253的通道0产生周期为500µs的负的窄脉冲,8253的通道1产生周期为2S的对称方波。完成如下任务:1. 在该图的基础上画出完成指定功能的线路连接(译码电路的设计可略去)。2. 分别写出通道0和通道1的控制字,并求出它们的计数初值。3.编写完成指定功能的8253初始化程序子程序INIT8253。12. 试按如下要求分别编写8253的初始化程序,已知8253的计数器02和控制字I/O地址依次为204H207H。 使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。 使计数器0工作在方式1,按BCD码计数,计数值为3000。 使计数器2工作在方式2,计数值为02F0H。计数器0初始化:mov dx,103H mov al,Bout dx,almov dx,100h mov al,128 out dx,al计数器1初始化:mov dx,103H mov al,Bout dx,almov dx,101H mov ax,3000 out dx,almov al,ahout dx,al计数器2初始化:mov dx,103H mov al,Bout dx,almov dx,102H mov ax,02F0H out dx,almov al,ahout dx,al13. 试按如下要求分别编写8253的初始化程序,已知8253的计数器02和控制字I/O地址依次为204H207H。 使计数器0工作在方式0,仅用8位二进制计数,计数初值为200。 使计数器1工作在方式2,按BCD码计数,计数值为1234。 使计数器2工作在方式3,计数值为1234H。计数器0初始化:mov dx,103H mov al,Bout dx,almov dx,100h mov al,200 out dx,al计数器1初始化:mov dx,103H mov al,Bout dx,almov dx,101H mov ax,1234H out dx,almov al,ahout dx,al计数器2初始化:mov dx,103H mov al,Bout dx,almov dx,102H mov ax,1234H out dx,almov al,ahout dx,al14. 有一个控制系统,有4个控制点,分别由4个对应的输入端控制,现用8255的端口C模拟实现该系统的控制,如图所示(A15A10按0处理)。开关K0K3打开则对应发光二极管L0L3亮,表示该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障,编写8255的初始化程序和控制程序。A9A8A7A6A5A4A3A2A1A01110000000 3 8 015. 下图是用8255端口A方式0与打印机接口连接示意图及各引脚间时序关系,编程实现该功能。设端口地址为200H203H,203H为控制端口!专心-专注-专业