邹显圣《单片机原理和应用项目式教程》多媒体课件项目七_第1页
邹显圣《单片机原理和应用项目式教程》多媒体课件项目七_第2页
邹显圣《单片机原理和应用项目式教程》多媒体课件项目七_第3页
邹显圣《单片机原理和应用项目式教程》多媒体课件项目七_第4页
邹显圣《单片机原理和应用项目式教程》多媒体课件项目七_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微控制器技术应用项目七交通信号灯(含急救与应急)电路的分析与实践微控制器技术应用项目七交通信号灯(含急救与应急)电路的分析与实践项目七交通信号灯(含急救与应急)电路的分析与实践1.单片机中键盘的使用方法。2.能够对键盘进行编程。3.能够进行LED电路的正确连接及调试。4.能够进行时钟电路的正确连接及调试。5.能够进行复位电路的正确连接及调试。6.能够进行本项目单片机系统控制电路的正确连接及调试。【能力目标】项目七交通信号灯(含急救与应急)电路的分析与实践1.掌握独立式按键的工作原理。2.了解矩阵式按键的使用方法。3.进一步熟悉显示电路的工作原理。4.掌握键盘的去抖方法。5.掌握显示驱动电路的使用方法。【知识目标】

一、项目引入二、相关理论知识三、项目实施四、拓展知识六、自测题五、项目小结项目七交通信号灯(含急救与应急)电路的分析与实践 本项目通过单片机来完成模拟交通灯电路的工作状态。通过74LS07驱动发光二极管来模拟交通灯。交通灯除了具有正常的工作状态外,还有应急(急救)状态,东、西、南、北各有一个按键,无论哪个方向有键按下,四个方向的交通灯都应该是红灯。一、项目引入键盘是单片机控制系统最常用、最简单的输入设备。用户可以通过键盘输入数据或命令,实现简单的人机通信。(一)键盘电路工作原理Ⅰ、键盘类型

Ⅱ、非编码键盘与单片机的接口Ⅲ、矩阵非编码键盘与单片机的接口二、相关理论知识

单片机控制系统所用的键盘有编码键盘和非编码键盘两种。1、编码键盘除了键开关外,还有专门的硬件电路,用于识别闭合键并产生键代码。不仅如此,编码键盘一般还有去键抖动电路和防串键保护电路等。这种键盘的优点是所需软件简短,但硬件电路较复杂,价格较昂贵。目前在单片机控制系统中使用不多。2、非编码键盘仅由键开关组成,其它工作如键识别、键代码的产生、去抖动等,不是由硬件完成而是由软件完成的。为了简化硬件电路,降低成本,目前单片机控制系统中大多数采用非编码键盘。非编码键盘的键开关可以排列成线性形式或矩阵形式,因此非编码键盘有线性非编码键盘和矩阵非编码键盘两种。二、相关理论知识Ⅰ、键盘类型二、相关理论知识线性形式二、相关理论知识矩阵形式

线性非编码键盘的键开关排成一行或一列的形式,它与单片机的接口电路如图所示:K1K2K3K489C51+5V二、相关理论知识Ⅱ、非编码键盘与单片机的接口 MOVP1,#0FFHUP1:MOVA,P1;读I/O口状态ANLA,#0FH;屏蔽无用位CJNEA,#0FH,NEXT1;有闭合键?SJMPUP1NEXT1:LCALLD10ms;延时10ms去抖动MOVA,P1;再读I/O口状态ANLA,#0FHCJNEA,#0FH,NEXT2;有闭合键?SJMPUP1NEXT2:JBP1.0,NEXT3;K1按下?LCALLK1;K1键处理程序NEXT3:JBP1.1,NEXT4;K2按下?LCALLK2;K2键处理程序NEXT4:JBP1.2,NEXT5;K3按下?LCALLK3;K3键处理程序NEXT5:JBP1.3,UP1;K4按下?LCALLK4;K4键处理程序LJMPUP1线性非编码键盘的工作原理:当键未被按下时,与此键相连的I/O线获得高电平;当键被按下时,与此键相连的I/O线获得低电平,单片机只要读取I/O口状态,就可以获取按键信息,识别有无键按下和哪个键被按下。键处理程序如下:二、相关理论知识Ⅱ、非编码键盘与单片机的接口例某单片机控制系统,P1口接有8发光二极管,、、、接有4个开关K1、K2、K3、K4,试画出接口电路,并编程使得当K1按下时8个发光二极管全亮;当K2按下时8个发光二极管闪亮;当K3按下时8个发光二极管由左向右点亮;当K4按下时8个发光二极管全灭。K1K2K3K4P3.1P3.0P3.2P3.389C51+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7MOVB,#01H

