- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]显示驱动第二次课
课程内容 第一章 绪论(开发环境keil,C51介绍,程序编译下载。) 第二章 LED数码管驱动技术 第三章 8×8 LED点阵驱动 第四章 外部中断在显示技术中的应用 第五章 定时器中断在显示技术中的应用 第六章 1602字符型液晶显示驱动 第七章 12864字符型液晶显示驱动 第八章 16*16 led点阵显示驱动程序设计。 第九章 32*32led点阵驱动方法。 第十章 项目设计案例 显示器件驱动——数码管 主要内容:本章介绍了LED数码管的分类、LED数码管的结构及其工作原理;LED数码管的静态驱动及其动态驱动。 目标:通过本章学习,掌握LED数码管的分类及其数码管的驱动,重点是数码管的动态驱动 1 数码管简介 1.1 发光二级管工作原理 1.2 数码管分类 1.3 LED数码管的结构及工作原理 2 数码管驱动技术 2.1 静态驱动 2.2 动态驱动 3 数码管驱动程序举例 1 数码管简介 数码管是一种半导体发光器件,其基本单元是发光二极管LED (Light Emitting Diode ),通过对其不同的管脚输入相对的电流,会使其发光,从而显示出数字。时间、日期、温度等所有可用数字表示的参数都能够显示。由于它的价格便宜,使用简单。在仪器仪表、电器领域应用极为广泛。 1.1 发光二极管工作原理 1.2 数码管的分类 按段数:七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示)。 按能显示多少个“8”: 1 位数码管、2 位数码管、4 位数码管、8 位数码管等。 按发光二极管单元连接方式:共阳极数码管和共阴极数码管 1.3 数码管的结构和工作原理 1.3 数码管的结构和工作原理 请问:共阳极数码管码表? 1.3 数码管的结构和工作原理 七段数码管的段选码 2 数码管驱动技术 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们需要的数字,因此根据数码管驱动方式的不同,可分为静态式驱动显示和动态式驱动显示。 2.1 静态式驱动显示 2.2 动态式驱动显示 2.1 数码管静态式驱动显示 (1)直接连接静态显示 (2)锁存器静态显示 (3)串口输出静态显示 2.1 静态式驱动显示 2.1 静态式驱动显示 2.1 静态式驱动显示 2.1 静态式驱动显示 2.1 静态式驱动显示 (3)串口输出静态显示 2.2 动态式驱动显示 2.2 动态式驱动显示 所谓的动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 动态显示质量的好坏取决于扫描的速度 动态显示的优点 (1)节省大量的I/O端口 N个数码管 N+8个I/O控制线 (2)功耗更低 2.2 动态式驱动显示 2.2 动态式驱动显示 3 数码管驱动程序举例 例1.第一个数码管显示0 #include reg52.h void main(void) { while(1) { P2=0xfe;//开通第一个数码管(D0)的位选 P0=0xC0;//送“0”的字段码 } } #include reg52.h unsigned int i=0; unsigned char code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void main(void) { while(1) { P2=0xfe; P0=table1[i]; delay(400); i++; If(i==10) i=0; } } #include reg52.h unsigned char code table1[]={0xcf, 0xc7, 0xc0,0x86, 0xc1}; void delay(unsigned int ); void main(void) { while(1) { P2=0xef; //开通D4的位选 P0=table1[0];//送显示“U” delay(40); P2=0xf7; //开通D3的位选 P0=table1[1]; delay(40); P2=0xfb; //开通D2的位选 P0=table1[2]; delay(40); P2=0xfd; //开通D1的位选 P0=table1[3]; delay(40); P2=0xfe; //开通D0的位选 P
文档评论(0)