求助单片机编程高手!

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:36:59
求助高手帮小弟编个数码管显示的程序(基于单片机的数字气压计):用4位一体的共阳级数码管a-dp连到单片机的P0.0-P0.7用于段码,p3.0-p3.3用于位码,数码管用来显示通过单片机T1口计数后,经过处理后得出的气压的数值...怎么编啊!要不要BCD转换啊?最好给个程序,注解详细些,本人基础不好。
你的程序有个错哦,编译不通过啊。

uchar code DB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~9数据
uchar a;
uint i;
uchar thbit,upbit,lowbit,hibit;

//延时子程序
void mDelay(uchar Delay)
{ uchar i;
for(;Delay>0;Delay--)
{
for(i=0;i<5;i++);

}
}

lcdcode()
{
thbit= i/1000; //提取千位
hibit= (i-thbit*1000)/100; //提取百位
upbit=(i-thbit*1000-hibit*100)/10; //提取十位
lowbit=i%10; //提取个位
for(a=0;a<70;a++) //调整a的大小可改变计数的显示速度
{
P0=DB[lowbit];
P3_0=0; //个位的位选
mDelay(5);
P3_0=1;

P0=DB[upbit];
P3_1=0; //十位的位选
mDelay(5);
P3_1=1;

P0=DB[hibit];
P3_2=0; //百位的位选
mDelay(5);