习题9并接口8255稻谷书屋_第1页
习题9并接口8255稻谷书屋_第2页
习题9并接口8255稻谷书屋_第3页
习题9并接口8255稻谷书屋_第4页
习题9并接口8255稻谷书屋_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题9 并行接口主要内容:8255的外部特性、内部结构,初始化编程,应用。9.1 8255a的3个端口在使用时有什么差别?【答】 () 端口对应个位数据输入锁存器和个位数据输出锁存器缓冲器。所以,用端口作为输入或输出时,数据均受到锁存(与工作方式有关)。() 端口对应个位数据输入缓冲器和个位数据输出锁存器缓冲器。() 端口对应个位数据输入缓冲器和个位数据输出锁存器缓冲器。这样,当端口作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。在使用中,端口和端口常常作为独立的输入端口或输出端口,端口则配合端口和端口的工作。具体的讲,端口常常通过控制命令被分成个位端口,每个位端口包含个位的

2、输入缓冲器和个位的输出锁存器缓冲器,它们分别用来为端口和端口提供控制信号和状态信号。 9.2 8255a的方式0一般使用在什么场合?在方式0时,如要使用应答信号进行联络,应该怎么办?【答】方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。在方式0情况下,没有规定固定的应答信号,所以,这时,将端口a端口b作为数据端口,把端口c的4个数位(高4位或者是低4位均可)规定为输出口,用来输出一些控制信号,而把端口c的另外4个数位规定为输入口,用来读入外设的状态。就是这样,利用端口c来配合端口a和端口b的输入/输出操作。9.3当数据从8255a的端口c往数据总线上读出时,8255a的几个控制信号

3、cs、a1、a0、rd、wr分别是什么?【答】 cs0、a11、a00、rd1 、wr0。9.4 8255a的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来区分的?【答】当8255a接收到写入控制口的控制字时,就会对最高位即标志位进行测试。如为1,则将此字节作为方式选择控制字写入控制寄存器;如为0,则此字节作为对端口c的置1/置0控制来处理。9.5 对8255a设置工作方式,8255a的控制口地址为00c6h。要求端口a工作在方式1,输入;端口b工作在方式0,输出;端口c的高4位配合端口a工作;低4位为输入。(口地址为80h83h)【答】控制字:10110001b1h

4、moval ,b1hout83h ,al9.6 设8255a的4个端口地址为00c0h,00c2h,00c4h,00c6h,要求用置0/置1方式对pc6置1,对pc4置0。【答】moval,00001101h;对pc6置1的控制字movdx,00c6h;控制地址dxoutdx,al;对pc6置1操作 moval,00001000h;对pc4置0的控制字 outdx,al9.7 编一初始化程序,使8255a的pc5端输出一个负跳变。如果要求pc5端输出一个负脉冲则初始化程序又是什么情况?【答】 初始化程序:mov al,0000 1011 h;pc5置“1”控制字almovdx,046h;控制口

5、地址dlout dx,al;置“1”控制字控制寄存器mov al,00001010b;pc5置“0”控制字aloutdx , al;置“0”控制字控制寄存器 如果要求pc5输入一个负脉冲则再加两条指令:mov a l ,00001011out dx,al9.8 8255a与打印机的接口如图10-1,8255为工作方式0,试编写初始化程序。若要将dl中的字符送到打印机打印,编写打印程序。(口地址为60h63h)图10-1【答】工作过程:当主机要往打印机输出字符时,先查询打印机忙信号,如果打印机正在处理一个字符或在打印一行字符,则忙信号为1,否则为0。pp:mov al,81h;8255工作方式字

6、out 63h, al ;a口方式0,输出,c47输出,c03输入mov al,00001111b;pc7置1,禁止stbout 63h,allpst:in al,62h;读c口and al,01h;查pc0=0?jnz lpst ;忙,等待;不忙,送数mov al,dl ;cl中字符送端口aout 60h,al ;送数到a口mov al,00001110b ;将pc7置0(使stb有效)out 63h,al;al= 0000 1100 bnop ; 延时mov al, 0000 1111;al0000 1111 bout 63h,al;再使stb(pc7)为19.9 设一工业控制系统,有四个

7、控制点,分别由四个对应的输入端控制,现用8255a的c口实现该系统的控制,如图10-2。开关k0k3打开则对应发光二极管l0l3亮,表示系统该控制点运行正常;开关闭合则对应发光二极管不亮,说明该控制点出现故障。编写8255a的初始化程序和这段控制程序。图10-2【答】参考程序如下:moval,10000001bout63h,al;8255方式设置l1:inal,62h;查询k0状态testal,01hjzl11moval,00000001bout63h,al;正常,l0亮jmpl2l11:moval,00000000b;不正常,l0灭out63h,all2:inal,62h;查询k1状态tes

8、tal,02hjzl21moval,00000011bout63h,aljmpl3l21:moval,00000010bout63h,all3:inal,62h;查询k2状态testal,04hjzl31moval,00000101bout63h,aljmpl4l31:moval,00000100bout63h,all4:inal,62h;查询k3状态testal,08hjzl41moval,00000111bout63h,aljmpl1l41:moval,00000110bout63h,aljmpl1;循环查询k0状态10.10 8255芯片的a口和b口分别与8个led灯和8个开关连接好,通

9、过开关控制led等的开和闭。8255的端口地址为40, 42, 44和46h。画出译码电路图,编写初始化程序和控制程序。【答】参考程序如下:moval,10000010bout46h,al;8255方式设置l1:inal,42h;读b口开关状态out40h,al;写a口控制ledjmpl19.11 如图10-3为用一片8255a控制八个8段共阴极led数码管的电路。现要求按下某个开关,其代表的数字( k1为1,k2为2,k8为 8)在数码管从左到右循环显示(已有一个延时子程序delay可以调用),直到按下另一个开关。假定 8255a的口 a、b、c及控制口的地址依次为fff0hfff3h。编写

10、完成上述功能的程序,应包括8255a的初始化、控制程序和数码管的显示代码表。 图10-3【答】参考程序:tabdb06h,5bh,4fh,66h,6dh,7dh,07h,7fh;led数码管18的显示段码pbdb1;位选定义pcdb0;开关状态暂存movbx,0movds,bxmovbx,offset tab;段码表指针moval,10001001bmovdx,0fff3houtdx,al;8255方式设置l1:movdx,0fff1hmoval,pboutdx,al;位选通calldelayrolpb,1;位选转换movdx,0fff2hinal,dx;读开关状态movpc,al;开关状态暂

11、存movcx,8;移位8次查询开关状态,同时按下最高位优先l2:rcrpc,1jcl3moval,8subal,cl;获得开关位xalt;查表获得显示段码movdx,0fff0houtdx,al;显示开关位l3:loopl2jmpl19.12 8255工作在方式1,输入和输出时中断服务程序各完成什么功能? 【答】输入中断服务程序从8255输入数据寄存器读数据。输出中断服务程序向8255输出数据寄存器写数据。9.13 有个 1 m s的脉冲信号源送8253的计数器1利用软件方式扩大定时1秒,每秒钟从8255的pa口读入一组开关数并送pb口的led管显示,设8253,8255的端口地址分别为40h43h和60h63h,且只用10条地址线(a0a9)用于端口译码。请完成: 硬件连接。 编写对8253计数器1初始化程序段(仅50ms)。 编写对8255的初始化程序以及1秒到后从pa口读入一个字节开关数并送pb口显示的程序段。【答】8253计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论