当前位置:
文档之家› 智能控制电路项目四-任务三 独立按键识别
智能控制电路项目四-任务三 独立按键识别
不会自动跳出switch,转而去执行
}
其后面的语句。因此,通常在每一 段case 的结束加入“break;”语句,
}
使 程序退 出 switch 结 构 ,即终 止
主函数
#include "reg51.h"
main()
#define uchar unsigned char {
#define uint unsigned int sbit KEY1=P3^2; //指定按键 sbit KEY2=P3^3; //指定按键 sbit KEY3=P3^4; //指定按键 sbit KEY4=P3^5; //指定按键
仿真演示
任务3 独立按键识别
任务分析
独立按键
硬件
单片机最小应用系统 +
数码管显示电路 +
独立按键电路
软件
任务3 独立按键识别
完成本任务需要掌握的知识:
(1)独立按键识别原理 (2)分支结构程序设计方法及实现语句 (3)绘制程序流程图方法 (4)按键消抖:硬件消抖、软件消抖
任务3 独立按键识别
{ switch(P3)
sbit KEY4=P3^5; //指定按键
uchar code DSY_CODE[]=
{0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};
执行完一个case 后面的语句后,并
{ case 0xfb:P0=DSY_CODE[1];break; case 0xf7:P0=DSY_CODE[2];break; case 0xef:P0=DSY_CODE[3];break; case 0xdf:P0=DSY_CODE[4];break;
uchar code DSY_CODE[]=
{0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90};
P2=0xfe;
while(1)
{ if(KEY1==0) //判断KEY1是否按下 P0=DSY_CODE[1]; if(KEY2==0) //判断KEY2是否按下 P0=DSY_CODE[2]; if(KEY3==0) //判断KEY3是否按下 P0=DSY_CODE[3];
复习: 数码管动态显示原理 BCD码
任务3 独立按键识别
新课: 按键分类:
根据结构,按键可分为两类: 触点式开关按键 无触点式开关按键
根据接口原理按键可分为两类: 编码键盘 非编码键盘
任务3 独立按键识别
独立按键识别电路
任务3 独立按键识别
程序流程图
顺序程序
任务3 独立按键识别
计算器
任务4 矩阵按键识别
任务5 简易计算器设计实现
任务3 独立按键识别
任务要求
单片机系统的运行,需要输入设备实现简单的人 机对话。键盘是单片机最简单、最常用的输入设备。 设计4个独立键盘,编号为“1~4”,当按下某键时,数 码管显示该键所对应的编号。
任务3 独立按键识别
任务3 独立按键识别
程序流程图
所谓流程图就是用各种符号、图形、箭头把程序的流向及过程用 图形表示出来。绘制流程图是单片机程序编写前最重要的工作。 通常所编写的程序就是根据流程图的指向,采用适当的语句来编 写的。
对于简单的应用程序,可以不画出流程图,但绘制清晰正确的流 程图是一个良好的编程习惯。常用的流程图符号如图所示。
if语句 (3)嵌套分支语句
其语句格式为: if(条件1) {语句1} else if(条件2) {语句2} else if(条件3) {语句3} ...... else if(条件m) {语句m} else {语句n}
任务3 独立按键识别
if语句独立按键识别程序流程图
任务3 独立按键识别
if语句独立按键识别程序:
智能控制电路项目实践
学习项目
一 单片机最小应用系统构建 二 单片机开发工具的使用 三 LED流水灯设计制作 四 简易计算器的设计制作 五 里程表的设计制作 六 秒表的设计制作 七 LED电子显示屏的设计制作 八 简易仪器仪表设计制作
项目四 简易计算器设计制作
任务1 一位数码显示
任务2 四位数码显示
任务3 独立按键识别
switch语句独立按键识别程序:
主函数
#include "reg51.h"
main()
#define uchar unsigned char
{
#define uint unsigned int
P2=0xfe;
sbit KEY1=P3^2; //指定按键 while(1)
sbit KEY2=P3^3; //指定按键 sbit KEY3=P3^4; //指定按键
常用流程图符号
任务3 独立按键识别
if语句
判定给定条件是否满足,根据判定结果(真或假)决 定执行给出的两种操作之一。
(1)单一分支体 语句格式为: if(条件) { 语句 }
任务3 独立按键识别
if语句 (2)双分支体 语句格式为:
if(条件) {语句1} else {语句2}
任务3 独立按键识别
循环程序用于重复执行某种动作。在编写循环程序时,控制循环 次数极为重要,具体方法依实际情况而定。循环次数已知的,可 以简单地用计数器来控制;循环次数未知的,可以用某个位或某 个变量的状态作为条件并结合跳转语句来控制。
分支结构的执行是依据一定的条件选择执行路径,而不是严格按 照语句出现的物理顺序。分支结构的程序设计方法的关键在于构 造合适的分支条件和分析程序流程,并根据不同的程序流程选择 适当的分支语句。分支结构适合于带有比较或条件判断的情况, 设计这类程序时往往都要先绘制其程序流程图,然后根据程序流 程写出源程序,这样做把程序设计分析与语言分开,使得问题简 单化,易于理解。
if(KEY4==0) //判断KEY4是否按下
P0=DSY_CODE[4];
}
}
查询方式
任务3 独立按键识别
switch语句 C语言提供switch语句直接处理多分支选择。 switch
的一般形式如下: switch(表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 …… case 常量表达式n:语句n default:语句n+1 }