基于C语言的MCS-51单片机教程 课件 2任务1:数码管显示_第1页
基于C语言的MCS-51单片机教程 课件 2任务1:数码管显示_第2页
基于C语言的MCS-51单片机教程 课件 2任务1:数码管显示_第3页
基于C语言的MCS-51单片机教程 课件 2任务1:数码管显示_第4页
基于C语言的MCS-51单片机教程 课件 2任务1:数码管显示_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

任务1:数码管显示显示器及其接口单片机系统中常用的显示器有:发光二极管LED(LightEmittingDiode)显示器、液晶LCD(LiquidCrystalDisplay)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。LED数码管结构和原理字符编码限流电阻计算编程实现静、动态显示LED数码管结构及原理

共阴极共阳极LED数码管字符编码共阴数码管码表

0x3f,0x06,0x5b,0x4f,0x66,0x6d,

0 1 2 345

0x7d,0x07,0x7f,0x6f,0x77,0x7c,

6 7 8 9AB

0x39,0x5e,0x79,0x71

CDEF LED数码管字符编码共阳数码管码表

0xC0,0xF9,0xA4,0xB0,0x99,0x92,

0 1 2 345

0x82,0xF8,0x80,0x90,0x88,0x83,

6 7 8 9AB

0xC6,0xA1,0x86,0x8E

CDEF 限流电阻的计算

单片机外接数码管,数码管的内部结构是LED发光二极管,电路必须使用电阻进行限流。串联电阻,避免损坏单片机的输出引脚,同时防止LED发光二极管过热损害,也能限制LED发光二极管的功耗。一般单片机驱动引脚能够承受的电流输入在10~15mA左右,串联的限流电阻计算如下:R=(5V–Vd)/IdId为限制电流,取值10mA,Vd为LED发光二极管的正向电压,取值2V,从而得到限流电阻值如下:R=(5V-2V)/10mA=300(欧)在实际设计中,为了有效保护单片机引脚,一般对LED发光二极管驱动采用的限流电阻比300欧大,常用的典型值为470欧。LED静态显示

静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。举例1:单片机控制1位数码管上显示2。硬件电路设计软件程序设计

分析思考:硬件连好了,如何让数码管上显示2呢?数字2的共阳极的字型编码是0xa4,当P0口输出数据0xa4时,单片机的P0口的P0.7……P0.1、P0.0引脚输出10100100,数码管的COM端接高电平,则LED数码管上有5段点亮,见上图的a、b、d、e、g,所以数码管上显示数字2。单片机控制在LED数码管显示数字2,参考程序如下:#include<reg51.h>voidmain() //单片机控制LED数码管显示2{unsignedcharcodeled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管的字符编码0,1,2,3,4,5,6,7,8,9unsignedchari;while(1){i=2;P0=led[i];}}LED动态显示动态显示是按位轮流点亮各位数码管的显示方式。即在任一时段,只有其中一位数码管“位选端”有效,并送出相应的字形显示编码,其它的数码管此时都因为“位选端”无效而处于熄灭状态。下一个时段按顺序选通另外一位数码管,并送出相应的字形显示编码,依此规律循环下去,即可使各位数码管分别间断显示出相应的字符。只要每位显示间隔时间足够短,就会看到各数码管好像是“同时”显示。举例:设计程序实现四个LED从左到右循环依次显示0,1,2,3,4,并用PROTUES进行仿真。硬件电路设计软件程序设计上图中标为1234引脚的称为位选,控制选择某一个数码管,确定显示的位置;标为ABCDEGDP的称为段选,控制选择数码管中哪几段点亮,确定显示的字型。图中单片机从P2口向数码管输出数字“4”的段码,此时所有的数码管都接收到“4”的段码,哪个数码管显示“4”由数码管的公共端决定,即位选码决定。此时第4个数码管的公共端为低电平,其他数码管的公共端为高电平,因此只有第4个数码管显示“4”,其他数码管不显示任何数字。图中数码管上显示数字“1234”,实际是先输出位选信号选中第1个数码管,输出1的段码,延时一段时间后选中第二个数码管,输出2的段码,延时一段时间后。又输出位选码选中第3个数码管,输出3的段码,延时一段时间后,又输出位选码选中第4个数码管,输出4的段码……,反复这个过程,就可以显示出“1234”,由于交替的速度非常快,利用视觉暂留,人眼看到的就是连续的“1234”。软件程序流程图参考程序#include<reg51.h>voiddelay(unsignedchari);unsignedcharch[4]={0x06,0x5b,0x4f,0x66};//共阴数码管1、2、3、4的字型码voidmain(){while(1){ P3=0x0fe;//位选,选通第1个数码管

P2=ch[0]; //段选,数码管的字型码

delay(20);//延时

P3=0xfd;//位选,选通第2个数码管

P2=ch[1]; delay(20); P3=0xfb;

P2=ch[2]; delay(20); P3=0xf7; P2=ch[3]; delay(20);}}voiddelay(unsignedchari)

温馨提示

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

评论

0/150

提交评论