《微机接口习题》PPT课件.ppt

上传人:小飞机 文档编号:5508297 上传时间:2023-07-15 格式:PPT 页数:43 大小:296.49KB
返回 下载 相关 举报
《微机接口习题》PPT课件.ppt_第1页
第1页 / 共43页
《微机接口习题》PPT课件.ppt_第2页
第2页 / 共43页
《微机接口习题》PPT课件.ppt_第3页
第3页 / 共43页
《微机接口习题》PPT课件.ppt_第4页
第4页 / 共43页
《微机接口习题》PPT课件.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《《微机接口习题》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《微机接口习题》PPT课件.ppt(43页珍藏版)》请在三一办公上搜索。

1、微机接口技术习题,习题7.7,参看图7-5,编程实现以下功能:当K0键单独按下时,发光二极管L0L7将依次点亮(L0,L1,L2,L7),每个维持200ms;当K1键单独按下时,发光二极管L0L7将反向依次点亮(L7,L6,L5,L0),每个也维持200ms;在其他情况下各发光二极管均不点亮。假定有延时200ms的子程序DELAY可直接调用。,习题7.7解答(1),again:mov dx,8000hin al,dxcmp al,0feh;D7D011111110B?jz next1;单独按下K0,转移到next1cmp al,0fdh;D7D011111101B?jz next2;单独按下K

2、1,转移到next2jmp again;其它情况不点亮,习题7.7解答(2),next1:mov cx,8 mov al,1;从K0开始next11:out dx,al;某个LED点亮 call delay;延时200ms shl al,1;rol al,1 loop next11 jmp again,习题7.7解答(3),next2:mov cx,8 mov al,80h;从K7开始next21:out dx,al;某个LED点亮 call delay;延时200ms shr al,1;ror al,1 loop next21 jmp again,习题7.8,现有一个输入设备,其数据端口地址

3、为FFE0H,状态端口地址为FFE2H。当状态标志D01时,表明一个字节的输入数据就绪。请编写利用查询方式进行数据传送的程序段,要求从该设备读取100个字节保存到BUFFER缓冲区。,习题7.8解答,mov bx,offset buffer mov cx,100again:mov dx,0ffe2hstatus:in al,dx;查询一次 test al,01h jz status mov dx,0ffe0h in al,dx;输入一个字节 mov bx,al inc bx loop again;循环,输入100个字节,习题7.9,某个字符输出设备,其数据端口和状态端口的地址均为80H。在读取

4、状态时,当标志位D70时,表明该设备闲,可以接收一个字符。请编写利用查询方式进行数据传送的程序段,要求将存放于缓冲区ADDR处的一串字符(以0为结束标志)输出给该设备。,习题7.9解答,mov bx,offset addragain:cmp byte ptr bx,0 jz donestatus:in al,80h;查询 test al,80h jnz status mov al,bx out 80h,al;输出一个字节 inc bx jmp again;循环,习题8.6,试按如下要求分别编写8253的初始化程序,已知8253的计数器02和控制字I/O地址依次为204H207H。使计数器1工作

5、在方式0,仅用8位二进制计数,计数初值为128。使计数器0工作在方式1,按BCD码计数,计数值为3000。使计数器2工作在方式2,计数值为02F0H。,习题8.6解答(1),mov al,50h;01010000bmov dx,207hout dx,almov al,128;80hmov dx,205hout dx,al,习题8.6解答(2),mov al,33h;00110011bmov dx,207hout dx,almov ax,3000h;不是3000mov dx,204hout dx,almov al,ahout dx,al,习题8.6解答(3),mov al,0b4h;101101

6、00bmov dx,207hout dx,almov al,02f0hmov dx,206hout dx,almov al,ahout dx,al,习题8.10,用8255端口A方式0与打印机接口示例中,如果改用端口B,其他不变,说明应该如何修改接口电路和程序。解答:修改电路:将端口B的PB0PB7接打印机的数据位DATA0DATA7即可。修改程序:将输出数据端口改为FFFAH即可。,习题8.11,用8255端口A方式1与打印机接口,如果改用端口B,其他不变,说明如何修改接口电路和程序。解答 修改电路:PA0PA7改为PB0PB7;PC6改用PC2,PC7改用PC1,PC3改用PC0。,习题8

