邹雪妍
摘要:单片机常用的显示器为数码管LED、液晶LCD等等,数码管静态显示具有位码始终有效,占用CPU时间短,亮度高等特点。本文对MC9S08FL16单片机8段数码管静态显示的整个过程进行分析。
关键词:数码管;静态显示;MC9S08FL16单片机
利用protel99se绘制单片机数码管静态显示的原理图,为使线路绘制清晰,将单片机的PTB1、PTB2、PTD4、PTB3接数码管的位选端口;将单片机的PTA0、PTD5、PTA1、PTA2、PTA3、PTA6、PTA7、PTB0接数码管的段选端口。通过写入器将程序写入便可以实现单片机数码管的静态显示。
1数码管工作原理
若每位數码管仅需显示“0”~“9”这10个数字,则只需7段LED,若同时若需要显示小数点,则需要8段LED。8段数码管由8个发光二极管组成。MCU通过IO脚来控制LED某段的“亮”或“灭”来达到显示某个数字的目的。如果采用共阴极数码管,那么数码管的公共端需要接地,数码管某位要求亮时对应端口输出低电平,其余不亮位选对应端口输出高电平;如果采用共阳极数码管,那么数码管公共端需连接电源正极,共阳极数码管与共阴极数码管输出电平状态相反。图1中采用共阴极数码管,MC9S08FL16单片机位选端连接在单片机的PTB1、PTB2、PTD4、PTB3端口,段选端接在了单片机的PTA0、PTD5、PTA1、PTA2、PTA3、PTA6、PTA7、PTB0。如果使4连排数码管的第一位显示数字“2”,则需要使图2中对应引脚上的a、b、g、e、d五段发光二极管发光,对应端口应该输出0x5B(对应二进制数01011011),c、f、h段发光二极管不发光。此时与位选端相连的端口对应引脚输出低电平。若采用共阳极数码管则此时与位选端相连的端口对应引脚输出高电平,若同样在对应位置显示数字“2”,则对应端口应该输出0xA4(对应二进制数10100100)。
2数码管静态显示原理及优势
数码管静态显示时,若采用共阴极则数码管公共端接地,若采用共阳极则数码管接电源,各段选线分别与IO口接线相连。要显示字符,直接在IO线发送相应的字段码。数码管工作时的段选必须接一个8位数据线来保持显示的字形码。当输入一次字形码后,目标字形码一直保持不变,直到需要输入新字形码为止。数码管静态显示无闪烁,亮度高,软件控制比较容易,占用的CPU时间少且显示数字便于检测和控制。利用数码管静态显示可单独显示位寻址的特性,仅需单独更改需要改变显示数据的相应位显示进行操作,而其它的无关位不需进行显示操作,这样便可为系统节省大量的软件资源。
3单片机实验程序编写
4连排共阴极数码管采用静态显示方式与单片机相连接。位选端为PTB1、PTB2、PTD4、PTB3。段选端为PTA0、PTD5、PTA1、PTA2、PTA3、PTA6、PTA7、PTB0,要求编写能够使4连排数码管分别显示“2”、“0”、“1”、“9”的程序。数字“2”的显示在数码管工作原理中已叙述在此不再赘述,第二位显示“0”则需要使对应引脚上的a、b、c、d、e、f六段发光二极管发光,对应端口应该输出0x3F(对应二进制数00111111);第三位显示“1”则需要使对应引脚上的b、c两段发光二极管发光,对应端口应该输出0x06(对应二进制数00000110);第四位显示“9”则需要使对应引脚上的a、b、c、d、f、g六段发光二极管发光,对应端口应该输出0x6F(对应二进制数01101111)。将PTB1、PTB2、PTD4、PTB3四个位选端开通,单片机对应端口输出低电平,则4连排数码管就可以显示相应数码了。利用CodWarriorV6.2ForS08编写程序,部分程序如图3所示。
4结语
本文通过对MC9S08FL16单片机8段数码管静态显示的整个过程进行分析,经调试发现,静态显示数字保持不变,与数码管动态显示相比,静态显示明显地改善了LED数码管的显示亮度,可以应用于许多要求较高显示亮度的场合。此外,数码管静态显示占用CPU时间很短并且便于检测和控制。
参考文献:
[1]吴文兵,李炳贤.51单片机数码管动态显示分析[J].数字技术与应用,2016(08):5-6.
[2]张学成.MCS51单片机多位数码高亮静态显示技术的实现[J].嘉应学院学报,2009,27(03):26-29.
[3]王丽娟.用Intel8279实现LED数码管的静态显示[J].自动化仪表,1995(11):34-36.