您好,欢迎访问三七文档
钱晓捷,微机原理与接口技术·第4版——基于IA-32处理器和32位汇编语言微机接口技术习题微机原理与接口技术·第4版机械工业出版社习题7.7参看图7-5,编程实现以下功能:当K0键单独按下时,发光二极管L0~L7将依次点亮(L0,L1,L2,……L7),每个维持200ms;当K1键单独按下时,发光二极管L0~L7将反向依次点亮(L7,L6,L5,……L0),每个也维持200ms;在其他情况下各发光二极管均不点亮。假定有延时200ms的子程序DELAY可直接调用。微机原理与接口技术·第4版机械工业出版社习题7.7解答(1)again:movdx,8000hinal,dxcmpal,0feh;D7~D0=11111110B?jznext1;单独按下K0,转移到next1cmpal,0fdh;D7~D0=11111101B?jznext2;单独按下K1,转移到next2jmpagain;其它情况不点亮微机原理与接口技术·第4版机械工业出版社习题7.7解答(2)next1:movcx,8moval,1;从K0开始next11:outdx,al;某个LED点亮calldelay;延时200msshlal,1;rolal,1loopnext11jmpagain微机原理与接口技术·第4版机械工业出版社习题7.7解答(3)next2:movcx,8moval,80h;从K7开始next21:outdx,al;某个LED点亮calldelay;延时200msshral,1;roral,1loopnext21jmpagain微机原理与接口技术·第4版机械工业出版社习题7.8现有一个输入设备,其数据端口地址为FFE0H,状态端口地址为FFE2H。当状态标志D0=1时,表明一个字节的输入数据就绪。请编写利用查询方式进行数据传送的程序段,要求从该设备读取100个字节保存到BUFFER缓冲区。微机原理与接口技术·第4版机械工业出版社习题7.8解答movbx,offsetbuffermovcx,100again:movdx,0ffe2hstatus:inal,dx;查询一次testal,01hjzstatusmovdx,0ffe0hinal,dx;输入一个字节mov[bx],alincbxloopagain;循环,输入100个字节微机原理与接口技术·第4版机械工业出版社习题7.9某个字符输出设备,其数据端口和状态端口的地址均为80H。在读取状态时,当标志位D7=0时,表明该设备闲,可以接收一个字符。请编写利用查询方式进行数据传送的程序段,要求将存放于缓冲区ADDR处的一串字符(以0为结束标志)输出给该设备。微机原理与接口技术·第4版机械工业出版社习题7.9解答movbx,offsetaddragain:cmpbyteptr[bx],0jzdonestatus:inal,80h;查询testal,80hjnzstatusmoval,[bx]out80h,al;输出一个字节incbxjmpagain;循环微机原理与接口技术·第4版机械工业出版社习题8.6试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字I/O地址依次为204H~207H。①使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。②使计数器0工作在方式1,按BCD码计数,计数值为3000。③使计数器2工作在方式2,计数值为02F0H。微机原理与接口技术·第4版机械工业出版社习题8.6解答(1)moval,50h;01010000bmovdx,207houtdx,almoval,128;=80hmovdx,205houtdx,al微机原理与接口技术·第4版机械工业出版社习题8.6解答(2)moval,33h;00110011bmovdx,207houtdx,almovax,3000h;不是3000movdx,204houtdx,almoval,ahoutdx,al微机原理与接口技术·第4版机械工业出版社习题8.6解答(3)moval,0b4h;10110100bmovdx,207houtdx,almoval,02f0hmovdx,206houtdx,almoval,ahoutdx,al微机原理与接口技术·第4版机械工业出版社习题8.10用8255端口A方式0与打印机接口示例中,如果改用端口B,其他不变,说明应该如何修改接口电路和程序。解答:修改电路:将端口B的PB0~PB7接打印机的数据位DATA0~DATA7即可。修改程序:将输出数据端口改为FFFAH即可。微机原理与接口技术·第4版机械工业出版社习题8.11用8255端口A方式1与打印机接口,如果改用端口B,其他不变,说明如何修改接口电路和程序。解答修改电路:PA0~PA7改为PB0~PB7;PC6改用PC2,PC7改用PC1,PC3改用PC0。微机原理与接口技术·第4版机械工业出版社习题8.11解答(1)修改程序:movdx,0fffehmoval,84houtdx,almoval,04h;使INTEB(PC2)为0,禁止中断outdx,al……movcx,counter;打印字节数送CXmovbx,offsetbuffer;取字符串首地址callprints;调用打印子程序微机原理与接口技术·第4版机械工业出版社习题8.11解答(2)printsprocpushax;保护寄存器pushdxprint1:moval,[bx];取一个数据movdx,0fffahoutdx,al;从端口B输出movdx,0fffchprint2:inal,dxtestal,02h;检测(PC1)为1否?jzprint2incbxloopprint1popdxpopaxretprintsendp微机原理与接口技术·第4版机械工业出版社习题8.12有一工业控制系统,有四个控制点,分别由四个对应的输入端控制,现用8255的端口C实现该系统的控制,如本题图形。开关K0~K3打开则对应发光二极管L0~L3亮,表示系统该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。编写8255的初始化程序和这段控制程序。4300Ω+5VPC4PC5PC6PC7PC0PC1PC2PC32K4+5VK0K1K2K3L0L1L2L374LS048255习题8.12附图微机原理与接口技术·第4版机械工业出版社习题8.12解答;写入方式字moval,100×00×1b;=81Hmovdx,控制口地址;可以假设为0FFFEHoutdx,al;加入下一段更好,使L0~L3全亮moval,0fhmovdx,端口C地址;可以假设为0FFFCHoutdx,al;控制程序段movdx,端口C地址;可以假设为0FFFCHinal,dx;读入PC0~PC3movcl,4shlal,cl;左移4位outdx,al;控制PC4~PC7微机原理与接口技术·第4版机械工业出版社习题8.14串行异步通信发送8位二进制数01010101:采用起止式通信协议,使用奇校验和2个停止位。画出发送该字符时的波形图。若用1200bps,则每秒最多能发送多少个数据?解答每个字符的位数是:1个起始位+8个数据位+1个奇校验位+2个停止位=12位,采用1200bps、即每秒1200位的传送速率,则每秒最多能发送1200÷12=100个数据。微机原理与接口技术·第4版机械工业出版社习题8.20ADC的转换结束信号起什么作用,可以如何使用该信号,以便读取转换结果?当A/D转换结束,ADC输出一个转换结束信号,通知主机读取结果。有多种使用A/D转换结束信号的方法,对应的程序设计方法也不同。查询方式:把结束信号作为状态信号经三态缓冲器送到主机系统数据总线的某一位上。主机不断查询这个状态位,发现结束信号有效,便读取数据。中断方式:把结束信号作为中断请求信号接到主机的中断请求线上。ADC转换结束,主动向微处理器申请中断。微处理器响应中断后,在中断服务程序中读取数据。DMA传送方式:如果ADC速度足够快,可把结束信号作为DMA请求信号,采用DMA传送方式。延时传送方法:不使用结束信号,微机延时到转换结束读取数据。微机原理与接口技术·第4版机械工业出版社习题8.21某控制接口电路如本题图形。需要控制时,8255A的PC7输出一个正脉冲信号START启动A/D转换;ADC转换结束在提供一个低脉冲结束信号EOC的同时送出数字量。微处理器采集该数据,进行处理,产生控制信号。现已存在一个处理子程序ADPRCS,其入口参数是在AL寄存器存入待处理的数字量,出口参数为AL寄存器给出处理后的数字量。假定8255端口A,B,C及控制端口的地址依次为FFF8H~FFFBH,要求8255的端口A为方式1输入、端口B为方式0输出。编写采用查询方式读取数据,实现上述功能的程序段。微机原理与接口技术·第4版机械工业出版社习题8.21解答(1);8255A初始化moval,1011000×bmovdx,0fffbhoutdx,al;使PC7=0(START为低)moval,00001110bmovdx,0fffbhoutdx,al;启动A/D转换moval,00001111bmovdx,0fffbhoutdx,al;使PC7=1(START为高)nopmoval,00001110boutdx,al;使PC7=0(START为低)微机原理与接口技术·第4版机械工业出版社习题8.21解答(2);查询是否转换结束movdx,0fffahagain:inal,dxtestal,20h;PC5=0(转换未结束,继续检测)jzagain;PC5=1(转换结束)movdx,0fff8h;输入数据inal,dxcalladprcs;处理数据movdx,0fff9houtdx,al;输出数据微机原理与接口技术·第4版机械工业出版社补充题1已知8253的计数时钟频率为1MHZ若要求8253的计数通道2每隔8ms向CPU申请一次中断,则如何对8253进行编程设置?8253计数器0、1、2和控制端口地址依次为:304H、305H、306H、307H。微机原理与接口技术·第4版机械工业出版社补充题1解答根据题意要求产生周期为8ms的连续脉冲,故可采用8253的方式2和3。由于输出脉冲的周期是8ms,故其频率是1/8×103,所以计数初值是106÷(1/8×103)=8000。控制字是1011×1×0B=B4H,B6H,BCH,BEH。微机原理与接口技术·第4版机械工业出版社补充题2试编写一个程序段,要求在计数操作进行过程中读取计数器2的内容,并把读取的数值装入AX寄存器,端口地址为304H~307H。微机原理与接口技术·第4版机械工业出版社补充题2解答本题应先使用8253的锁存命令将计数器2的内容锁存起来,然后用读命令从锁存器中读取。movdx,307Hmoval,10000000Boutdx,almovdx,306Hinal,dxmovbl,alinal,dxmovah,almoval,bl微机原理与接口技术·第4版机械工业出版社补充题3分别对8255A的控制端口写入80H和08H,它们的作用各是什么?解答:对8255A的控制端口写入80H是方式控制字,其作用是设置A端口为方式0输出,端口B为方式0输出,端口C为方式0输出。对8255A的控制端口写入08H是端口C位控制字,其作用是设置PC4为0微机原理与接口技术·第4版机械工业出版社补充题4当8255A的PC4~PC7全部为输出线时,请问此时能否确定A端口的工作方式是什么?为什么?解答:当8255A的PC4~PC7全部为输出线时,可以确定A端口为方式0。因为如果端口A为方式1或2时,PC4~PC7中将有部分或全部被A端口征用。微机原理与接口技术·第4版机械工业出版社补充题5利用并行接口8255A与A/D转换器ADC0809连接的电路如图所示。当主机需要某个模拟输入通道的数据时,8255A的PC4输出一个高脉冲信号启动A/D转换;同时从PC5
本文标题:微机接口习题
链接地址:https://www.777doc.com/doc-5360324 .html