原理图是
追答P0换成P2就行了
数码管是共阳的,将共阴的代码取反就行了 P1=~num;
那个延时程序是一定要的吗?
这个是我自己写的,才学不懂这个,不知道为什么不行
而且我输入了您给我发的构造了也有错啊?
麻烦帮我看下谢谢了
追答编译通过了吗?延时程序可以不要,象你的程序也可以,不过最好将主程序里的语句加在 while(1)死循环里,编译通过的话,可能软件仿真没操作好,我一直是试验板试验,没用过这个软件
追问您的编译就是没有通过,我的那个编译没有错,可是仿真的时候led灯不亮,就是不知道是哪里错了
追答#include
#define uchar unsigned char
#define uint unsigned int
uchar num=0;
//共阴数码管七段码
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x84};
void delay1ms(uint i) //1ms延时程序
{uint j;
for(;i>0;i--){
for(j=0;j<164;j++)
{;} }
}
void main(void )//主程序
{
while(1)
{
num=table[0x0f&P2];
P1=num;
delay1ms(2);
}
}