MOVP3,#0FFH

MOVP1,#00H

UP1:MOVA,P3

ANLA,#0FH

CJNEA,#0FH,NEXT1

SJMPUP1

NEXT1:LCALLD10ms

MOVA,P3

ANLA,#0FH

CJNEA,#0FH,NEXT2

SJMPUP1

NEXT2:JBP3.0,NEXT3

LCALLK1

NEXT3:JBP3.1,NEXT4

LCALLK2

NEXT4:JBP3.2,NEXT5

LCALLK3

NEXT5:JBP3.3,UP1

LCALLK4

LJMPUP1K1:MOVP1,#0FFH

RET

K2:MOVP1,#0FFH

LCALLD2S

MOVP1,#00H

LCALLD2S

RET

K3:MOVP1,B

LCALLD2S

MOVA,B

RLA

MOVB,A

RET

K4:MOVP1,#00H

RET程序子程序ABCD89C51LTRBORBIabcdefgCOMabcdefg74LS48共阴极LED+5VUP:MOVA,30HSWAPAMOVP1,ASJMPUP思考:如果7448的ABCD接到8051的P14—P17,则如何修改程序?abcdefgDpDpP0.0P0.1P0.2P0.389C51P0.4P0.5P0.6P0.7COMabcdefg共阴极LEDDpP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7COMabcdefgDpP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7COMabcdefg思考:编程在4个七段LED数码管上显示30H,31H单元中的内容。(30H,31H单元中分别存有2位BCD码)。MOVDPTR,#TABUP0:MOVA,30H

ANLA,#0FHMOVCA,@A+DPTRMOVP0,A

MOVA,30HSWAPAANLA,#0FHMOVCA,@A+DPTRMOVP1,A

MOVA,31HANLA,#0FHMOVCA,@A+DPTRMOVP2,A

MOVA,31HSWAPAANLA,#0FHMOVCA,@A+DPTRMOVP3,ASJMPUP0TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHabcdefgDp编程在4个七段LED数码管上显示30H,31H单元中的内容。(30H,31H单元中分别存有2位BCD码)。UP:MOVP1,30HMOVP2,31HSJMPUPabcdefgDpP2.0P2.1P2.2P2.389C51DpP2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3COMabcdefgP1.4P1.5P1.6P1.7ABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5VABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5V+5V+5V+5V+5V思考:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中存放的1位BCD码的内容。UP:

MOVA,31HSWAPAORLA,30HMOVP1,A

