单片机应用技术项目教程(C语言版)(第二版)-项目三 数码管显示.ppt

单片机应用技术项目教程(C语言版)(第二版)-项目三 数码管显示.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
陳慶逸、林柏辰編著---文魁資訊 ARM嵌入式系统 “十二五”职业教育国家规划教材 (经全国职业教育教材审定委员会审定) 项目三 数码管显示控制 3.1 工作模块6 数码管循环显示 0~9 工作任务: 利用AT89S52 单片机的P2端口的P2.0-P2.6 连接到一个共阴数码管的a-g 7个引脚上,数码管的公共端接地。在数码管上循环显示 0-9 数字。 3.1.1 认识数码管 重要的显示器部件 。 分类:LED和LCD。 LED 特点:价格低廉、体积小、功耗低、可靠性好。 1、数码管的结构和工作原理 8个发光二极管组成 通过不同组合显示数字和字符(举例) 引脚排列 有共阴和共阳两种结构,分别 讲其工作原理 共阴数码管 共阳数码管 2、数码管的字型编码 要使数码管显示某个字符,必须使8段二极管加上相应的电平组合,即一个8位数据,这个数据就叫字符的字型编码 。这个8位数据和各段对应关系见图3-2,要显示的字符和共阴共阳字型编码(互为反码)对应关系见表3-1。举例。 3、数码管的显示方法(动态和静态) ▲动态:概念、使用场合(多、显示不同数字)、特点(节省I/O资源,电路简单、稳定度差、占用更多CPU时间) ▲静态:概念、使用场合(少、显示相同数字)、特点(占用CPU时间少、编程简单、 占I/O资源多、电路复杂、成本高) 3.1.2数码管循环显示 0~9 电路设计 1、74LS245 74LS245是8路同相三态双向数据总线驱动芯片,具有双向三态功能,既可以输出,也可以输入数据。 /G为低电平有效; DIR=“1”,信号由 A 向 B 传输。 引出端符号: A 总线端 B 总线端 /G 三态允许端(低电平 有效) DIR 方向控制端 3、数码管显示程序(C程序) #include AT89X52.H unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char dispcount; void delay (void) { unsigned int j,k; for(j=1000;j0;j--) for(k=124;k0;k--); } void main(void) { while(1) { for(dispcount=0;dispcount10;dispcount++) { P1=table[dispcount]; delay (); } } } 思 考 1、如何在数码管上循环显示 9 - 0数字? 2、如何在数码管上显示5~9再显示9~5, 如此循环? 3、数码管共阳接法,程序怎么修改? 3.3 工作模块7 多个数码管动态扫描显示 工作任务: 显示器由6个共阴极LED数码管构成; P0口输出显示段码,经由一片74LS245驱动输出给LED管; P1口输出位码(片选),输出给LED管。 通过动态扫描程序使6个数码管显示’’123456’’. 动态显示功能实现分析 电路接法:在多位LED显示时,为了降低成本和功耗,将所有位的段选控制端并联起来,由一个8位端口控制(本任务中用P0口);各位数码管的公共端(com端),用作“位选端”,由另一个端口进行显示位的控制(本任务中用P1口)。 原理:由于段选端是公用的,要让各位数码管显示不同的字符,就必须采用扫描方式,即动态扫描显示方式。动态扫描是采用分时的方法轮流点亮各位数码管的显示方式,它在某一时间段,只让其中一位数码管的“位选端”(com端)有效,并送出相应的字型编码。 首先从段选线上(P0)送出字型编码,再控制位选端(P1),字符就显示在指定数码管上,其他位选端无效的数码管都处于熄灭状态,持续1.5ms时间,然后关闭所有显示; 接下来又送出新的字型编码,按照上述过程又显示在另外一位数码管上,直到每一位数码管都扫描完为止,这一过程即为动态扫描显示。 数码管其实是轮流依次点亮的,但由于人的视觉驻留效应,因此当每个数码管点亮的时间小到一定程度时,人就感觉不出字符的移动或闪烁,觉得每位数码管都一直在显示,达到一种稳定的视觉效果。 3.3.1 LED动态扫描显示电路 3.3.2 控制程序 #include AT89X52.h unsigned char code Tab[]={0x3F

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:7100020006000001

1亿VIP精品文档

相关文档