RT,我是初學者,學到數碼管動態顯示,我寫了如下程序,按理說應該分辨不清楚的吧,而現在還是一個數一個數的蹦,蹦的也還不算慢,哪兒寫錯了嘛,虛心求教
#include<reg52.h>
#define uchar unsigned char
sbit duan=P2^6;
sbit wei=P2^7;
uchar code du[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07};
uchar code we[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar num,num1;
void main()
{
TMOD=1;
TH0=(65536-1)/256;
TL0=(65536-1)%256;
TR0=1;
while(1)
{
if(TF0==1)
{
TF0=0;
num++;
}
if(num==1)
{
num=0;
wei=1;
P0=we[num1];
wei=0;
duan=1;
P0=du[num1];
duan=0;
num1++;
if(num1==8)
{num1=0;}
}
}
}
“ TH0=(65536-1)/256;
TL0=(65536-1)%256;”
這兩句是多余的,65536和65535就差1有啥意義。而且除第一次以外,以后的都還是65536.
其余的沒仔細看。
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |