C51单片机数码管课件.ppt

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

51系列单片机 第3章 数码管显示 1208实验室 曲玉洁 数码管 共阴极数码管 仅当段位接高电平,阴极接低电平时,相应位的LED才导通发光 a b c d e f g bp 共阳极数码管 仅当段位接低电平,阳极接高电平时,相应位的LED才导通发光 a b c d e f g bp Vcc HOT-51增强型开发板数码管接口 锁存器 下降沿锁存 P36 锁存器 七段数码管的段位控制 a g d b c e f dp dp g f e d c b a 0 0 1 1 1 1 1 1 七段数码管的段位控制 a g d b c e f dp dp g f e d c b a 0 0 0 0 0 1 1 0 七段数码管与段位控制代码 0 3FH 1 06H 2 5BH 3 4FH 4 66H 5 6DH 6 7DH 7 07H 8 7FH 9 6FH A 77H b 7CH C 39H d 5EH E 79H F 71H a b c d e f g P60 共阴极数码管编码 LED数码显示方式及电路 静态显示方式 LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。 数码管的静态显示 #includereg52.h sbit dula=P2^6; //申明U1锁存器锁存端 sbit wela=P2^7; //申明U2锁存器锁存端 void main() { wela=1; //打开U2锁存器 P0=0xc0; //送入位选信号(6个数码管全亮) wela=0; //关闭U2锁存器 数码管的静态显示 dula=1; P0=0x3f; //送入段选信号(显示“0”)dula=0; while(1); //程序停止到这里 } 注:1、我们在程序最后加上“while(1);”就可以让程序停止。因为该语句表达式值为1,内部语句为空,执行时先判断表达式值,因为为真,内部语句为空,所以什么也不执行,再判断表达式,仍然为真,又不执行,因为只有当表达式值为0时跳出while循环,所以不停地执行这条语句,也就是说单片机点亮发光管后将永远重复执行这条语句。 2、单片机把发光二极管点亮后,就让他停止工作,不再执行别的指令,不是更好?单片机不能停止工作,除非断电,但这样发光二极管就不会亮了 练习与思考 练习: 在最右边的数码管上显示数字“9” 思考: 在本电路中,按照前一章讲过的延时程序,有没有可能让六个数码管同时点亮,依次显示0到F,时间间隔为0.5秒,循环下去? 位选:P0=0xdf; 段选:P0=0x6f; 数码管的静态显示 #includereg52.h #define uint unsigned int #define uchar unsigned char 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}; void delay(uint z); 定义编码使用code,程序编译后,则将数组table[ ]保存到程序存储器(FLASH),否则就会保存到数据存储器(RAM) RAM是单片机的“紧缺资源”,能省则省 数码管的静态显示 void main() { wela=1; P0=0xc0; wela=0; while(1) { for(num=0;num16;num++) { dula=1; P0=table[num]; dula=0; delay(500); } } 数码管的静态显示 void delay(uint z) { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } 动态显示 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档