单片机(六、显示及键盘)
《单片机应用技术》000-9(周君芝)课件 项目四 显示器与键盘接口技术的应用

(第 2 版)
目录
项目1 项目2 项目3 项目4 项目5 项目6 项目7
C语言基础知识 单片机开发软件及硬件系统的认识
中断系统与定时/计数器的应用 显示器与键盘接口技术的应用
串行接口技术的应用 A/D与D/A转换技术的应用
单片机综合实践
显示器与键盘接口技术 的应用
项目导读
单片机应用系统在运行时需要与外部设备交换 信息,其中显示器与键盘是实现人机交互不可或 缺的设备。
共阳极LED数码管显示器的结构 原理如图所示,由于所有段的阳 极均连接高电平,因此在使用时, 需要在相应段上加低电平,才能 使其发光。
bit 变量名 = 变量值;
4.1.1 LED数码管显示器
如果说我们国家是块闪闪发光的显示器,那么我们 每个人都是属于这块显示器的一个“数码管”,是 这块显示器不可缺少的部分。所谓“天生我材必有 用”,随着国家的蓬勃发展,各行各业都亟须专业 人才。我们作为新时代的青年,应当正视自己,发 挥自己的优势,学成一技之长,为祖国的发展贡献 自己的力量。
4.1.1 LED数码管显示器
2.LED数码管显示器的字形码
LED数码管显示器只要控制LED段的亮与灭即可显示相应的字符。当LED数码管显 示器的连接方式确定时,若要显示某一特定字符,其控制字形是固定不变的。控制字 形控制的是LED数码管显示器上要显示的字符形状,称为字形代码,简称为字形码。
LED数码管显示器八段的各代码位与显示段的对应关系如表所示。
【确定方法】
➢ 在共阴极连接中,要点亮的段为高电平, 不点亮的段为低电平,则各显示段的状态 如表所示。
显示段 dp g f e d c b a 各段状态 0 1 1 1 1 1 0 1
1-单片机键盘与显示电路设计

独立式按键 单片机控制系统中,往往只需要几个 功能键,此时,可采用独立式按键结构。 1.独立式按键结构 独立式按键是直接用I/O口线构成的单 个按键电路,其特点是每个按键单独占 用一根I/O口线,每个按键的工作不会影 响其它I/O口线的状态。独立式按键的典 型应用如图9-3所示。
V CC
P 1.0 P 1.1 P 1.2 P 1.3 P 1.4 P 1.5 P 1.6 P 1.7
P1口某位结构
P1口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器 、一个数据输出的驱动电路。 P1口的功能和驱动能力
P1口只可以作为通用的I/O口使用;
P1可以驱动4个标准的TTL负载电路; 注意在P1口作为通用的I/O口使用时,在从I/O端口读入数据时,应 该首先向相应的I/O口内部锁存器写“1”。 举例:从P1口的低四位输入数据 MOV MOV P1,#00001111b ;;先给P1口底四位写1 A,P1 ;;再读P1口的底四位
依此规律循环,即可使各位数码管显 示将要显示的字符。虽然这些字符是在不 同的时刻分别显示,但由于人眼存在视觉 暂留效应,只要每位显示间隔足够短就可 以给人以同时显示的感觉。 采用动态显示方式比较节省I/O口,硬 件电路也较静态显示方式简单,但其亮度 不如静态显示方式,而且在显示位数较多 时,CPU要依次扫描,占用CPU较多的时 间。
矩阵式按键 单片机系统中,若使用按键较多时,通 常采用矩阵式(也称行列式)键盘 1.矩阵式键盘的结构及原理 矩阵式键盘由行线和列线组成,按键位 于行、列线的交叉点上,其结构如下图9-4 所示。
+5 V 0 4 8 12 0 1 5 9 13 1 2 6 10 14 2 3 7 11 15 3 0 1 2 3
06 12864LCD显示计算器键盘按键实验

