- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口实验 4.1 IO端口扩展-8255 赖晓铮
微机原理与接口 实验系列 一、IO端口扩展(8255) 二、定时器/计数器(8253) 三、串口通信(8251) 四、模数转换(ADC0809) 五、数模转换(DAC0832) 六、液晶屏显示(LCD1602) 七、中断控制器(8259) 赖晓铮 博士 华南理工大学 laixz@scut.edu.cn QQ: (一) IO端口扩展(8255)实验 实验内容: ● 构建一个“CPU+8255”的微型计算机系统,通过8255芯片扩展微程序版CPU的I/O 端口功能。编写机器语言程序,通过8255芯片实现可定制的循环“流水灯”功能;进而编写机器语言程序,通过8255芯片实现记录4×4键盘按键触发位置(行/列)的功能。 实验目的: ● 理解可编程并行接口芯片8255的基本工作原理。 ● 掌握CPU使用8255芯片外扩IO端口的硬件架构及编程方法。 微程序版“CPU+8255”电路图 初始化过程 时钟信号CLK接手动开关MANUAL,启动仿真,使能复位信号#RESET=0; 手动按钮MANUAL开关“0?1?0”,然后令信号#RESET=1. 注:初始化完成后,若时钟信号CLK继续接开关MANUAL,则CPU进入手动模式,手动MANUAL开关,生成时钟信号CLK,程序单步执行;若时钟信号CLK接信号源AUTO-CLK(主频10Hz),则CPU进入自动模式,程序自动运行,直到HLT指令的“断点”处暂停。 重启过程(跳出“断点”) 时钟信号CLK接开关MANUAL,手动令复位信号端#RESET的状态“1?0?1”变化,即重启完成,跳出“断点”继续执行 。 注:跳出“断点”后,CPU进入HLT指令的后续下一条指令的取指周期。 8255应用电路图 可编程并行IO接口芯片8255A结构图 8255A控制字示意图 #CS #RD #WR A1 A0 操 作 数 据 传 送 方 式 0 0 1 0 0 读 A 口 A口数据→数据总线 0 0 1 0 1 读 B 口 B口数据→数据总线 0 0 1 1 0 读 C 口 C口数据→数据总线 0 1 0 0 0 写 A 口 数据总线数据→A口 0 1 0 0 1 写 B 口 数据总线数据→B口 0 1 0 1 0 写 C 口 数据总线数据→C口 0 1 0 1 1 写控制口 数据总线数据→控制口 1 X X X X 禁止访问 数据总线接口高阻态 8255A控制端口功能图 8255A 工作方式1 (选通) 输入组态 8255A 工作方式1 (选通) 输入时序图 8255A 工作方式1 (选通) 输出组态 8255A 工作方式1 (选通) 输出时序图 8255A 工作方式2 (双向传送) 应答联络线 定义 8255A 工作方式2 (双向传送) 时序图 实验步骤(可编程的循环流水灯): 1) 可编程的循环流水灯程序8255_Cycle_LED.asm存放在实验4.1项目的子文件夹test里,其功能实现了CPU从8255芯片的A口读入拨码开关设置的8位数值,从B口输出该数值到8位LED灯。然后,该数值不断循环移位,在8位LED灯上形成“循环流水灯”效果。具体代码如后页所示。 2) 编译、烧写、自动运行8255_Cycle_LED源程序,在程序自动运行过程中,观察B口连接的8位LED灯变化。 (编译和烧写asm文件的方法参见“2.6存储器实验:ROM批量导入数据”) 3) 修改8255_Cycle_LED 源程序,A口连接的拨码开关设置不同的数值,观察自动执行过程中B口连接的8位LED灯变化。 汇编助记符 注释 (M地址:机器指令) SET R0, 86H 选8255地址[1000xxxx] 控制端A1A0=11 00H01HOUTA R0, AR 02HSET R0, 99H 控制字:PA输入/PB输出/PC输入 03H04HOUT R0, PORT0 05HSET R0, 80H 选PA口:A1A0=00 06H07HOUTA R0, PORT0 08H:0
文档评论(0)