2022年单片机多功能时钟程序 .pdf

上传人:Che****ry 文档编号:27200020 上传时间:2022-07-23 格式:PDF 页数:9 大小:104.59KB
返回 下载 相关 举报
2022年单片机多功能时钟程序 .pdf_第1页
第1页 / 共9页
2022年单片机多功能时钟程序 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年单片机多功能时钟程序 .pdf》由会员分享,可在线阅读,更多相关《2022年单片机多功能时钟程序 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1/ 9单片机实训多功能电子时钟的制作一实训的目的:数字的多功能时钟是一种将“时”“分” “秒”显示的视觉器件,它的计时周期为24 小时,显示慢刻度为23 时 59 分 59 秒,因此一个多功能时钟基本电路主要由译码显示器、“时”“分” “秒”计数器。 校时电路和震荡器组成。主电路系统由秒信号系统发生“时” “分” “秒”计算器,译码器,及显示器,校时电路组成。秒信号发生器是整个电路的是基信号。它直接决定计时系统的精度,一般用石英晶体震荡器加分频器实现。将标准的秒信号送人“秒”计算器,每累计60 秒发出一分脉冲信号将作为“分”。分钟计数器采用60 进制计数器,时计数器采用 24 进制计数器可实

2、现一天24 小时的累计。译码器电路将“时”“分” “秒”计数器的输出状态用七段显示译码器显示。校时电路对“时”“分”“秒”进行调整。二实训的意义:通过此实训在了解基本工作原理的基础上,学会安装调试。 使用并学会排除一些电子时钟的常规故障。 焊接技术是电子工艺的基本技能之一,通过实训要求大学生初步掌握之一技术的同时,注意培养自己的工作耐心、细心与信心。三实训要求:1.按电路图要求完成硬件电路的焊接调试。2.按电路编程实现时钟的显示、调整、整点提醒、单段/多段定时、秒表等更能。3.采用软件仿真与硬件调试相结合的方法完成作品。四硬件制作:1.所需工具:万用表、镊子、斜口钳、尖嘴钳、电烙铁、剥线钳、平

3、口起子、焊接、松香、元件盒、贴片机、回流焊机等。2.顺序:首先完成仿真电路的调试;按电路图完成硬件电路的安装。3.焊接主意事项:所有元件在使用之前必须测试;主意测出三极管的e、 b、c 级,二极管的极性和电解电容正负极;自己核实数码管的每个引脚的功能并测试数码管。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 2/ 9#include reg51.h sbit sound=P23; unsigned char code led2

4、=0 x80,0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80, 0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80, 0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80, 0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0

5、x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80, 0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80; unsigned char code led=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x86; sbit k2=P32; sbitdian=P07; sbit k3=P33; sbit k4=P34; void delay2ms() / 延时 2 毫秒

6、 TH0=0Xf8; TL0=0X2f; TR0=1; while(!TF0); TF0=0; void delay500ms() / 延时 500 毫秒。 unsigned char i; for(i=0;i10;i+) TH1=0X3C; TL1=0XB0; TR1=1; while(!TF1); TF1=0; void xianshi(char i,j,k,l) / 四位七段数码管显示函数 P2=0 x7F; P0=ledi; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2

7、 页,共 9 页 - - - - - - - - - 3/ 9delay2ms(); P0=0 xff; P2=0 xbF; P0=ledj; delay2ms(); P0=0 xff; P2=0 xdF; P0=ledk; delay2ms(); P0=0 xff; P2=0 xeF; P0=ledl; delay2ms(); P0=0 xff; /*#*/ void main() / 主函数 unsigned char p,q,r,s,w,t; unsigned char m=0,n=0; /m,n 用于秒表模块的循环变量。unsigned char i,j,k,l; /i表示小时, j

8、表示分钟, k 表示秒钟, l 表示毫秒unsigned char a6=1,1,1,1,1,1; unsigned char b6=1,1,1,1,1,1; unsigned char o=0; / a6,b6用于闹钟定时模块存储设定的时间值,o 表示第 o 个定时时间。unsignedintx,y; TMOD=0X11; while(1) for(i=0;i24;i+) / 小时循环 w=0; for(j=0;j60; j+) / 分钟循环 /*/ for(q=1;q7;q+)/ 闹钟报时模块开始。 if(i=aq)&(j=bq) for(s=0;s60;s+) sound=0; 名师资料

9、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 4/ 9P1=0 x00; delay500ms(); P1=0 xff; for(r=0;r50;r+) xianshi(i/10,i%10,j/10,j%10); dian=0; delay2ms(); if(k2=0)sound=0; goto nali2; / 闹钟报时模块结束。/*/ t=0;/t 用来存放闹钟报时模块浪费的秒数。if(0) nali2:t=s;while(k2=

10、0);sound=1; for(k=0;k60; k+) / 秒循环 k=k+t;/ 吧闹钟报时模块浪费的秒数加到当前时间上。t=0; /*/ if(j%60=0) / 整点报时模块开始。 if(wi) w+; sound=0; P1=0 x00; delay500ms(); sound=1; P1=0 xff; delay500ms(); k+; / 整点报时模块结束。/*/ for(l=0;l100;l+) / 毫秒循环名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共

11、9 页 - - - - - - - - - 5/ 9 y=0; x=0; /x 用来存放执行秒表模块所浪费的时间。/*/ if(k4=0) / 时钟校时模块开始。由k4 键控制开启和关闭。 sound=0; while(1) while(k4=0); sound=1; if(k2=0) i+; if(i=24)i=0; sound=0; while(k2=0); sound=1; if(k3=0) j+; if(j=60)j=0; sound=0; while(k3=0); sound=1; xianshi(i/10,i%10,j/10,j%10); dian=0; delay2ms(); i

12、f(k4=0)sound=0;break; while(k4=0); sound=1; / 时钟校时模块结束。/*/ if(k2=0) / 秒表模块开始。由k2 键控制开启和关闭。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 6/ 9sound=0; while(1) while(k2=0); sound=1; for(m=0;m60;m+) / 秒循环。 x+; for(n=0;n100;n+) / 毫秒循环。 if(k3

13、=0) / k3 键控制秒表的停止。 y=0; sound=0; while(1) while(k3=0); sound=1; y+; xianshi(m/10,m%10,n/10,n%10); dian=0; delay2ms(); if(k3=0) sound=0; x=x+y/100; break; /k3 键控制秒表的继续。if(k2=0) sound=0; x=x+y/100; gotozheli; if(k4=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,

14、共 9 页 - - - - - - - - - 7/ 9sound=0; m=0; n=0; while(k4=0); sound=1; /k4 键负责秒表停止时的复位。 while(k3=0); sound=1; if(k4=0) /k4 键负责秒表跑动时的复位。 sound=0; while(k4=0); sound=1; m=0; n=0; break; xianshi(m/10,m%10,n/10,n%10); dian=0; delay2ms(); if(k2=0)sound=0;goto zheli; / 毫秒循环。 zheli:if(k2=0)sound=0;break; whi

15、le(k2=0); sound=1; / 秒表模块结束。/*/ if(k3=0) / 闹钟定时模块开始。由 k3 键控制开始和结。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 8/ 9sound=0; while(k3=0); sound=1; o+; if(o=7)o=1; ao-1=0; bo-1=0; for(p=0;p60) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -

16、 - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 9/ 9j=k/60; k=k%60; P1=led2k; P1=led2k; xianshi(i/10,i%10,j/10,j%10); if(l50)dian=0; delay2ms(); / 毫秒循环结束。/ 秒循环结束。 / 分钟循环结束。 / 小时循环结束。 /while(1) 循环结束。 / 主函数结束。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