第四章9一键多功能按键识别技术

合集下载

一键多功能按键识别技术

一键多功能按键识别技术

1.实验任务如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。

2.电路原理图图4.9.13.系统板上硬件连线(1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上;(2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。

4.程序设计方法(1.设计思想由来在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。

(2.设计方法从上面的要求我们可以看出,L1到L4发光二极管在每个时刻的闪烁的时间是受开关SP1来控制,我们给L1到L4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。

下面给出有关程序设计的框图。

5.程序框图图4.9.2 6.汇编源程序ID EQU 30HSP1 BIT P3.7L1 BIT P1.0L2 BIT P1.1L3 BIT P1.2L4 BIT P1.3ORG 0MOV ID,#00HSTART: JB K1,RELLCALL DELAY10MSJB K1,RELINC IDMOV A,IDCJNE A,#04,RELMOV ID,#00HREL: JNB K1,$MOV A,IDCJNE A,#00H,IS0CPL L1LCALL DELAYSJMP STARTIS0: CJNE A,#01H,IS1CPL L2LCALL DELAYSJMP STARTIS1: CJNE A,#02H,IS2CPL L3LCALL DELAYSJMP STARTIS2: CJNE A,#03H,IS3CPL L4LCALL DELAYSJMP STARTIS3: LJMP START DELAY10MS: MOV R6,#20LOOP1: MOV R7,#248DJNZ R7,$DJNZ R6,LOOP1RETDELAY: MOV R5,#20LOOP2: LCALL DELAY10MSDJNZ R5,LOOP2RETEND7.C语言源程序#include <AT89X51.H>unsigned char ID;void delay10ms(void){unsigned char i,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}void delay02s(void){unsigned char i;for(i=20;i>0;i--){delay10ms();}}void main(void){while(1){if(P3_7==0){delay10ms();if(P3_7==0){ID++;if(ID==4){ID=0;}while(P3_7==0); }}switch(ID){case 0:P1_0=~P1_0;delay02s();break;case 1:P1_1=~P1_1; delay02s(); break;case 2:P1_2=~P1_2; delay02s(); break;case 3:P1_3=~P1_3; delay02s(); break;}}。

4--课程设计任务书-一键多功能识别技术-

4--课程设计任务书-一键多功能识别技术-

一、设计目的1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。

2.掌握汇编语言程序设计方法。

3.培养实践技能,提高分析和解决实际问题的能力。

二、课程设计题目:一键多功能按键识别技术三、设计任务及要求1.利用开关控制接在单片机P0口的4个发光二极管。

2.上电的时候,第一个发光二极管闪烁,当按下开关的时候,第二个发光二极管闪烁,依次类推。

四个灯闪烁的时间间隔均为0.2秒。

四、总体设计思路1.硬件设计思路及系统框图。

2.软件设计思路及程序流程框图。

五、设计步骤1.硬件设计(1)确定目标:设计整个系统是由那些模块组成,各个模块之间的信号传输,并画出电路图。

(2)系统分析:根据系统功能,选择各模块所用电路形式。

(3)总电路图:连接各模块电路。

2.软件设计(1)分析系统功能,设计软件流程图并编写功能代码。

(2)运用Keil软件进行程序调试。

3. 基于Proteus 和Keil的软硬件联合仿真六、课程设计成果要求课程设计报告打印稿、电子稿,使用Keil、Proteus软件综合调试仿真产生的文件夹。

硬件电路图一份(A4)一、设计目的1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。

2.掌握汇编语言程序设计方法。

3.培养实践技能,提高分析和解决实际问题的能力。

二、课程设计题目:一键多功能按键识别技术三、设计任务及要求1.利用开关控制接在单片机P0口的4个发光二极管。

2.上电的时候,第一个发光二极管闪烁,当按下开关的时候,第二个发光二极管闪烁,依次类推。

四个灯闪烁的时间间隔均为0.5秒。

四、总体设计思路1.硬件设计思路及系统框图。

2.软件设计思路及程序流程框图。

五、设计步骤1.硬件设计(1)确定目标:设计整个系统是由那些模块组成,各个模块之间的信号传输,并画出电路图。

(2)系统分析:根据系统功能,选择各模块所用电路形式。

按键控制键盘检测原理与应用

按键控制键盘检测原理与应用

按键控制键盘检测原理与应用一、任务目标:认知目标1、掌握按键分类及工作原理2、掌握IF条件选择结构和使用方法3、掌握循环结构和使用原理4、掌握独立按键子函数的编写原理及方法1、独立键盘在简单的单片机应用系统中,往往只需要几个功能键就能满足要求,此时,可采用独立式按键结构。

独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O 口线,每个按键的工作不会影响其它I/O口线的状态。

独立式按键的典型应用如图1.2.1所示。

独立式按键示意图独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。

程序开始,检测按键是否被按下,若按下,则移动机器人启动,未被按下,继续检测。

这里将程序分成三个部分,分别是延时子函数、按键子函数、主函数。

延时子函数,通过参数t设置延时时间;按键模块子函数需用到延时函数,对按键进行消抖;主函数主要调用按键检测程序,实现对移动机器人的控制。

程序流程图如图1.2.2所示程序流程图程序示例:在编写程序开始的部分,将系统头文件“STC89C52RC.H”包含进来,对常用的变量类型进行宏定义,规划各函数和变量,对变量进行定义和初始化,对自定义子函数进行声明并添加相应标注,程序开始部分如下sbit IN1=P1^0;sbit IN2=P1^1;Void key();编写主函数,在主函数中就是调用按键检测函数。

Void main(){key();}编写key()按键检测函数,按键按下,输出低电平,通过if语句检测低电平,延时10ms 后,再次检测,若检测为高电平,则表示为机械抖动,若检测到低电平表示按键按下。

Void key(){if(IN1==0){delay_ms(10);if(IN1==0){while(IN1==0);IN2=~IN2;}}}在上面的程序中,就只有一个检查按键扫描的函数key(),key()函数是检查有没有按键按下编写的。

09 案例九 一键多功能按键识别技术

09 案例九  一键多功能按键识别技术

一键多功能按键识别技术1.实验任务如图1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。

2.电路原理图图13.系统板上硬件连线(1).把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上;(2).把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。

4.程序设计方法(1).设计思想由来在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。

(2).设计方法从上面的要求我们可以看出,L1到L4发光二极管在每个时刻的闪烁的时间是受开关SP1来控制,我们给L1到L4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。

下面给出有关程序设计的框图。

5.程序框图如图2所示。

图26.汇编源程序 ID EQU 30H SP1 BIT P3.7 L1 BIT P1.0 L2 BIT P1.1 L3 BITP1.2 L4 BIT P1.3 ORG 0MOV ID,#00HSTART: JB K1,REL LCALL DELAY10MS JB K1,REL INC ID MOV A,IDCJNE A,#04,REL MOV ID,#00H REL: JNB K1,$ MOV A,IDCJNE A,#00H,IS0 CPL L1LCALL DELAY SJMP STARTIS0: CJNE A,#01H,IS1 CPL L2LCALL DELAY SJMP STARTIS1: CJNE A,#02H,IS2 CPL L3LCALL DELAY SJMP STARTIS2: CJNE A,#03H,IS3 CPL L4LCALL DELAY SJMP STARTIS3: LJMP STARTDELAY10MS: MOV R6,#20 LOOP1: MOV R7,#248 DJNZ R7,$DJNZ R6,LOOP1 RETDELAY: MOV R5,#20LOOP2: LCALL DELAY10MS DJNZ R5,LOOP2 RET END7. C语言源程序#include <AT89X51.H> unsigned char ID; void delay10ms(void) {unsigned char i,j; for(i=20;i>0;i--) for(j=248;j>0;j--); }void delay02s(void) {unsigned char i; for(i=20;i>0;i--) {delay10ms(); } }void main(void) { while(1) { if(P3_7==0) {delay10ms(); if(P3_7==0) { ID++;if(ID==4) { ID=0; }while(P3_7==0); } }switch(ID) { case 0: P1_0=~P1_0; delay02s(); break; case 1:P1_1=~P1_1; delay02s(); break; case 2: P1_2=~P1_2; delay02s(); break; case 3: P1_3=~P1_3; delay02s(); break; } } }。

第四章技术规格、参数与要求

第四章技术规格、参数与要求

第四章技术规格、参数与要求一、采购项目名称:LED屏及附属设备采购核心产品:教学扩声系统主机、多功能会议录播终端、多功能会议录播系统三、供货范围:1、产品正常使用时所需的附件、工具等;2、中标人负责产品到施工地点的全部运输,包括装卸及现场搬运等;3、中标人负责产品在施工地点的保管,直至项目安装验收合格;4、中标人负责其派出的施工人员的人身意外保险。

四、附件及零配件(包括专用工具)、备品备件的要求1、中标人必须在投标文件中详细列明所投产品的附件、零配件(包括专用工具)等。

保证产品能正常使用的附件、备品备件及项目清单中要求提供的零配件和备品备件等。

2、中标人提供的产品性能及质量有国家标准的应符合现行国家标准,无国家标准的应符合部颁标准或企业标准。

供货方提供的产品应按标准措施进行包装,包装物不回收。

每一包装箱内应附详细装箱单和质量证书、说明书,随机备品、配件和工具的种类数量按所附使用说明书及清单执行。

五、验收标准和方法1、根据长沙市财政局和长沙市审计局《关于进一步规范政府采购项目履约验收工作管理的通知》(长财采购[2016]6号)的规定,项目验收国家有强制性规定的,本项目采用简易程序进行验收。

按国家规定执行,验收报告作为申请付款的凭证之一。

2、验收过程中产生纠纷的,由质量技术监督部门认定的检测机构检测,如为中标人原因造成的,由中标人承担检测费用;否则,由采购人承担。

3、项目验收不合格,由中标人返工直至合格,有关返工、再行验收,以及给采购人造成的损失等费用由中标人承担。

连续两次项目验收不合格的,采购人可终止合同,另行按规定选择其他供应商采购,由此带来的一切损失由中标人承担。

六、安装调试及技术服务(含培训)要求1、设备安装调试要求1.1中标人须加强施工的组织管理,所有施工人员须遵守文明安全施工的有关规章制度,持证上岗。

1.2项目完成后,中标人应将项目有关的全部资料,包括产品资料、技术文档、施工图纸等,移交采购人。

常用功能键的使用资料课件

常用功能键的使用资料课件

Ctrl+Z, Ctrl+Y
在使用撤销和恢复功能时,请注意保 存文档,避免出现数据丢失的情况。
Ctrl+F, Ctrl+H
在进行查找和替换操作时,请仔细检 查替换内容,避免出现误替换的情况 。
Ctrl+B, Ctrl+I, Ctrl+U
在使用加粗、斜体和下划线功能时, 请注意格式化文档,保持文档的整洁 和易读性。
要点二
详细描述
如果功能键无法使用,首先检查键盘是否连接良好,确保 没有物理损坏。然后更新或重新安装键盘驱动程序,以解 决驱动程序问题。如果问题仍然存在,检查软件冲突,尝 试卸载最近安装的软件或更新,看是否解决问题。
功能键冲突问题
总结词
功能键冲突问题通常是由于同时按下多个键引起的。
详细描述
解决功能键冲突问题的方法是更改键盘设置。在键盘设置中,可以启用或禁用某些键的 特殊功能,或者更改键的功能。此外,一些软件也可以提供键盘映射功能,允许用户自
F12键
开发者工具快捷键
在浏览器中,F12键用于打开开发者工具面板。通过开 发者工具,用户可以查看网页源代码、调试JavaScript 代码、检查网络请求等,这对于网站开发和调试非常有 用。
03
功能键的组合使用
Ctrl+C/V/X/Z
Ctrl+C
复制选定的文本或 对象到剪贴板。
Ctrl+X
剪切选定的文本或 对象到剪贴板。
05
功能键的使用技巧和注意事 项
功能键的使用技巧
Ctrl+C:复制选中内 容。
Ctrl+V:粘贴到新位 置。
Ctrl+X:剪切选中内 容。

触摸感应按键介绍课件

触摸感应按键介绍课件

公共卫生间控制
在公共卫生间,触摸感 应按键可用于控制水龙 头、排气扇等设施,方 便市民使用并勤俭水资 源。
公共座椅控制
在公共场所如图书馆、 咖啡馆等,触摸感应按 键可以让市民调节座椅 的角度和高度,提高舒 适度。
感谢您的观看
THANKS
集成化
随着技术的进步,触摸感应按键将与其他传感器和功能集成在一起 ,实现更加丰富的交互方式和应用场景。
安全性增强
随着人们对隐私和安全的关注度不断提高,未来的触摸感应按键技 术将更加重视安全性,采用更加先进的加密和保护措施。
04
触摸感应按键的未来展望
市场前景预测
1 2 3
Hale Waihona Puke 市场规模持续增长随着智能终端设备的普及,触摸感应按键市场需 求不断增长,估计未来几年市场规模将继续扩大 。
触摸感应按键介绍课件
目 录
• 触摸感应按键概述 • 触摸感应按键的优势 • 触摸感应按键的技术发展 • 触摸感应按键的未来展望 • 触摸感应按键的案例分析
01
触摸感应按键概述
定义与工作原理
定义
触摸感应按键是一种利用触摸感应技术实现的按键,用户可以通过触摸或轻触 来触发相应的操作或功能。
工作原理
智能空调系统
用户可以通过触摸感应按键调节空调的温度、风速等,实现舒适家 居。
智能窗帘系统
通过触摸感应按键,用户可以控制窗帘的开关和调节,方便实用。
案例二:商业展示中的应用
展示柜控制
在博物馆、艺术馆等展示场所,触摸感应按键常被用于控制展示柜 的灯光、温度等,以保护展品并给观众更好的观赏体验。
信息查询
竞争格局加剧
随着新技术的涌现和市场竞争的加剧,触摸感应 按键行业将面临更加猛烈的竞争,企业需要不断 提升技术水平和产品品质。

51单片机实例(含详细代码说明)

51单片机实例(含详细代码说明)

1.闪烁灯1.实验任务如图4.1.1所示:在端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为秒。

2.电路原理图图4.1.13.系统板上硬件连线把“单片机系统”区域中的端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。

4.程序设计内容(1).延时程序的设计方法作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢下面具体介绍其原理:如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒MOV R6,#20 2个 2D1: MOV R7,#248 2个 2 2+2×248=498 20× DJNZ R7,$ 2个2×248 (498DJNZ R6,D1 2个2×20=4010002因此,上面的延时程序时间为。

由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。

如本实验要求秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如下:DELAY: MOV R5,#20D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RET(2).输出控制如图1所示,当端口输出高电平,即=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当端口输出低电平,即=0时,发光二极管L1亮;我们可以使用SETB 指令使端口输出高电平,使用CLR 指令使端口输出低电平。

5.程序框图如图4.1.2所示图4.1.26.汇编源程序ORG 0START: CLRLCALL DELAYSETBLCALL DELAYLJMP STARTDELAY: MOV R5,#20 ;延时子程序,延时秒D1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND7. C语言源程序#include <>sbit L1=P1^0;void delay02s(void)4.2.14.2.14.2.24.3.14.3.14.3.20F0F4.4.14.4.14.4.24.5.1 4.5.20F0F0F0F7f7f7f7f4.6.14.6.2实验任务如图13所示,利用AT89S51单片机的P0端口的-连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。

Proteus仿真单片机实验

Proteus仿真单片机实验

目录引言 (2)实验1 PROTUES环境及LED闪烁综合实验 (7)实验2 多路开关状态指示 (10)实验3 报警产生器 (13)实验4 I/O并行口直接驱动LED显示 (16)实验5 按键识别方法之一 (19)实验6 一键多功能按键识别技术 (22)实验7 定时计数器T0作定时应用技术 (25)实验8定时计数器T0作定时应用技术 (28)实验9 “嘀、嘀、......”报警声 (32)实验10 8X8 LED点阵显示技术 (36)实验11电子琴 (40)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。

以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。

在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。

利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。

1. Proteus介绍Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。

1.1 Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。

Proteus可提供30多种元件库,超过8000种模拟、数字元器件。

可以按照设计的要求选择不同生产厂家的元器件。

此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。

除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。

单片机原理(按键识别 )实验报告

单片机原理(按键识别 )实验报告
while(x--); } void main() {
教育资料
.
while (1) {
if(key==0) {
delay(1000); if(key==0) {
led=~led; while(key==0); }
} } } (2)按键识别 ( 按下灭,再按闪) #include<reg51.h> #define uint unsigned int #define uchar unsigned char sbit led=P2^6; sbit key=P2^7;
.
switch(j) { case 0 : led=0;break; case 1 : led=~led;delay(100);break; default:break; }
}
}
(3)按键识别 ( 按下数码管数值加 1) #include<reg51.h> #define uint unsigned int #define uchar unsigned char uchar code LedCode[]={ 0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00}; uchar DispBuf[8]; sbit led=P2^6;
教育资料
.
if(hour>=24) {
hour=0; }
}
void main() {
uint i=2; while (1) {
if(key==0) {
delay(1000); if(key==0) {
i++; while(key==0); i=i%3;
教育资料
.
} } switch(i)

单片机一键多功能按键识别设计

单片机一键多功能按键识别设计

安徽电子信息职业技术学院《单片机应用技术》课程设计报告书题目:一键多功能按键识别设计姓名: xxx专业:电子信息工程技术班级:电信097学号: 090301704设计成绩:指导教师:李炎设计完成日期 2010年12月26日前言单片机的应用介绍单片机具有体积小、可靠性高、功能强、灵活方便等许多优点,广泛应用于国民经济的各个领域。

智能仪器的应用单片机用于各种仪器仪表,是仪器仪表智能化,可以提高测量的自动化程度和精度;简化仪器仪表的硬件结构,减小体积,提高其性价比。

例如:温度智能控制仪表、医用仪表、数字示波器等。

通信设备的应用单片机与通信技术相结合促使通信设备的智能控制水平大大提高,广泛应用于通信的各个领域。

例如:调制解调器、传真机、复印机、打印机、移动电话、固定电话机等。

(3)家用电器的应用传统的家电配上单片机以后,提高了智能化程度,增加了功能,倍受人们的喜爱;单片机使人类生活更加方便、舒适、丰富多彩。

例如:洗衣机、电冰箱、电子玩具、收录机、微波炉、电视机、录像机、音响设备、程控玩具、游戏机等。

工业控制的应用机电一体化是机械工业发展的方向。

机电一体化产品是集机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。

单片机广泛用于导弹的导航装置、飞机上各种仪表的控制、计算机的网络通信与数据传输、机器人、工业自动化过程的实时控制和数据处理。

在比较复杂的系统中,常采用分布式多机系统。

多机系统一般由若干功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系。

协调工作。

单片机的高可靠性和强抗干扰能力,使它可以置于恶劣课程设计的目的和意义1、目的:(1)掌握单片机中有关指令的使用方法。

(2)掌握循环程序的设计方法。

(3)掌握子程序的应用方法。

(4)掌握延时时间的计算、应用。

课题设计意义计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。

由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.一键多功能按键识别技术
1.实验任务
如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。

2.电路原理图
图4.9.1
3.系统板上硬件连线
(1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上;
(2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,
P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。

4.程序设计方法
(1.设计思想由来
在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。

(2.设计方法
从上面的要求我们可以看出,L1到L4发光二极管在每个时刻的闪烁的时间是受开关SP1来控制,我们给L1到L4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID =0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。

下面给出有关程序设计的框图。

5.程序框图
图4.9.2
6.汇编源程序
ID EQU 30H
SP1 BIT P3.7
L1 BIT P1.0
L2 BIT P1.1
L3 BIT P1.2
L4 BIT P1.3
ORG 0
MOV ID,#00H START: JB K1,REL
LCALL DELAY10MS
JB K1,REL
INC ID
MOV A,ID
CJNE A,#04,REL
MOV ID,#00H REL: JNB K1,$
MOV A,ID
CJNE A,#00H,IS0
CPL L1
LCALL DELAY
SJMP START
IS0: CJNE A,#01H,IS1
CPL L2
LCALL DELAY
SJMP START
IS1: CJNE A,#02H,IS2
CPL L3
LCALL DELAY
SJMP START
IS2: CJNE A,#03H,IS3
CPL L4
LCALL DELAY
SJMP START
IS3: LJMP START DELAY10MS: MOV R6,#20
LOOP1: MOV R7,#248
DJNZ R7,$
DJNZ R6,LOOP1
RET
DELAY: MOV R5,#20
LOOP2: LCALL DELAY10MS
DJNZ R5,LOOP2
RET
END
7.C语言源程序
#include <A T89X51.H>
unsigned char ID;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void delay02s(void)
{
unsigned char i;
for(i=20;i>0;i--)
{delay10ms();
}
}
void main(void)
{ while(1)
{ if(P3_7==0)
{delay10ms();
if(P3_7==0)
{
ID++;
if(ID==4)
{
ID=0;
}
while(P3_7==0);
}
}
switch(ID)
{ case 0:
P1_0=~P1_0;
delay02s();
break;
case 1:
P1_1=~P1_1;
delay02s();
break;
case 2:
P1_2=~P1_2;
delay02s();
break;
case 3:
P1_3=~P1_3;
delay02s();
break;
}
}
}。

相关文档
最新文档