51单片机入门之静态数码管
扫描二维码
随时随地手机看文章
LED数码管是单片机外围接口设备中常用的显示设备,有七段管和米字管两种,实验室中常用的是七段管。其工作方式有两种:共阴极和共阳极。所谓共阴极是把LED的com端都接地,而共阳极就是把com端都接高电平。其驱动显示方式也有两种:静态显示和动态显示。
静态显示中每个数码管占用单片机的一个八位口I/O口,工作时点亮的段常亮。于该种方式而言,硬件电路简单,编程简单,但是浪费单片机的I/O口。下面简单演示一下该种驱动方式。
P2口接一个数码管,数码管显示的数字每秒钟自动加一,加到9后清0,一直循环,本实验中数码管采用共阴极接法。
实验原理图如下:
实验程序如下:
[cpp] view plain copy
#include
#define uchar unsigned char;
#define uint unsigned int;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极数码管数据表
uchar a,i,j,z;
void delay(z) //延时子函数
{
for(j=z;j>0;j--)
for(i=110;i>0;i--);
}
void main() //主函数
{
while(1)
{
for(a=0;a<10;a++)//从0到9,共10次循环
{
P2=table[a]; //P2口从数据表中取数据
delay(1000); //延时大约1s
}
}
}
试验结果如下: