求写一个51单片机C语言程序,不复杂的,在线求助!!!感谢您八辈祖宗!!内有详细说明

2024-12-02 16:02:39
推荐回答(3个)
回答1:

程序简薯旁单,吃完饭饭看有时间没

#include <行滚reg52.h>

code unsigned char temp[] = {0xC0, 0xF9, 0xA4 , 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
unsigned int num;
unsigned char table[4];

void main()
{
TMOD = 0X01;

TH0 = 0XFC;

TL0 = 0X18;

EA = 1;
TR0 = 1;
ET0 = 1;

EX0 = 1;

while(1)

{
;

}

}

void INT0() interrupt 0
{
num += 66;

table[3] = num / 1000;

table[2] = num / 100 % 10;

table[1] = num / 10 % 10;

table[0] = num % 10;

}

void TIMER0() interrupt 1
{
static unsigned char i = 0,j = 0;

TH0 = 0XFC;
TL0 = 0X18;
if(i >= 10)
{
i = 0;

P3 |= 4 << j;

P0 = temp[table[j]];
if(j = 1)

P0 |= 0X7F;

if(j >= 3)

j = 0;

else

j += 1;

}
else

i += 1;

}

差不档手余多就这样吧,你试试,我没验证过,不行再问

回答2:

这是非常备者简单,开仿贺薯关控制电路?如果它是低电压和低电流,晶体管开关直接用就行,不具有进行中继。我这拍段里有一些你需要的信息,可以来找我随时在线,等待答复。如果你不在线,你可以给我留言,立即回复。

回答3:

如果精度要求太高 建议把你的3.0口换成中断口 用低电平触发方式 如果精度采集不高的话 就用定时器中断扫描的方式去判断 小数点的话 你可以先给它扩大倍数 显示的时首卖候再缩小倍数 还有你的硬羡芹枯兄洞件电路 总要给出一个吧 不然人怎么给你弄呢