目录1 课程设计概述和要求 (1)1.1 课程设计要求与任务 (2)1.2 课程设计思路 (2)1.3 课程设计需要配置的环境 (3)2 系统设计 (3)2.1 设计框图 (3)2.2 元件解析 (3)2.2.1 LCD12864芯片……………………………………………………………42.2.2 AT89C51芯片 (5)2.2.3 其他部件 (6)2.2.4 电路分析 (7)3 软件设计 (12)3.1 程序流程图 (12)3.2 程序代码 (12)4 系统的仿真与调试 (13)4.1 硬件调试 (13)4.2 软件调试 (14)4.3 软硬件调试 (14)5 总结 (14)附录1:程序代码附录2:12864LCD显示计算器键盘按键实验Proteus仿真图1 课程设计概述和要求1.1 课程设计任务与要求设计任务:利用AT89C51单片机结合12864LCD显示器设计计算器键盘按键。
设计要求1:本设计实现一个12864LCD显示12864LCD显示器设计计算器键盘按键2.利用AT89C51控制整个电路来实现. 显示12864LCD显示器设计计算器键盘按键,系统主要包括硬件和软件两部分。
重点就是各部分硬件的连接设计以及程序的编写。
本章讲述的就是系统硬件的设计,其中包括各模块的器件选择和电路设计。
将计算器按键上的信息传送至AT89C51主芯片之中,利用P2端口使之显示于12864LCD液晶显示屏上。
1.2 课程设计目的思路1、先把与题目有关的芯片资料找到,熟悉一下芯片资料2、把此程序的电路图看懂,了解一下它的实现原理,以及实现的功能。
3、分析一下此程序的各部分的功能,各零件的工作原理。
4、对程序进行调试,分析调试结果,观察并得出结论。
1.3 课程设计需要配置的环境1、一台主机,一台显示器2、Keil uVision3/Keil uVision4 应用程序软件3、ISIS 7 Professional 仿真软件4、老师交给的仿真电路图,及案例5、纸张,以及一些参考资料2 系统设计2.1.设计框图框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。
单片机的简易计算器

单片机的简易计算器在现代科技的不断发展中,单片机已经成为了人们生活中不可或缺的一部分,其广泛应用于各个领域中。
其中,单片机作为计算器的应用是人们最为熟悉的,本文将介绍一个基于单片机的简易计算器。
1.引言计算器作为一种广泛使用的工具,早已融入人们的生活中。
随着电子技术的不断发展,计算器逐渐从机械式逐渐转变为电子式。
而单片机作为电子计算器中的核心,因其体积小、功耗低、成本低等优点,成为了电子计算器的首选之一2.原理介绍单片机简易计算器的原理是通过单片机对输入的数字和运算符进行解析,然后利用内部的算法进行计算,最后将结果显示在输出设备上。
该计算器主要包括输入模块、解析模块、计算模块以及显示模块四个部分。
3.输入模块输入模块主要包括键盘和显示屏。
键盘用于用户输入数字和运算符,显示屏用于显示输入和计算结果。
在单片机上,键盘和显示屏一般通过矩阵按键扫描和数码管显示等方式实现。
4.解析模块解析模块负责解析用户的输入,并将其转化为内部可以处理的格式。
例如,用户输入的数字和运算符将被解析为二进制码或其他表示形式。
解析模块一般通过状态机等方式实现。
5.计算模块计算模块是单片机简易计算器的核心部分,主要负责对输入的数字和运算符进行计算,并生成计算结果。
计算模块可以使用常见的算法,如加法、减法、乘法、除法,也可以实现特殊的运算功能,如开方、幂运算等。
6.显示模块显示模块负责将计算结果显示在输出设备上。
单片机简易计算器一般采用数码管显示,可以显示整数和小数。
在显示过程中,还需要考虑显示精度和位数等问题。
7.程序设计单片机简易计算器的程序设计需要考虑输入和输出的实时性和准确性。
需要设计相应的中断处理函数,实现按键的响应和显示的更新。
程序设计还需要考虑算法的优化和计算结果的溢出等问题。
8.功能扩展单片机简易计算器还可以进行功能的扩展,如添加转换功能、存储功能等。
例如,可以添加进制转换功能,实现十进制与二进制、八进制、十六进制之间的转换;还可以添加存储功能,实现计算结果的存储和读取。
单片机应用技术(C语言版)(第4版)

