单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读 > 51单片机入门之四:静态数码管

51单片机入门之四:静态数码管

本文旨在介绍单片机入门的基础知识,为初接触或即将接触单片的新手提供一个入门指导。本文章会陆续推出,隔几天一个章节。所使用单片机为ATMEL公司的AT89C52,软件为PROTEUSKEIL;只提供原理图和KEIL环境下的注释,希望对广大即将接触单片机的人有所帮助,如果有错误欢迎回帖指出与本人交流或加入QQ143586739.

LED数码管是单片机外围接口设备中常用的显示设备,有七段管和米字管两种,实验室中常用的是七段管。其工作方式有两种:共阴极和共阳极。所谓共阴极是把LED的com端都接地,而共阳极就是把com端都接高电平。其驱动显示方式也有两种:静态显示和动态显示。

静态显示中每个数码管占用单片机的一个八位口I/O口,工作时点亮的段常亮。于该种方式而言,硬件电路简单,编程简单,但是浪费单片机的I/O口。下面简单演示一下该种驱动方式。

P2口接一个数码管,数码管显示的数字每秒钟自动加一,加到9后清0,一直循环,本实验中数码管采用共阴极接法。

实验原理图如下:

分析:共阴数码管的公共端接地,所以只要段选给出相应的数据数码管就会做出相应的显示。程序如下:
第04行:该数组为共阴数码管的编码;

第17行:for循环控制循环显示;

第20行:将数据送给P2口;

第23行:循环次数超过10后,清零;

其实,for循环还可以这样实现:


程序中,将循环变量作为数组的查询变量,程序就简化了,执行效率得到了提高。

运行效果截图:


人人都是电子经验的分享者,请扫码关注本订阅号。