本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
//定义数码管
uchar code LEDData[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
sbit OE = P1^0;
sbit EOC = P1^1;
sbit ST = P1^2;
sbit CLK = P1^3;
//延时子程序
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
}
//显示转换结果
void Display_Result(uchar d)
{
P2=0xfe;
P0=LEDData[d%10];
DelayMS(5);
P2=0xfd;
P0=LEDData[d%100/10];
DelayMS(5);
P2=0xfb;
P0=LEDData[d/100];
DelayMS(5);
}
//主程序
void main()
{
TMOD=0x02;TH0=0x14;TL0=0x00;IE=0x82;TR0=1;
P1=0x3f; //选择通道三
while(1)
{
ST=0;ST=1;ST=0;
while(EOC==0);
OE=1;
Display_Result(P3);
OE=0;
}
}
//定时器中断为0809提供时钟信号
void Timer0_INT() interrupt 1
{
CLK=!CLK;
} |