- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《3.手随心动-手工制作《3.手随心动-手工制作《3.手随心动-手工制作
第七讲 数码管显示
电子信息学院
电子技术教研室;一、显示器及其接口; LED数码管简介
1) 数码管结构
数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可显示数字0~9、字符A~F、H、L、P、R、U、Y、符号“?”及小数点“?”。数码管的外型结构如图所示。数码管又分为共阴极和共阳极两种结构,分别如图所示。;共阴极; 2) 数码管工作原理
共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常接高电平(一般接电源),其它管脚接段驱动电路输出端。当???段驱动电路的输出端为低电平时,该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起,通常接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。; 3) 数码管字型编码
要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字型编码。对照下图,字型码各位定义如下:
数据线: D7 D6 D5 D4 D3 D2 D1 D0
I/O口线:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
LED段: dp g f e d c b a
数据线D0与a字段对应,D1字段与b字段对应……,依此类推。如使用共阳极数码管,则数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,则相反。;;表: 数码管字型编码表;;LED显示器工作方式有两种:静态显示方式和动态显示方式。
1、静态显示接口
从下图可以看出,静态显示方式的特点是各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来并保持不变,直到I/O口输出新的段码。
采用静态显示方式时,用较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适用于显示位数较少的场合。;图: 两位的LED数码管静态显示示意图;例1:用一只共阴极的单只数码管循环显示0,1,2,3,…,9。;源程序:
#includereg51.h
#defined uchar unsigned char
#defined uint unsigned int
//0~9的数码管段码,最后一个为关闭
uchar code DSY_CODE[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,0x00};
void DelayMS(uint x)
{ uchar i;
while(x--) for(i=0; i120; i++);
}
;void main ( )
{ uchar i=0;
P0=0x00;
while(1)
{ P0=DSY_CODE[i];
i=(i+1)%10;
DelayMS(180);
}
}
; 2、动态显示 ; 动态显示是指一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或公共阳极)由另外的I/O口线控制。以动态方式显示时,各数码管分时轮流选通。要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示的,但由于人眼存在视觉暂留效应,因此只要每位显示间隔足够短就可以给人以同时显示的感觉。;;例2:用8只集成式共阳极的数码管在相应位循环显示单个数字0~7。;例:用一只共阴极的单只数码管循环显示0,1,2,3,…,9。;源程序:
#includereg51.h
#includeintrins.h
#defined uchar unsigned char
#defined uint unsigned int
//
文档评论(0)