一、proteus原理图
二、代码实现
代码如下:
#include<reg52.h>
sbit ADDR0=P2^0;//设置74hc138引脚
sbit ADDR1=P2^1;
sbit ADDR2=P2^2;
sbit ADDR3=P2^3;
sbit ENLED=P2^4;
unsigned char code LEDchar[]={
0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,
0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E};//数码管字符
void main()
{
unsigned int cnt=0;
unsigned int N=0;
TR0=1;
TMOD=0X01;//使用定时器01模式
TH0=0XB8;//设置定时器时间的高四位与低四位
TL0=0X00;
ADDR0=0;//控制138的第七个引脚低电平
ADDR1=1;
ADDR2=1;
ADDR3=1;
ENLED=0;
while(1)
{
if(TF0==1)//溢出标志0
{
TF0=0;
TH0=0XB8;//重新加载新值
TL0=0X00;
cnt++;
if(cnt>=50)
{
cnt=0;
P0=LEDchar[N];//输出数码管字符
N++;
if(N>=16)
{
N=0;
}
}
}
}
}