遇到的問題如下:第二個數位管不亮,電平跳變都是對的。
如果在中斷的P1,P2指派那一塊加上死循環兩個數位管就都能亮了,
但是不能時刻測電壓值了,糾結。
題目連結:http://zhidao.baidu.com/question/1574806451884922740.html
點選連結,可看到電路圖。
做而論道程式設計如下: (2014-06-04 11:06提問者采納)
#include<reg51.h>
unsigned char tab[16] = {
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
unsigned char xdata *ADC;
unsigned char num, s, g, sum;
void delay(unsigned int Delay)
{
unsigned int i;
for(;Delay;Delay--) for(i=0;i<54;i++);
}
void main()
{
IT0 = 1; EX0 = 1; EA = 1;
ADC = 0xf8fb;
*ADC = 0;
while(1) {
P2 = 0x02; P1 = tab[s]; delay(1); P2 = 0xf9;
P2 = 0x04; P1 = tab[g]; delay(1); P2 = 0xf9;
}
}
void A() interrupt 0
{
num = *ADC;
s = num / 16;
g = num % 16;
*ADC = 0;
}
試試看。
追問:2014-06-04 11:53
我怎麼沒想到呢,對了!
提問者評價:謝謝!