10S计数器怎么到200就清零了

[复制链接]
2626|6
 楼主| gentleman1358 发表于 2010-10-14 21:12 | 显示全部楼层 |阅读模式
麻烦大家帮忙看看,有没有哪里搞错了。
最大值应该是999才对啊,怎么到200就清零了?
程序如下:
/*以0.01s计数,在数码管上显示,最大测量值999*/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
     0x92,0x82,0xf8,0x80,0x90};//显示段码//
uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20};//位编码//
delay(uchar);
display(uchar);
uchar a,b,c,d,n;
void main()//主函数
{
EA=1;//10ms定时
ET0=1;
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TR0=1;
n=0;
while(n<1000) //最大计数999
{
  display(n);
}
}
void ds() interrupt 1 using 1//定时子函数
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
n++;
}
display(uchar n)//显示子函数
{
P3=0x00; //个位显示
P2=table[n%10];
P3=wei[5];
delay(50);
d=n/10;  //求高两位

P3=0x00; //十位显示
P2=table[d%10];
P3=wei[4];
delay(50);

P3=0x00; //百位显示
P2=table[d/10];
P3=wei[3];
delay(50);
}
delay(uchar c) //延时子函数
{
for(a=c;a>0;a--)
  for(b=100;b>0;b--);
}
wangyy608 发表于 2010-10-14 21:41 | 显示全部楼层
uchar n?
 楼主| gentleman1358 发表于 2010-10-15 10:45 | 显示全部楼层
能再明确点吗?
ayb_ice 发表于 2010-10-15 10:54 | 显示全部楼层
uchar的取值范围
zjswuyunbo 发表于 2010-10-15 12:04 | 显示全部楼层
uchar n;
改为
uint  n

uchar 是0---255
ZLSWRH 发表于 2010-10-15 13:28 | 显示全部楼层
 楼主| gentleman1358 发表于 2010-10-15 17:48 | 显示全部楼层
哦!多谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

100

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0