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

上传人:自*** 文档编号:126589985 上传时间:2020-03-26 格式:PPT 页数:43 大小:263KB
返回 下载 相关 举报
《微机接口习题》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键单独按下时 发光二极管L0 L7将依次点亮 L0 L1 L2 L7 每个维持200ms 当K1键单独按下时 发光二极管L0 L7将反向依次点亮 L7 L6 L5 L0 每个也维持200ms 在其他情况下各发光二极管均不点亮 假定有延时200ms的子程序DELAY可直接调用 习题7 7解答 1 again movdx 8000hinal dxcmpal 0feh D7 D0 11111110B jznext1 单独按下K0 转移到next1cmpal 0fdh D7 D0 11111101B jznext2 单独按下K1 转移

2、到next2jmpagain 其它情况不点亮 习题7 7解答 2 next1 movcx 8moval 1 从K0开始next11 outdx al 某个LED点亮calldelay 延时200msshlal 1 rolal 1loopnext11jmpagain 习题7 7解答 3 next2 movcx 8moval 80h 从K7开始next21 outdx al 某个LED点亮calldelay 延时200msshral 1 roral 1loopnext21jmpagain 习题7 8 现有一个输入设备 其数据端口地址为FFE0H 状态端口地址为FFE2H 当状态标志D0 1时 表明

3、一个字节的输入数据就绪 请编写利用查询方式进行数据传送的程序段 要求从该设备读取100个字节保存到BUFFER缓冲区 习题7 8解答 movbx offsetbuffermovcx 100again movdx 0ffe2hstatus inal dx 查询一次testal 01hjzstatusmovdx 0ffe0hinal dx 输入一个字节mov bx alincbxloopagain 循环 输入100个字节 习题7 9 某个字符输出设备 其数据端口和状态端口的地址均为80H 在读取状态时 当标志位D7 0时 表明该设备闲 可以接收一个字符 请编写利用查询方式进行数据传送的程序段 要求

4、将存放于缓冲区ADDR处的一串字符 以0为结束标志 输出给该设备 习题7 9解答 movbx offsetaddragain cmpbyteptr bx 0jzdonestatus inal 80h 查询testal 80hjnzstatusmoval bx out80h al 输出一个字节incbxjmpagain 循环 习题8 6 试按如下要求分别编写8253的初始化程序 已知8253的计数器0 2和控制字I O地址依次为204H 207H 使计数器1工作在方式0 仅用8位二进制计数 计数初值为128 使计数器0工作在方式1 按BCD码计数 计数值为3000 使计数器2工作在方式2 计数值

5、为02F0H 习题8 6解答 1 moval 50h 01010000bmovdx 207houtdx almoval 128 80hmovdx 205houtdx al 习题8 6解答 2 moval 33h 00110011bmovdx 207houtdx almovax 3000h 不是3000movdx 204houtdx almoval ahoutdx al 习题8 6解答 3 moval 0b4h 10110100bmovdx 207houtdx almoval 02f0hmovdx 206houtdx almoval ahoutdx al 习题8 10 用8255端口A方式0与打

6、印机接口示例中 如果改用端口B 其他不变 说明应该如何修改接口电路和程序 解答 修改电路 将端口B的PB0 PB7接打印机的数据位DATA0 DATA7即可 修改程序 将输出数据端口改为FFFAH即可 习题8 11 用8255端口A方式1与打印机接口 如果改用端口B 其他不变 说明如何修改接口电路和程序 解答修改电路 PA0 PA7改为PB0 PB7 PC6改用PC2 PC7改用PC1 PC3改用PC0 习题8 11解答 1 修改程序 movdx 0fffehmoval 84houtdx almoval 04h 使INTEB PC2 为0 禁止中断outdx al movcx counter

7、打印字节数送CXmovbx offsetbuffer 取字符串首地址callprints 调用打印子程序 习题8 11解答 2 printsprocpushax 保护寄存器pushrint1 moval bx 取一个数据movdx 0fffahoutdx al 从端口B输出movdx 0fffchprint2 inal dxtestal 02h 检测 PC1 为1否 jzprint2incbxloopprint1popopaxretprintsendp 习题8 12 有一工业控制系统 有四个控制点 分别由四个对应的输入端控制 现用8255的端口C实现该系统的控制 如本题图形 开关K0 K3打开

8、则对应发光二极管L0 L3亮 表示系统该控制点运行正常 开关闭合则对应发光二极管不亮 说明该控制点出现故障 编写8255的初始化程序和这段控制程序 习题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 习题8 14 串行异步通信发送8位二进制

9、数01010101 采用起止式通信协议 使用奇校验和2个停止位 画出发送该字符时的波形图 若用1200bps 则每秒最多能发送多少个数据 解答每个字符的位数是 1个起始位 8个数据位 1个奇校验位 2个停止位 12位 采用1200bps 即每秒1200位的传送速率 则每秒最多能发送1200 12 100个数据 习题8 20 ADC的转换结束信号起什么作用 可以如何使用该信号 以便读取转换结果 当A D转换结束 ADC输出一个转换结束信号 通知主机读取结果 有多种使用A D转换结束信号的方法 对应的程序设计方法也不同 查询方式 把结束信号作为状态信号经三态缓冲器送到主机系统数据总线的某一位上 主

