单片机培训第3讲——矩阵键盘、数码管、中断
单片机矩阵键盘
按键在闭合和断开时,触点会存在抖动现象:
数码管前三位显示一个跑表,从000到999之间以1%秒速度运行,当按下一个独立键盘时跑表停止,松开手后跑表继续运行。(用定时器设计表)。
在上题的基础上,用另外三个独立键盘实现按下第一个时计时停止,按下第二个时计时开始,按下第三个是计数值清零从头开始。
键盘处理程序就作这么一个简单的介绍,实际上,键盘、显示处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性,但说到,这种复杂并不来自于单片机的本身,而是来自于操作者的习惯等等问题,因此,在编写键盘处理程序之前,最好先把它从逻辑上理清,然后用适当的算法表示出来,最后再去写代码,这样,才能快速有效地写好代码
ANL A,#0FH
CJNE A,#0FH,KCODE;
MOV A,R1
SETB C RLC A JC NEXT2 NEXT3: MOV R0,#00H RET KCODE: MOV B,#0FBH NEXT4: RRC A INC B JC NEXT4 MOV A,R1 SWAP A NEXT5: RRC A INC B INC B INC B INC B 。
按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示4...
识别方法
04
03
01
02
3、若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。P1.4-P1.7按下述4种组合依次输出: P1.7 1 1 1 0 P1.6 1 1 0 1 P1.5 1 0 1 1 P1.4 0 1 1 1 在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值 4、为了保证键每闭合一次CPU仅作一次处理,必须去除键释放时的抖动。
51单片机矩阵按键
1.矩阵按键的由来 2.矩阵按键扫描原理 3.矩阵按键怎么变成独立按键 4.编写矩阵按键控制程序
1. 矩阵按键由来
2. 矩阵按键扫描原理
方法一:
逐行扫描:我们可以通过高四位轮流输出低电平来对矩 阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候, 说明有按键按下,然后通过接收到的数据是哪一位为0来判断 是哪一个按键被按下。
3. 矩阵按键怎么变们可以通过高四位全部输出低电平,低四位
输出高电平。当接收到的数据,低四位不全为高电平时,说 明有按键按下,然后通过接收的数据值,判断是哪一列有按 键按下,然后再反过来,高四位输出高电平,低四位输出低 电平,然后根据接收到的高四位的值判断是那一行有按键按 下,这样就能够确定是哪一个按键按下了。
单片机——中断和矩阵键盘
主讲人:陶旭辉
三 . 外部中断的处 理过程
3.1 中断请求
在中断允许的情况下,单片 机收到外部的低电平或者下 降沿时,可认为外部发出了 中断请求。
外电路如何发出低电平信号 或者下降沿信号呢?
主讲人:陶旭辉
3.11 中断响应条件
在满足以下2个条件时,CPU将响应中断。
1)有中断源发出中断请求; 2)中断允许 a 中断总允许位 EA=1 ; b 发出请求的中断源被允许中断; c CPU没有在执行一个同级或者优先级更高的中断服务 程序。
主讲人:陶旭辉
矩阵键盘
一、按键的抖动与消抖 为什么要消抖 按键按下瞬间会产生一段时间的毛刺(持续10mS左右)然后才稳 定的现象,如果不加消抖措施会在程序中误判为多次按下按键 通常采取软件消抖的方法,即程序检测到按键按下后,延时 10mS以上再次检测按键状态,如果状态仍然按下则为一次可靠 的按下。
主讲人:陶旭辉
自然优先级:
低
断串 口 中
中定 断时 器
高
断外 部 中
中定 断时 器 断外 部 中 0
1
主讲人:陶旭辉
1
0
中断系统结构图
主讲人:陶旭辉
五、中断的应用
初始化步骤: a.开放CPU中断并允许有关中断源中断(IE) b.确定中断优先级(IP) c.确定中断触发方式(TCON) 配置实例: void init_int1(void)//初始化INT1 { IP = 0x00;//使用自然中断优先级 EX1 = 1;// INT1中断开 IT1 = 1;// INT1下降沿触发(为0则为低电平触发) }
0x0003
外部中断0
0x000B
定时器0
0x0013
数码管和矩阵
数码管和矩阵键盘----笔记2其实这次笔记我想和大家分享的是矩阵,但是单独的把矩阵拿出来,显得少了什么,因为展现矩阵的功能,必须有一个比较的明显展示区域。
看单片机上,最显眼就是那一排数码管。
选数码管,其实是有原因,因为本次笔记中矩阵刚好是4X4的,分别对16个按键进行操作,操作显示不同数字,正好就用数码管显示。
废话不多说,在讲矩阵之前,要说一下数码管,但在说数码管之前,必须了解单个数码管。
现在开始大家说单个数码管:1:数码管的结构:led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
位数有半位,1,2,3,4,5,6,8,10位等等....,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
颜色有红,绿,蓝,黄等几种。
led数码管广泛用于仪表,时钟,车站,家电等场合。
选用时要注意产品尺寸颜色,功耗,亮度,波长等。
下面将介绍常用LED数码管内部引脚图片。
一个数码管的引脚是10个,显示一个8字需要7个小段,还有一个小数点,所以内部只有8个二极管,生产厂商为了封装统一,单位数码管都封装10个引脚,剩下的两个为公共端。
(如图a)对于共阴极的数码管,其8个发光二极管的阴极在数码管里全部连接在一起,所以称为共阴极,而他们的阳极一般都是独立的,通常在设计电路的时候,阴极接地。
所以当我们给数码管中任一阳极高电平的时候,就会点亮该二极管,同理,如果你想显示“8”和右下角的小数点,那么必须把所有的阳极全部送高电平。
对应共阴极的0-F的编码:0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1 ,0x86,0x8e对于共阳极的数码管,其内部8个发光二极管的所有阳极连接在一起,电路连接时,公共电断接高电平,因此我们要点数码管中二极管,则必须送低电平过去,此时显示的数字的编号于共阴极编码相反,数码管内部发光二极管点亮时,也需要5mA以上的电流,理论上电流越大越好,但是最好在5mA-20mA范围内,不然很容易烧坏。
单片机矩阵键盘
汇报人: 202X-01-04
contents
目录
• 单片机矩阵键盘概述 • 单片机矩阵键盘硬件设计 • 单片机矩阵键盘软件编程 • 单片机矩阵键盘调试与测试 • 单片机矩阵键盘优化与扩展
01 单片机矩阵键盘 概述
定义与特点
定义
单片机矩阵键盘是一种由行线和 列线组成的键盘,通过按键的行 和列交叉点来识别按键。
用于显示输入的信息或状态, 如数码管、液晶显示屏等。
电源模块
为整个系统提供稳定的电源, 保证系统的正常工作。
电路连接
01
矩阵键盘的行线和列线分别连接到单片机的输入/输出端口,通 过软件扫描方式检测按键状态。
02
单片机控制模块与显示模块连接,将需要显示的信息传输给显
示模块。
电源模块为整个系统提供稳定的电源,保证系统的正常工作。
在通讯设备领域,单片机矩阵键盘可以用 于手机、电话等设备的操作面板,实现拨 号、挂断等功能。
பைடு நூலகம்
02 单片机矩阵键盘 硬件设计
硬件组成
01
02
03
04
矩阵键盘模块
由行线和列线组成的键盘矩阵 ,按键被安排在行线和列线的
交叉点上。
单片机控制模块
用于接收和处理来自矩阵键盘 的信号,控制整个系统的运行
。
显示模块
软件编程
编写单片机程序,用于扫描矩阵键盘并识 别按键按下事件。
测试方法
按键响应时间测试
测试从按键按下到单片机响应 的时间,确保在合理范围内。
按键防抖测试
测试按键防抖功能是否正常, 即在按键按下和释放时是否能 够正确识别。
多键同时按下测试
测试在多个按键同时按下时, 单片机是否能够正确识别并处 理。
单片机入门3(矩阵键盘、点阵屏)
21 22 23 24 25 26 27 28
40 20 10 11 30 29
P12 K8 P13 K12
P14 P15 P16 P17
8 K9 C K13
9 K10 D K14
A K11 E K15
B F
number是一个 系统变量。由于 以后要用中断函 数,所以不主张 使用返回值。
39 38 37 36 35 34 33 32
K0
P10
K4
P11
0 K1 4 K5
1 K2 5 K6
2 K3 6 K7
3 7
13 12
15 14
31
19 18
9
17 16
INT1 INT0
T1 T0
89C52
EA/VP
X1 X2
RESET
RD WR
P20 P21 P22 P23 P24 P25 P26 P27
• 一般来说,单个数码管扫描频率在50Hz为 宜,n个数码管则为n倍。
动态扫描数码管可以“同 时”显示多位,由于要保 证整体扫描频率为50Hz, 这8个数码管扫描频率每个 要为400Hz。
这就是扫描函数的核心部分。由于没有用定时器精确 定时,所以只好近似把频率控制为500Hz……
• 主函数是很简单的, 直接输入整数,即可 显示!
• 按键可以排成矩阵,LED灯呢?当然也可以! 使用方法也相似。
• 本学期纳新时的展板四周的64个灯就是矩 阵式连接,可惜阳光太足,没能施展……
• 排成矩阵式的LED称为“点阵屏”,灯越多, 可以显示的字符、图案越丰富。
16×16 点阵屏 循环显 示“多 隆电子 协会” 字样
单片机中断和矩阵键盘课件
基于中断和矩阵键盘的智能家居控制系统
总结词
该系统结合单片机中断和矩阵键盘技术,实现对家居 设备的智能控制,提高家居生活的便利性和舒适性。
详细描述
基于中断和矩阵键盘的智能家居控制系统主要由家居 设备、单片机、矩阵键盘和无线通信模块组成。用户 通过矩阵键盘输入控制指令,单片机通过中断处理程 序实时监测键盘输入,并将控制指令通过无线通信模 块发送给家居设备。家居设备接收到指令后,根据指 令内容执行相应的操作,如调节灯光亮度、控制空调 温度等,以实现家居设备的智能控制。
采用高效的扫描算法,减 少扫描时间,提高响应速 度。
防止抖动
在检测按键时,采用软件 去抖动技术,确保按键值 的准确性。
04
单片机中断的编程实现
中断使能与优先级设置
中断使能
在单片机中,需要开启中断功能才能响应外部或内部事件。通常在单片机初始化 时,需要设置中断使能位。
优先级设置
不同的中断源有不同的优先级。在编程时,需要根据需要设置或配置相应的优先 级。
能,确保按键状态的准确性。
06
单片机中断与矩阵键盘的应用实例
基于单片机的温度监控系统
总结词
该系统利用单片机中断功能,实时监测环境温度变化,并通过矩阵键盘输入设定温度阈值,实现温度的自动调节 。
详细描述
基于单片机的温度监控系统主要由温度传感器、单片机、矩阵键盘和执行机构组成。温度传感器负责采集环境温 度,并将数据传输给单片机。单片机通过中断程序实时监测温度变化,一旦温度超过设定的阈值,便会触发中断 ,执行相应的控制程序,调整执行机构的工作状态,以实现温度的自动调节。
键盘扫描方法
逐行扫描法
按顺序逐行扫描,通过读取列线的电 平状态判断按键是否被按下。
矩阵式键盘控制数码管显
为了避免按键抖动造成的误判,微 控制器会对检测到的按键状态进行 去抖动处理,确保按键状态的准确 性。
键盘编码方式
行码与列码组合
01
每个按键都有一个唯一的行码和列码组合,用于标识按键的位
置。
编码表
02
建立一个包含所有按键行码和列码组合的编码表,用于将按键
位置映射到对应的编码值。
编码输出
03
键盘扫描程序
根据矩阵式键盘的原理,编写键盘扫描程序,实 现按键的检测与识别。
数码管显示程序
根据数码管的显示原理,编写数码管显示程序, 实现数码管的显示和控制。
主程序
主程序负责调用键盘扫描程序和数码管显示程序, 实现整个系统的控制逻辑。
系统调试与测试
硬件调试
检查硬件电路连接是否正确,确保各模块工作正常。
矩阵式键盘控制数码管显示系 统
目录
CONTENTS
• 矩阵式键盘控制原理 • 数码管显示技术 • 矩阵式键盘控制数码管显示系统设计 • 系统性能优化与改进 • 应用前景与发展趋势
01 矩阵式键盘控制原理
CHAPTER
矩阵式键盘结构
4x4矩阵式键盘结构
由16个按键组成的矩阵,行线和列线 交叉连接,每个按键位于行线和列线 的交叉点上。
根据按键位置在编码表中找到对应的编码值,通过微控制器输
出相应的编码信号,控制数码管显示相应的字符或数字。
02 数码管显示技术
CHAPTER
数码管工作原理
数码管由多个LED段组成,通过控制各段的亮灭来显示数字或字符。
数码管内部有8个LED段,通过电流的通断控制每个段的亮灭,从而显示不同的数字 或字符。
数码管驱动方式
点驱动方式
矩阵式键盘控制数码管显示
目录
CONTENTS
• 矩阵式键盘工作原理 • 数码管显示原理 • 矩阵式键盘控制数码管显示方案 • 矩阵式键盘控制数码管显示应用 • 矩阵式键盘控制数码管显示常见问题及
解决方案
01 矩阵式键盘工作原理
按键检测方式
直接检测法
通过直接检测按键是否按下,判断按键状态。
间接检测法
按键与数码管显示不匹配
01
总结词
按键与数码管显示不匹配是矩阵式键盘控制数码管显示中 常见的问题之一,表现为按下某个按键后数码管显示的内 容与预期不符。
02
详细描述
这可能是由于键盘编码与数码管显示编码不匹配导致的问题。 例如,按下数字键“1”,数码管却显示字母“A”。
03
解决方案
可以通过调整键盘编码与数码管显示编码的对应关系来解 决这个问题。具体来说,需要检查键盘编码与数码管显示 编码的映射关系,确保它们一一对应。同时,也需要检查 键盘扫描程序和数码管显示驱动程序的实现是否正确。
静态驱动
每个数码管的每个段都由一个独立的 I/O口控制,适用于数码管数量较少 的情况。
动态驱动
通过扫描方式逐个点亮数码管的各个 段,可以节省I/O口资源,适用于数码 管数量较多的情况。
03 矩阵式键盘控制数码管显 示方案
硬件连接方案
矩阵式键盘与微控制器连接
将矩阵式键盘的行和列连接到微控制器的输入/输出端口,以便读取按键状态。
优化显示逻辑
优化数码管显示的逻辑,例如使用动态扫描技术,减少数码管的亮灭时间,提高显示效果。
04 矩阵式键盘控制数码管显 示应用
电子密码锁
总结词
矩阵式键盘控制数码管显示在电子密码锁中应用广泛,能够实现密码输入、显示和安全 验证等功能。
单片机控制的矩阵键盘
引言概述:
单片机控制的矩阵键盘已经成为现代电子设备中常见的输入方式之一。
该键盘具有结构简单、易于实现和使用方便等优点,广泛应用于各种电子产品中。
本文将对单片机控制的矩阵键盘的原理、设计和应用进行详细阐述。
正文内容:
一、矩阵键盘的原理
1.1矩阵键盘的基本结构
1.2矩阵键盘的电路连接方式
1.3矩阵键盘的工作原理
二、单片机控制的矩阵键盘的设计
2.1单片机的选择和配置
2.2键盘扫描算法的设计
2.3矩阵键盘的接口设计
2.4程序的编写和调试
2.5键盘输入的处理和应用
三、单片机控制的矩阵键盘的应用
3.1家电控制系统中的使用
3.2工控设备中的应用
3.3智能家居中的应用
3.4安防系统中的应用
3.5医疗设备中的应用
四、单片机控制的矩阵键盘的优缺点
4.1优点:
4.1.1结构简单,易于实现
4.1.2使用方便,操作灵活
4.1.3成本低廉,适合大规模生产
4.2缺点:
4.2.1键盘数量限制
4.2.2受到干扰可能导致误触发
五、单片机控制的矩阵键盘的发展趋势
5.1多功能键盘的设计
5.2无线键盘与蓝牙技术的结合
5.3舒适性与人机工程学的结合
5.4智能化与技术的应用
总结:
单片机控制的矩阵键盘是一种常见的输入方式,具有结构简单、易于实现和使用方便等优点。
本文对其原理、设计和应用进行
了详细阐述。
随着技术的不断发展,矩阵键盘在功能、无线化、舒适性和智能化方面也有了较大的进步和应用。
相信在未来,单片机控制的矩阵键盘将继续发挥重要作用,并与其他技术相结合,满足人们对输入设备的更高要求。
单片机矩阵按键原理
单片机矩阵按键原理
单片机矩阵按键的原理主要是通过行列结构来识别按键。
具体来说,它使用4条I/O线作为行线,4条I/O线作为列线,形成了一个4x4的矩阵。
在行线和列线的每个交叉点上,设置一个按键。
当某个按键被按下时,对应的行线和列线会被连通,导致行线和列线的电平发生变化。
单片机通过逐行扫描或逐列扫描的方式,读取I/O口的电平变化,从而确定哪个按键被按下。
具体来说,在行列扫描中,单片机先从P1口的高四位(四个行)输出高电平,低四位(四个列)输出低电平,如果有按键按下,从P1口的高四位读取键盘状态,判断高四位的四行哪一行变成了低电平,就知道是第几行。
然后从P1口的低四位(四个列)输出高电平,高四位(四个行)输出低电平,从P1口的低四位读取键盘状态,判断低四位的四列哪一行变成了低电平,就知道是第几列。
将两次读取结果组合起来就可以得到当前按键的特征编码。
使用这种行列结构能够有效地提高单片机系统中I/O口的利用率,节约单片机的资源。
以上内容仅供参考,建议查阅关于单片机矩阵按键的书籍或者咨询专业技术人员获取更准确的信息。
中断法识别矩阵键盘的原理
中断法识别矩阵键盘的原理
中断法识别矩阵键盘的原理如下:
在一个矩阵键盘中,每个按键都与一个行和一个列相交。
当按下某个按键时,该按键的行和列之间会形成一个电路。
这个电路会触发一个中断信号,通知处理器有一个按键按下了。
中断是一种硬件信号,它可以暂停处理器正在执行的程序,并跳转到一个特殊的中断处理程序。
在矩阵键盘中,当有按键按下时,会触发一个中断信号,处理器会立即跳转到中断处理程序。
中断处理程序会读取键盘的状态寄存器,确定哪个按键被按下了。
然后它会将按键的ASCII码或扫描码存储在一个缓冲区中,以便处理器的主程序可以读取它。
通过这种方式,处理器可以在不阻塞主程序的情况下,实时地响应用户的键盘输入。
单片机培训第3讲——矩阵键盘、数码管、中断
拓展部分
1. 利用仪器设备或自己计算频率,,实现一个按键控制的简易电子琴,发 出声音的音调级别可通过数码管显示出来。
Page
36
感谢您的关注
Weihei 2013.05.12
用Delay延时函数方式,加入人为制造的CPU阻塞(既是在调用完显 示函数后,加一个1S的Delay延时函数),观察其效果并分析原因。 Note:Delay延时函数定义为
for(i=0;i<100;i++) for(j=0;j<200;j++);//让单片机连续200*100个时钟周期都不执行操作 此类让单片机不执行任何操作的延时即是阻塞CPU方式的延时。
13
数码管的原理---如何点亮一只数码管
16进制表示为 0X06 P1.0 | | | | | | | P1.7 0X5B
利用80C51单片机P1口点亮一只数码管原理图
Page
14
数码管---断码查询小工具
Page
15
点亮单只数码管---代码
Page
16
数码管---多位数码管一起亮的原理
余晖效应
让手里的单片机“有声有色”
Weihei 2013.05.12
温习---利用单片机IO输出
直接对IO口赋值
Unsigned char LEDVal = 0xFE; P1 = 0X5FE; P1 = LEDVal;
利用位运算或移位函数改变LEDVal值,即可实现多种方式流水效果
LEDVal = LEDVal >> 1; LEDVal |= 0x80;//左移一位 LEDVal = _crol_(LEDVal ,1);//循环左移,每次移动1位
实验三 单片机定时计数器矩阵键盘PPT课件
一、实验目的
进一步熟悉集成开发环境; 掌握80C51定时/计数器的基本工作原理; 掌握80C51矩阵键盘的基本工作原理; 学习80C51定时/计数器、矩阵键盘的编写方法。
二、实验说明
定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和
演讲人:XXXXXX 时 间:XX年XX月XX日
低8位两个寄存器组成。 TMOD是定时/计数器的工作方式寄存器,确定工作方式
和功能; TCON是控制寄存器,控制T0、T1的启动和停止及设置
溢出标志。
定时/计数器的工作原理
加1计数器输入的计数脉冲有两个来源,一个是由系 统的时钟振荡器输出脉冲经12分频后送来;一个是 T0或T1引脚输入的外部脉冲源。每来一个脉冲计数 器加1,当加到计数器为全1时,再输入一个脉冲就 使计数器回零,且计数器的溢出使TCON中TF0或TF1 置1,向CPU发出中断请求(定时/计数器中断允许 时)。如果定时/计数器工作于定时模式,则表示定 时时间已到;如果工作于计数模式,则表示计数值 已满。
决的。
写在最后
成功的基础在于好的学习习惯
The foundation of success lies in good habits
14
结束语
当你尽了自己的最大努力时,失败 也是伟大的,所以不要放弃,坚持 就是正确的。
When You Do Your Best, Failure Is Great, So Don'T Give Up, Stick To The End
数。
练习
在例题基础上,增加定时器1,利用定时 器1控制流水灯,数码管每加一,流水灯 移动一个。
矩阵键盘
单片机矩阵键盘,数码管,双机通信完美版
学生实习报告学生姓名:王耀辉专业班级:通信1304指导教师:撒继铭工作单位:信息工程学院题目: 单片机原理与应用初始条件: 单片机最小系统、下载电路、扩展电路、软件(PROTEUS等)、万用表、电烙铁等工具完成的主要任务:1)利用PROTEL等软件进行硬件设计;2)利用Keil uV2软件完成应用系统软件设计;3)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;4)题目由指导教师提供;5)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;6)写出实习报告,实习报告主要包括以下内容:目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论、参考文献等;7)实习完成后通过答辩;8)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。
实习时间安排:序阶段内容所需时间号1 方案设计1天2 硬件设计2天3 软件设计2天4 系统仿真1天5 电路板焊接2天6 系统调试1天7 答辩1天合计10天指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 -------------------------------------------------------------------------------------------------------I Abstract -------------------------------------------------------------------------------------------------- II 1设计任务及要求 -------------------------------------------------------------------------------------- 1 2 基本原理 ---------------------------------------------------------------------------------------------- 32.1基本原理及原理框图------------------------------------------------------------------------ 32.2 STC89C52结构功能介绍 ------------------------------------------------------------------ 33 硬件电路原理与设计 ------------------------------------------------------------------------------- 63.1复位电路--------------------------------------------------------------------------------------- 63.2振荡电路--------------------------------------------------------------------------------------- 73.3单片机最小系统------------------------------------------------------------------------------ 83.4数码管显示电路------------------------------------------------------------------------------ 93.4.1 数码管选择--------------------------------------------------------------------------- 93.4.2 LED芯片7SEG-MPX6-CA -------------------------------------------------------- 93.4.3 数码管电路设计------------------------------------------------------------------- 103.5 矩阵键盘电路 ------------------------------------------------------------------------------- 113.6串口通信电路------------------------------------------------------------------------------- 123.7 总设计电路 --------------------------------------------------------------------------------- 134 软件设计 -------------------------------------------------------------------------------------------- 144.1软件介绍------------------------------------------------------------------------------------- 144.1.1程序编写软件Keil ---------------------------------------------------------------- 144.1.2仿真软件Proteus ------------------------------------------------------------------- 144.2数码管显示设计---------------------------------------------------------------------------- 144.3串行通信接收程序------------------------------------------------------------------------- 155 仿真结果与分析 ----------------------------------------------------------------------------------- 175.1 数据输入 ------------------------------------------------------------------------------------ 175.2 数据显示 ------------------------------------------------------------------------------------ 185.3 实现串口通信 ------------------------------------------------------------------------------ 196实物展示 --------------------------------------------------------------------------------------------- 20 7心得体会 --------------------------------------------------------------------------------------------- 20 参考文献 ----------------------------------------------------------------------------------------------- 22 附录Ⅰ:元件清单 ----------------------------------------------------------------------------------- 24 附录Ⅱ:总程序设计 -------------------------------------------------------------------------------- 25摘要单片机最小系统,无论对单片机初学人员还是开发人员都具有十分重要的意义,可以利用最小系统进行编程实现工业控制。
单片机矩阵键盘与数码管课程设计
单片机矩阵键盘与数码管课程设计矩阵键盘与数码管显示摘要矩阵式键盘乃是目前使用较为广泛的一种键盘模式,该系统以N个端口连接控制N*N个按键,即时在LED数码管上。
单片机控制的据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。
4*4矩阵式键盘采用89C51单片机为核心,主要由矩阵式键盘电路、译码电路、显示电路等组成,软件选用C语言编程,单片机将检测到的按键信号转换成数字量,显示于数码管显示器,系统灵活性强,易于操作,可靠性能好。
单片机简介及主系统电路单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换444器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
单片机在工业控制领域广泛应用,它由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中,本次课程设计我们采用的是AT89C51型号的单片机。
AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。
由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,提高了系统的性价比。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
拓展部分
1. 利用定时器不阻塞CPU的方式,扫描数码管
2. 在实现基础部分(3)的基础上,利用两个按键实现全部功能(类似于手 表)
Page
30
按键进阶
数码管
中断系统
点阵及蜂鸣器
Page
31
点阵---基本结构
Page
32
点阵---如何点亮
设: 则: 或: 结果: 被点亮
“列”接P0口, “行”接P2口。
利用SPWM波实现呼吸灯效果
Page
2
类SPWM波---大致时序图
Page
3
类SPWM波---编程核心思想
Page
4
按键进阶
数码管
中断系统
点阵及蜂鸣器
Page
5
按键进阶---按键单击
按键单击时序图
Page
6
按键进阶---长按短按
按键长按短按时序图
Page
7
按键进阶---按键单击连击
按键长按短按时序图
让手里的单片机“有声有色”
Weihei 2013.05.12
温习---利用单片机IO输出
直接对IO口赋值
Unsigned char LEDVal = 0xFE; P1 = 0X5FE; P1 = LEDVal;
利用位运算或移位函数改变LEDVal值,即可实现多种方式流水效果
LEDVal = LEDVal >> 1; LEDVal |= 0x80;//左移一位 LEDVal = _crol_(LEDVal ,1);//循环左移,每次移动1位
Page 26
中断系统---定时器
定时器的实质即是一个计数器。
用作定时器,计内部时钟。 用作计数器,计外部脉冲。
定时器的简单理解
一个需要设置的闹钟
一个可调整定时周期(一定范围内可调)的闹钟
一个不阻塞CPU的延时处理函数
定时器的初始化/设置
查询芯片手册,查询每个寄存器每一位的作用(后期推荐此方法) 使用小工具,轻松完成定时器设置(初学推荐此方法)
13
数码管的原理---如何点亮一只数码管
16进制表示为 0X06 P1.0 | | | | | | | P1.7 0X5B
利用80C51单片机P1口点亮一只数码管原理图
Page
14
数码管---断码查询小工具
Page
15
点亮单只数码管---代码
Page
16
数码管---多位数码管一起亮的原理
余晖效应
P2^0 = 1; P0^0 = 0;
P2 = 0x01; P0 = 0xFE; 左上角的一个LED
Page
33
点阵---以级联方式拓展
通过串行控制锁存芯片,实现IO口的拓展,以将点阵屏幕扩大
Page
34
蜂鸣器---基本原理
有源蜂鸣器
内部自带振荡源,所以只要一通电就会叫
无源蜂鸣器
Page
24
按键进阶
数码管
中断系统
点阵及蜂鸣器
Page
25
中断系统---中断的概念
优先级更高的事件发生,打断优先级低的事件进程时,称为中断。 可以引起中断的事件来源,我们称为中断源。 单片机往往支持多个中断源,但是我们只用了其中的一部分,其他的中断都屏蔽了, 不去响应它。使用过程中,通常只开启自己需要的中断源,把不需要用的中断源都关 掉。 中断响应及中断返回 每当发生中断,从主函数A跳入中断执行函数B,执行函数B的过程称为“中断相 应”,B函数执行完之后,再返回主函数A继续执行之前的指令的过程,称为是 “中断返回”。 现场保护及事后恢复 从主函数A跳入中断执行函数B前,需要对主函数的执行情况进行记录,称为“现 场保护”,B函数执行完,要回到主函数A继续执行,需要进行“事后恢复”,以 便继续执行下一条指令。 在执行级别较低的中断B时,又触发了更高级别的中断C,从尚未执行完的中断B跳入 中断C,执行中断C内的内容,C中断执行完返回到B中断,B中断执行完,再返回到主 函数的过程,称为“中断嵌套”
内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的 方波去驱动它。
Page
35
Байду номын сангаас
演示&练习题
基础部分
1. 2. 3. 利用单片机IO输出单一频率PWM波驱动蜂鸣器,发出单一声音 通过按键改变单片机IO口输出PWM波频率,改变其声音 在保证蜂鸣器正常发声的基础上,加入数码管显示,两者互不干扰运行
以足够快的速度切换显示
Page
17
数码管---多位数码管---0.5s扫描
Page
18
数码管---多位数码管---0.1s扫描
Page
19
数码管---多位数码管动态扫描编程核心思想
保证每个数码管亮足够1mS
Delay延时函数(阻塞CPU) 定时器中断(不阻塞CPU)
切换至下一位数码管,并显示该位数值
用Delay延时函数方式,加入人为制造的CPU阻塞(既是在调用完显 示函数后,加一个1S的Delay延时函数),观察其效果并分析原因。 Note:Delay延时函数定义为
for(i=0;i<100;i++) for(j=0;j<200;j++);//让单片机连续200*100个时钟周期都不执行操作 此类让单片机不执行任何操作的延时即是阻塞CPU方式的延时。
Note:此处连击定义为按下不松手,等效为不断的单次按下
Page 8
按键进阶---单击双击
按键单击双击时序图
Page 9
按键进阶
数码管
中断系统
点阵及蜂鸣器
Page
10
数码管的原理---实物图
Page
11
数码管的原理---单位数码管原理图
Page
12
数码管的原理---多位数码管原理图
Page
21
数码管动态扫描---代码
Page
22
附:数据手册去哪找
Page
23
演示&练习题
点亮单只数码管(自己计算断码,并直接赋值方式) 点亮单只数码管,并依次显示1,2,3……(查询段码表方式)
Delay延时函数方式实现数码管动态扫描
加入按键,实现数码管显示数字的增减 用Delay延时函数方式实现一个“码表”
视觉暂留现象 人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光 的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”, 视觉的这一现象则被称为“视觉暂留”。
数码管的扫描操作
每一位分别显示,单位时间只亮一个 通过过分时轮流控制各个LED数码管的COM端,切换亮不同的数码管
拓展部分
1. 利用仪器设备或自己计算频率,,实现一个按键控制的简易电子琴,发 出声音的音调级别可通过数码管显示出来。
Page
36
感谢您的关注
Weihei 2013.05.12
Note:可以暂时避过枯燥无味的定时器原理,直接利用小工具实现自己想要的功能,等自己有一 定基础在回来看这一部分原理(精彩绝不容错过)
Page 27
Page
28
定时器闪烁灯---代码
Page
29
演示&练习题
基础部分
1. 利用定时器实现的LED闪烁灯 2. 利用定时器实现一个秒表,在数码管上显示,实现一个较为精确的1s递 增效果 3. 在保证(2)功能的前提下,增加按键,实现秒表的开始定时、暂停、继 续、复位功能(单个按键单个功能)
查询断码表(内含显示不同数字的16进制码) 查询位码表(内含显示不同位的16进制码) 将断码、位码分别送给数码管,完成操作
锁存器的使用
锁存的概念(为节省IO口,复用同一IO口,在不同的时间段实现不同的 功能,既是分时复用的思想)
Page
20
数码管---锁存器74HC573简介
Page