8255键盘扫描与LED数码管显示-实验1-2.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方向(入/出/双向)。
8255的内部结构
A组控制 部件 A组端口 A(8) I/O PA7~PA0
双向数据总线 D7~D0
8位内部 数据总 线缓冲 器 数据总线
A组端口 C上半部 (4)
I/O PC7~PC4
B组端口 C上半部 下半部 (4) RD WR A1 A0 RESET
I/O PC3~PC0
2.端口寻址方式
对20H端口的访问格式:直接寻址
IN AL,20H ;从地址为20H的端口输入一个字节到AL
OUT 20H,AL ;将AL的内容输出到地址为20H的端口
对200H端口的访问格式:间接寻址 MOV DX,200H ;将端口地址送DX寄存器 IN AL,DX ;从地址为200H的端口输入一个字节到AL
注意:
1.数导线(21根),检查实验箱是否正常
2.下次实验时间是第**周
实验1 8255键盘扫描与LED数码管显示实验 一、复习8255及端口的寻址方式 1.8255相关知识 8255功能特性
三个独立的8位并行输入/输出端口,各端口均
具有数据输入、输出能力;
三种工作方式:0基本、1选通、2双向; 可通过编程设置各端口的工作方式和数据传送
十、实验程序
assume cs:code code segment org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设置为A口输入,;B口输出,C输出 out dx,ax ;8255初始化 check0: ; check0检测是否有健被按下 mov ax,00h ;C口的PC0、PC1、PC2作为行选择线 mov dx,04a4h ;C口地址 out dx,ax ; 写入C口内容00H,即令所有行为低电平 mov dx,04a0h ;A口地址 in ax,dx ;读入A口的内容 cmp al,0ffh ;判定是否有列线为低电平 je check0 ;没有,无闭合键,则循环等待 mov cx,05ffh ;延迟常数,可以修改来改变延时时间 delay: loop delay ;有,则延迟清除抖动,当cx=0时则停止该 循环
PC
8255的初始化
方式0:基本输入/输出方式 方式1:选通方式 方式2:双向方式(仅A口)
8255工作前必须初始化,初始化时需设置:
工作方式
数据传送方向
输入 输出
置0(百度文库电平) 置1(高电平)
PC口各数据线的状态(必要时)
通过向8255的控制口写入控制字实现:
方式控制字* 用于控制8255各端口的工作方式和数据传输方向 位控字 控制PC端口在方式0(输出)时每一根输出线的状态
D0 ~ D7 CS RD WR RESET A1 A0
PA
PB
PC
8255外部引脚
连接外设端的引线:
PA0~PA7
D0 ~ D7 CS RD WR RESET A1 A0
PA
PB0~PB7
PC0~PC7
分别对应PA、PB、 PC三个8位输入/输 出端口
PB
三个端口可通过编程分别指 定为输入或输出口。
A1
A15~A19 地址 译码器
A0
PB CS
LED数码管显示屏 跳线冒 电源电路
8255并行接口 LED1 ~LED6 LED-A~LED-DP
CPU板座
3*8键盘
RL10~RL17 KA10~KA12
复位键
七、实验步骤
1、实验接线 CS0 CS8255(地址为04A0H); PA0~PA7(输入)RL10~RL17(列选择线); PB0~PB7(输出)发光二极管LED-A~LED-DP ; PC0~PC2(输出)KA10~KA12(行选择线) PC3(输出)LED1 2、编程并全速或单步运行。 3、全速运行时按动键盘,观察数码管的变化。 4、编写实验报告。
OUT DX,AL ;将AL的内容输出到地址为200H的端口
编程 1 :把8255 工作方式设定为: A 口指定为方式 0 , 输入, C 口为输出; B 口指定为方式 0 ,输出;设 8255控制字寄存器端口地址为04a6H。 分析:根据题目得工作方式命令代码是10010000B或
90H。
五、实验设备
MUT—Ⅲ型实验箱、8086CPU模块。
六、8255与8086及8255与键盘的电路连接
8255
D0~D7
系 统 总 线 IOW IOR A2 DB D0~D7 WR RD A1 PC KA10~KA12 (行选择线) LED1(位控) LED-A~LED-DP (段控) PA
RL10~RL17 (列选择线)
初始化程序段为: dx,04a6h ;控制寄存器地址 ax,90h ;设置为A口输入,;B口输出,C输出
mov mov
out
dx,ax
;8255初始化
3. LED数码管
共阴极的情况下定义字形码: FECDBA9876543210
h—小数点
分类:
共阳极: 公共端接 高电平“H” 发光段接 低电平“L”
本实验中8255的地址分配如下: 端口A 04A0H 端口B 04A2H 端口C 04A4H 控制口 04A6H
八、实验程序流程图
采用行扫描 法检测
九 、编写实验报告
包括实验预习内容,实验目的,实验内容, 实验步骤和正确的程序代码 。 注意: 1、编程前先在E盘目录下建一个文件夹,并取 一个英名名字,即名字中不能有汉字和数字。编完 程序将其存于该目录下。 2、做实验之前先取下跳线冒。 3、做完实验将实验箱右上角的CPU板卸下,再 关实验箱。
a b c d e f g
+5V
共阴极: 公共端接 低电平“L” 发光段接 高电平“H”
A b c d e f g
*
二、键盘工作原理及键的识别方式
1 .键盘的工作原理
键盘的结构
2 .键的识别——行扫描
PC0 PC1 PC2
1
2
3
三、实验目的
掌握8255的编程原理及使用方法
四、实验内容
用8255扩展扫描3X8行列式键盘,由一位LED数码管 显示。 1、设计出8255与8086接口对应硬件电路,并完成相 应的连接; 2、调试对应8255、键盘、及数码管硬件接口电路及 相应接口软件 3、当用键盘输入时在数码管上显示相应值; 4、完成习题的内容。
读/写控 制部件
B组控制 部件
B组端口 B(8)
I/O PB7~PB0
CS
图9.9 8255编程结构
8255外部引脚
连接系统端的引线: D0~D7:数据线 CS:片选 RD:读控制 WR:写控制 RESET:复位 A1, A0:端口选择
A1 A0 0 0 0 1 1 0 1 1 选择 端口A 端口B 端口C 控制寄存器
8255工作方式控制字格式
1 D6 D5 D4 D3 D2 D1 D0 1:端口C(PC3~PC0)输入 0:端口C(PC3~PC0)输出 方 式 控 制 字 标 志 位 1:端口B输入 0:端口B输出 1:端口B方式1 0:端口B方式0 1:端口C(PC7~PC4)输入 0:端口C(PC7~PC4)输出 1:端口A输入 0:端口A输出 00:端口A方式0 01:端口A方式1 1X:端口A方式2