2022年非编码键盘的扫描程序设计 .pdf
《2022年非编码键盘的扫描程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年非编码键盘的扫描程序设计 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、武汉理工大学计算机控制技术课程设计说明书摘要计算机控制技术课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。本次课程设的内容是利用8031 微控制器,通过 8155 扩展 I/O 口行列式键盘。要求通过8155 扩展 I/O 口组成 4 8 行列式键盘,设计非编码键盘的扫描系统,并且能够对键盘的按键正确识别,去抖动。关键词:8155非编码去抖名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术
2、课程设计说明书目录1 课程设计目的 . 12 非编码键盘. 23 芯片介绍 . 33.1 8031芯片介绍. 33.2 8155芯片介绍 . 44 电路设计 . 65 程序设计 . 76 电路仿真 . 107 心得体会 . 13附录程序清单. 14参考文献 . 17名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术课程设计说明书第 1 页共 17 页非编码键盘的扫描程序设计1 课程设计目的(1)了解并掌
3、握非编码键盘的工作原理;(2)熟悉和掌握 8155 与 8031 的结构及工作原理;(3)通过课程设计,掌握电路设计的基本方法和技术;(4)掌握单片机的接口技术及相关外围芯片的外特性,控制方法,从而加深对计算机控制技术知识的理解;(5)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术课程设计说明书第 2 页共 17 页2 非编码键盘键盘可以
4、分为编码式和非编码式两种。编码式键盘是通过数字电路直接产生对应于按键的 ASC码,这种方式目前很少使用。非编码式键盘将案件排列成矩阵的形势, 由硬件或软件随时对矩阵扫描,一旦某一键被按下, 该键的行列信息即被转换为位置码并送入主机, 再由键盘驱动程序查表, 从而得到按键的 ASC码,最后送入内存中的键盘缓冲区供主机分析执行。非编码式键盘由于结构简单,按键重定义方便而成为目前最常采用的键盘类型。由此,多姿多彩的多媒体键盘便应运而生,这些键盘通常出现在品牌机上,如联想、同方等,品牌机上的“单键上网”也是基于此原理。非编码键盘又分为:独立键盘和行列式(又称为矩阵式)键盘。本次课程设计要求设计的是 4
5、 8 行列式键盘。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术课程设计说明书第 3 页共 17 页3 芯片介绍3.1 8031芯片介绍8031和 8051一样是最常见的MCS51 系列单片机,是 inter 公司早期的成熟的单片机产品,应用范围涉及到各行各业。8031有 40个引脚,采用双列直插封装,其引脚图如图3-1 所示。图 3-1 8031 引脚图XTAL1 :内部振荡电路反相放大器的输入端
6、,是外接晶体的一个引脚。 当采用外部振荡器时,此引脚接地。XTAL2 :内部振荡电路反相放大器的输出端。是外接晶体的另一端。 当采用外部振荡器时,此引脚接外部振荡源。RST:当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变) ,将使单片机复位。PSEN: 程序选通有效信号, 当从外部程序存贮器读取指令时产生低电平时,指令寄存器的内容读到数据总线上。ALE:地址锁存有效信号,其主要作用是提供一个适当的定时信号,在它的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页
7、,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术课程设计说明书第 4 页共 17 页下降沿用于外部程序存储器或外部数据存贮器的低8 位地址锁存,使总线P0输出/输入口分时用作地址总线(低8 位)和数据总线,此信号每个机器出现2 次,只是在访问外部数据存储器期间才不输出ALE 。EA: 当保持 TTL 高电平时,如果指令计数器小于4096, 8031执行内部 ROM的指令;当使 TTL 为低电平时,从外部程序存贮器取出所有指令。P0.0P0.7:通道 0,它是 8 位漏极开路的双向I/O 通道,当扩展外部存贮器时,这也是低八位地址和数据总线, 在编程校验期间, 它输
8、入和输出字节代码,通道 0 吸收/发出二个 TTL 负载。P1.0P1.7:通道 1 是 8 位拟双向 I/O 通道,在编程和校验时,它发出低8位地址。通道 1 吸收/发出一个 TTL 负载。P2.0P2.7:通道 2 是 8 位拟双向 I/O 通道,当访问外部存贮器时,用作高8 位地址总线。通道2 能吸收 /发出一个 TTL 负载。P3.0P3.7:通道 3 准双向 I/O 通道。通道 3 能吸收 /发出一个 TTL 负载。3.2 8155芯片介绍8155是一多功能的可编程外围接口芯片,内部资源有 256B 的 RAM ,2 个 8位、1 个 6 位的 I/O 口和 1 个 14 位的“ 减
9、 1” 计数器。 8155有 40 个引脚,采用双列直插封装,总线型的8155 引脚图如图 3-2 所示。图 3-2 总线型 8155 引脚图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术课程设计说明书第 5 页共 17 页AD0AD7:三态地址 / 数据线,是低 8 位地址与数据复用线。地址可以是8155片内 RAM 单元地址或 I/O 端口地址。 AD0AD7 上的地址由 ALE 的下降沿存到
10、8155 片内地址锁存器。也就是由ALE 信号来区别 AD0AD7 上出现的地址信息还是数据信息。ALE:锁存允许信号。在ALE信号的下降沿把 ADOAD7 上的 8 位地址信息, CS片选信号及 IO/M信号都锁存到 8155 内部存储器中。CS: 片选信号,低电平有效,由 ALE信号的下降沿锁存到8155 内部存储器。RD:读选通信号,低电平有效。当RD=0、 CS=0 时,开启 AD0AD7 的缓冲器,被选中的片内RAM 单元或 IO 口的内容送到 AD0AD7 上。WR :写选通信号。低电平有效,当CS、WR 都有效时, CPU 输出到 AD0 AD7上的信息送到 8155片内 RAM
11、 单元或 I/O 端口。IO/M:IO 口/ RAM 选择。 0:选内 RAM ;1:选内 IO 口。RES:复位信号输入端,高电平有效。复位后,3 个 I/O 口均为输入方式。PA0PA7:A 口的 I/O 线,其输入、输出的流向可由程序控制。PB0PB7:B 口的 I/O 线,其输入、输出的流向可由程序控制。PC0PC5:有两个作用,既可作为通用的I/O 口,也可作为 PA口和 PB 口的控制信号线,这些可通过程序控制。TIN:定时器输入。TOUT :定时器输出。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
12、- - - - - - - 第 7 页,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术课程设计说明书第 6 页共 17 页4 电路设计总设计电路图如图4-1 所示。图 4-1 总设计电路图如上图,8031 的 P0.0P0.7分别与 8155 的 AD0AD7 相连接,8155 的 PC口与 PB 口分别控制矩阵键盘的行与列,8031 的 P2.0 口及 P2.7 口分别与 8155的 IO/M及 CS相连。按照这种连线方式,8155 的命令状态寄存器地址、A 口地址、B 口地址和 C 口地址分别是 0X7FF0H、0X7FF1H、0X7FF2H 和 0X7FF3
13、H。在扫描键盘时,我们将8155 的 B 口设置为输出口、 C 口设置为输入口,这样 8155 的命令状态寄存器地址赋值为0X02。由图 4-1 可以看出,在矩阵键盘的行下面加了一排下拉电阻,因此我们采用的是将键盘电位拉高的扫描方式。为了验证矩阵键盘扫描的正确性, 我们在 8031 的 P1 口上加了一排发光二极管。将键盘一次从左到右从上到下编号,可以从1 编到 32。我们将发光二极管亮定义为“ 1” ,灭定义为“ 0” 。因此根据发光二极管的亮灭,按照P1口由高位到低位的顺序排列, 可以得到一个八位的二进制数, 再将二进制数转化为十进制数。我们定义:当第一个键盘按下时,发光二极管显示“1”
14、;当第二个键盘按下时,发光二极管显示“ 2” ,以此类推。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 武汉理工大学计算机控制技术课程设计说明书第 7 页共 17 页5 程序设计在程序设计部分, 我们采用模块化程序设计的方法,即将各功能模块化, 编写成一段一段的子程序, 最后在主程序中调用各子程序完成设计所需功能。采用模块化程序设计的方法降低了程序复杂度,使程序设计、调试和维护等操作简单化。首先,设计主程序,其流程图如图5-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年非编码键盘的扫描程序设计 2022 编码 键盘 扫描 程序设计
限制150内