基于51单片机的简易时钟设计

发布时间: 2024-03-18
来源: 电子工程世界

功能: 1、使用单片机内部定时器实现时分秒计时

2、能够设置闹钟时间

3、闹钟时间到,蜂鸣器响

4、使用LCD1602显示时间

部分程序: #include "reg51.h"

#include "lcd1602.h"

#define uchar unsigned char

#define uint unsigned int

sbit beep=P3^2;//蜂鸣器

sbit k1=P1^0;//按钮

sbit k2=P1^1;

sbit k3=P1^2;

sbit k4=P1^3;

sbit k5=P1^4;

sbit k6=P1^5;

sbit k7=P1^6;

sbit k8=P1^7;

uchar shi=11,fen=59,miao=50;//时间

uchar nao_shi=12,nao_fen=0;

uchar xian1[]="00:00:00";

uchar xian2[]="00:00";

uchar time=0;

//延时

void delay(uint i)

{

while(i--);

}

//主函数

void main()

{

beep=0;

init_1602();

TMOD|=0X01;

TH0=0X3C;

TL0=0XB0;

ET0=1;//打开定时器0中断允许

EA=1;//打开总中断

TR0=1;//打开定时器

while(1)

{

if(!k1)//小时

{

delay(1000);

if(!k1)

{

if(shi<23)

shi++;

while(!k1);

}

}

if(!k2)

{

delay(1000);

if(!k2)

{

if(shi>0)

shi--;

while(!k2);

}

}

if(!k3)//分钟

{

delay(1000);

if(!k3)

{

if(fen<59)

fen++;

while(!k3);

}

}

if(!k4)

{

wKgaomTH6tuAC7vqAAMSMF3QOIU783.png


wKgZomTH6tyAafCCAAISQjWUUfM108.png

文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。