单片机用C语言设计跑表和时钟,由按键控制

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:12:35
是四个数码管,跑表和时钟两个程序,硬件上按键为三行四列,从上往下从右往左依次为 * 7 4 1
0 8 5 2
# 9 6 3
跑表设计
1.按*开始时钟计数格式,第一格10S,第二格1S,第三格0.1S,第四格0.01S,前两者为60进制,后两者为100进制
2.当按0——9中任何一个数,即把当前的时钟值存储下来
3.按#停止计时,此时按0——9键即可查看10组时间值
时钟设计
1.上电后首先执行时钟,格式:MM:SS
2.按*执行时钟调整,再按*退出调整,继续时钟
3.按#执行设定闹钟,再按#退出设定,继续时钟,当时钟到达设定值时,四个数码管只显示g的那条横线
两者会编一个就行,但一定要对!

#include <reg52.h>
void display(unsigned char time[]);
void display0(unsigned char data0[]);
void display1(unsigned char data1[]);
void display2(unsigned char data2[]);
void display3(unsigned char data3[]);
void display4(unsigned char data4[]);
void display5(unsigned char data5[]);
void display6(unsigned char data6[]);
void display7(unsigned char data7[]);
void display8(unsigned char data8[]);
void display9(unsigned char data9[]);
void key(void);
unsigned char code seg[13]=
{
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f,
0x77, 0x7c, 0x39
};

unsigned char code sel[4]=
{
0x10,0x20,0x40,0x80
};
unsigned char time[4]={0,0,0,0};
unsigned char data1[4]={0,0,0,0},data2[4]={0,0,0,0},data3[4]={0,0,0,0},
data4[4]={0,0,0,0},data5[4]={0,0,0,0},data6[4]={0,0,0,0},
data7[4]={0,0,0,0},data0[4]={0,0,0,0},data8[4]={0,0,0,0},