用数码管设计的可调式电子钟

时间:2025-06-10

单片机课程设计,用数码管设计的可调式电子钟,可循环显示日期,时间和"HELLO^_^",四个按键,电路简单,可以做的很小,成本在15元左右,protues 仿真,keil······

单片机课程设计,用数码管设计的可调式电子钟,可循环显示日期,时间和"HELLO^_^",四个按键,电路简单,可以做的很小,成本在15元左右,protues 仿真,keil······

文件一:

//用数码管设计的可调式电子钟

//2011年11月28日

//长春大学光华学院

//电气四班

//薛龙飞

/***********************************************************

说明:K1键第一次按下时,切换到秒调整模式;

第二次按下时,切换到分调整模式;

第三次按下时,切换到时调整模式;

第四次按下时,调整完毕正常运行。

K4键第一次按下时,切换到日调整模式;

第二次按下时,切换到月调整模式;

第三次按下时,切换到年调整模式;

第四次按下时,调整完毕正常运行。

K2键按下时实现“增大”抄作。

K3键按下时实现“减小”抄作。

***********************************************************/

#include<reg52.h>

#include<intrins.h>

#include"K2.h"

#include"K3.h"

#include"K4.h"

/**************************************************

主程序

***************************************************/

void main()

{ uchar k=0,j=0;

INIT();

while(1)

{

if(P1^KEY_STATE)

{

DELAY(10);

if(P1^KEY_STATE)

{

KEY_STATE=P1;

EA=0;

if((KEY_STATE & 0X01)==0)

{

k=(k+1)%4;

}

switch(k)

单片机课程设计,用数码管设计的可调式电子钟,可循环显示日期,时间和"HELLO^_^",四个按键,电路简单,可以做的很小,成本在15元左右,protues 仿真,keil······

case 0:if((KEY_STATE & 0X02)==0) break; else if((KEY_STATE & 0X04)==0) break; case 1:if((KEY_STATE & 0X02)==0) //秒调整"+" { s=(s+1)%60; DSY_BUFFER[0][6]=DSY_CODE[s/10]; DSY_BUFFER[0][7]=DSY_CODE[s%10]; } else if((KEY_STATE & 0X04)==0) //秒调整"-" { if((0<s)&&(s<=60)) {s=s-1;} DSY_BUFFER[0][6]=DSY_CODE[s/10]; DSY_BUFFER[0][7]=DSY_CODE[s%10]; } break; case 2:if((KEY_STATE & 0X02)==0) //分钟调整"+" { m=(m+1)%60; DSY_BUFFER[0][3]=DSY_CODE[m/10]; DSY_BUFFER[0][4]=DSY_CODE[m%10]; } else if((KEY_STATE & 0X04)==0) //分钟调整"-" { if((0<m)&&(m<=60)) {m=m-1;} DSY_BUFFER[0][3]=DSY_CODE[m/10]; DSY_BUFFER[0][4]=DSY_CODE[m%10]; } break; case 3:if((KEY_STATE & 0X02)==0) //小时调整"+" { h=(h+1)%24; DSY_BUFFER[0][0]=DSY_CODE[h/10]; DSY_BUFFER[0][1]=DSY_CODE[h%10]; } else if((KEY_STATE & 0X04)==0) //小时调整"-" { if((0<h)&&(h<=23)) {h=h-1;} DSY_BUFFER[0][0]=DSY_CODE[h/10];

单片机课程设计,用数码管设计的可调式电子钟,可循环显示日期,时间和"HELLO^_^",四个按键,电路简单,可以做的很小,成本在15元左右,protues 仿真,keil······

} break; } if((KEY_STATE & 0X08)==0) { j=(j+1)%4; } switch(j) { case 0:if((KEY_STATE & 0X02)==0) break; else if((KEY_STATE & 0X04)==0) break;

case 1:if((KEY_STATE & 0X02)==0) //日调整"+" {

if((month==1||month==3||month==5||month==7||month==8||month==10||month==12)&&(++day>31))

{

day=(day+1)%31;

}

else

if((month==2||month==4||month==6||month==9||month==11)&&(++day>30))

{

day=(day+1)%30;

}

DSY_BUFFER[1][6]=DSY_CODE[day/10];

DSY_BUFFER[1][7]=DSY_CODE[day%10]; }

else if((KEY_STATE & 0X04)==0) //日调整"-" { if((1<day)&&(day<=31)) {day=day-1;} DSY_BUFFER[1][6]=DSY_CODE[day/10]; DSY_BUFFER[1][7]=DSY_CODE[day%10]; } break; case 2:if((KEY_STATE & 0X02)==0) //月调整"+" { month=(month+1)%13; DSY_BUFFER[1][3]=DSY_CODE[month/10];

单片机课程设计,用数码管设计的可调式电子钟,可循环显示日期,时间和"HELLO^_^",四个按键,电路简单,可以做的很小,成本在15元左右,protues 仿真,keil······

}

} } } } else if((KEY_STATE & 0X04)==0) //月调整"-" { if((1<month)&&(month<=12)) {month=month-1;} DSY_BUFFER[1][3]=DSY_CODE[month/10]; DSY_BUFFER[1][4]=DSY_CODE[month%10]; } break; case 3:if((KEY_STATE & 0X02)==0) //年调整"+" { year=year+1; DSY_BUFFER[1][0]=DSY_CODE[year/10]; DSY_BUFFER[1][1]=DSY_CODE[year%10]; } else if((KEY_STATE & 0X04)==0) //年调整"-" { year=year-1; DSY_BUFFER[1][0]=DSY_CODE[year/10]; DSY_BUFFER[1][1]=DSY_CODE[year%10]; } break; } EA=1;

文件二:

#define uchar unsigned char

#define uint unsigned int

//数码管段码

uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; //显示缓冲 00-00-00 (0xbf为“-”的段码)

uchar DSY_BUFFER[3][8]={

{0,0,0XBF,0,0,0XBF,0,0},

{0,0,0XBF,0,0,0XBF,0,0},

{0X89,0X86,0XC7,0XC7,0XC0,0XDC,0XF7,0XDC}

};

单片机课程设计,用数码管设计的可调式电子钟,可循环显示日期,时间和"HELLO^_^",四个按键,电路简单,可以做的很小,成本在 …… 此处隐藏:5626字,全部文档内容请下载后查看。喜欢就下载吧 ……

用数码管设计的可调式电子钟.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    Copyright © 2023-2025 学科文库 版权所有
    本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
    客服QQ:370150219 邮箱:370150219@qq.com
    苏ICP备16052595号-5

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219