教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

单片机实验讲义(5)

来源:网络收集 时间:2026-08-09
导读: 八、程序框图:T6.ASM 主程序框图 中断程序框图 实验七 8255A可编程并行接口实验一 一、实验目的: 1. 了解8255A芯片的结构及编程方法。 2. 掌握通过8255A并行口读取开关数据的方法。 二、实验设备: EL-MUT-III

八、程序框图:T6.ASM

主程序框图

中断程序框图

实验七 8255A可编程并行接口实验一

一、实验目的:

1. 了解8255A芯片的结构及编程方法。 2. 掌握通过8255A并行口读取开关数据的方法。 二、实验设备:

EL-MUT-III型单片机实验箱、8051CPU模块 三、实验原理:

设置好8255A各端口的工作模式。实验中应当使三个端口都工作于方式0,并使A口为输出口,B口为输入口。 四、实验内容:

利用8255A可编程并行接口芯片,重复实验四的内容。实验可用B通道作为开关量输入口,A通道作为显示输出口。

五、实验电路:

六、实验步骤:

8255A的PA0~PA7接发光二极管L1~L8;PB0~PB7接开关K1~K8;片选信号8255CS接CS0。 七、程序框图:

系统初始化,设置8255的A口输出,B口输入。通过8255的B口将开关的状态读入CPU中通过8255的A口将读入的开关状态送给发光二极管显示延时10ms

八、参考程序:T7.ASM

NAME T7 ;8255A实验一

CSEG AT 0000H LJMP START CSEG AT 4100H

PA EQU 0CFA0H PB EQU 0CFA1H PCTL EQU 0CFA3H

START: MOV DPTR,#PCTL ;置8255A控制字,A、B、C口均工作 ;方式0,A、C口为输出,B口为输入 MOV A,#82H MOVX @DPTR,A

LOOP: MOV DPTR,#PB ; MOVX A,@DPTR

MOV DPTR,#PA ; MOVX @DPTR,A

MOV R7,#10H ;DEL0: MOV R6,#0FFH DEL1: DJNZ R6,DEL1 DJNZ R7,DEL0 JMP LOOP END

从B口读入开关状态值 从A口将状态值输出显示 延时

实验八 8255A可编程并行接口实验二

——键盘实验 一、实验目的:

1. 掌握8255A编程原理。 2. 了解键盘电路的工作原理。 3. 掌握键盘接口电路的编程方法。 二、实验设备:

EL-MUT-III型单片机实验箱、8051CPU模块 三、实验原理:

1.识别键的闭合,通常采用行扫描法和行反转法。

行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如所读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。

本实验例程采用的是行反转法。

行反转法识别键闭合时,要将行线接一并行口,先让它工作于输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口往各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上的输入值,那么,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可以读得一对唯一的行线值和列线值。

2.程序设计时,要学会灵活地对8255A的各端口进行方式设置。

3.程序设计时,可将各键对应的键值(行线值、列线值)放在一个表中,将要显示的0~F字符放在另一个表中,通过查表来确定按下的是哪一个键并正确显示出来。 实验题目

单片机实验讲义(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/403831.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)