用单片机C语言写一个数字时钟
时间: 2023-05-17 19:07:16 浏览: 130
好的,以下是一个简单的单片机C语言数字时钟代码:
```
#include <reg52.h> // 引入单片机头文件
sbit LSA=P2^2; // 定义数码管引脚
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit k1=P3^1; // 定义按键引脚
sbit k2=P3^0;
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, // 数码管显示0-9
0x77,0x7c,0x39,0x5e,0x79,0x71
};
void delay(unsigned int i) // 延时函数
{
while(i--);
}
void display(unsigned char i,unsigned char j) // 数码管显示函数
{
LSA=0;LSB=0;LSC=0;P0=table[i];delay(100); // 显示十位数
LSA=1;LSB=0;LSC=0;P0=table[j];delay(100); // 显示个位数
}
void main()
{
unsigned char hour=12,minute=0; // 初始化时间为12:00
while(1)
{
display(hour/10,hour%10); // 显示小时数
display(minute/10,minute%10); // 显示分钟数
if(k1==0) // 按下k1键,小时数加1
{
delay(10);
if(k1==0)
{
hour++;
if(hour==24) hour=0;
}
while(!k1);
}
if(k2==0) // 按下k2键,分钟数加1
{
delay(10);
if(k2==0)
{
minute++;
if(minute==60) minute=0;
}
while(!k2);
}
}
}
```
希望这个代码能够帮到你!
阅读全文