新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于8位数码管的可调时钟时钟课程设计

基于8位数码管的可调时钟时钟课程设计

作者: 时间:2016-11-29 来源:网络 收藏
这个东西折腾我快两个月啊~!也是带啦做的不是一直在做是一边学习一边玩弄来的啊~!但是怎么说我也弄出来啊~!心里好满足啊~!因为这个可算是自己的成果。也给谢谢这次课程设计因为就这个设计让我理解很多东西让我感觉进步很多。现在就差自己做PCB板啊~!然后就是全部搞定啊~!哈哈~!

电路很简单 8位共阴数码管 (如果没有买的可以买2个四位数码管)段选接P2口 位选接p1口,用stc单片机可以直接连接,两个按键接p1.6 和p1.7,实现时间的调整功能.完整程序代码下载地址:http://www.51hei.com/f/dzszkt.rar

本文引用地址:https://www.eepw.com.cn/article/201611/323365.htm

这个就是我自己弄的程序小时钟的:

#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};
uchar code kai[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7};
sbit tiao=P1^6;
sbit gai=P1^7;
uchar hour,min,sec,e,set,dada,x,i,j,u,v,w,s,m,n,p,q;
void delay(uchar k)
{
uchar a,b;
for(a=0;a{
for(b=0;b<100;b++)
{
;
}
}
}
void time_cond(void)
{
if(sec==59)
{
sec=0;
min++;
}//sec
if(min==59)
{
min=0;
hour++;
}//min
if(hour==23)
{
hour=0;
}//hour
}//time_con
void xianshi(uchar i,j,u,v,w,s)
{
P2=table[i];
P1=kai[0];
delay(5);
P2=table[j];
P1=kai[1];
delay(5);
P2=table[p];
P1=kai[2];
delay(5);
P2=table[u];
P1=kai[3];
delay(5);
P2=table[v];
P1=kai[4];
delay(5);
P2=table[q];
P1=kai[5];
delay(5);
P2=table[w];
P1=kai[6];
delay(5);
P2=table[s];
P1=kai[7];
delay(5);
}
void KEY_tiao(void)
{
if(gai==0)
{
e++;
}
if(e>3)
{
e=1;
}
delay(200);
}//tiaozheng
void display_h(void)
{
P2=table[i];
P1=kai[0];
delay(20);
P2=table[j];
P1=kai[1];
delay(20);
P2=table[11];
P1=kai[0];
delay(20);
P2=table[11];
P1=kai[1];
delay(20);
i=hour/10;
j=hour%10;
}//display_h
void display_m(void)
{
P2=table[u];
P1=kai[3];
delay(20);
P2=table[v];
P1=kai[4];
delay(20);
P2=table[11];
P1=kai[3];
delay(20);
P2=table[11];
P1=kai[4];
delay(20);
u=min/10;
v=min%10;
}//display_m
void tiaozheng(void)
{
if(gai==0)
TR0=0;
KEY_tiao();
switch(e)
{
case 1 :{
if(tiao==0)
{
hour++;
display_h();
if(hour>24)
{
hour=0;
}
}
}//case 1
break;
case 2 :{
if(tiao==0)
{
min++;
display_m();
if(min>60)
{
min=0;
}
}
}//case 2
break;
}//switch
}//tiaozheng


上一页 1 2 下一页

评论


技术专区

关闭