网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机-第三讲-数码管显示.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机-第三讲-数码管显示

第三讲 数码管显示原理及应用实现 3.1数码管显示原理 LED数码管,实际上是由七个发光管组成8字形构成的,加上小数点就是8个。当数码管特定的段加上电压后,这些特定的段就会发亮。 由于,LED的电流通常较小, 一般均需在回路中接限流电阻。 第三讲 数码管显示原理及应用实现 数码管的封装: 知识点:如何用万用表检测数码管的引脚排列。 数码管分为共阴极和共阳极。 一般情况下有10个引脚。上面 5个下面5个,每排的中间一个 一般情况下是公共端(接低电 平或者高电平)。先用万用表 的正极放在中间一个,另外一 个依次去测。如果是共阳极就 有亮,否则共阴极,根据发光 位置就可以判断引脚了。 第三讲 数码管显示原理及应用实现 3.2 数码管静态显示 例:用C语言写一段程序,让四位共阴极数码管的第一位显示一个8字。 #includereg52.h sbit dula=p2^6; sbit wela=p2^7; viod main( ) { wela=1; //打开U2锁存器 P0=0XFE; //送入位选信号 wela=0; dula=1; //打开U1锁存器 P0=0X7F; //送入段选信号 dula=0; While(1); // } 第三讲 数码管显示原理及应用实现 共阴极数码管编码 表3-1 共阴极数码管编码表 用C语言编程时,编码定义方法: unsigned char code table[]={ 0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71}; 数组:code关键字,code即表示编码 的意思。编译后编码占用的是程序存储空间,而非内存空间。 Table时数组名,table后面必须加中括号[],等号右边用一个大括号 包含所有元素,大括号后面加一个分号,大括号内部元素与元素之间用 逗号隔开,注意,最后一个元素后面不要加逗号。 第三讲 数码管显示原理及应用实现 调用数组方法如下: P0=table[3]; 即将table这个数组中的第4个元素直接赋给P0口, 即 P0=0x66; 注意:在调用数组时,table后面中括号里的数字是从 0开始的,对应后面大括号里的第1个元素。 例:让6个数码管同时点亮,依次显示0到F,时间间 隔为0.5S,循环下去。 程序代码如下: 第三讲 数码管显示原理及应用实现 #includereg52.h #define uchar unsigned char #define uint unsigned int sbit dula=p2^6; sbit wela=p2^7; uchar num; uchar code table []={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; viod delayms(uint); viod main() { wela=1; //打开U2锁存器 P0=0Xc0; //送入位选信号 第三讲 数码管显示原理及应用实现 wela=0; //关闭U2锁存器 While(1) { for(num=0;num16;num++) { dula=1; //打开U1锁存器 P0=table[num]; //送入段选信号 dula=0; delayms(500);

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档