7、.11解答(1),修改程序:mov dx,0fffehmov al,84hout dx,almov al,04h;使INTEB(PC2)为0,禁止中断out dx,almov cx,counter;打印字节数送CXmov bx,offset buffer;取字符串首地址call prints;调用打印子程序,习题8.11解答(2),printsprocpush ax;保护寄存器push dxprint1:mov al,bx;取一个数据mov dx,0fffahout dx,al;从端口B输出mov dx,0fffchprint2:in al,dxtest al,02h;检测(PC1)为1否?j

8、z print2inc bxloop print1pop dxpop axretprintsendp,习题8.12,有一工业控制系统,有四个控制点,分别由四个对应的输入端控制,现用8255的端口C实现该系统的控制,如本题图形。开关K0K3打开则对应发光二极管L0L3亮,表示系统该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。编写8255的初始化程序和这段控制程序。,习题8.12解答,;写入方式字mov al,100001b;81Hmov dx,控制口地址;可以假设为0FFFEHout dx,al;加入下一段更好,使L0L3全亮mov al,0fhmov dx,端口C地址;

9、可以假设为0FFFCHout dx,al;控制程序段mov dx,端口C地址;可以假设为0FFFCHin al,dx;读入PC0PC3mov cl,4shl al,cl;左移4位out dx,al;控制PC4PC7,习题8.14,串行异步通信发送8位二进制数01010101:采用起止式通信协议,使用奇校验和2个停止位。画出发送该字符时的波形图。若用1200 bps,则每秒最多能发送多少个数据?解答 每个字符的位数是:1个起始位8个数据位1个奇校验位2个停止位12位,采用1200bps、即每秒1200位的传送速率,则每秒最多能发送120012100个数据。,习题8.20,ADC的转换结束信号起什

10、么作用,可以如何使用该信号,以便读取转换结果?当A/D转换结束,ADC输出一个转换结束信号,通知主机读取结果。有多种使用A/D转换结束信号的方法,对应的程序设计方法也不同。查询方式:把结束信号作为状态信号经三态缓冲器送到主机系统数据总线的某一位上。主机不断查询这个状态位,发现结束信号有效,便读取数据。中断方式:把结束信号作为中断请求信号接到主机的中断请求线上。ADC转换结束,主动向微处理器申请中断。微处理器响应中断后,在中断服务程序中读取数据。DMA传送方式:如果ADC速度足够快,可把结束信号作为DMA请求信号,采用DMA传送方式。延时传送方法:不使用结束信号,微机延时到转换结束读取数据。,习

11、题8.21,某控制接口电路如本题图形。需要控制时,8255A的PC7输出一个正脉冲信号START启动A/D转换;ADC转换结束在提供一个低脉冲结束信号EOC的同时送出数字量。微处理器采集该数据,进行处理,产生控制信号。现已存在一个处理子程序ADPRCS,其入口参数是在AL寄存器存入待处理的数字量,出口参数为AL寄存器给出处理后的数字量。假定8255端口A,B,C及控制端口的地址依次为FFF8HFFFBH,要求8255的端口A为方式1输入、端口B为方式0输出。编写采用查询方式读取数据,实现上述功能的程序段。,习题8.21解答(1),;8255A初始化mov al,1011000bmov dx,0

12、fffbhout dx,al;使PC70(START为低)mov al,00001110bmov dx,0fffbhout dx,al;启动A/D转换mov al,00001111bmov dx,0fffbhout dx,al;使PC71(START为高)nopmov al,00001110bout dx,al;使PC70(START为低),习题8.21解答(2),;查询是否转换结束mov dx,0fffahagain:in al,dxtest al,20h;PC50(转换未结束,继续检测)jz again;PC51(转换结束)mov dx,0fff8h;输入数据in al,dxcall ad

13、prcs;处理数据mov dx,0fff9hout dx,al;输出数据,补充题1,已知8253的计数时钟频率为1MHZ若要求8253的计数通道2每隔8ms向CPU申请一次中断,则如何对8253进行编程设置?8253计数器0、1、2和控制端口地址依次为:304H、305H、306H、307H。,补充题1解答,根据题意要求产生周期为8ms的连续脉冲,故可采用8253的方式2和3。由于输出脉冲的周期是8ms,故其频率是1/8103,所以计数初值是106(1/8103)=8000。控制字是101110B=B4H,B6H,BCH,BEH。,补充题2,试编写一个程序段,要求在计数操作进行过程中读取计数器

