基于51单片机的闹钟程序
更新时间:2023-06-05 10:54:01 阅读量: 实用文档 文档下载
简洁.易懂
#include<reg52.h>
sbit k10=P1^0;
sbit k11=P1^1;
sbit k12=P1^2;
sbit k13=P1^3;
unsigned char shizhong=0,fenzhong=0,miaozhong=0,
shizhong1,fenzhong1,miaozhong1,
shizhong2,fenzhong2,miaozhong2,
shi=0,fen=0,miao=0,
shi1,shi2,fen1,fen2,miao1,miao2,
i=0,xuanze=0;
unsigned char code a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(unsigned int time);
void pingmu();
void naozhong();
void chufa();
void key1();
void key2();
void key3();
void xianshi();
void xianshi1();
//--------------------------------------------------//主函数
main()
{
shizhong=12;
TMOD = 0X01;
TCON = 0X10;
TH0 = 0X4C;
TL0 = 0X00;
IE = 0x82;
while(1)
{
key1();
key2();
key3();
pingmu();
chufa();
switch(xuanze)
{
case 0: xianshi();break;
case 1: naozhong();break;
default: ; break;
}
while(fenzhong==fen&&shizhong==shi)
{
chufa();
P0=0xbf;
P2=0x00;
}
}
}
//--------------------------------------------------//时针自加键
void key1()
{
if(xuanze==0)
{
if(k10==0)
{
delay(1000);
if(k10==0)
{
while(k10==0)
{
xianshi();
}
shizhong++;
if(shizhong==24)
shizhong=0;
}
}
}
else
{
if(k10==0)
{
delay(1000);
if(k10==0)
{
while(k10==0)
{
xianshi1();
}
shi++;
if(shi==24)
shi=0;
}
}
}
}
//--------------------------------------------------//分针自加键
void key2()
{
if(xuanze==0)
{
if(k11==0)
{
delay(1000);
if(k11==0)
{
while(k11==0)
{
xianshi();
}
fenzhong++;
if(fenzhong==60)
fenzhong=0;
}
}
}
else
{
if(k11==0)
{
delay(1000);
if(k11==0)
{
while(k11==0)
{
xianshi1();
}
fen++;
if(fen==60)
fen=0;
}
}
}
}
//--------------------------------------------------//秒针自加键
void key3()
{
if(xuanze==0)
{
if(k12==0)
{
delay(1000);
if(k12==0)
{
while(k12==0)
{
xianshi();
}
miaozhong++;
if(miaozhong==60)
miaozhong=0;
}
}
}
else
{
if(k12==0)
{
delay(1000);
if(k12==0)
{
while(k12==0)
{
xianshi1();
}
miao++;
if(miao==60)
miao=0;
}
}
}
}
//--------------------------------------------------//计算函数
void chufa()
{
shizhong1 = shizhong/10;
shizhong2 = shizhong%10;
fenzhong1 = fenzhong/10;
fenzhong2 = fenzhong%10;
miaozhong1 = miaozhong/10;
miaozhong2 = miaozhong%10;
shi1 = shi/10;
shi2 = shi%10;
fen1 = fen/10;
fen2 = fen%10;
miao1 = miao/10;
miao2 = miao%10;
}
//--------------------------------------------------//时钟显示函数
void xianshi
()
{
P0 = a[shizhong1];
P2 = 0x7f;
delay(300);
P0 = a[shizhong2];
P2 = 0xbf;
delay(300);
P0 = 0xbf;
P2 = 0xdf;
delay(300);
P0 = a[
简洁.易懂
fenzhong1];
P2 = 0xef;
delay(300);
P0 = a[fenzhong2];
P2 = 0xf7;
delay(300);
P0 = 0xbf;
P2 = 0xfb;
delay(300);
P0 = a[miaozhong1];
P2 = 0xfd;
delay(300);
P0 = a[miaozhong2];
P2 = 0xfe;
delay(300);
P2 = 0xff; //把所有的三极管关闭,否则最后一个数码管多显示一会
}
//--------------------------------------------------//延时函数
void delay(unsigned int time)
{
while(time--);
}
//--------------------------------------------------//中断函数
void time() interrupt 1
{
TH0 = 0X4C;
TL0 = 0X00;
i++;
if(i==20)
{
i = 0;
miaozhong++;
if(miaozhong==60)
{
miaozhong=0;
fenzhong++;
if(fenzhong==60)
{
fenzhong=0;
shizhong++;
if(shizhong==24)
{
shizhong=0;
}
}
}
}
}
//--------------------------------------------------//屏幕选择函数
void pingmu()
{
if(k13==0)
{
delay(1000);
if(k13==0)
{
while(k13==0)
{
;
}
xuanze++;
if(xuanze==2)
xuanze=0;
}
}
}
//--------------------------------------------------//闹钟
void naozhong()
{
key1();
key2();
key3();
xianshi1();
}
//--------------------------------------------------//闹钟显示函数
void xianshi1()
{
P0 = a[shi1];
P2 = 0x7f;
delay(300);
P0 = a[shi2];
P2 = 0xbf;
delay(300);
P0 = 0xbf;
P2 = 0xdf;
delay(300);
P0 = a[fen1];
P2 = 0xef;
delay(300);
P0 = a[fen2];
P2 = 0xf7;
delay(
300);
P0 = 0xbf;
P2 = 0xfb;
delay(300);
P0 = a[miao1];
P2 = 0xfd;
delay(300);
P0 = a[miao2];
P2 = 0xfe;
delay(300);
P2 = 0xff;
}
正在阅读:
基于51单片机的闹钟程序06-05
小学英语外研版四年级下册_module_2_unit_2_It's___very__old09-04
专本试卷01-27
2021年部编版六年级下册语文三单元试卷练习题及答案05-31
请相信妈妈的力量作文600字07-15
计算机基础选择题含答案05-24
2014电大考试《社区治理》06-24
公司综合部二〇一二年度工作计划05-24
二一班讲法制_防渗透_促团结班会教案05-11
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 单片机
- 闹钟
- 基于
- 程序
- 通信原理实验报告-数字信号的基带传输
- 【小站教育】哪些美国大学校名容易混淆?
- 10t双梁吊钩桥式起重机起升机构设计与制作说明书
- 河南超薄玻璃生产线建设项目商业计划书
- 下城区2010学年第二学期期末教学质量检测七年级科学
- 设计部内部管理文书(实用版)
- 2016-2022年中国西瓜霜行业市场专项调研及投资前景可行性预测报告(目录)
- 2008年重庆市建设工程计价定额综合解释(二)
- 地产类企业画册文案策划
- (5年高考真题备考题库)2014-2015高考数学一轮复习 第8章 第7节 抛物线 文 湘教版
- 初三物理_功和机械能中考综合试题
- 结构力学B第三次作业教学资料
- 研究生思想汇报做好带头作用
- 第一章 国际收支(二)
- 幼儿园厨房管理规章制度
- 收视数据收集方法的比较评估
- 记承天寺夜游 教学设计 最新
- 08报关考试真题及答案
- 推荐的常年法律顾问服务简介
- 城市土地收购储备的管理策略