10、机不断查询这个状态位 发现结束信号有效 便读取数据 中断方式 把结束信号作为中断请求信号接到主机的中断请求线上 ADC转换结束 主动向微处理器申请中断 微处理器响应中断后 在中断服务程序中读取数据 DMA传送方式 如果ADC速度足够快 可把结束信号作为DMA请求信号 采用DMA传送方式 延时传送方法 不使用结束信号 微机延时到转换结束读取数据 习题8 21 某控制接口电路如本题图形 需要控制时 8255A的PC7输出一个正脉冲信号START启动A D转换 ADC转换结束在提供一个低脉冲结束信号EOC的同时送出数字量 微处理器采集该数据 进行处理 产生控制信号 现已存在一个处理子程序ADPRCS

11、 其入口参数是在AL寄存器存入待处理的数字量 出口参数为AL寄存器给出处理后的数字量 假定8255端口A B C及控制端口的地址依次为FFF8H FFFBH 要求8255的端口A为方式1输入 端口B为方式0输出 编写采用查询方式读取数据 实现上述功能的程序段 习题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为高 nopmov

12、al 00001110boutdx al 使PC7 0 START为低 习题8 21解答 2 查询是否转换结束movdx 0fffahagain inal dxtestal 20h PC5 0 转换未结束 继续检测 jzagain PC5 1 转换结束 movdx 0fff8h 输入数据inal dxcalladprcs 处理数据movdx 0fff9houtdx al 输出数据 补充题1 已知8253的计数时钟频率为1MHZ若要求8253的计数通道2每隔8ms向CPU申请一次中断 则如何对8253进行编程设置 8253计数器0 1 2和控制端口地址依次为 304H 305H 306H 307

13、H 补充题1解答 根据题意要求产生周期为8ms的连续脉冲 故可采用8253的方式2和3 由于输出脉冲的周期是8ms 故其频率是1 8 103 所以计数初值是106 1 8 103 8000 控制字是1011 1 0B B4H B6H BCH BEH 补充题2 试编写一个程序段 要求在计数操作进行过程中读取计数器2的内容 并把读取的数值装入AX寄存器 端口地址为304H 307H 补充题2解答 本题应先使用8253的锁存命令将计数器2的内容锁存起来 然后用读命令从锁存器中读取 movdx 307Hmoval 10000000Boutdx almovdx 306Hinal dxmovbl alin

14、al dxmovah almoval bl 补充题3 分别对8255A的控制端口写入80H和08H 它们的作用各是什么 解答 对8255A的控制端口写入80H是方式控制字 其作用是设置A端口为方式0输出 端口B为方式0输出 端口C为方式0输出 对8255A的控制端口写入08H是端口C位控制字 其作用是设置PC4为0 补充题4 当8255A的PC4 PC7全部为输出线时 请问此时能否确定A端口的工作方式是什么 为什么 解答 当8255A的PC4 PC7全部为输出线时 可以确定A端口为方式0 因为如果端口A为方式1或2时 PC4 PC7中将有部分或全部被A端口征用 补充题5 利用并行接口8255A

15、与A D转换器ADC0809连接的电路如图所示 当主机需要某个模拟输入通道的数据时 8255A的PC4输出一个高脉冲信号启动A D转换 同时从PC5 PC7输出该模拟通道的编码 ADC0809转换结束提供一个高电平信号EOC连接8255A的PC0 由于ADC0809的输出允许信号OE一直接高电平有效 所以数字量在转换结束的同时送给连接于8255A的端口B 假定8255A端口A B C及控制端口的地址依次为FFF0H FFF3H 要求编写8255A的初始化程序段 编写依次启动8个模拟通道进行A D转换 采用查询方式读取数据的程序段 8个数字量数据存放在数据段buffer变量指示的缓冲区 补充题5

16、图 补充题5解答 1 数据段bufferdb8dup 0 设立数据缓冲区 8255A初始化程序段moval 83H 100 0011B 83H 93Hmovdx 0fff3houtdx almoval 08h 使启动信号为低电平outdx al 补充题5解答 2 A D转换程序段movbx offsetbuffer BX 数据缓冲区偏移地址movcx 8 CX 检测的数据个数moval 10h 从IN0开始转换movdx 0fff2hstart1 outdx al 启动A D转换 使启动信号为高电平pushaxandal 0e0houtdx al 使启动信号为低电平 形成正脉冲 补充题5解答 3 循环查询是否转换结束start2 inal dx 读入状态信息testal 01h D0 转换结束否 jzstart2 D0 0 没有结束 则继续查询decdx D0 1 转换结束inal dx 读取数据mov bx al 存入缓冲区incbxincdx 补充题5解答 4 popaxpushcxmovcl 4shral claddal 2shlal clpopcxloopstart

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号