您的位置 首页 汽车

用单片机做的电子时钟

团队的第一个小项目就是用单片机做个电子时钟,因为自己的单片机被自己焊接的不够严谨,导致部分地方短路了,所以便换成用仿真软件(pr

团队的第一个小项目便是用单片机做个电子时钟,由于自己的单片机被自己焊接的不行谨慎,导致部分当地短路了,所以便换成用仿真软件(protuce)来做电子时钟。通过两天的斗争,总算把这个电子时钟写好了,尽管很简单,但收成很大,在制造的过程中,遇到了许多问题,但。也收成了许多!

电路图如下:

程序用C代码写的:
#include
#define uint unsigned int
#define uchar unsigned char
char code dula[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
//char code wela[]={0xfe,0xdf,0xbf,0x7f,0xfe,0xfd,0xfb,0x07};
char data huan_[]={0x00,0x00,0x0a,0x00,0x00,0x0a,0x00,0x00};
void delay(uint t) ;
void display(void);
static char counter=0x00;
static char miao=0x00;
static char fen=0x00;
static char shi=0x00;
char temp;
void delay(uint t)
{
while(t–);
}
void display(void)
{
uint k;
for(k=0;k<8;k++)
{
P0=dula[huan_[k]];
temp=1;
temp=temp<P3=~temp;
delay(500);
P3=0xff;
}
}
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
display();
}
}
void init_time0(void) interrupt 1
{
//TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
// EA=1;
// ET0=1;
//TR0=1;
counter++;
if(counter==20)
{
counter=0;miao++;
if(miao==60)
{
miao=0;fen++;
if(fen==60)
{
fen=0;shi++;
if(shi==24)
{
shi=0;
}
}
}
huan_[1]=miao/10;huan_[0]=miao%10;
huan_[4]=fen/10;huan_[3]=fen%10;
huan_[7]=shi/10;huan_[6]=shi%10;
}
}

整体感觉这个电子时钟其实便是一个C,自己开端的思路一向打不开,后来在http://www.51hei.com/上找了了些他人写的,渐渐的有了思路,但也他人的思路给固定住了。所以便有了开端那一大段,冗杂而沉重的代码,而且开端程序老乱跑,答不到抱负值。
后来在陈老师的指导下,静下心,渐渐的理清思路一切的问题都渐渐的好处理了!
经验总结:
1.按 着需求一步一步的去写,去规划不要急。
2 留意细节的处理
3仍是要多着手。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/255551.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部