电子时钟程序设计_第1页
电子时钟程序设计_第2页
电子时钟程序设计_第3页
电子时钟程序设计_第4页
电子时钟程序设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、1设计目的电子时钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。电子时钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以

2、钟表数字化为基础的。而且是控制的核心部分。因此,研究电子时钟及扩大其应用,有着非常现实的意义。2设计内容2.1 设计思想针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示

3、、定时程序。运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。准备器件、搭接电路熟悉硬件 了解各引脚功能分块设计各部分电路将分块的电路组合认真学习单片机汇编语言完成整体电路图确定变成结构和思路综合各程序完成整体程序编辑各个程序模块用Proteus画出电路图调试程序,进行修改对仿真中出现的问题进行改正画出仿真图进行仿真仿真成功软硬件结合,完成任务书要求验证硬件电路成功进行扩展2.2设计元件元件规格数量单片机AT89C511晶振12MHz1晶振电容30pF2按键4电阻10K,1K,220欧,各1,1,15电容10uF(+)1七段数码管共阳极四位、两位各1,1USB接口1

4、USB延长线1/2底座40脚12.3设计图调节分钟中断ss+mm+;ss=0调节小时中断一分到一小时到hh+;mm=0数码显示mm+;ss=0hh+装入计数值192一秒到继续计数开始计数单元清零2.4设计程序#include<reg51.h>#include<stdio.h>#include<intrins.h>char data time6;void delay(unsigned char k);sbit check=P00;sbit inter0=P32;sbit inter1=P33;char data which=0;char data count=

5、0; void smadd(unsigned char k);void smsub(unsigned char n);char code buf= 0x00,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0xff,0x6f ;char code sel= 0x01,0x02,0x04,0x08;void main()char i; for(i=0;i<500;i+); time0=0; time1=1; time2=8; time3=0; time4=2; time5=1; TMOD=0X01; TH0=(65535-5000)/256; TL0=(65535-5

6、000)%256; IP=0x07; IE=0X87; TR0=1; while(1)for(i=0;i<6;i+) P1=seli;P2=buftimei ; delay(10);if(check=0)delay(8);TR0=0; which=(which+1)%3;while(check=0); TR0=1; void delay(unsigned char k)char i; for (;k>0;k-) for(i=0;i<80;i+) ; void time_tr0() interrupt 1 using 2 TH0=(65535-5000)/256; TL0=(6

7、5535-5000)%256; count+; if(count=100) smadd(0); void int0_i() interrupt 0 using 3TR0=0; smadd(which*2); TR0=1; while(inter0=0);void int1_i() interrupt 2 using 1TR0=0;delay(20); smsub(which*2);TR0=1; while(inter1=0);void smsub(unsigned char n) delay(80); if(timen>0) timen=timen-1;else if(timen=0&a

8、mp;&(n=3|n=1)timen=5;smsub(n+1);else if(timen=0&&(n=4|n=2|n=0) timen=23;smsub(n+1);else if(timen=0&&(n=5)timen=0;void smadd(unsigned char n) char flag=0; delay(80); if(n=0)|(n=2)|(n=4) if(n=4&&time5=2&&time4=3) time4=0; time5=0; flag=1; if(timen=9) timen=0;smadd(n

9、+1); elseif(timen<9&&flag=0) timen=timen+1; else if(n=1)|(n=3) if(timen=5) timen=0;smadd(n+1); else timen=timen+1; else if(n=5)if(timen=2&&(timen-1=3)time5=0;time4=0;else timen=timen+1; 2.5伟福系统仿真如图所示:3.设计总结通过这次的设计使我认识到我对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识。本次的设计使我

温馨提示

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

最新文档

评论

0/150

提交评论