数码管是单片机最基本的外设,数码管根据显示方式分静态显示和动态显示,我举两个静态显示的案例:按键控制数码管和串口通讯控制数码管,动态显示我通过时钟功能案例来讲解。
一、静态显示
独立按键控制数码管
程序功能:按下四个按键的一个,数码管会显示对应的1~4。
#include".h"
unsignedcharSMG[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
voidmain()
{
while(1)
{
if(!key1)
{
P0=SMG[1];
P1=0x0f;
}
if(!key2)
{
P0=SMG[2];
P1=0xf0;
}
if(!key3)
{
P0=SMG[3];
P1=0;
}
if(!key4)
{
P0=SMG[4];
P1=0xff;
}
}
}
静态数码管按键控制方法
2.串口通信控制数码管
程序功能:串口发送0~9,数码管显示相同数字。
#include".h"
unsignedcharSMG[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsignedcharled[]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff};
voidmain()
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
PCON=0;
EA=1;
ES=1;
while(1);
}
void
转载请注明地址:http://www.abmjc.com/zcmbhl/1561.html