2019年1月,《单片机应用技术(C语言版)(第4版)》由电子工业出版社出版发行。
内容简介
该书共8个项目,项目1包括Keil C51软件的使用与一个LED发光二极管的闪烁控制两个任务,项目2介绍了单 片机控制蜂鸣器发声、模拟汽车左右转向灯控制与仿真调试发光二极管闪烁控制系统这三个任务,项目3分别为流 水灯、按键控制多种花样霓虹灯、声光报警器和基于PWM的可调光台灯的设计四个任务,项目4涵盖了8路抢答器 设计、小型LED数码管字符显示屏控制、LED点阵式电子广告牌控制、字符型LCD液晶显示广告牌控制、密码锁设 计五个任务,项目5为简易秒表及模拟交通灯控制系统的设计两个任务,项目6讲述了银行动态密码获取系统、移 动终端数据上传系统、串口控制数码管显示系统的设计三个任务,项目7安排了简易数字电压表设计及基于A/D和 D/A转换芯片的可调光台灯设计两个任务,项目8设置了数字钟的设计与制作、图形液晶显示系统设计、单片机温 度检测记录系统设计、家居照明蓝牙控制系统的设计、WIFI遥控小车设计五个任务。
获得荣誉
单片机键盘显示实验报告

单片机的键盘和显示实验报告㈠实验目的1.掌握单片机I/O的工作方式;2.掌握单片机以串行口方式0工作的LED显示;3.掌握键盘和LED显示的编程方法。
㈡实验器材1.G6W仿真器一台2.MCS—51实验板一台3.PC机一台4.电源一台㈢实验内容及要求实验硬件线路图见附图从线路图可见,8051单片机的P1口作为8个按键的输入端,构成独立式键盘。
四个LED显示器通过四个串/并移位寄存器74LS164接口至8051的串行口,该串行口应工作在方式0发送状态下,RXD端送出要显示的段码数据,TXD则作为发送时钟来对显示数据进行移位操作。
编写一个计算器程序,当某一键按下时可执行相应的加、减、乘、除运算方式,在四个显示器上显示数学算式和最终计算结果。
注:①通过按键来选择加、减、乘、除四种运算方式。
②输入两个数字均为一位十进制数,可预先放在内存中。
㈣实验框图(见下页)㈤思考题1.当键盘采用中断方式时,硬件电路应怎样连接?P1.4~P1.7是键输出线,P1.0~P1.3是扫描输入线。
输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电源,输出端接至8051的外部中断输入端。
2.74LS164移位寄存器的移位速率是多少?实验中要求计算的式子和结果之间相差一秒,移位寄存器的移位速率应该是每秒一位吧。
其实这个问题确实不知道怎么回答。
LED 显示用的段码与教科书所提供的不同,本实验采用如下段码:显示数符段码显示数符段码0BBH A DBH109H B F1H2EAH C B2H36BH D E9H459H E F2H573H F D2H否有否P1口置输入读P1口开 始显示“0000”是否有键按下?延迟消抖是否有键按下?是读键码加法运算减法运算除运算6F3H—40H70BH.04H8FBH┗┛A1H97BH┗┛1AH灭00H P DAH实验代码:ORG 0000HAJMP MAINORG 0030HMAIN:MOV 41H,#0BBH ;对几个存放地址进行初始化MOV 42H,#0BBHMOV 43H,#0BBHMOV 44H,#0BBHMOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALL DISPLAY ;初始化显示KEY:MOV R3,#08H;用来存放两个数据MOV R4,#02HMOV P1,#0FFH ;初始化P1口MOV A,P1 ;读取按键状态CPL A ;取正逻辑,高电平表示有键按下JZ KEY ;A=0时无键按下,重新扫描键盘LCALL DELAY1;消抖MOV A,P1 ;再次读取按键状态CPL AJZ KEY ;再次判别是否有键按下PUSH AKEY1:MOV A,P1CPL AANL A,#0FH ;判别按键释放JNZ KEY1 ;按键未释放,等待LCALL DELAY1;释放,延时去抖动POP AJB ACC.0,ADD1 ;K1按下转去ADD1JB ACC.1,SUB1 ;K1按下转去SUB1JB ACC.2,MUL1 ;K1按下转去MUL1JB ACC.3,DIV1 ;K1按下转去DIV1LJMP KEYADD1:LCALL BUFFER ;显示加数和被加数MOV 43H,#049HLCALL DISPLAY ;显示加号MOV A,R3ADD A,R4DA AMOV R3,A ;相加结果放入R6ANL A,#0FHMOV R4,A ;结果个位放入R7MOV A,R3SWAP A ;半字节交换,高四位放入低四位ANL A,#0FHMOV R3,A ;结果的高位放入R6LCALL L;显示缓存区设置LCALL DELAY2;延时一秒后显示LCALL DISPLAYLJMP KEYSUB1:LCALL BUFFER ;显示减数和被减数MOV 43H,#40HLCALL DISPLAY ;显示减号MOV A,R3CLR CY ;CY清零SUBB A,R4 ;做减法PUSH ARLC A ;带进位循环左移,最高位放入CYJC F ;判断最高位,若为1则跳转到负数ZHENG: POP AMOV R4,AMOV R3,#00H ;高位清零SJMP OUTFU:POP ACPL A ;取绝对值INC AMOV R4,AMOV R3,#11H ;显示负号OUT: LCALL L ;显示缓存区设置LCALL DELAY2 ;延时1s后显示LCALL DISPLAYLJMP KEYMUL1:LCALL BUFFER ;显示两位乘数MOV 43H,#99HLCALL DISPLAY ;显示乘号MOV A,R3MOV B,R4MUL AB ;结果放入AB,A中是低8位,B中是高8位MOV B,#0AHDIV AB ;十进制转换MOV R4,B ;结果个位放入R7MOV R3,A ;结果的十位放入R6LCALL LLCALL DELAY2LCALL DISPLAY ;延时1s后显示LJMP KEYDIV1:LCALL BUFFER ;显示除数和被除数MOV 43H,#62HLCALL DISPLAY ;显示除号MOV A,R3MOV B,R4DIV AB ;A除以BMOV R4,B ;余数放在R4中MOV R3,A ;商放在R3中MOV A,R4MOVC A,@A+DPTR ;调用段选号MOV 41H,A ;显示余数MOV A,R3MOVC A,@A+DPTRMOV 43H,A ;显示商MOV 42H,#00HMOV 44H,#00HLCALL DELAY2 ;延时1S后显示LCALL DISPLAYLJMP KEYBUFFER: MOV 41H,#22H ;显示初始化,在做计算之前显示两个操作数,显示等号MOV DPTR,#TABLMOV A,R4MOVC A,@A+DPTRMOV 42H,AMOV A,R3MOVC A,@A+DPTRMOV 44H,ARETDISPLAY:MOV R5,#04H;共四位需要显示MOV R0,#41HDISPLAY1:MOV A,@R0MOV SBUF,ADISPLAY2:JNB TI,DISPLAY2;是否传完了CLR TIINC R0DJNZ R5,DISPLAY1RETL:MOV A,R4MOVC A,@A+DPTRMOV 41H,A ;R4对应的段码MOV A,R3MOVC A,@A+DPTRMOV 42H,A ;R3对应的段码MOV 43H,#00HMOV 44H,#00HRETDELAY1: ;普通延时MOV R1,#20HDS1:MOV R2,#0FFHDS2:DJNZ R2,DS2DJNZ R1,DS1RETDELAY2:MOV R6,#14H ;定时1SMOV TMOD,#01HDS3:MOV TH0,#3CHMOV TL0,#0B0H ;50msSETB TR0LOOP:JNB TF0,LOOPCLR TF0CLR TR0DJNZ R6,DS3 ;1s到,中断返回RETTABL:DB 0BBH 09H 0EAH 6BH ;段码表DB 59H 73H 0F3H 0BHDB 0FBH 7BH 00H 0DBHDB 0F1H 0B2H 0E9H 0F2HDB 0D2H 40H实验结果及分析按键1:8+2= 结果:10按键2:8-2= 结果: 6按键3:8*2= 结果:16按键4:8/2= 结果:4从上面的结果可以看出,本次实验基本完成了实验要求。
单片机

