单片机上接有一个四位一体的八段共阳极数码管,~分别与数码管的a,b,c,d,e,f,g,dp端相连,~分别控制数码管的个位、十位、百位与千位。单个数码管显示一个数字,要求编程实现四位一体共阳极数码管个位依次显示十六进制数0~F,无限循环。每个数字显示维持的时间为1s。用动态显示的方法在四位一体共阳极数码管上显示“1532”四个字符。
在单片机应用系统中,常用的显示器主要有LED(发光二极管显示器)和LCD(液晶显示器)。这两种显示器具有耗电低、成本低、配置灵活、线路简单、安装方便、耐振动、寿命长等优点。LED是由发光二极管显示字段的显示器件,也可称为数码管。
数码管的分类和结构数码管是一种显示器件,通过对不同的引脚输入相应的电流,使部分字段发亮来显示数字0~9、字母A~F、符号“一”及小数点“.”等字符,从而实现时间、日期、温度等可用数字表示的参数显示。数码管的分类如下所述。
(资料图)
按段数分类
数码管按段数分为七段数码管和八段数码管,八数码管比七段数码管多一个发光二极管单元,实现示小数点的功能,常用dp表示。
按发光二极管连接方式分类
数码管按发光二极管连接方式分为共阳极数码管共阴极数码管,两者外观相同,内部结构不同。
共阴极数码管是指将所有发光二极管的阴极接到共阴极数码管是指将所有发光二极管的阴极接到一起,形成公共阴极(常用com表示)的数码管,共阴极数码管应用时应将公共阴极接到地线GND上,当某一字段的发光二极管的阳极为高电平时,相应字段点亮,当某一字段的阳极为低电平时,相应字段不亮。
共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(常用com表示)的数码管。共阳极数码管应用时应将公共阳极接到+5V,当某一字段的发光二极管的阴极为低电平时,相应字段点亮。当某一字段的阴极为高电平时,相应字段不亮。
共阳极和共阴极是针对数码管的公共引脚而言。典型的一位数码管,一般有10个引脚,其中8个引脚为段码(7段加1个小数点),剩下两个引脚接在一起组成com端。
按数码管位数分类一块数码管按能显示几个“8”可分为一位、两位、三位、四位一体数码管等。不同位数的数码管如图1-6-5所示。例如,四位一体数码管是在一块片板上集成了4个数码管,4个数码管共有a~g和dp这8根数据线,加上每个数码管各有一个公共端即com端,总共有12个引脚。
比较常用的四位一体共阳极数码管的引脚顺序为:从数码管正面看,数码管的小数点dp面对识别者,左下角为1号引脚,逆时针方向依次为2~12号引脚。
数码管显示字符数码管的a~g和dp共八段(数据段)分别对应一个发光二极管。共阴极数码管公共端接地后,给某一引脚加高电平,则所对应的发光二极管会被点亮,如果加低电平(接地),则所对应的发光二极管不发光。
各段不同亮暗的组合能形成不同的字符,这种组合称为字形码。共阳极数码管和共阴极数码管的字形码是不同的,下面对此进行分析。当把一个共阳极的数码管接到STC15W4K32S4单片机的PO端口上,若要数码管显示数字“0”,共阳极的数码管com端接高电平,当数据段接低电平时,对应的数据段亮。
因此,要显示“0”,需要点亮a,b,c,d,e,f六段,g不需要点亮,如果是八段数码管,则dp也不需要点亮。共阳极数码管显示“0”时的字形码。
数码管静态显示的特点
数码管静态显示就是单片机将要显示的数据发送出去后,数码管始终显示该数据不变,直到送出要显示的不同的字形码。
用动态显示的方法在四位一体数码管上显示“1532”这四个字符,只需要先选中使能第一位数码管com端(千位),即6号引脚,使能对应的控制端,使=0,然后往PO端口发送字符“1”的共阳极字形码(F9H),这样字符“1”就能够在四位一体共阳极数码管千位显示,然后延时4 ms。接下来选中使能第二位数码管com端(百位),即8号引脚,使能对应的控制端,使=0,然后往PO端口发送字符“5”的字形码(92H)。
这样字符“5”就能够在四位一体共阳极数码管百位显示,然后延时4ms。以此类推,就可以实现轮流点亮每一个数码管。虽然每位数码管的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余晖,给人的印象就是“1532”这4个字符同时显示在数码管上了。