44矩阵键盘仿真1
更新时间:2023-08-07 04:20:01 阅读量: 实用文档 文档下载
单片机的矩阵键盘设计
摘 要
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,
应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、
可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用
在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等
各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。单片机系统的开发
过程中,程序设计语言的选择尤为重要。C51提供高效的代码,结构化的编程和丰富的操
作符,多被采用。C51是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具
备汇编语言的功能,而且可以直接实现对硬件的控制。本课程设计以AT89S51芯片为核心,
程序设计采用汇编语言,辅以必要的电路,并运用proteus软件设计了4*4矩阵键盘仿真。
单片机的矩阵键盘设计
目 录
摘 要 ............................................................................................................................................. I
目 录 ............................................................................................................................................. I
前 言 ............................................................................................................................................. I
第一章 单片机的概述 ..................................................................................................................... 1
1.1 什么是单片机? .................................................................................................................. 1
1.2 MCS-51单片机内部结构 ..................................................................................................... 1
1.3单片机的应用领域 ................................................................................................................ 2
1.4 AT89C51简介 ....................................................................................................................... 3
第二章 软件的介绍及使用............................................................................................................. 6
2.1 Proteus软件的介绍和使用 ................................................................................................. 6
2.1.1 进入Proteus ISIS.................................................................................................... 6
2.1.2工作界面 ................................................................................................................... 6
2.1.3原理图仿真调试 ......................................................................................................... 7
2.2 Keil uVision2软件的介绍 ................................................................................................. 8
第三章 系统总体设计 ................................................................................................................. 13
3.1系统原理 ............................................................................................................................ 13
3.2电路组成 ............................................................................................................................ 13
3.2.1键盘部分 ................................................................................................................. 13
3.2.2 LED显示 ................................................................................................................. 14
3.2.3晶振电路 ................................................................................................................. 14
3.3功能和原理图 ..................................................................................................................... 15
3.3.1实现功能 ................................................................................................................. 15
3.3.2硬件电路原理图 ....................................................................................................... 15
3.4系统与硬件的连接 .............................................................................................................. 16
第四章 系统软件设计 ................................................................................................................. 17
4.1程序框图 ............................................................................................................................ 17
4.2源程序 ............................................................................................................................... 17
第五章 程序的编译调试与仿真 ................................................................................................. 22
5.1程序的编译 ........................................................................................................................ 22
5.2调试与仿真 ........................................................................................................................ 23
第六章 结束语 ............................................................................................................................. 25
6.1设计总结 ............................................................................................................................ 25
6.2工作展望 ............................................................................................................................ 25
参考文献 ....................................................................................................................................... 26
致 谢 ........................................................................................................................................... 27
单片机的矩阵键盘设计
前 言
随着人们生活水平的提高,19世纪兴起的数字电路以其先天的便捷、稳定的优点在现
代电子技术电路中占有越来越重要的地位。数字电路与模拟电路相比有显而易见的稳定
性。近年来,数字电路又有了巨大的发展。可编程逻辑器件(PAL、GAL等)的发展和普及
最终使IC的设计面向了用户(这是模拟电路无法做到的),而这毫无疑问会给用户带来巨
大的便捷,从而奠定它在电子电路中的对位。
单片机技术的出现给现代工业测控领域带来了一次技术革命。目前,单片机仍以
其高可靠性、高性价比,在工业控制系统、数据采集系统、智能画仪器仪表、智能家电等
诸多领域得到了广泛的应用。作为将要从事单片机应用系统开发方面的技术人员,掌握单
片机的应用技术是必要的。
在单片机的应用过程中,单片机只是应用系统的一个核心部件,为把单片机系统应用
于不同的领域,只掌握单片机的基础知识是远远不够的,要想构成一个完善的应用系统,
还要熟悉执行机构及硬件接口电路的应用特性,同时,还应该掌握系统的结构布局、印刷
电路板的结构布局及软件的设计技巧这些书本上学不到的知识,因此为设计出完善的应用
系统,必须在实际工作中勤于实践,逐步积累这方面的经验。单片机将计算机的基本部件
微型化,使之集成在一块芯片上的微机。单片机有着体积小、功耗低、功能强、性能价格
比高、易于推广应用等显著优点,在许多领域得到日益广泛的应用。
单片机系统的开发过程中,程序设计语言的选择尤为重要。C51提供高效的代码,
结构化的编程和丰富的操作符,多被采用。C51是一种编译型程序设计语言,它兼顾了多
种高级语言的特点,并具备汇编语言的功能,而且可以直接实现对硬件的控制。
此次设计选用的德国Keil公司开发的基于Windows平台的单片机集成开发环境,
是51单片机开发的优秀软件之一,它集编辑、编译、仿真功能于一体,支持C语言、汇
编语言的程序设计及调试,再加上单片处理器(89C51)、键盘、LED显示器及单片机的晶
振电路,最终实现基于单片机AT89C51的4*4矩阵键盘proteus仿真。
单片机的矩阵键盘设计
第一章 单片机的概述
单片微型计算机(single chip microcomputer)简称单片机,又称微控制器(micro
controller unit)或嵌入式控制器(embedded controller)。它将计算机的基本部件微
型化,使之集成在一块芯片上的微机。片内含有CPU、ROM、RAM、并行I/O、串行I/O、定
时器/计数器、中断控制、系统时钟及系统总线。单片机有着体积小、功耗低、功能强、
性能价格比高、易于推广应用等显著优点,在自动化装置、智能化仪器仪表、过程控制和
家用电器等许多领域得到日益广泛的应用。
用C51进行单片机程序设计是单片机开发与应用的必然趋势。采用C51可以很容易的
进行单片机的程序移植工作,有利于产品中的单片机的重新选型。随着国内单片机开发工
具研制水平的提高,现在的单片机仿真器普遍支持C51程序的调试,为单片机编程使用C51
提供了便利的条件。
1.1 什么是单片机?
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系
统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价
格便宜、为学习、应用和开发提供了便利条件。单片机内部也用和电脑功能类似的模块,
比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件
1.2 MCS-51单片机内部结构
1. CPU
CPU即中央处理器的简称,是单片机的核心部件,它完成各种运算和控制操作,CPU
由运算器和控制器两部分电路组成。
(1)运算器电路运算器电路包括ALU(算术逻辑单元)、ACC(累加器)、B寄存器、
状态寄存器、暂存器1和暂存器2等部件,运算器的功能是进行算术运算和逻辑运算。运
算电路以ALU为核心单元,可以完成半字节、单字节以及多字节数据的运算操作,其中包
括加、减、乘、除、十进制调整等算术运算以及与、或、异或、求补和循环等逻辑操作,
运算结果的状态由状态寄存器保存。
(2)控制器电路
控制器电路包括程序计数器PC、PC加1寄存器、指令寄存器、指令译码器、数据指
针DPTR、堆栈指针SP、缓冲器以及定时与控制电路等。控制电路完成指挥控制工作,协
调单片机各部分正常工作。程序计数器PC用来存放即将要执行的指令地址,它可以完成
64K的外部存储器寻址,执行指令时,PC内容的高8位经P2口输出,低8位经P0口输出。数据指针DPTR为16位数据指针,它可以对64K的外部数据存储器和I/O口进行寻址,它
单片机的矩阵键盘设计
的低8位为DPL(地址82H),高8位为DPH(地址为83H)。堆栈指针SP在片内RAM(128
字节)中开辟栈区,并随时跟踪栈顶地址,它按先进后出的原则存取数据,上电复位后,
SP指向07H。
2. 定时器/计数器 MCS-51单片机片内有两个16位的定时/计数器,即定时器0和
定时器1。它们可以用于定时控制、延时以及对外部事件的计数和检测等。
3. 存储器 MCS-51系列单片机的存储器包括数据存储器和程序存储器,其主要特点
是程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。对MCS-51系
列(8031除外)而言,有4个物理上相互独立的存储器空间:即内、外程序存储器和内、
外数据存储器。对于8051其芯片中共有256个RAM单元,其中后128个单元被专用寄存
器占用,只有前128个单元供用户使用。
4. 并行I/O口 MCS-51单片机共有4个8位的I/O口(P0、P1、P2和P3),每一条
I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个TTL门电路,P1、P2和
P3口为准双向口,负载能力为4个TTL门电路。
5. 串行I/O口 MCS-51单片机具有一个采用通用异步工作方式的全双工串行通信接
口,可以同时发送和接收数据。它具有两个相互独立的接收、发送数据缓冲器,两个缓冲
器共用一个地址(99H),发送缓冲器只能写入,不能读出,接收缓冲器只能读出,不能写
入。
6. 中断控制系统 MCS-51单片机的中断功能较强,以满足控制应用的需要。8051
共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。所有中断分为高
级和低级两个中断优先级。
7. 时钟电路 MCS-51芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时
钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz~12MHz,典型取值为
6MHz。
8. 总线 以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。
系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连
线和引脚,提高了集成度和可靠性。
1.3单片机的应用领域
单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/
计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含
义称为单片微型计算机.它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能
强、低电压、低功耗的显著优点.
单片机的应用领域 :
(1)单片机在智能仪器仪表中的应用;
(2)单片机在工业测控中的应用;
单片机的矩阵键盘设计
(3)单片机在计算机网络和通讯技术中的应用;
(4)单片机在日常生活及家电中的应用;
(5)单片机在办公自动化方面。
1.4 AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微
处理器。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度、非
易失性存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚可以相兼容。由于
将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制
器, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚分布
如下图:
图1-1 引脚分布图
1.主要特性:
·与MCS-51 兼容
·4K字节可编程闪烁存储器
寿命:1000写/擦循环
数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和断电模式
单片机的矩阵键盘设计
·片内振荡器和时钟电路
2.管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口可作为通用的I/O口,但必须外接上拉电阻。作为输入口,每个引脚可
吸收8个TTL的灌电流。作为输入时,首先应将该引脚置为1。在访问外部数据存储器或
者程序存储器时,这组线分时转换地址(低8位)和数据总线。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL
门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平
时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地
址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个
TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作
为输入时,P2口的管脚被外部拉低,将输出电流。P2口当用于外部程序存储器或16位地
址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内
部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内
容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉
为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
管脚 备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字
节。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因
此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储
单片机的矩阵键盘设计
器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE
只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器
在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周
期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管
是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电
平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出
单片机的矩阵键盘设计
第二章 软件的介绍及使用
4*4矩阵键盘的仿真采用了两个软件: Keil uVision2和Proteus,现就这两个软件作
进一步的介绍。
2.1 Proteus软件的介绍和使用
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,
该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、
单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘
和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、
AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同
时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些
功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。
④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的
仿真软件,功能极其强大。
2.1.1 进入Proteus ISIS
双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”→“程序”
→“Proteus 6 Professional” →“ISIS 6 Professional”,进入Proteus ISIS集成
环境。
图2-1 Proteus启动时的屏幕
2.1.2工作界面
单片机的矩阵键盘设计
Proteus ISIS的工作界面是一种标准的Windows界面。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图2-2 Proteus ISIS的工作界面
2.1.3原理图仿真调试
原理图的绘制:
Proteus的智能化可以在你想要画线的时候进行自动检测。当鼠标的指针靠近一个对象的连接点时,跟着鼠标的指针就会出现一个“×”号,鼠标左键点击元器件的连接点,移动鼠标就出现了粉红色的连接线变成了深绿色。如果你想让软件自动定出线路径,只需左击另一个连接点即可。这就是Proteus的线路自动路径功能(简称WAR),如果你只是在两个连接点用鼠标左击,WAR将选择一个合适的线径。WAR可通过使用工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键即可。
单片机电路的模拟
程序的编译:
该软件有自带编译器,在ISIS添加上编写好的程序,方法如下:
1.点击菜单栏“Source”,在下拉菜单点击“Add/Remove Source Files(添加或删除源程序)”出现一个对话框。
2.点击对话框的“NEW”按钮,在出现的对话框找到文件设计好的huayang.asm,点击打开;在“Code Generation Tool”的下面找到“ASEM51”,然后点击“OK” 按钮,设置完毕我们就可以编译了。
单片机的矩阵键盘设计
3.点击菜单栏的“Source”,在下拉菜单点击“Build All”,过一会,编译结果的对话框就会出现在我们面前。如果有错误,对话框会告诉我们是哪一行出现了问题,点击出错的提示,光标不能跳到出错地方,但是能告诉出错的行号。
模拟调试。
4.选中单片机AT899C51,左键点击AT89C51,在出现的对话框里点击Program File按钮,找到刚才编译得到的HEX文件,然后点击“OK”按钮就可以模拟了。点击模拟调试按钮的运行按钮[] ,进人调试状态。点击按键键盘,看到发光二极管,显示相应0~f的字符。
2.2 Keil uVision2软件的介绍
Keil单片机集成开发软件是目前最流行的MCS-51单片机开发软件,Keil提供了包括C编译器、宏汇编、连接器、库管理及一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境(uVisoin2)将这些部分组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,使用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil软件使用的基本步骤
输入源程序 → 新建工程 → 工程详细设置 → 源程序编译得到目标代码文件。 第一步: 双击Keil uVision2的桌面快捷方式,启动Keil集成开发开发软件。 第二步: 新建文本编辑窗。点击工具栏上的新建文件快捷按键,即可在项目窗口的右侧打开一个新的文本编辑窗。
第三步:输入源程序。在新的文本编辑窗中输入汇编语言程序,
图2-3: 输入源程序
第四步:保存源程序。保存文件时必须加上文件的扩展名,如果你使用汇编语言编程,那么保存时文件的扩展名为“.asm”,如果是C语言程序,文件的扩展名使用“*.C ”。注:第3步和第4步之间的顺序可以互换,即可以先输入源程序后保存,也可以先保存后输入源程序第五步:新建立Keil工程。,点击 "工程" → "新建工程" 命令,将出现保存
单片机的矩阵键盘设计
对话
第五步:在保存工程对话框中输入你的工程的文件名,Keil工程默认扩展名为".uv2",输入名称后保存,将出现"选择设备"对话框,在对话框中选择CPU的型号。
第六步:选择CPU型号。为工程选择CPU型号,本新建工程选择了ATMEL公司的AT89C51单片机。
图2-4: 选择CPU型号对话框
第七步:加入源程序到工程中。在选择好CPU型号后,点击"确定"按钮返回主界面,此时可见到工程管理窗中出现“Target 1”,点击“Target 1”前面的“+”号展开下一层的“Source Group 1”文件夹,此时的新工程是空的,“Source Group 1”文件夹中什么文件都没有,必须把刚才输入的源程序加入到工程当中。右击工程管理窗中的“Source Group 1”,出现下拉菜单,点击“增加文件到组'Source Group 1'”命令,将出现添加文件对话框
单片机的矩阵键盘设计
图2-5:添加文件到工程命令
在添加文件对话框中,找到要添加到工程中的源程序文件。注意:在对话框中的文件类型默认为"C 源文件 (*.c) ",如果你要添加到工程中的是汇编语言程序,则在文件类型中必须选中“Asm 源文件 (*.a*; *.src) ”, 以*.asm为扩展名的汇编源程序才会出现在文件列表框
双击该文件lich1.asm,即可将该文件添加到工程当中,另外也可以单击lich1.asm选中该文件,再点击"Add"按钮,也可以把文件加入工程中。
图2-6: 选中ASM源程序,加入到工程中
点击Add按钮后,把文件添加到工程中,再点击“关闭”按钮,返回到主界面。 当给工程添加源程序文件成功后,工程管理器中的“Source Group 1”文件夹的前面会出现一个“+”号,单击“+”号,展开文件夹,双击即可打开该文件进行编辑修改源程
单片机的矩阵键盘设计
序
图2-7: 文件成功加入工程
第八步:工程目标'Target 1'属性设置。如下图7所示,在工程项目管理窗中的"Target 1"文件夹上右击,出现下拉菜单,点击“目标'Target 1'属性”命令,就进入目标属性设
工程目标'Target 1'属性设置对话框大部分使用默认设置即可,我们主要设置其中的“目标”、“输出”、“调试”三个页面,下面对这三个页面的设置进行介绍。
1、工程目标属性设置。该页面单片机的晶振频率,把晶振的频率改为
11.0592 置界面。
图2-8:晶振频率设置
2、工程输出设置。该页面设置注意:如果要进行单片机写片实验,则一定要把“E生成HEX文件”选项选中,程序编译后才能生成我们写单片机需要的HEX格式目标文件。
3、工程调试设置。“调试”页面设置。该页分为左右两半,左半边是软件仿真设置,而右半边是硬件仿真设置,当你使用软件仿真时,选中左边的“S使用仿真器”;如果你使用硬件仿真器,那么就按下图所示设置硬件仿真,同时把仿真器连接到你的电脑串口上。
4、串口设置 。把通信波特率选择38400。
单片机的矩阵键盘设计
图2-9:串口设置
第九步:源程序的编译与目标文件的获得。至此,我们已经完成了从源程序输入、工程建立、工程详细设置的工作,接下来我们在文本编辑窗中继续输入或修改我们的源程序,使程序实现我们的目标,在检查程序无误后保存工程。接着如下图12所示,点击“构造目标”快捷按钮,进行源程序的编译连接,源程序编译相关的信息会出现在输出窗口中的“构造”页中。下图12显示编译结果为0错误,0警告,同时产生了目标文件lich1.hex。我们可以对源程序进行反复修改,再编译,直到没有错误为,每次修改源程序后一定要保存。
图2-10:源程序的编译
单片机的矩阵键盘设计
第三章 系统总体设计
3.1系统原理
键盘为4*4矩阵式连接,一共有16个按键。
工作原理为:P1端的低四位为列,高四位行。所先置低四位为低,高四位为高,当有按键按下时高四位就会有某位被拉低。只要判断高四位不为全高就说明有按键按下。判断有按键按下后就要判断是某位按下的,方法为,选将高四位的某一位置低。判断低四位是否有低电平出现。依次对高四位的每位置低并判断低四位出现的低电平。如高四位某位置低后低四某也有出现低电平。这样就能判断出低四位与高四位相连的位某位按键被按下了。通过定义好的编码就可以查出是某个按键被按下了,程序将按键值通过查表并发送到LED上显示。
3.2电路组成
3.2.1键盘部分
键盘是一组按键的集合,它是最常用的单片机输入设备,操作人员可以通过键盘输入数据或命令,实现简单的人机通讯。键是一种常开型按钮开关,平时(常态)键的两个触点处于断开状态,按下键时它们才闭合(短路)。键盘分编码键盘和非编码键盘,闭合键的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等;而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用得更多的是非编码键盘。
判别键值方法:
我们选用的4×4键盘,使用扫描法扫描键值。过程如下:
① 判别有无键按下。由单片机I/O口向键盘送(输出)扫描字,然后读入(输入)行线状态来判断。其方法是:向列线输出全扫描字00H,即把全部列线置为低电平,然后将行线的电平状态读入累加器A中。如果有按键按下,总会有一根行线被拉至低电平,从而使行输入不全为“1”。
②判断键盘中哪一个键按下。由列线逐列置低电平后,检查行输入状态。其方法是:依次给列线送低电平,然后查所有行线状态,如果全为“1”,则所按下之键不在此列。如果不全为“1”,则所按下之键必在此列,而且是在与低电平行线相交的交点上的那个键。
③ 确定键盘上每个键的键值。键值赋值的最直接办法是将行、列线按二进制顺序排列,当某一键按下时,键盘扫描程序执行到该列置“0”电平,读出各行状态为非全“1”状态,这时的行、列数据组合成键值
单片机的矩阵键盘设计
④ 键盘与单片机接口。矩阵式键盘适用于按键数量较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。一个4*4的行、列结构可以构成一个有16个按键的键盘。
3.2.2 LED显示
单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED(Light Emitting Diode),近几年也有配置CRT显示器的。而目前在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
单片机中通常用七段LED构成字型“8”,另外,还有一个小数点发光二极管以显示小数位!这种显示器有共阴和共阳两种!发光二极管的阳极连在一起的(公共端)称为共阳极显示器,阴极连在一起的称为共阴极显示器。
(1) LED显示结构与原理
LED(Light Emintng Diode)是当外加电压超过额定电压时发生击穿而发出可见光。LED的工作电流通常在2—20mA范围内,工作压降2V左右,使用时必须加限流电阻。单片机应用系统通常使用8个发光二被管显示器。其中7个发光二极管构成7笔字形,另一个构成小数点,通称7段LED。LED分为共阴极接法(8个发光二极管阴极连在一起)和共阳极接法(8个发光二极管的阳极接在—起)。通过控制这个公共端,可使该位亮或暗。如共阴极端接地或共阳极接高电平,则该位显示器有效,反之无效。
一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划(段)
a_g,另一个小数点为dp发光二极管。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。
(2) LED显示器接口及显示方式
LED显示器有静态显示方式和动态显示方式两种。静态显示就是当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另一个字符为止。LED显示器工作于静态显示方式时,各位的共阴极接地;若为共阳极则接+5V电源。正因为如此,静态显示器的亮度较高。这种显示方式编程容易,管理也较简单,但占用I/O口线资源较多。因此,在显示位数较多的情况下,一般都采用动态显示方式。动态扫描是将各个LED数码管的7段字线并联使用,而每个数码管的公共极(共阴极或共阳极)分别通过驱动器接I/O的一个口线。当轮流选通每个数码管的公共极时,则数码管将轮流显示有关字符。由于入的视觉特性、所能看到的是同时燃亮的字符。
3.2.3晶振电路
简单地说没有晶振电路就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
单片机的矩阵键盘设计
单片机工作时,是一条一条地从ROM中取指令,然后一步一步的执行。单片机访问一次存储器的时间,称之为而一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12*(1/12)us,也就是1us。
单片机的晶振电路是一种典型电路,分为内部时钟方式和外部时钟方式两种。内部时钟的晶振频率一般选择在4MHZ~12MHZ之间,外接两个谐振电容,该电容的典型值为30pF但是在实际应用时,需根据实际起振情况选择。如果单片机的时钟必须使用某一个外接的时钟信号,就不要外界晶振。由于此时的外接晶振引脚上没有晶振信号输入,内部的时钟电路将停振。这种方式称为外部时钟方式。
3.3功能和原理图
3.3.1实现功能
矩阵式键盘中的键实际上就是一个机械开关,该开关位于行线和列线的交点处。本设计使用的是4行*4列的16键阵列式键盘,当键被按下时,其交点的行线和列线接通,相应行线或列线的电平发生变化,从而确定被按下的功能键。在仿真软件中,按下相应的功能键后,LED显示器就会显示出0~f相应的字符。
3.3.2硬件电路原理图
图3-1 :硬件电路原理图
单片机的矩阵键盘设计
3.4系统与硬件的连接
(1)把“单片机系统”区域中的P3.0-P3.7端口连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上。
(2)把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口连接到“四路静态数码显示模块”区域中的任一a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b, ,P0.7/AD7对应着h。
正在阅读:
44矩阵键盘仿真108-07
明山区第一小学2022-2022学年二年级下学期数学3月月考试卷04-05
领导班子集体剖析材料改11-13
零星物品采购合同范本模板12-01
毛概社会实践报告食品安全11-08
三种车型VIN含义及常见车型代码05-27
高二历史必修三单元阶段性检测试题答案03-13
最全面的玻璃知识汇总07-02
我最喜欢的节日英语作文02-05
电厂常用缩写目录11-05
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 矩阵
- 仿真
- 键盘
- 中小学美术教师招聘考试__选择题
- U校园视听说2 unit1答案
- “十三五”重点项目-良种奶牛养殖场项目申请报告
- 斜屋面挂瓦施工工艺
- Simulation of Heavily Irradiated Silicon Pixel Detectors
- 苏教版六年级数学上册第二单元长方体和正方体单元检测试卷
- 第三节 ocl电路与oTl电路(含答案)
- 河岸溢洪道答案
- 5、定向钻施工组织设计投标用
- 商品房买卖合同注意事项
- B020120 金融管理自考(独立本科段)专业考试计划
- 2016-2020年中国纳米钛酸钡行业竞争格局与投资战略研究咨询报告目录
- 教师老子与道德经培训心得体会
- 建筑工程春节停工报告
- 最简单的钢琴谱
- 第九章 除尘脱硫一体化设备
- 初中化学物质推断题的题型及解题技巧
- 第3节 声音的利用 0922
- 剑桥少儿英语课堂小游戏
- 高考数学练习题下载:衡水中学2015-2016学年第一学期高二期中数学试卷(文科)