欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    项目22.ppt

    • 资源ID:3377466       资源大小:2.24MB        全文页数:75页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    项目22.ppt

    项目二 超速报警系统设计与调试,任务2 速度显示模块,2,内容提要,速度显示通常有哪些形式? 数码管显示接口电路如何设计? 液晶显示接口电路如何设计? 数码管显示与液晶显示有何异同? 在数码管上显示小数点,有哪些处理方法? 按键接口电路如何设计?,3,项目效果图,4,主要内容,5,设计步骤,1,2,3,5,4,任务分析,确定方案,硬件设计,软件设计,系统调试,速度显示模块,6,设计要求,7,硬件电路设计 具体可分为,硬件电路设计,系统方案设计,具体电路方案设计,总电路原理图设计,8,软件设计,9,系统方案设计,10,具体电路方案设计-显示电路,动态显示,11,具体电路方案设计-显示电路,静态显示,12,LED数码管,数码管内部由多个发光二极管组成。根据内部二极管连接方式,数码管在结构上又分为共阴极型和共阳极型两种。共阴极型内部发光二极管阴极连在一起,接低电平。共阳极型内部发光二极管阳极连在一起,接高电平。单个数码管内部共有8只发光二极管,7只为字段,可组成字形,第八个为小数点。故单个数码管有人称为七段数码显示,也有人称之为八段显示。如下图示,(a)为数码管引脚及外型图,(b)为共阴极型LED显示器,(c)为共阳极型LED显示器。,13,LED数码管,数码管引脚及内部结构图,14,LED数码管,数码管发光原理分两种情况: 共阴极型如图(b)所示,a、b、c、d、e、f、g各引脚输入高电平有效。只要哪个引脚输入为高电平,对应的二极管就会发亮。 共阳极型,如图(c)所示。这种结构数码管的a、b、c、d、e、f、g各引脚输入低电平有效。只要哪个引脚输入低电平,对应的二极管就会发亮。,公共端接低电平,公共端接高电平,15,LED数码管,通过点亮不同的发光段可组成不同的字形。输入到数码管dp 、g、f、e、d、c、b、a的二进制码称为字段码(或称字形码),数码管显示的结果为字形。下表是显示字形与共阳极和共阴极两种接法的字段码对应关系。,16,LED数码管显示字形与段选码关系,17,LED数码管,上表中,各发光段a、b、c、d、e、f、g及dp与数据线的对应关系是D0D7,即a对应D0、b对应D1、依次类推,而dp对应D7。 只要把共阳极数码管按照引脚a、b、c、d、e、f、g、dp的顺序分别接于单片机P1口的P2.0P2.7,如下图所示。由于P2口在输出时具有锁存功能,只要用指令向P2口送出字段码,数码管就可显示出所需字形。,18,LED数码管,思考: 有时候为了电路板布线方便,数码管与单片机的连接关系并非是“各发光段a、b、c、d、e、f、g及dp与数据线的对应关系是D0D7”。 当他们的连接关系为“D0-D7分别与数码管的g、f、a、b、e、d、c、dp”时,显示的字形码是什么?,19,单个LED数码管显示电路,数码管与P2口接口连接电路,20,单个LED数码管显示电路,要求设计十秒计时器。包含一位数码管,数值在09变化。每位数显示一秒钟。 数码管的显示要用到数组。将字形码存放在数组中。比如 chr10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; P2=chri;(10i=0),这样完成了译码,当i=0时将chr0即0x3f送出了,从而实现了0的显示。,21,单个LED数码管显示电路,十秒计时器流程图,可用for循环实现。,22,单个LED数码管显示程序,void main(void) uchar i; uchar chr10=0x3F,0x06, 0x5B,0x4F,0x66,0x6D, 0x7D,0x07,0x7F,0x6F; while(1) for(i=0;i10;i+) P2=chri; delay(); ,#define uchar unsigned char #define uint unsigned int #include void delay() uchar i; uint j; for(i=0;i124;+i) for(j=0;j1000;+j); ,23,显示接口设计,多位数码管显示时工作方式有两种:静态显示方式和动态显示方式。 1静态显示方式: 静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字形码。送入一次字形码显示字形一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。静态显示接口电路有许多种,下图给出了一个并行接口显示电路的实例。,24,静态显示接口电路,如果要求实现显示34,chr10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; P2=chr3; P2=chr4;,25,练习,要求完成60秒的计时。 可用一个变量i用来存放时间值,初始值为0。当一秒钟时间到了之后,这个变量的值加一。一直减到59,到60后又变为0,从头开始。,要显示这个时间变量,需要将时间的个位和十位上的数值拆分出来。,用什么方法呢?,26,1基本算术运算符 基本算术运算符有如下5种: +(加法)、(减法)、*(乘法)、/(除法)、%(求余数) 1) 关于除法运算“/” C语言规定:两个整数相除,其商为整数,小数部分被舍弃。例如,10/3=3。如果相除的两个数中至少有一个是实型的,则结果为实型。例如,10.0/3=3.333333。,算术运算符,27,如果商为负值,则取整的方向随系统而异。但大多数系统采取“向零取整”原则,既取整后向零靠拢,换句话说,取其整数部分。例如,-5/3=-1。 2) 关于求余数运算“%” 求余数运算要求两侧的操作数均为整型数据,否则出错。例如,5%2=1。,可以用除法运算和求余数运算将需要显示数据的个位和十位的数码求出。,算术运算符,28,数字拆分,例如将69的个位和十位的数字分别拆出。 69/10=6 69%10=9,这样便获得了6和9,即可分别送数码管显示了。,29,60秒计时流程图。,30,void main(void) char i; unsigned char chr10=0x3F,0x06, 0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; while(1) for(i=0;i60;i+) P2=chri/10; P3=chri%10; delay(); ,31,显示接口设计,2动态显示:动态显示的特点是将所有数码管的段选线并联在一起,通过控制位选信号来控制数码管的点亮。这样一来,就没有必要每一位数码管配一个锁存器,从而大大简化了硬件电路。数码管采用动态扫描显示,所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的限流电阻。下图给出一种2位LED动态显示电路。,32,动态显示接口电路,33,用动态显示法实现两位数58的显示。,34,动态显示接口程序,#define uchar unsigned char #define uint unsigned int #include void delay(int k) uchar i; uint j; for(i=0;i124;+i) for(j=0;jk;+j); ,35,void display(unsigned char t) unsigned char n1,n2; unsigned char chr10=0x3F,0x06,0x5B, 0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; n1=t/10;n2=t%10; P3_1=1;P3_0=0; P2=chrn1; delay(10); P3_0=1;P3_1=0; P2=chrn2; delay(10); ,36,void main(void) unsigned char i=58; while(1) display(i); ,37,练习,采用动态显示法显示六位数应该如何绘制接口电路和编写程序?,38,display(long zt) char chr10=0x3F,0x06,0x5B,0x4F, 0x66,0x6D,0x7D,0x07,0x7F,0x6F; char i,lie,a6; a5 = zt%10; zt = zt/10; a4 = zt%10; zt = zt/10; a3 = zt%10; zt = zt/10; a2 = zt%10; zt = zt/10;,a1 = zt%10; zt = zt/10; a0 = zt%10; lie = 0x01; for ( i=0;i6;i+) P2=lie; P0=chrai; delay( ); lie= lie1; ,39,数码管的驱动,一般的51 系列单片机的I/O 口可以输出4mA 的拉电流或20mA 的灌电流,可以驱动数码管发光。由于灌电流较大,因此对共阳极数码管的驱动能力较大。数码管工作时每段需串联一个限流电阻, 另外,电阻值的选取只要保证管子正常发光即可。一般单个数码管电流控制在1020mA较合适。电流太大会加大耗电量,而电流太小又无法得到足够的发光度。,40,数码管的驱动,41,数码管的驱动,当多位数码管采用动态显示方式时,数码管上八段的电流集合到公共段,所以数码管的位线不能直接连接到单片机的I/O口。可通过IO口控制三极管的导通和截止来控制与电源的连接。,42,数码管的驱动,43,数码管的驱动,为了增加数码管的亮度,在多位显示时,段码上应加上驱动芯片,增强输出电流。 常用显示驱动芯片有:74ls47,74ls48, 74ls244,74ls164,74ls595等等。 74ls244 :三态输出的八缓冲器和线驱动器(20MA) 74ls164:8串行输入并行输出的移位寄存器(25MA) 74ls595:8位串入并出输出锁存移位寄存器(35MA),44,数码管的驱动,45,设计要求,46,具体电路方案设计-键盘电路,47,按键,按键的分类 按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。,48,按键,键输入原理 在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。,49,3按键结构与特点 微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。,按键,50,机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如下图所示,抖动时间的长短与开关的机械特性有关,一般为510 ms。,按键,51,按键触点的机械抖动,按键,52,在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。,按键,53,软件上采取的措施是:在检测到有按键按下时,执行一个10 ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。,按键,54,编制键盘程序 一个完善的键盘控制程序应具备以下功能: (1) 检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。 (2) 有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。,按键,55,(3) 准确输出按键值(或键号),以满足跳转指令要求。,按键,56,独立式按键结构 单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用下图所示。,按键,57,独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。,按键,58,独立式按键的软件结构 独立式按键的软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。,按键,59,S1S4四个按键分别接到P3.0 、P3.1、P3.2和P3.3,对这些键可以采用查询的方法。,If(P3_0=0) delay(10); if(P3_0=0) delay(10); while(P3_0=0); 按键确定按下,可执行功能程序 ,按键,60,按键开关的抖动问题,单片机中应用的键盘一般是由机械触点构成的。由于按键是机械触点,当机械触点断开、闭合时,会有抖动。,抖动对于人来说是感觉不到的,但对单片机来说,这已是一段“漫长”的时间了。,61,消除抖动的方法,为了使CPU能正确地读出P1.0口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动。 软件去除抖动就是在单片机获得P1.0口为低的信息后,不是立即认定S已被按下,而是延时10毫秒或更长一段时间后再次检测P1.0口,如果仍为低,说明S的确按下了,这实际上是避开了按键按下时的抖动时间。而在检测到按键释放后(P1.0为高),再对键值处理。,62,练习,练习题: 单片机P1口连接了8个按键,键值分别为1-8,当按键按下时将该键的键值用数码管显示出来。,63,8个按键分别接到P1.0 P1.7,采用不断查询的方法,即检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的键处理。,64,按键示例,#include void delay(int k) unsigned char i; unsigned int j; for(i=0;i124;+i) for(j=0;jk;+j); uchar key(void) uchar a; P1=0xff; a=P1;,if(a=0xff) return 0; else delay(10); a=P1; if(a=0xff) return 0; else while(P1!=0xff); return a; ,65,main( ) unsigned char chr10= 0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F; unsigned char k; while(1) k=key(); switch(k) case 0:break; case 0xfe:P2=chr1;break; case 0xfd:P2=chr2;break; case 0xfb:P2=chr3;break;,case 0xf7:P2=chr4; break; case 0xef:P2=chr5; break; case 0xdf:P2=chr6; break; case 0xbf:P2=chr7; break; case 0x7f:P2=chr8; break; ,66,按键数量较少时,可以逐个判断按键是否按下。,If(P1_0=0) delay(10); if(P1_0=0) delay(10); while(P1_0=0); 按键按下,可执行功能程序 ,67,练习: 设计一个包含两个按键S1、S2和一位数码管的系统,S1按下则数码管的数值加一,数值达到9后按下S1则数值变换为0。S2按下则数码管的数值减一,数值达到0后按下S2则数值变换为9 。,68,设计要求,69,总电路图,共阳,70,软件流程图,If(P1_5=0) delay(10); if(P1_5=0) delay(10); while(P1_5=0); (显示变量=15) ,71,void main(void) unsigned char i=15; display(i); while(1) if(P1_5=0) delay(10); if(P1_5=0) delay(10); while(P1_5=0); i=15; ,if(P1_6=0) delay(10); if(P1_6=0) delay(10); while(P1_6=0); i=20; if(P1_7=0) delay(10); if(P1_7=0) delay(10); while(P1_7=0); i=25; display(i); ,72,方案汇报,小组成员代表进行方案汇报,73,老师点评,74,具体设计!,75,布置作业,课后总结项目1任务3的学习情况,认真完成学习记录单的填写。 根据项目2任务1的学习任务单中的引导问题先预习。 做好下次课被抽查汇报预习情况的准备。 做好项目1阶段性考核的准备,上机考(改错)。,

    注意事项

    本文(项目22.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开