标题: 新手求指导啊 [打印本页]
作者: wy704972600 时间: 2012-3-13 19:16
标题: 新手求指导啊
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} ;
uchar a=0,b=0,c=0,d=0,num=0;
void xs();
void main()
{
TH0=(65536-30000)/256;
TL0=(65536-30000)%256;
TMOD=0X01;
EA=1;
ET0=1;
TR0=1;
xs();
while(1)
{
if(num==4)
{ num=0; a++;
if(a==10)
{a=0;b++; }
if(b==10)
{b=0;c++;}
if(c==10)
{c=0;d++;}
if(d==10)
d=0;
xs();
}
}
}
void xs()
{
uchar m,n=1;
for(m=0;m<4;m++)
{ P2=_crol_(n,m);
switch(m)
{
case 0 :P0=table[a];break;
case 1 :P0=table;break;
case 2 :P0=table[c];break;
case 3 :P0=table[d];break;
}
}
}
void time() interrupt 1
{
TH0=(65536-30000)/256;
TL0=(65536-30000)%256;
num++;
}动态显示0-9999为什么数码管上显示不出来啊?
作者: zuoluo 时间: 2012-3-14 09:02
你这数码管是共阴的吗?因为你P2=00000001,还有你的数码管没有使用锁存驱动吗,进行段选和位选!!!还有一个问题你每显示一个数字的时候没有调用一下延时程序啊??
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |