预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二8255A并行接口应用 一、实验目的 1.掌握8255A的功能及方式0、1的实现 2.熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。 3.了解七段数码管显示数字的原理。 4.掌握同时显示多位数字的技术。 二、8255应用小结 1.8255的工作方式 一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在 方式0、方式1,C口可以工作在方式0。 方式0是基本型输入/输出。这种方式和外设交换数据时,8255端口与外设之间不使用 联络线。 方式1为选通型输入/输出。用这种方式和外界交换数据时,端口和外设之间要有联络 信号。 方式2是双向数据传送,仅A口有这项功能。当A口工作在方式2时,B口仍可以工 作在方式0或方式1,但此时B口方式1只能用查询方式与CPU交换信息。 2.工作方式选择字 8255工作方式选择字共8位(如图),存放在8255控制寄存器中。最高位D7为标志 位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是 C口置位/复位控制字。 3.C口置/复位控制字 8255的C口可进行位操作,即:可对8255C口的每一位进行置位或清零操作,该操 作是通过设置C口置/复位字实现的(图8-10)。C口置/复位字共8位,各位含义如下: 3.8255A的控制信号与传输动作的对应关系 A1A0/RD/WR/CS工作状态 00010A口数据→数据总线 01010B口数据→数据总线 10010C口数据→数据总线 00100数据总线→A口数据 01100数据总线→B口数据 10100数据总线→C口数据 11100数据总线→控制寄存器 XXXX1数据总线→三态 11010非法状态 XX110数据总线→三态 4.命令字与初始化编程 8255有两个命令字,即方式选择控制字和C口置0/置1控制字,初始化编程的步骤是: ①向8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。 ②当端口预置为方式1或方式2时,再向控制寄存器写入“C口置0/置1控制字”。这 一操作的主要目的是使相应端口的中断允许触发器置0,从而禁止中断,或者使相应端口的 中断允许触发器置1,从而允许端口提出中断请求。 注意:“C口置0/置1控制字”虽然是对C口进行操作,但是该控制字是命令字,所以 要写入控制寄存器,而不是写入C口控制寄存器。 ③向8255数据寄存器写入“数据”或从8255数据寄存器读出“数据” 三、实验内容: 在实验一的基础上学习PIO芯片(8255)编程应用,熟悉平台的主要内容。CS用Y0 (EE00H) (一)简要说明: 在方式0(输入/输出)下,以A口为输出口,B口为输出口,A口接六个共阴极数码 管的八位段码,高电平点亮数码管的某一段,B口接数码管的位选(即要使哪个数码管亮), 高电平选中某一位数码管点亮。 8255A中A端口地址EE00H B端口地址EE01H C端口地址EE02H 控制地址EE03H 八段数码管的显示规律及数码管的位选规律自己查找,可用实验一中,学过的I、O命 令来做。 (二)6位数码管静态显示 在数码管电路上静态地显示6位学号,当主机键盘按下任意键时,停止显示,返回DOS。 提示:该电路6个数码管的同名阳极段已经复接,当段选寄存器寄存了一个字型编码 之后,6个数码管都有可能显示出相同的数字。如果要使6个数码管“同时”显示不同的数 字,必须采用扫描显示的方法,通过选位寄存器选择某一位数码管,显示其数字(对应段值 为1),然后关闭此数码管,再选择下一位数码管进行显示;如果在一秒钟内,每一位数码 管都能显示30次以上,则人眼看到的是几位数码管同时在显示。 实验证明,在扫描显示过程中,每一位显示延迟1ms是最佳选择。 (三)6位数码管动态显示 要求在数码管电路1-6位数码管上按图3.2所示的规律,动态显示字符串HELLO,当 主机键盘按下任意键时结束。 图3.2字符串动态显示示意图 提示: ①本实验应在上面实验的基础上完成 ②在数据段,按下列规律设置12个字型码: MESGDB0,0,0,0,0,0,3DH,0DCH,8CH,8CH,0EDH,0 POINTDWMESG …… POINT单元存放MESG单元的有效地址,程序取出POINT单元的内容→BX,然后用BX间 址取数送数码管电路,扫描显示6个字符。每过0.5s将POINT单元的内容加1,再将POINT 单元的内容→BX,……。POINT单元内容加1,使字符串显示的首地址向高地址移动一个单 元,从而使6位字符串向“左”移动一位,实现动态显示。 ③动态显示的速度可控制(快或慢),利用实验一读入端口的功能 (四)扩展部分:完成一个扫描键盘(PC口