14、2的内容,并把读取的数值装入AX寄存器,端口地址为304H307H。,补充题2解答,本题应先使用8253的锁存命令将计数器2的内容锁存起来,然后用读命令从锁存器中读取。mov dx,307Hmov al,10000000Bout dx,almov dx,306Hin al,dxmov bl,alin al,dxmov ah,almov al,bl,补充题3,分别对8255A的控制端口写入80H和08H,它们的作用各是什么?解答:对8255A的控制端口写入80H是方式控制字,其作用是设置A端口为方式0输出,端口B为方式0输出,端口C为方式0输出。对8255A的控制端口写入08H是端口C位控制字,

15、其作用是设置PC4为0,补充题4,当8255A的PC4PC7全部为输出线时,请问此时能否确定A端口的工作方式是什么?为什么?解答:当8255A的PC4PC7全部为输出线时,可以确定A端口为方式0。因为如果端口A为方式1或2时,PC4PC7中将有部分或全部被A端口征用。,补充题5,利用并行接口8255A与A/D转换器ADC0809连接的电路如图所示。当主机需要某个模拟输入通道的数据时,8255A的PC4输出一个高脉冲信号启动A/D转换;同时从PC5PC7输出该模拟通道的编码。ADC0809转换结束提供一个高电平信号EOC连接8255A的PC0。由于ADC0809的输出允许信号OE一直接高电平有效

16、,所以数字量在转换结束的同时送给连接于8255A的端口B。假定8255A端口A、B、C及控制端口的地址依次为FFF0HFFF3H。要求编写8255A的初始化程序段,编写依次启动8个模拟通道进行A/D转换、采用查询方式读取数据的程序段,8个数字量数据存放在数据段buffer变量指示的缓冲区。,补充题5图,补充题5解答(1),;数据段bufferdb 8 dup(0);设立数据缓冲区;8255A初始化程序段mov al,83H;1000011B83H,93Hmov dx,0fff3hout dx,almov al,08h;使启动信号为低电平out dx,al,补充题5解答(2),;A/D转换程序段

17、mov bx,offset buffer;BX数据缓冲区偏移地址mov cx,8;CX检测的数据个数mov al,10h;从IN0开始转换mov dx,0fff2h start1:out dx,al;启动A/D转换,使启动信号为高电平push axand al,0e0hout dx,al;使启动信号为低电平,形成正脉冲,补充题5解答(3),;循环查询是否转换结束start2:in al,dx;读入状态信息test al,01h;D0?,转换结束否?jz start2;D00,没有结束,则继续查询dec dx;D01,转换结束in al,dx;读取数据mov bx,al;存入缓冲区inc bxi

18、nc dx,补充题5解答(4),pop axpush cxmov cl,4shr al,cladd al,2shl al,clpop cxloop start1;转向下一个模拟通道进行检测;数据处理,补充题6,设IBM PC/XT机第一个串行口某次通信采用7个数据位、1个停止位和奇校验,采用1200波特,只允许发送保持寄存器空中断,编写8250的初始化程序。,补充题6解答(1),mov al,80hmov dx,3fbhout dx,al;写入通信线路控制寄存器,使DLAB1mov ax,96;分频系数:1.8432MHz(120016)9660Hmov dx,3f8hout dx,al;写入

19、除数寄存器低8位mov al,ah inc dxout dx,al;写入除数寄存器高8位,补充题6解答(2),mov al,00001010b;0AHmov dx,3fbh out dx,al;写入通信线路控制寄存器 mov al,0bh;允许INTRPT产生请求mov dx,3fchout dx,almov al,2;允许发送保持寄存器空中断 mov dx,3f9hout dx,al;写入中断允许寄存器(应保证此时DLAB0),补充题7,PC/XT机的异步通信接口电路中通过8250的输出引脚OUT2可选择允许中断或禁止中断(如下图所示)。PC/XT机的串行口1允许8250的发送保持寄存器空中断,为能响应这个中断,PC/XT机系统从8088 CPU、8259A到异步通信接口电路以及8250内部应开放4处对该中断的屏蔽,请分别说明这4处如何控制并写出对应的控制指令序列。,补充题7,补充题7解答(1),;CPUsti;8259允许IRQ3中断in al,21hand al,0f7hout 21h,al,补充题7解答(2),;异步通信接口电路,使OUT2输出低电平mov al,0bh(08h)mov dx,3fchout dx,al;8250内部的中断允许寄存器,使发送保持寄存器空允许中断moval,02hmov dx,3f9hout dx,al,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号