时间显示模块设计.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
时间显示模块设计

单元4 时间显示模块设计 回顾 1,8051单片机最小系统的组成? 2,单片机运行以什么单位计算时间? 3,单片机如何驱动LED? 本单元任务 任务1 数码管显示设计 任务2 定时器应用设计 任务3 DS1302时钟设计 任务4 按键计数设计 任务1 数码管显示设计 1,七段LED数码管工作原理 七段LED数码管是由发光二级管排列构成.由(a—g 7段)和1个圆点(dp)组成。LED数码管的的连接方式有共阳极和共阴极两种。 共阴极:把各段发光二极管的阴极连接在一起,然后通过接地或低电平,如下图示,根据要求需点亮发光二极管的阳极输入高电平,不需点亮的发光二极管的阳极输入低电平。 共阳极:把各段发光二极管的阳极连接在一起,然后通过接电源或高电平,如下图示, 根据要求需点亮发光二极管的阴极输入低电平,不需点亮的发光二极管的阴极输入高电平。 通过控制7段发光二极不同组合的亮灭,显示出不同的数字与字母。例如你要用单片机控制数码管显示3的数字,那就要分别点亮发光二极管的a,b,c,d,g段,如下图示(共阳极) . 七段码LED显示器字形编码: 请同学们理解每个字符的编码由来 【例4-1】试设计驱动1位数码管显示8个流水灯点亮的序号。 设计分析:流水LED灯和P1口相连,1位数码管的段选线和P2相连,位选线直接和电源(高电平)相连,使得数码管处于一直工作状态而无需编程选中,如图4-5所示。当第一个LED点亮时,编程驱动数码管显示“1”,当第二个LED点亮时,编程驱动数码管显示“2”……即数码管的显示内容跟随着被点亮LED的序号而改变。 void main() { unsigned char i=0; while(1) { P1 = led_light[i]; //点亮对应的LED P2 = seg7_light[i]; //LED显示相应的数字 delay(); i++; //i自加1 if(i==8)i=0; //判断是否点亮最后一个LED,是则重新点亮 } } 2,数码管显示方式 静态显示方式 每位数码管的段选线和位选线是独立的,所以同一时刻可以显示不同的字符,编程简单。但是这样很浪费单片机的I/O口资源,N位静态数码管就要求有N×8根I/O接口线,所以适合数码管较少的场合。 动态显示方式:动态显示方式的接口电路的连接是将所有数码管的段选线(a~dp) 同名并联,如所有a段并联,所有b段并联……,然后有一个8位的I/O接口来控制各个段。而每位数码管的位选线由相应的I/O接口控制,每一瞬间只有一位数码管的位选线被选中,所以每一瞬间只能显示一位数码管,同样,下一瞬间只选中另一位数码管的位选线,所以下一瞬间也只能显示下一位数码管。等所有数码管都扫描完毕后,又再进行下一轮的循环扫描。由于扫描时间很短,人眼的视觉残留效应,所以看到的是所有数码管一起显示。 【例4-2】试设计驱动2位数码管动态显示“28”。 设计分析:2位数码管与单片机连接如图4-10所示,其中段选线和P0口相连,位选线则分别由P2.6、P2.7控制。根据数码管动态显示—每次只选中1位数码管工作的扫描原理,程序设计上先扫描显示第1位数码管(只需位选第1位数码管P2=0xbf,“2”的编码赋值给段选线P0=0xa4),接着扫描显示第2位数码管(只需位选第2位数码管P2=0x7f,“8”的编码赋值给段选线P0=0x80)。 void main() { while(1) { P2 = 0xbf; //位选数码管,即选中第一位数码管 P0= 0xa4; //段选数码管,“2”的编码赋值给P0 display_delay(); //显示延时 P0=0xff; //关闭显示 P2 = 0x7f; //位选数码管,即选中第二位数码管 P0= 0x80; //段选数码管,“8”的编码赋值给P0 display_delay(); //显示延时 P0=0xff; //关闭显示 } } 1. Proteus电路设计 2. Keil C51程序设计 3. Proteus-Keil联合调试仿真 硬件电路图 (1)程序流程 初始时间为10点整。主程序循环扫描6个数码管动态显示,由于扫描速度很快,因此在程序设计上,考虑6个数码管动态扫描多次(100)后,再进行显示加1。同时注意秒、分钟、小时的进制进位。 Proteus-Keil联合调试仿真 运行 任务2 定时器应用设计 1.定时/计数器结构 2.定时器如何计算时间 在“内部计时器” 功能下,每个机器周期定时器的值增1。因此,可

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档