数字时钟程序_第1页
数字时钟程序_第2页
数字时钟程序_第3页
数字时钟程序_第4页
数字时钟程序_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字时钟程序 第 9 页2022-1-21数字时钟程序/*程序名称:数字时钟程序全局变量:tt,shi,fen,miao等参数说明:无返回说明:无版 本:1.0功能说明:通过数码实现时钟的显示,通过键盘实现时间的调整其中k1是开始调整,k2是增加,k3是减小,k5是实现定时屏幕的切换,k4是定时设置的开始。带闹铃功能。作者邮箱:463229972(欢迎交流)*/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit beep=P23;sbit dula=P26;sbit wela=P27;s

2、bit k1=P30;sbit k2=P31;sbit k3=P32;sbit k4=P33;sbit k5=P34;sbit rd=P37;uchar tt,shi_s,shi_g,shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_g,fen_s,fen_g,miao_s,miao_g,k1num,k4num,flag;char shi,fen,miao=20,shi1,fen1,miao1;/*函数名称:延时程序设计全局变量:无参数说明:z传递给内部,是实现75*z条空指令延迟返回说明:无版 本:1.0功能说明:约Z*75us延时程序设计作者邮箱:4632

3、29972(欢迎交流)*/void delay(uint z)uchar x;uint y;for(x=z;x>0;x-)for(y=75;y>0;y-);/*八段数码管编码*/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/*函数名称:初始化函数全局变量:无参数说明:无返回说明:无版 本:1.0功能说明:定时器装初值,开总中断,定时中断,并写定时中断函数作者邮箱:463229972(欢迎交流)*/void init() TMOD=0x

4、01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt+; if(tt=20) tt=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24) shi=0; /*函数名称:6个数码管显示函数全局变量:shi fen miao 的个十位分离参数说明:将个十位的分离分别传递到各个数码管中

5、并显示返回说明:无版 本:1.0功能说明:实现时钟的数码管显示,动态扫描。作者邮箱:463229972(欢迎交流)*/void display(uchar shi_s,uchar shi_g,uchar fen_s,uchar fen_g,uchar miao_s,uchar miao_g) P0=0xfe; wela=1; wela=0; dula=1; P0=tableshi_s; dula=0; delay(2); wela=1; P0=0xfd; wela=0; dula=1; P0=tableshi_g+0x80; dula=0; delay(2); wela=1; P0=0xfb;

6、 wela=0; dula=1; P0=tablefen_s; dula=0; delay(2); wela=1; P0=0xf7; wela=0; dula=1; P0=tablefen_g+0x80; dula=0; delay(2); wela=1; P0=0xef; wela=0; dula=1; P0=tablemiao_s; dula=0; delay(2); wela=1; P0=0xdf; wela=0; dula=1; P0=tablemiao_g; dula=0; delay(2);/*函数名称:键盘控制时钟调节函数全局变量:已说明参数说明:已声明了返回说明:无版 本:1.

7、0功能说明:通过键盘的选择,和数码管进行结合并显示所调节的时间及定时的时间作者邮箱:463229972(欢迎交流)*/void keyscan() rd=0; if(k5=0) delay(5); if(k5=0) flag+; while(!k5); while(k5&&flag%2=1) shi1_s=shi1/10; shi1_g=shi1%10; fen1_s=fen1/10; fen1_g=fen1%10; miao1_s=miao1/10; miao1_g=miao1%10; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,m

8、iao1_g); if(k4=0) delay(5); if(k4=0) k4num+; while(!k4); if(k4num=4) k4num=0; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_g); if(k4num!=0) if(k2=0) delay(5); if(k2=0) while(!k2); if(k4num=1) miao1+; if(miao1=60) miao1=0; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_g); if(k4num=2) fen1+;

9、if(fen1=60) fen1=0; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_g); if(k4num=3) shi1+; if(shi1=60) shi1=0; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_g); if(k3=0) delay(5); if(k3=0) while(!k3); if(k4num=1) miao1-; if(miao1=-1) miao1=59; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_

10、g); if(k4num=2) fen1-; if(fen1=-1) fen1=59; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_g); if(k4num=3) shi1-; if(shi1=-1) shi1=23; display(shi1_s,shi1_g,fen1_s,fen1_g,miao1_s,miao1_g); if(k1=0)delay(5);if(k1=0)k1num+;while(!k1);if(k1num=1)TR0=0; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);

11、if(k1num=4)k1num=0; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);TR0=1;if(k1num!=0)if(k2=0)delay(5);if(k2=0)while(!k2);if(k1num=1)miao+;if(miao=60)miao=0; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);if(k1num=2)fen+;if(fen=60)fen=0; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);if(k1num=3)shi+;

12、if(shi=24)shi=0; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);if(k3=0)delay(5);if(k3=0)while(!k3);if(k1num=1)miao-;if(miao=-1)miao=59; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);if(k1num=2)fen-;if(fen=-1)fen=59; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);if(k1num=3)shi-;if(shi=-1)shi=23; display(shi_s,shi_g,fen_s,fen_g,miao_s,miao_g);/*函数名称:数字时钟程序主程序全局变量:在程序开头已声明了参数说明:已说明了返回说明:无版 本:1.0功能说明:程序的入口,且停留在函数内部作者邮箱:463229972(欢迎交流)*/void main() init(); while(1) shi_s=sh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论