MOVA,33HSWAPAORLA,32HMOVP2,ASJMPUPP2.0P2.1P2.2P2.389C51DpP2.4P2.5P2.6P2.7COMabcdefgDpP1.0P1.1P1.2P1.3COMabcdefgP1.4P1.5P1.6P1.7ABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5VABCDLTRBORBIabcdefg74LS47+5VDpCOMabcdefgABCDLTRBORBIabcdefg74LS47+5V+5V+5V+5V+5VabcdefgDp89C51COMabcdefgABCDLTRBORBIabcdefg74LS48+5VCOMabcdefgCOMabcdefgCOMabcdefg例:编程在4个七段LED数码管上显示1234。1234START:MOVP2,#11100001BLCALLD2MSMOVP2,#11010010BLCALLD2MSMOVP2,#10110011BLCALLD2MSMOVP2,#01110100BLCALLD2MSSJMPSTART89C51COMabcdefgABCDLTRBORBIabcdefg74LS48+5VCOMabcdefgCOMabcdefgCOMabcdefg34START:MOVR0,#30HMOVR7,#4MOVR2,#0E0HUP:MOVA,@R0ORLA,R2MOVP1,ALCALLD2MSINCR0MOVA,R2RLAMOVR2,ADJNZR7,UPSJMPSTART思考:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中的内容。COMabcdefg驱动器COMabcdefgCOMabcdefgCOMabcdefg1234例:编程在4个七段LED数码管上显示1234。UP:MOVP1,#06HMOVP3,#0FEHLCALLD2MsMOVP1,#5BHMOVP3,#0FDHLCALLD2mSMOVP1,#4FHMOVP3,#0FBHLCALLD2mSMOVP1,#66HMOVP3,#0F7HLCALLD2mSSJMPUP89C5189C51COMabcdefg驱动器COMabcdefgCOMabcdefgCOMabcdefg34例:编程在4个七段LED数码管上显示30H,31H,32H,33H单元中的内容。START:MOVR0,#30HMOVR7,#4MOVR2,#0FEHMOVDPTR,#TABUP:MOVA,@R0MOVCA,@A+DPTRMOVP1,AMOVP3,R2LCALLD2MSINCR0MOVA,R2RLAMOVR2,ADJNZR7,UPSJMPSTARTTAB:DB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,6FH(一)硬件电路原理图设计三、项目实施元器件名称主要参数数量元器件名称主要参数数量单片机AT89C511开关电源+5V3W1驱动芯片74LS071面包板—1晶振6MHz伟福仿真器H51/L1瓷片电容30pF2西尔特编程器SUPERPRO/L+1电阻1KΩ2仿真头POD-S8X5X/H8X5X1电阻220Ω12插线—若干发光二极管红、黄、绿各4个计算机—1按键开关2钳子尖口1螺钉旋具一字及十字2万用表数字式1三、项目实施(二)系统所用元器件、设备及工具三、项目实施(三)系统所用汇编源程序的编制三、项目实施(四)硬件及软件的联合调试有应急车辆通过时正常工作时三、项目实施(五)脱离仿真器后的独立运行四、拓展知识(一)矩阵式按键独立式按键只能用于键盘数量要求较少的场合,当键盘数量要求较多时,可以采取矩阵式按键结构。矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图8-8所示。四、拓展知识(一)矩阵式按键图8-8为4X4矩阵结构,共有16个按键,每一个按键都规定一个键号,分别为0,1,2,……,15。在实际应用中,可将按键分两类:数字键和功能键,如在图8-8中,定义0~9号按键为数字键,对应数字0~9,而其余6个可以为具有各功能的控制键。矩阵式键盘可以节省I/O接口,但其按键的识别较复杂,也就是说,节省I/O接口是以增加软件工作量为代价的。矩阵式键盘按键的识别由三个步骤组成:1.获取键盘的方法2.按键识别方法四、拓展知识1.获取键盘的方法CPU在工作过程中,如何获悉按键按下呢?一般CPU对键盘的扫描有两类:随机扫描和中断扫描。在中断扫描中还可以分为定时扫描和外部中断扫描两种方法。随机扫描是采取程序控制的随机方式,即只有在CPU空闲时才去扫描键盘,响应操作员的键盘输入,但如果CPU在执行应用程序时,就无法响应键盘的输入。定时扫描就是利用单片机内部定时器,每隔一段时间由内部定时发出中断要求,CPU响应该中断请求,去处理扫描键盘的程序,在大多数情况下,CPU对键盘扫描进行空扫描。为了提高CPU的效率并能及时响应键盘的输入,可以采用外部中断方法,即当键盘按下的同时,向CPU发出中断请求,CPU响应中断请求,立即对键盘进行扫描,识别闭合键,并作相应处理,具体电路如图8-9所示。四、拓展知识1.获取键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论