理论教育 单片机应用-多按键安装与调试

单片机应用-多按键安装与调试

时间:2023-11-08 理论教育 版权反馈
【摘要】:任务目标知识目标:1.进一步掌握独立式按键的结构及工作原理。图3-12 程序流程图四、硬件制作1.器材准备本任务所需硬件包含有:已安装基本电路、限流电阻排、8个LED灯,6个独立式按键。

单片机应用-多按键安装与调试

任务引入

在控制单片机过程中,有时需要有几个输入信号改变系统的工作状态,如洗衣机的起动键、模式键、水量键、自动生产线的正转、反转控制等。完成多个按键信号的采集和相互控制与制约的设计是怎样的呢?本次任务我们来学习吧!

任务目标

知识目标:1.进一步掌握独立式按键的结构及工作原理。

2.熟悉掌握多个独立式按键控制程序工作设计思路和步骤。

3.进一步理解JB、JNB等相关指令意义及应用。

4.能独立编写单片机多个独立式按键控制的流程图和程序。

技能目标:1.能使用相关仪表检测按键结构、判断元器件的性能。

2.进一步掌握各电子元器件的焊接方法。

3.会编写多个独立式按键控制的程序。

4.会调试单片机多个独立式按键控制电路的软硬件。

情感目标:1.在制作任务过程中养成严谨的工作态度。

2.在任务实施过程中加强沟通,团队合作。

3.逐步培养学生建立工作的质量意识、安全意识

任务描述

1.利用开发板,控制多个独立式按键控制流水灯的工作:

1)按下SW1,流水灯顺序工作,即D1→D2→D3→D4……D8,依次循环。

2)按下SW2,流水灯逆序工作,即D8→D7→D6→D5……D1,依次循环。

2.绘制多个独立式按键控制流水灯工作流程图和编写相关程序。

3.对本任务中相关元器件进行检测和安装,并完成联机调试,如图3-11所示为多个独立式按键控制电路。

任务实施

一、任务分析

根据任务描述,使用P3.2为SW1按键顺序流水灯工作信号,P3.3为SW2按键顺序流水灯工作信号,P2口控制8个流水灯显示。

二、画程序流程图

根据任务要求画出程序流程图,如图3-12所示。

978-7-111-46712-0-Chapter03-20.jpg

图3-11 多个独立式按键控制电路

三、编写程序

根据流程图和相关指令编写程序。

978-7-111-46712-0-Chapter03-21.jpg

图3-12 程序流程图

978-7-111-46712-0-Chapter03-22.jpg

978-7-111-46712-0-Chapter03-23.jpg

978-7-111-46712-0-Chapter03-24.jpg

四、硬件制作

1.器材准备

本任务所需硬件包含有:已安装基本电路、限流电阻排、8个LED灯,6个独立式按键。

1)元器件表如表3-2所示。

3-2 元器件表

978-7-111-46712-0-Chapter03-25.jpg

2)多个独立式按键电路实物图如图3-13所示。(www.daowen.com)

978-7-111-46712-0-Chapter03-26.jpg

图3-13 多个独立式按键电路

2.工具准备

安装基本电路的焊接工具有:电烙铁、镊子、焊锡、松香等,如图1-58所示。

3.制作要求

(1)按元器件表清点所需安装元器件

(2)检测所有元器件的特性、好坏

(3)焊接要求

1)焊接元器件整体美观、分布均匀、焊接过程先焊接大件,再焊接小件。

2)要求焊接的焊点光滑、饱满、无毛刺,导电性能良好。

3)注意按键焊接的方向,注意观察按键点的粘焊。

4.电路安装

五、联机调试

1)将编写程序输入Keil中,进行程序检查,编译及下载。

2)将hex文件通过双龙下载器烧入单片机并调试。

知识链接

一、相关指令学习

1.查表指令MOVC

程序存储器是只能读而不能写的,存放着监控程序和用户应用程序,由CPU完成对其程序的读写指令。但我们常用程序存储器存放一些常用的数据表格(例如各种代码表格、立方表、字库),在程序执行过程中对其进行表格数据查询,并将查询结果送累加器A,称为查表。

指令功能:首先将寄存器DPTR的内容与累加器A中的内容相加,两者之和作为程序存储器地址,然后将该地址单元的内容传递到累加器A中,指令执行后DPTR的内容不变,但累加器A原来的内容被新地址的内容取代。指令执行中,只要将DPTR的内容逐一递加,就能将某一表格内容逐个送入A中,如图3-14所示。

指令格式:MOVC A,@A+DPTR; A←(A+DPTR)

978-7-111-46712-0-Chapter03-27.jpg

图3-14 MOVC指令示意图

例如:若指令执行前A=05H,DPTR=2000H,则执行指令时,首先将DPTR的内容2000H与累加器中内容05H相加,得到地址2005H,然后将该地址的内容传送到A中。累加器A的内容变化成新的内容,A中内容就是2005H中内容。

注意:执行该指令前,一般要执行MOVDPTR,#TAB指令,#TAB为表格的起始地址,首先应将首地址赋给DPTR。这样在执行MOVC A,@A+DPTR时才知道表格的第一个数的地址在哪里,其他根据第一个地址就依次被确定下了。

2.比较条件转移指令CJNE

指令功能:比较条件转移指令是将指令中的两个操作数相比较,两个数不相等则发生转移,相等则顺序执行。共4条指令,助记符CJNE中,C代表“Cy”,J代表“转移”,N代表“不”,E代表“相等”。

978-7-111-46712-0-Chapter03-28.jpg

比较指令中,两个数据比较后,还会影响进位位Cy值,当Cy=1时,表示操作数1大于操作数2;当Cy=0时,表示操作数1小于操作数2。

例如:CJNE A,#23H,LL1 如果A=23H,则程序顺序执行;如果A≠23H,则程序执行指令后跟的地址LL1处的指令。如下所示:

978-7-111-46712-0-Chapter03-29.jpg

3.加一指令 INC

指令功能:加一指令功能是把源操作数所规定的RAM单元的内容加1。除了DPTR是对16位数据进行加1,其余都是对8位数进行加1。加一指令不会影响Cy里的值。

978-7-111-46712-0-Chapter03-30.jpg

4.减一指令 DEC

指令功能:减一指令功能是把源操作数所规定的RAM单元的内容减1。减一指令与加一指令一样不会影响Cy里的值。

978-7-111-46712-0-Chapter03-31.jpg

任务拓展

根据已有硬件完成下列任务并调试:

在按下SWI流水灯顺序工作或按下SW2流水灯逆序工作时,如何通过另一按键实现工作流水灯的停止,试设计程序并调试。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