别人说51可以达到250khz的,我的为什么大一点就不行了啊?
希望能帮忙指出问题所在,并给出可行的解决方法哈!谢谢啦
只是程序:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned long count;
unsigned char dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(void)
{uchar i;
for (i=0;i<255;i++);
}
void display(void )
{
P2=0x01;
P0=dis[(TH0*256+TL0)/10000];
delay();
P2=0x00;
P2=0x02;
P0=dis[(TH0*256+TL0)%10000/1000];
delay();
P2=0x00;
P2=0x04;
P0=dis[(TH0*256+TL0)%1000/100];
delay();
P2=0x00;
P2=0x08;
P0=dis[(TH0*256+TL0)%100/10];
delay();
P2=0x00;
P2=0x10;
P0=dis[(TH0*256+TL0)%10];
delay();
P2=0x00;
}
void ex3(void) interrupt 3
{
TR0=0;
TR1=0;
}
void main(void )
{P0=0x00;
P2=0X00;
TMOD=0x15;
TH1=0x3c;
TL1=0xb0;
ET1=1;
ET0=1;
TR0=1;
TR1=1;
EA=1;
while(1)
{display();}
}
没有修改你的,我把以前做的一个给帖过来了,最后是显示图片。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint Tcount=0,Ncount=0;
//uint tt;
void delay(uchar a)
{
uchar i,j;
for(i=0;i<a;i++)
for(j=0;j<110;j++);
}
void display(void)
{
uchar g,s,b,q,w,m;
//Ncount=tt;
m=Ncount/100000;
w=Ncount/10000%10;
q=Ncount/1000%10;
b=Ncount/100%10;
s=Ncount/10%10;
g=Ncount%10;
//q=Ncount/1000;
//b=Ncount%1000/100;
//s=Ncount%1000%100/10;
//g=Ncount%1000%100%10;
P2=0x01;
P0=led[m];
delay(5);
P2=0x02;
P0=led[w];
delay(5);
P2=0x04;
P0=led[q];
delay(5);
P2=0x08;
P0=led[b];
delay(5);
P2=0x10;
P0=led[s];
delay(5);
P2=0x20;
P0=led[g];
delay(5);
//TR0=0;
//TR1=0;
}
void init()
{
//TMOD=0x61; //定时器0,方式1;计数器1,方式2
TMOD=0x25;
//TH0=(65536-50000)/256; //TH0=0x3C
//TL0=(65536-50000)%256; // TL0=0xB0 定时50ms
TH1=6;
TL1=6;
TH0=0;
TL0=0;
//TH1=0X00;
// TL1=0X00;
TR0=1;
ET0=1;
TR1=1;
ET1=1;
EA=1;
}
void main(void)
{
P2=0;
init();
while(1)
{
display();
}
}
void timer0(void) interrupt 3
{
//TH0=(65536-50000)/256; //TH0=0x3C
//TL0=(65536-50000)%256; // TL0=0xB0 定时50ms
Tcount++;
if(Tcount==4000)
{
Tcount=0;
EA=0;
Ncount=TH0*256+TL0;
TH0=0;
TL0=0;
EA=1;
//TR1=0;
//Tcount=0;
}
}
追问我的程序和你基本上是一样的,但为什么我把你的程序拷打keil里,protues仿真图也画出来了,就是不行啊!麻烦把你那个仿真图发给我一下啊?郁闷好多天了,帮帮忙了!
[email protected]
好的,我加你了。QQ聊。