微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 想利用简单循环设计一个秒表,求大神指导

想利用简单循环设计一个秒表,求大神指导

时间: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】,写错了

用到那个函数了啊,定时器不太会,所以想用简单的循环

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top