1 系统硬件介绍本设计通过单片机实现喇叭播放音乐和LCD液晶显示文字、图片、动画,并通过键盘进行控制操作,实现功能的选择。
单片机使用AT89C55WD芯片,容有20K字节可编程闪烁存储器,能存放做够的程序容量。
LCD使用128*64液晶屏,通过控制驱动器,能显示图片和文字。
另外使用I2C总线扩展,I2C总线是一种用于IC器件之间连接的二线制总线。
它通过SDA(串行数据线)及SCL(串行时钟先)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件,不管是单片机、存储器、LCD驱动器还是键盘接口。
1.1 单片机简介所谓单片机,通俗的来讲,就是把中央处理器CPU(Central Processing Unit),存储器(memory),定时器,I/O(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。
单片机又称为“微控制器MCU”。
中文“单片机”的称呼是由英文名称“Single Chip Microcomputer”直接翻译而来的。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能微电脑型”,如智能型热水器等。
本设计用到的单片机是AT89C55WD,下面就以AT89C55WD为例,结合本设计所用到的内容,简单介绍一下单片机的基础知识。
1.1.1 AT89C55WD简介AT89C55WD是一个低电压,高性能CMOS 8 位单片机,片内含有20KB 的可重写快速闪存存储器和只读程序和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,引脚兼容工业标准芯片,采用通用编程方式,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微处理器的AT89C55WD可为您提供许多高性价比的解决方案,适用于多数嵌入式应用系统。
单片机系统的键盘及液晶显示器的研发(上)

x t于 独 立 式 按 键 来 说 , 采 取 逐 条 V i K yT t r u t( i t r u t , O e n e r p ) n e r p 2 d
i o 线 查 询 的 方 式 实 现 对 按 键 物 理 位 f /口
置 的确 意
x 于 键 阵 来 说 ,需 要 采 取 扫 l ,
单 片 机 中 常 用 的 按 键 式 键 盘 可 以 的 状 态 , 仍 有 键 闭 合 ,则 认 为 键 盘 上 若 分为 两 类 :独 立 连接 式 和 矩 阵式 。 独 立 连 接 式 键 盘
有 一 个 键 处 于 稳 定 的 闭 合 期 , 否 则 认 输 出 r 。 设 定 P1 4 P1 7为 输 入 口 。 = 1 .一 . 为是 键 的抖 动 或 者 是干 扰 。
也 是 单 片 机 应 用 系 统 中 使 用 最 广 泛 的 闭 合 。
一
( ) 保 C U 键 的 一 次 闭合 仅做 一 次 5 确 P对
处 理
种 输 入方 式 。键 盘 输 入 的主 要 对 象 ( 2)去 除 键 的 机 械 抖 动 为保 证 键 的 正 确 识 别 , 需 要 进 行
根 据 前面 所 讲 键盘 输 入 程 序 设 计 方 法 ,给 出键盘 中断 程 序 如下 :
独 立 连 接 式 键 盘 是 一 种 最 简 单 的 ( 3) 确 定 闭 合 键 的 物 理 位 置
键盘 ,每 个 键 独 立 的接 入 一 根 数 据 输
入 线 , 独 立 连 接 式 键 盘 如 图 1所 示 : 矩 阵式 键 盘 矩 阵式 键盘 是 指 由 若干 个 按 键 组 成 的 开 关 矩 阵 。4行 4列 矩 阵 式 键 盘 如 下 图所 示 。这 种 键 盘 适 合 采 取 动 态 扫 描 的 方 式 进 行 识 别 , 即 如 果 采 用 低 电 平 的扫 描 , 回送 线 必 须 被 上 拉 为 高 电 平:如 果 采 取 高 电 平 的 扫 描 ,则 回 送 线
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CS1
OC 1D 2D 3D 4D 5D 6D 7D 8D C
A0A1A2
2 3 4 5 6 7 8 9
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
1 11
CS1
D0D1D2D3D4D5D6D7
5 3
A B C D E F G DP
E1 E2 E3
Hale Waihona Puke A B CL1所有LED的位选均共同连接到+VCC或GND,每个LED的8 根段选线分别连接一个8位并行I/O口,从该I/O口送出 相应的字型码显示字型。
特点
原理简单;显示亮度强,无闪烁;占用I/O资源较多。
动态显示方式 连接
所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个LED的位选分别由一根相应 的I/O口线控制。因此必须采用动态扫描显示 方式,每一个时刻只选通其中一个LED,同时 在段选口送出该位LED的字型码。
12 9 8 6
L1
12
9 7
9
8
U13 74HC138
6
U17 LED48
U18 LED48
L4
L3
L2
L1
L4
L3
L2
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
A B C D E F G DP
7 4 2 1 10
7 4 2 1 10
11
A B C D E F G DP CS1 A B C D E F G DP U14 74HC573 R1 R2 R3 R4 R5 R6 R21 R22 100 100 100 100 100 100 100 100
R13 2K
LED8
R14 2K
LED7
R15 2K
LED6
R16 2K
LED5
R17 2K
LED4
R18 2K
LED3
R19 2K
LED2
R20 2K
LED1
L8
L7 L1L2L3L4L5L6L7L8
15 14 13 12 11 10
L6
L5
L4 LED8 LED7 LED6 LED5
L3
L2 LED4 LED3 LED2 LED1
D0D1D2D3D4D5D6D7
DIR E
U20 74LS245
A0 A1 A2 A3 A4 A5 A6 A7
7.2 显示器接口技术
LED的结构和显示原理 静态显示方式 动态显示方式 动态显示的实现
问题引入: LED显示器如何显示出指定数字/字符?
图9-11 LED 7段显示器
静态显示方式 连接
中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方式。 其工作过程如下:当无键按下时,CPU处理自己的工作, 当有键按下时,产生中断请求,CPU转去执行键盘扫描 子程序,并识别键号。
8 03 1 INT0 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
&
2行8列键盘
键号=行首键号(0、4、8、12)+列号(0、1、2、3)
定时扫描方式
定时扫描方式就是每隔一段时间对键 盘扫描一次,它利用单片机内部的定时器 产生一定时间(例如10 ms)的定时,当定 时时间到就产生定时器溢出中断。CPU响应 中断后对键盘进行扫描,并在有键按下时 识别出该键,再执行该键的功能程序。
RP1 VCC 9 2K 8 7 6 5 4 3 2 1 K8 K7 K6 K5 K4 K3 K2 K1
K1 K1 1 P13 KEY 3 1 KEY K3
K2 K5 3 1 KEY
K3 K7 3 1 KEY
K4 K9 3 1 KEY
K5 K11 3 1 KEY
K6 K13 3 1 KEY
K7 K15 3 1 KEY
19 18 17 16 15 14 13 12
11
VCC
1 2 3
4 5 6
5 3
A B C D E F G DP
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
OC
1D 2D 3D 4D 5D 6D 7D 8D
C
19 18 17 16 15 14 13 12
1 11
U15 74HC573
2 3 4 5 6 7 8 9
矩 阵 式 按 键
关键:如何 判断键号?
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
0 4 8 1 5 9 2 6 3 7
+5V
10 11
12 13 14 15
MCS-51
特点:按键识别应采用扫描法 编程较为复杂,节省口资源,8键以上使用
键盘扫描子程序一般包括以下内容:
键盘接口需要解决的问题
按键识别:
是否有键按下 求键号 键抖动及消除: 机械按键抖动时间在 5ms~10ms之间 消除方法: 硬件方案——双稳态去抖电路 软件方案——延时10ms~20ms后再次判断
独立式按键
接口电路:
特点:一线一键,按键识别(编程)简单;但占用 较多口线,适合8键以下使用。
接口电路:
1.判别有无键按下;
2.扫描获取闭合键的行、列值;
3.用计算法或查表法得到键值;
4.判断闭合键释放否,如没释放则继续等待;
5.保存闭合键号。
按键识别——扫描法
原理: 在某一时刻只让一条列线处于低电平,其余列线均 处于高电平,则当这一列有键按下时,该键所在的行 电平将会由高电平变为低电平,可判定该列相应的行 有键按下。 流程: 当第0列处于低电平时,逐行查找是否有行线变低, 若有,则第0列与该行的交叉点按键按下;若无,则表示 第0列无键按下,再让下一列处在低电平,依此循环,这 种方式称为键盘扫描。
8位7段码数码管
VCC Q8 9012 Q7 9012 Q6 9012 Q5 9012 Q4 9012 Q3 9012 Q2 9012 Q1 9012
LED1:A000H LED2:A001H LED3:A002H LED4:A003H LED5:A004H LED6:A005H LED7:A006H LED8:A007H
单片机与嵌入式系统
第五章 单片机:显示及键盘 王浩 副教授
中南大学信息科学与工程学院
第
章 单 片 机 接 口 技 术
Single Chip Microcomputer 本章内容
键盘接口
显示器接口
7.1 键盘接口
按键的特点及输入原理 独立式按键 矩阵式按键
按键的特点及输入原理
K8 3
K2 1 P14 KEY 3 1
K4 3 1 KEY
K6 3 1 KEY
K8 3 1 KEY
K10 3 1 KEY
K12 3 1 KEY
K14 3 1 KEY
K16 3 KEY
CS2
2 3 4 5 6 7 8 9 19 1
VCC
18 17 16 15 14 13 12 11
B0 B1 B2 B3 B4 B5 B6 B7
按键的分类: 触点式:机械;无触点式:电气 键输入原理: 通过按键的接通与断开,产生两种相反的逻辑 状态 低电平“0”与高电平“1”。 键功能的实现: 对于一组键或一个键盘,需通过接口电路与单 片机相连。可采用查询或中断方式测试有无键按下, 再确定是哪一个键按下,将该键号送入累加器ACC, 然后判断是数字键还是功能键,若是数字键,则将 键号对应的数字送入相关输入缓冲区;若是功能键, 则通过跳转指令转入执行该键的功能程序,执行完 后再返回主程序。