第七讲数码管显示_第1页
第七讲数码管显示_第2页
第七讲数码管显示_第3页
第七讲数码管显示_第4页
第七讲数码管显示_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七讲数码管显示

LED数码管简介

1)数码管结构数码管由8个发光二极管(以下简称字段)构成,通过不同得组合可显示数字0~9、字符A~F、H、L、P、R、U、Y、符号“

”及小数点“

”。数码管得外型结构如图所示。数码管又分为共阴极与共阳极两种结构,分别如图所示。共阴极共阳极

2)数码管工作原理共阳极数码管得8个发光二极管得阳极(二极管正端)连接在一起,通常接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路得输出端为低电平时,该端所连接得字段导通并点亮,根据发光字段得不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定得段导通电流,还需根据外接电源及额定段导通电流来确定相应得限流电阻。共阴极数码管得8个发光二极管得阴极(二极管负端)连接在一起,通常接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路得输出端为高电平时,该端所连接得字段导通并点亮,根据发光字段得不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定得段导通电流,还需根据外接电源及额定段导通电流来确定相应得限流电阻。

3)数码管字型编码要使数码管显示出相应得数字或字符,必须使段数据口输出相应得字型编码。对照下图,字型码各位定义如下:数据线:D7D6D5D4D3D2D1D0

I/O口线:P0、7P0、6P0、5P0、4P0、3P0、2P0、1P0、0

LED段:dp gfedcba 数据线D0与a字段对应,D1字段与b字段对应……,依此类推。如使用共阳极数码管,则数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,则相反。表:数码管字型编码表LED显示器工作方式有两种:静态显示方式与动态显示方式。

1、静态显示接口从下图可以瞧出,静态显示方式得特点就是各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管得8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来并保持不变,直到I/O口输出新得段码。采用静态显示方式时,用较小得电流即可获得较高得亮度,且占用CPU时间少,编程简单,显示便于监测与控制,但其占用得口线多,硬件电路复杂,成本高,只适用于显示位数较少得场合。二、LED数码显示方式及电路

图:两位得LED数码管静态显示示意图例1:用一只共阴极得单只数码管循环显示0,1,2,3,…,9。12大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流源程序:#include<reg51、h>#defineducharunsignedchar#defineduintunsignedint//0~9得数码管段码,最后一个为关闭ucharcodeDSY_CODE[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}voidmain(){uchari=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。源程序:#include<reg51、h>#include<intrins、h>#defineducharunsignedchar#defineduintunsignedint//0~7得数码管段码ucharcodeDSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}voidmain(){uchari,k=0x80;while(1){for(i=0;i<8;i++){P2=0xFF;//关闭显示

k=_crol_(k,1);P0=DSY_CODE[i];//发送数字段码

P2=k;//发送数码管位码,打开对应数码管

DelayMS(300);}}}例3:用8只集成式共阳极得数码管在相应位同时显示单个数字0~7。源程序:#include<reg51、h>#include<intrins、h>#defineducharunsignedchar#defineduintunsignedint//0~7得数码管段码ucharcodeDSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}voidmain(){uchark,m=0x80;P0=0xFF;P2=0x00;while(1){for(k=0;k<8;k++){m=_crol_(m,1);P0=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论