想利用简单循环设计一个秒表,求大神指导
时间:10-02
整理:3721RD
点击:
#include<reg51.h>
#define uint unsigned int
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
void delayms(uint);
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
void main()
{
uint i=0;
for(i=0;i<60;i++)
{ if(i<10)
{
LSA=0;LSB=0;LSC=0;P0=table;delayms(1000);
}
else
{
LSA=0;LSB=0;LSC=0;P0=table[i%10];
LSA=1;LSB=0;LSC=0;P0=table[i/10]; delayms(10);
delayms(1000);
}
}
}
void delayms(uint a)
{ int x,y;
for(x=a;x>0;x--)
for(y=110;y>0;y--);
}这个程序个位和十位显示乱,怎么延时?
unsigned char code table[]这数组怎么没用到么,还能显示?话说延时不是用内部定时器的么。
你的主程序有好几个有问题呢 当i<10的时候你的P0应该等于table[i]吧 我感觉你的思路有点乱 你在好好看看视频 (仅是个人见解)
是table【i】,写错了
用到那个函数了啊,定时器不太会,所以想用简单的循环