基于单片机控制的数字钟设计
- 格式:doc
- 大小:100.50 KB
- 文档页数:13
单片机控制的数字钟设计摘要数字电子钟一般由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路等组成。
秒信号是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将秒信号送入秒计数器,它是六十进制计数器。
每累计六十秒发出一个“分脉冲”信号,这个信号作为“分计数器”的时钟脉冲。
“分计数器”也是六十进制计数器,它每累计六十分钟,发出一个“时脉冲”信号,此信号将被送到“时计数器”。
“时计数器”采用二十四进制计数器,可以实现一天二十四小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态经七段显示译码器译码,通过六位LED显示器显示出来。
校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整的。
本文的系统设计功能:用液晶或LED显示器显示时、分、秒等;含有闹铃功能,可以设定闹铃时间;闹钟时间到的时候蜂鸣器报警,可以关掉警报。
本设计采用AT89C51单片机和CD4511晶体管LED显示来实现数字时钟的的显示。
关键字:数字钟,AT89C51,CD4511目录1绪论 (1)1.1课题描述 (1)1.2 基本工作原理 (1)2 硬件介绍 (2)2.1 AT89C51的介绍 (2)2.2 CD4511介绍 (3)3 程序设计 (5)总结 (6)致谢 (7)参考文献 (8)附录 (9)1绪论1.1课题描述数字钟被广泛用于个人家庭,车站, 码头、办公室等公共场所,成为人们日常生活中的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运用超过老式钟表, 而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
1.2 基本工作原理1. 显示原理[10]电路原理见下图1。
基于单片机的数字钟毕业设计(附程序全) 电子时钟设计随着现代人类生活节奏的加快,人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。
对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。
数码管显示的时间简单明了而且读数快、时间准确性更高~数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,并且由单片机的定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。
关键词:数字钟;单片机;数码管;时间;准确性1目录第一章绪论1. 数字电子钟的意义和应用…………………………………………………………………… 3 第二章整体设计方案2.1 单片机的选择…………………………………………………………………………… 3 2.2 单片机的基本结构……………………………………………………………………… 5 第三章数字钟的硬件设计3.1 最小系统设计…………………………………………………………………………… 9 3.2 LED显示电路…………………………………………………………………………… 12 3.3 键盘控制电路…………………………………………………………………………… 14 第四章数字钟的软件设计4.1 系统软件设计流程图…………………………………………………………………… 15 4.2 数字电子钟的原理图…………………………………………………………………… 18 4.3 主程序…………………………………………………………………………………… 19 4.4 时钟设置子程序………………………………………………………………………… 20 4.5 定时器中断子程序……………………………………………………………………… 20 4.6 LED显示子程序………………………………………………………………………… 21 4.7 按键控制子程序………………………………………………………………………… 23 第五章系统仿真5.1 PROTUES软件介绍................................................................................. 24 5.2 电子钟系统PROTUES仿真........................................................................ 24 结束语. (2)5 参考文献 (26)2第一章绪论1.数字电子钟的意义和应用数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
简易数字钟系统设计完成一个简易数字时钟系统设计。
要求:用3个独立按键调整时间。
一个按键控制启动运行。
在调整结束后按运行键后开始运行。
1,开机时,显示00:00:00时间从零开始调整。
2,P10控制秒的调整,每按一次加1s。
3,p11控制分的调整,每按一次加1min。
4,p12控制时的调整,每按一次加1h。
5,p13控制运行和停止。
程序:#include<reg52.h>sbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;#define uchar unsigned char#define uint unsigned intuchar shi,ge,aa,num,num1,num2,tt;uint n;uchar q1,q2,b1,b2;sbit dula=P2^6;sbit wela=P2^7;void keyscan();void delay(uint);void display();uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void keyscan(){if(key1==0){ num2++;if(num2==24)num2=0;while(!key1);if(key2==0){num1++;if(num1==60)num1=0;while(!key2);}if(key3==0){num++;if(num==60)num=0;while(!key3);}if(key4==0){ TR0=~TR0;while(!key4);}}void main(){TMOD=0x00;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;while(1){ k eyscan();display();}}void time0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt++;if(tt==100){ tt=0;num++;if(num==60){ num=0;num1++;if(num1==60){ num1=0;num2++;if(num2==24)num2=0;}}}}void display(){q1=num2/10;q2=num2%10;b1=num1/10;b2=num1%10;shi=num/10;ge=num%10;wela=1;P0=0xfe;wela=0;P0=0xff;P0=table[q1]; dula=0; delay(1);wela=1;P0=0xfd; wela=0;P0=0xff; dula=1;P0=table[q2]; dula=0; delay(1);wela=1;P0=0xfb; wela=0;P0=0xff; dula=1;P0=table[b1]; dula=0; delay(1);wela=1;P0=0xf7; wela=0;P0=0xff; dula=1;P0=table[b2]; dula=0; delay(1);wela=1;P0=0xef; wela=0;P0=0xff; dula=1;P0=table[shi]; dula=0; delay(1);wela=1;P0=0xdf;P0=0xff;dula=1;P0=table[ge];dula=0;delay(1);}void delay(uint x){uint i,j;for(i=x;i>0;i--)for(j=110;j>0;j--); }。
基于单片机的数字钟毕业设计(附程序全) 电子时钟设计随着现代人类生活节奏的加快,人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。
对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。
数码管显示的时间简单明了而且读数快、时间准确性更高~数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,并且由单片机的定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。
关键词:数字钟;单片机;数码管;时间;准确性1目录第一章绪论1. 数字电子钟的意义和应用…………………………………………………………………… 3 第二章整体设计方案2.1 单片机的选择…………………………………………………………………………… 3 2.2 单片机的基本结构……………………………………………………………………… 5 第三章数字钟的硬件设计3.1 最小系统设计…………………………………………………………………………… 9 3.2 LED显示电路…………………………………………………………………………… 12 3.3 键盘控制电路…………………………………………………………………………… 14 第四章数字钟的软件设计4.1 系统软件设计流程图…………………………………………………………………… 15 4.2 数字电子钟的原理图…………………………………………………………………… 18 4.3 主程序…………………………………………………………………………………… 19 4.4 时钟设置子程序………………………………………………………………………… 20 4.5 定时器中断子程序……………………………………………………………………… 20 4.6 LED显示子程序………………………………………………………………………… 21 4.7 按键控制子程序………………………………………………………………………… 23 第五章系统仿真5.1 PROTUES软件介绍................................................................................. 24 5.2 电子钟系统PROTUES仿真........................................................................ 24 结束语. (2)5 参考文献 (26)2第一章绪论1.数字电子钟的意义和应用数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
单片机课程设计报告基于单片机的数字时钟姓名:班级:学号:一、前言利用实验板上的4个LED数码管,设计带有闹铃、秒表功能的数字时钟。
功能要求:a)计时并显示(LED)。
由于实验板上只有4位数码管,可设计成显示“时分”和显示“分秒”并可切换。
b)时间调整功能。
利用4个独立按钮,实现时钟调整功能。
这4个按钮的功能为工作模式切换按钮(MODE),数字加(INC),数字减(DEC)和数字移位(SHITF)。
c)定闹功能。
利用4个独立按钮设定闹钟时间,时间到以蜂鸣器响、继电器动作作为闹铃。
d)秒表功能。
最小时间单位0.01秒。
二、硬件原理分析1.电源部分电源部份采用两种输入接口(如上图)。
a)外电源供电,采用2.1电源座,可接入电源DC5V,经单向保护D1接入开关S1。
b)USB供电,USB供电口输入电源也经D1单向保护,送到开关S1。
注:两路电源输入是并连的,因此只选择一路就可以了,以免出问题。
S1为板子工作电源开关,按下后接通电源,提供VCC给板子各功能电路。
电路采用两个滤波电容,给板子一个更加稳定的工作电源。
LED为电源的指示灯,通电后LED灯亮。
2.蜂鸣器蜂鸣器分为有源和无源两种,有源即两引脚有一个直流电源就可以长鸣,无源则需要一个1K左右的脉冲才可以蜂鸣,因此对于按键的提示音及报警蜂鸣使用有源来得方便。
有源也可以当无源使用,而无源则不能当有源使用,当然用有源蜂鸣器作音乐发声会失真厉害。
如上图:单片机P15输出高低电平经R21连接三极管B极,控制三极管的导通与截止,从而控制蜂鸣器的工作。
低电平时三极管导通,蜂鸣器得电蜂鸣,高电平时三极管截止,蜂鸣器失电关闭蜂鸣。
电路使用一个四位共阳型数码管,四个公共阳级由三极管放大电流来驱动,三极管由P10-P13控制开与关。
数码管的阴级由P0口经过电阻限流连接。
例如,要十位的数码管工作,P12输出0,使三极管Q12导通,8脚得电,当P0口相应位有输出0时,点亮相应的LED灯组合各种字符数字。
毕业设计(论文)题目:基于单片机的数字钟的设计学院:自动化学院专业:自动化起止时间:2010年 3月 21日至2010年 6月 25日摘要这次毕业设计通过对单片机的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它主要通过DP-51PROC单片机综合仿真实验仪实现,通过数码管能够准确显示时间,调整时间,它的计时周期为24小时,从而到达学习、设计、开发软、硬件的能力。
主要实现功能为显示时间,时间校准调时(采用手动按键调时),闹铃功能(设置定时时间,到点后闹铃发出响声)。
通过键盘可以进行校时、定时。
闹铃功能使用I/O 口定时翻转电平驱动的无源蜂鸣器。
本文主要介绍了工作原理及调试过程。
关键词:单片机电子时钟单片机综合仿真实验仪AbstractThe MCU through graduation learning applications to AT89S51 chip as the core, supplemented by the necessary circuitry to design a simple electronic clock, it is mainly through the DP-51PROC Single Chip Experimental Device to achieve, through the digital control can be accurately show time, adjustment time, it's time period is 24 hours, so get to learn, design, development hardware and software capabilities. Main achieved function to show time, the time when calibration transfer (using the manual button adjustment time), alarm clock (set the regular time, the point to issue after the alarm sound). When the keyboard can be school, regularly. Alarm clock using the I / O port level drivers regularly turn passive buzzer.This paper describes the working principle and the debugging process.Keywords:MCU electronics clock DP-51PROC目录摘要 (2)Abstract (3)第一章概述 (5)第二章方案论证与比较 (6)2.1数字时钟方案 (6)2.2数码管显示方案 (6)2.3闹铃方案 (6)2.4校准方案 (7)第三章系统设计 (7)3.1总体设计 (7)3.1.1系统说明 (7)3.2模块设计 (7)3.2.1电源部分 (8)3.2.2复位电路 (8)3.2.3程序下载接口 (8)3.2.4位选部分 (9)3.2.5数码管的连接电路 (9)3.2.6控制部分 (10)3.2.7蜂鸣器驱动电路 (11)第四章原理 (12)4.1系统总体方案选择与说明 (12)4.2工作原理 (13)4.3各单元硬件设计说明及计算方法 (14)4.4软件设计与说明 (14)第五章软件设计 (15)5.1主程序流程 (15)5.2闹铃程序..................................................................................................... 错误!未定义书签。
一、概述现代社会,时间被视为人们生活的重要组成部分。
而数字钟作为时间的一种展现形式,已经成为人们生活中不可或缺的一部分。
基于单片机的多功能数字钟设计,将为人们提供更加准确、便捷、多功能的时间展现方式,满足人们对时间的精准要求,同时也为人们的生活带来更多便利。
二、设计目标1. 实现精准的时间显示功能,包括时、分、秒的显示;2. 实现对日期的显示,包括年、月、日的显示;3. 实现多种报时功能,如定时报时、闹钟报时等;4. 实现多种显示效果,如渐变显示、闪烁显示等;5. 实现对时间的调整功能,包括校时、调整日期等;6. 实现对亮度的调节功能,适应不同环境下的使用需求。
三、设计思路1. 硬件设计1.1 硬件采用单片机作为核心控制器,通过外部晶振提供时钟信号;1.2 采用数码管作为显示设备,通过单片机控制数码管进行时间、日期的显示;1.3 通过按钮、旋钮等输入设备,实现时间调节、报时设置等操作;1.4 通过EEPROM等存储设备,实现时间、设置的存储和读取功能;1.5 通过光敏电阻等光敏传感器,实现对环境光强的检测,调节数码管显示亮度。
2. 软件设计2.1 设计合理的时钟系统,确保时间的准确显示;2.2 设计报时功能模块,实现定时报时、闹钟报时等功能;2.3 设计显示控制模块,实现数字、日期的显示效果控制;2.4 设计操作响应模块,实现对按钮、旋钮等输入设备的操作响应;2.5 设计存储管理模块,实现时间、设置数据的存储和读取功能;2.6 设计光敏控制模块,实现对数码管显示亮度的实时调节。
四、实现方法1. 硬件设计1.1 选择合适的单片机作为核心控制器,根据需要进行外围电路的设计;1.2 选择合适的数码管作为显示设备,设计驱动电路以及显示控制电路;1.3 选择合适的按钮、旋钮等输入设备,设计输入电路以及操作响应电路;1.4 选择合适的EEPROM芯片,设计存储管理电路实现数据的存储和读取;1.5 选择合适的光敏电阻或光敏二极管,设计光敏控制电路实现显示亮度的调节。
一.基于52单片机制作的数字钟1.设计任务⑴时间显示: 上电后,系统自动进入时钟显示,从00:00:00开始计时,此时可以设定当前时间.⑵时间调整:按下k1,k2,k3键可以顺序设置秒、分、时,并在相应数码管上显示设置值,直至6位设置完毕。
2.系统基本方案选择和论证本时钟的设计具体有两种方法。
一是通过单纯的数字电路来实现;二是使用单片机来控制实现。
本次设计选取了较为简单的单片机控制;而选择这一方法后还要进行各个芯片的选择。
以下是我在这次设计中所用的方案。
2.1 芯片的选择方案一:采用AT89C51芯片,其为高性能CMOS 8位单片机,该芯片内含有4k bytes的可反复擦写的只读程序存储器(PEROM)、128 bytes的随机存取数据存储器(RAM)、 32位可编程I/O口线、2个16位定时/计数器、6个中断源、可编程串行UART通道及低功耗空闲和掉电模式,但是由于AT89C51芯片可擦写的空间不够大,且中断源提供的较小,为防止运行过程中出现不必要的问题,我们不选用AT89C51。
方案二:采用AT89C52芯片,它除了具备AT89C51的所有功能与部件外,其最大的优势就是AT89C52提供了8K字节可擦写Flash闪速存储器空间、8个中断源、及256*8字节内部存储器(RAM),解决了我们对可反复擦写的Flash闪速存储器空间大小与中断源的不够问题的担心。
2.2显示模块选择方案和论证方案一:采用LCD,电路比较简单,且在软件设计上也相对简单,具有低功耗功能。
价格贵。
方案二:采用LED数码管显示,显示较为清楚。
价格便宜。
所以本方案采用LED数码管显示。
2.3 时钟信号的选择方案和论证直接采用单片机定时计数器提供的秒信号,使用程序实现年、月、日、周、时、分、秒计数。
采用此种方案可减少芯片的使用,节约成本,实现的时间误差较小。
2.4 电路设计最终方案决定综上各方案所述,对此次数字时钟的方案选定为: 采用AT89C52作为主控制系统; 并由其定时计数器提供时钟; LED作为显示电路来实现功能。
题目:多功能数字钟一,设计目的1培养大学生动手能力,大体了解电路设计;2掌握电子设计初步知识;3培养团队合作能力;4掌握各芯片的逻辑功能及使用方法.5了解面板结构及其接线方法.6了解数字钟的组成及工作原理.7熟悉数字钟的设计与制作.8初步了解单片机的使用与编程.二,设计要求1.设计指标时间为24小时制;显示小时与分钟; (如下图);有校时功能,可以分别对小时及分钟进行单独校时;具有设置闹铃的功能,并且能控制闹铃的开关;具备闹铃就绪灯(闹铃调整好后,就绪灯亮),且具有蜂鸣功能(到所调闹铃响时间,蜂鸣器发出声音);电源为220V供电.,具有环境温度测量、电网电压、电网频率显示等功能;报警模块由报警蜂鸣器和带音乐芯片的扬声器等可实现闹铃控制和电网电压的过压、欠压报警功能。
2.设计要求画出电路原理图(或仿真电路图);元器件及参数选择;应用计算机完成电路仿真与调试;完成PCB文件生成与打印输出.3.制作要求应用提供元件,自行进行电路装配和调试,并能发现问题和解决问题.4.编写设计报告写出电路设计与整体制作的全过程,附上有关资料和图纸和心得体会.三,基本仪器清单20MHz普通示波器(双通道,外触发输入,有X轴输入,可选带Z轴输入)60MHz双通道数字示波器低频信号发生器(1Hz~1MHz)高频信号发生器(1MHz~40MHz)标准声音源声级校准器函数发生器低频毫伏表高频毫伏表普通频率计失真度测试仪直流稳压电源2米卷尺单相自耦调压器(>200W)单片机开发系统及EDA开发系统五位半数字万用表(电压表)四位半数字万用表四,主要元器件清单单片机最小系统板(仅含单片机芯片、键盘与显示装置、存储器、A/D、D/A)A/D、D/A转换器1MHz采样频率的8位A/D转换器运算放大器、电压比较器可编程逻辑器件及其下载板显示器件小型继电器康铜、锰铜电阻丝漆包线(直径不大于1mm)光电传感器温度传感器声音传感器扬声器DC/DC转换器设计方案我们设计的系统电路由实时时钟模块、环境温度检测模块、电网检测模块、报警模块等部分组成。
编号 XXXXXXX毕业论文( 2012 届本科)题目:基于单片机控制的多功能数字时钟设计学院:物理与机电学院专业:电气工程及其自动化作者姓名: XXXXXX指导教师: XXXX 职称: XXX完成日期: 2012 年 5 月 16 日二○一二年五月目录摘要: (1)Abstract: (2)第一章绪论 (3)1.1 多功能时钟研究背景 (3)1.2 多功能时钟国内外发展现状 (4)1.3 单片机简介 (4)1.3.1 单片机的发展 (4)1.3.2 单片机的分类 (5)1.4 本文的主要内容及意义 (6)第二章多功能数字时钟系统方案论证 (7)2.1 显示模块选择方案 (7)2.2数字时钟模块选择方案 (7)2.3温度采集模块选择方案 (8)第三章多功能数字时钟系统总体设计 (9)3.1 多功能数字时钟系统的组成 (9)3.2 多功能时钟系统的控制要求 (10)3.2.1 时间与日历显示 (10)3.2.2 温度检测及调整 (10)3.2.3时间手动设置 (10)3.2.4 闹铃设置 (10)第四章多功能数字时钟硬件设计 (11)4.1 系统硬件总图构成及原理 (11)4.2 AT89S52介绍 (11)4.3 时钟模块 (12)4.4 温度测量模块 (13)4.4.1 DS18B20芯片介绍 (13)4.4.2 DS18B20的工作原理 (14)4.4.3 DS18B20工作过程 (14)4.5 LCD液晶显示模块 (15)4.6 晶振电路 (16)4.6.1 晶振电路的原理 (16)4.6.2 晶振电路的作用 (17)4.6.3 晶振电路图 (17)4.7 复位电路 (18)4.7.1 复位电路的原理 (18)4.7.2 复位电路复位方式 (18)4.7.3 复位电路图 (19)4.8 本章小结 (19)第五章多功能数字时钟系统软件设计 (20)5.1 系统总体设计 (20)5.2 系统主要模块流程图 (20)5.2.1 温度测量流程图 (20)5.2.2 时间与闹铃流程图 (21)第六章系统调试与仿真 (22)6.1 Keil μVision2软件平台 (22)6.1.1 编写程序代码 (22)6.1.2 按照系统硬件连线图连接好系统并调试 (22)6.2 键功能介绍 (23)6.3 Protues仿真 (23)总结 (26)参考文献 (27)附录A 源程序代码....................................... 错误!未定义书签。
利用单片机的定时器设计一个数字时钟数字时钟是我们日常生活中常见的计时工具,可以准确地显示当前的时间。
而单片机的定时器则可以提供精准的定时功能,因此可以利用单片机的定时器来设计一个数字时钟。
本文将介绍如何使用单片机的定时器来设计一个基于数字显示的时钟,并提供基本的代码实现。
一、时钟电路设计利用单片机设计一个数字时钟,首先需要设计一个合适的时钟电路。
时钟电路一般由电源电路、晶振电路、单片机复位电路和显示电路组成。
1. 电源电路:为电路提供工作所需的电源电压,一般使用稳压电源芯片进行稳定的供电。
2. 晶振电路:利用晶振来提供一个稳定的时钟信号,常用的晶振频率有11.0592MHz、12MHz等。
3. 单片机复位电路:用于保证单片机在上电或复位时能够正确地初始化,一般使用降低复位电平的电路。
4. 显示电路:用于将单片机输出的数字信号转换成七段数码管可以识别的信号,一般使用BCD码和译码器进行实现。
二、单片机定时器的应用单片机的定时器具有精准的定时功能,可以帮助实现时钟的计时功能。
单片机的定时器一般分为定时器0和定时器1,根据具体的应用需求选择使用。
在设计数字时钟时,可以将定时器0配置成定时器模式,设置一个适当的定时时间。
当定时器0计时达到设定时间时,会触发一个中断信号,通过中断处理程序可以实现时钟的计时功能。
以下是一个基于单片机的定时器的伪代码示例:```void Timer0_Init(){// 设置定时器0为工作在定时器模式下// 设置计时时间// 开启定时器0中断}// 定时器0中断处理程序void Timer0_Interrupt_Handler(){// 更新时钟显示}void main(){Timer0_Init();while(1){// 主循环}}```在上述伪代码中,Timer0_Init()函数用于初始化定时器0的相关设置,包括工作模式和计时时间等。
Timer0_Interrupt_Handler()函数是定时器0的中断处理程序,用于处理定时器0计时到达设定时间时的操作,例如更新时钟显示。
毕业设计基于单片机的数字时钟的设计目录摘要 (1)第一章引言 (2)第二章方案要求与论证 (4)2.1设计要求 (4)2.2方案论证 (4)第三章设计所用器件及硬件介绍 (5)3.1器件 (5)3.2 硬件介绍 (5)3.2.1 AT89C52 (5)3.2.2 DS1302 (6)3.3 系统设计 (7)3.3.1 晶体振荡器电路 (7)3.3.2 分频器电路 (8)3.3.3 时间计数器电路 (8)3.3.4 内部时钟电路 (8)3.3.5复位电路 (9)3.3.6 按键部分 (9)第四章系统软件总体设计 (11)4.1 主程序流程图 (11)4.2 时钟模块程序设计 (11)4.2.1单字节数据程序模块 (12)4.2.2 初始化设置程序模块 (12)4.3 按键处理 (13)第五章总结 (14)附录 (15)参考文献: (32)致谢 (33)摘要本设计以数字集成电路技术为基础,单片机技术为核心。
软件设计采用模块化结构,C语言编程。
系统通过LCD显示数据,可以显示公历日期(年、月、日、时、分、秒)以及星期,并实现闹钟功能。
在内容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的功能;其次,详细的阐述了程序的各个模块和实现过程。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
本论文所做的数字时钟采用了以单片机(AT89C52)为核心,结合相关的外围元器件例如液晶显示、按键电路、复位电路、,再配以相应的软件,达到制作简易数字钟的目的,能实现实时时钟显示的功能,能进行年、月、日、时、分、秒的显示,并且有远程通信功能。
其硬件部分难点在于元器件的选择、布局及焊接。
关键词:单片机;万年历第一章引言1.课题的背景与意义近年来,随着电子产品的发展,随着社会竞争的激烈,人们对数字时钟的要求越来越高。
单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。
所以设计一个简易数字电子钟很有必要。
本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。
该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。
具有时间显示、整点报时、校正等功能。
走时准确、显示直观、运行稳定等优点。
具有极高的推广应用价值。
关键词:电子钟 AT89C52 硬件设计软件设计目录一、数字电子钟设计任务、功能要求说明及方案介绍 (4)1.1 设计课题设计任务 (4)1.2 设计课题的功能要求说明 (4)1.3 设计课的设计总体方案介绍及工作原理说明 (4)二、设计课题的硬件系统的设计 (5)2.1硬件系统各模块功能简要介绍 (5)2.1.1 AT89C52简介 (5)2.1.2 按键电路 (6)三、设计课题的软件系统的设计 (6)3.1 使用单片机资源的情况 (6)3.2 软件系统个模块功能简要介绍 (7)3.3 软件系统程序流程框图 (7)3.4 软件系统程序清单 (7)四、设计课题的设计结论、仿真结果、误差分析 (9)4.1 设计结论及使用说明 (9)4.2 仿真结果 (10)结束语 (12)参考文献 (12)附录 (13)附录A:程序清单 (13)一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。
具有时间显示,并有时间设定,时间调整功能。
1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。
本科毕业设计基于单片机的多功能数字钟摘要在21世纪社会的迅猛发展浪潮下,电子信息技术也有了快速的推广和应用。
在日常工作生活的快节奏下,时间占有着至关重要的位置。
也许人们不太在意,在各种各样的日常生活以及各类社会活动中,大家无时无刻地都在留意着时间的变化。
时间与人们的生活息息相关,而时间的计算方法发展至今已经演变成时钟和表。
本文所阐述的数字钟有多种功能,不仅能够准确的显示时间年月日、时分秒,还有对环境温度进行测量,闹钟设置,秒表计时,电子钟,MP3播放等功能。
相比于机械时钟,因为数字钟所采用的是数字电路技术来实现时、分、秒计时,有着更高的准确性和稳定性,而数字钟的结构与装置也更加科学与方便化。
本文主要介绍了基于单片机的多功能数字钟的设计,硬件电路包含时钟模块、温度检测模块、液晶显示模块、按键模块、电源模块,声音模块和复位电路,软件设计包含闹钟设计、秒表计时、电子书阅览、MP3播放等。
本设计的数字钟有:时间显示年月日、时分秒,闹钟,秒表计时,电子书,MP3等功能。
单片机与多功能数字钟的结合,不仅使得时间的测量更加准确稳定,对环境测试的温度也更加简单、方便、灵活,为我们的日常生活提供了更优质与方便的服务。
因此,单片机不仅有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。
关键词:单片机数字钟温度传感器Multi-function Digital Clock Based On MCUCai Bingnan(College of Engineering, South China Agricultural University, Guangzhou 510642, China) Abstract: The rapid development in the twenty-first Century social tide, electronic information technology has been rapid promotion and application. In their daily work life fast rhythm, time occupies a crucial position. Maybe people don't care too much, in a variety of daily life and all kinds of social activities, we every hour and moment are watching the change of time. The time of our lives, and the calculation method of time has evolved into a clock and watch. Digital clock is described in this paper has a variety of functions, not only can display the date when the minutes and seconds time, accurate, and measurement of environmental temperature, alarm clock, stopwatch, electronic clock, MP3 player and other functions. Compared to the mechanical clock, because the digital clock is used in the digital circuit technology to realize, when, seconds, has a higher accuracy and stability, and the structure and device of digital clock is more scientific and convenient.This paper mainly introduces the design of multi-function digital clock based on MCU, the hardware circuit consists of the clock module, temperature detecting module, liquid crystal display module, keyboard module, power module, voice module and a reset circuit, software design including alarm clock, stopwatch design, electronic book reading, MP3 player etc.. The design of the digital clock: time date display, minutes and seconds, alarm clock, stopwatch, e-books, MP3 etc.. Combined with the MCU and the multi-function digital clock, not only makes the measurement more accurate and stable time, environmental testing temperature is more simple, convenient, flexible, provides better quality and convenience to our daily life. Therefore, the single chip not only promoted the development of social productive forces and the improvement of social information-based degree, simultaneously also makes the modern electronic products to further improve the performance.Key words: SCM digital clock the temperature sensor目录1 前言 (1)1.1 课题的研究背景 (1)1.2 课题的开发目的 (1)2系统方案分析与选择论证 (2)2.1系统方案设计 (2)2.1.1主控芯片方案 (2)2.1.2 显示模块方案 (2)2.1.3 键盘模块方案 (2)2.1.4 温度模块方案 (2)2.2 系统最终方案 (3)3硬件电路设计 (3)3.1 单片机最小系统 (3)3.2 DS1302时钟模块的设计 (4)3.3 LCD1602显示模块的设计 (5)3.4 DS18B20温度模块的设计 (7)3.5 声音模块和按键控制模块的设计 (7)4 程序设计 (8)4.1 时间调整程序设计 (9)4.2 闹钟处理程序设计 (10)4.3 秒表计时程序设计 (10)4.4 音乐播放程序设计 (10)4.5 电子书程序设计 (12)5调试与调试结果 (12)5.1 硬件调试 (12)5.2 调试结果 (13)6 结论 (13)参考文献 (14)附录A电路原理图 (15)附录B设计程序 (16)致谢 (1)华南农业大学本科生毕业设计成绩评定表1 前言1.1 课题的研究背景在这个快节奏的年代,时间就是效益,就是金钱,因此准确的掌握时间和分配时间对人们来说至关重要。
绪论随着时代的进步和发展,单片机技术已经普及到生活、工作、科研等各个领域,已经成为一种比较成熟的技术。
本文将介绍一种基于单片机控制的数字温度计和数字钟,本数字温度计属于多功能温度计,可以任意设置温度的上下限报警功能,当温度不在设定范围内时,可以报警;本数字钟可以同步显示时间日历,日期和时间都可通过按键校整。
本系统采用的DS1302可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。
本系统显示部分采用LCD液晶显示屏显示,工作方便,外形美观一、方案设计本项目拟设计基于单片机的数字时钟和数字温度计,并将时间和温度显示在液晶显示器上。
本系统由主控模块、时钟模块、显示模块、测温模块共4个模块组成。
主控芯片使用89系列的AT89C52单片机。
时钟芯片使用DS1302,DS1302做为计时芯片,可以做到及时准确。
DS1302可以在很小电流的后备电源(2.5~5.5V电源,在2.5V时耗小于300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。
测温模块采用DS18B20,具有测温准确,测温范围宽,电路简单的优点。
显示模块采用液晶显示屏LCD1602,LCD1602电路简单,功耗低,显示信息量大,显示质量高,显示界面美观、友好。
1、主控制器的选择ATmega16是AVR系列中的一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准AVR指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的ATmega16单片机可为您提供许多较复杂系统控制应用场合。
另外,在校期间所涉及到也主要是MCS-51系列单片机,对于其内部功能和指令系统较为熟悉,能在较为短的项目内完成项目的设计和验证。
2、时钟功能的实现时钟功能的实现有两种方案:一是用软件实现,直接用单片机的定时器编程以实现时钟;二是用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。
武汉大学电子信息学院电子系统综合设计课程论文基于51单片机的数字钟设计目录1 作品的背景与意义 12 功能指标设计 13 作品方案设计 13.1总体方案的选择 13.1.1方案一:基于单片机的数字钟设计 23.1.1方案二:基于数电实验的数字钟设计 33.1.2两种方案的比较................................................................... . (3)3.2控制方案比较 33.3显示方案比较 33.4单片机理论知识介绍 43.4.1单片机型号................................................................... . (5)3.4.2硬件电路平台................................................................... (6)3.4.3内部时钟电路................................................................... .. (7)3.4.4复位电路................................................................... .. (7)3.4.5按键部分................................................................... . (8)4 硬件设计94.1显示模块电路图95 软件设计115.1主程序流程图115.2中断服务以及显示 126 系统测试136.1测试环境136.2测试步骤136.2.1硬件测试6.2.2软件测试1.连接单片机和计算机串接................................................................... ................13 6.2.3实施过程................................................................... ..................................................................... . (14)6.3测试结果187 实验总结 (18)7.1代码编写过程中出现问题................................................................... . (18)7.2整个实验过程的体会................................................................... (19)7.3实验误差分析。
基于单片机控制的数字钟课程设计任务书1.设计目的与要求设计出一个数字钟。
准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)显示:可以显示时、分和秒(2)调时功能:时(0-24)、分和秒(0-60)可以连续可调2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
基于单片机控制的数字钟摘要:本设计是由89c51单片机和74hc245构成的多功能数字钟,它可以实现小时、分钟、秒的连续可调。
操作特别方便硬件电路简单。
并且采用具有发光亮度很好的七段数码管显示,特别具有可视性。
关键词:数字钟;单片机表;多功能表目录1引言 (1)2总体设计方案 (1)2.1设计思路 (1)2.2总体设计框图 (1)3设计原理分析 (2)3.1时钟电路的硬件设计分析 (2)3.2时钟电路的软件设计分析 (2)4程序设计 (2)4.1主程序 (2)4.2显示子程序 (3)4.3定时器/计数器T0中断服务程序 (3)4.4按键处理子程序 (3)5 结束语. (3)参考文献 (3)附录1 (4)附录2 (5)1 引言在人们的日常生活中,数字钟占有相当大的比重,可以说它是人们日常生活中不可缺少的东西。
它扮演着时间老人的角色,这次设计是基于单片机制作而成的数字钟,以24小时为一周期,显示时、分、秒,而且可以实现连续可调。
在具体处理过程中非常简单,用内部定时器进行定时处理,按键全部采用独立键盘非常方便快捷。
2 总体设计方案2.1 设计思路:利用单片机内部定时器进行时间定时。
刚开始的时候让数码管显示12点,进入调试模式后在主程序中不停的进行显示和按键扫描,当调整键按下时进入按键扫描程序进入后利用调整键按下的次数进行区分时分秒。
当确定按下次数后,递增键和递减键分别对时间进行加或者减的操作,完毕后在对调整键操作就立刻退出调试进行正常显示。
2.2总体设计框图:图1(总体设计框图)3 设计原理分析3.1 时钟电路的硬件设计分析:单片机P0口经过74HC245直接去驱动六个数码管,六个数码管接成并口动态显示。
再利用P2口的P2.0到P2.5进行位选。
三个按键分别接着P1.0到P1.2进行时间设置。
3.2 时钟电路的软件设计分析:在单片机通电后首先给显示赋初值让数码管显示12点,然后进入程序先对定时器0进行初始化,之后进入大循环主函数由显示函数和按键扫描两条语句构成。
显示函数由正常的动态扫描显示部分组成进行位和段的分时显示,当无按键按下时也对按键扫描进行扫描但由于没按键按下会立刻跳出扫描程序。
当有按键按下时进入按键扫描程序,按键扫描程序由两部分组成一部分对调整键次数进行区分看是按下一次还是两次或是三次然后进人递增键和递减键的扫描对时分秒进行操作,最后回到主程序进行扫描当调整键按下四次时跳出按键扫描程序恢复到正常显示。
4程序设计4.1主程序主程序流程如图2所示,主程序先定时器0进行初始化,然后对显示函数和按键扫描函数进行扫描。
在中断中对时分秒进行设置等待显示,当有按键按下时,则转入相应的按键处理程序进行按键扫描。
图2(主流程图)4.2显示子程序这次设计共用了6个数码管,时、分、秒各占两位,显示程序中首先对时、分、秒进行分离然后在对时、分、秒进行为选和段选的分时传送让数码管进行动态扫描显示。
4.3定时器/计数器T0中断服务程序进入中断后现对定时器进行初始化然后在对一秒钟进行累计处理在其中完成对时分秒的累计清零处理。
4.4按键处理子程序当调整键按下时进入按键处理程序,处理过程图3。
图3(按键扫描流程图)5 结束语经过了三周的学习实践,我得到了很大的锻炼让我对单片机有更深的认识。
也使我对我的专业更加热爱,我爱我的专业。
在编程过程中我也得到了我们宿舍和同学的帮助让我和他们的关系更加密切。
在此期间我又学了很多我以前没有学到的知识,我特别的高兴,在以后短短的岁月中我会对我的专业倾注更多爱。
感谢曾经帮助过我的老师、同学、和所有帮助过我的所有人参考文献[1] 李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005[2] 谭浩强.c程序设计[M].北京:清华大学出版社,2005[3] 张桂红.单片机原理与应用[M].福建:福建科技技术出版社,2007[4] 张鹏.单片机原理与应用实例教程[J].海军出版社,2007附录1:总体电路图0123456S 5附录2:程序清单#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit key0=P1^0;//调整键sbit key1=P1^1;//时间增加键sbit key2=P1^2;//时间减少键sbit key3=P1^3;uchar code table[]={0x7e,0x48,0x3d,0x6d,0x4b,0x67,0x77,0x4c,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar temp,tt,shi,ge,aa=1,bb=2,cc,dd,temp1,temp2=12,con=0,con1,con2; void delay(uint z);void initt0();void display();void keyscan();void main(){ initt0();while(1){ display();keyscan();}}void timer0() interrupt 1//50ms定时中断{ TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt++;if(tt==20)//一秒钟程序{tt=0;temp++;if(temp==60){temp=0;temp1++;if(temp1==60){temp1=0;temp2++;if(temp2==25){temp2=0;}} }}}void display()//显示子程序{ aa=temp2/10;bb=temp2%10;cc=temp1/10;dd=temp1%10;shi=temp/10;ge=temp%10;P2=0xdf;P0=table[aa];delay(1);P2=0xef;P0=table[bb]|0x80;delay(1);P2=0xf7;P0=table[cc];delay(1);P2=0xfb;P0=table[dd]|0x80;delay(1);P2=0xfd;P0=table[shi];delay(1);P2=0xfe;P0=table[ge];delay(1);}void delay(uint z)//延时1ms {uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void initt0()//定时器的初始化{ TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void keyscan()//键盘扫描程序{if(key0==0){ delay(10);while(key0==0);con++;//按键次数TR0=0;if(con>3){con=0;TR0=1;}}if(key1==0){delay(10);if(con==1)temp++;if(con==2)temp1++;if(con==3)temp2++;if(con==3){con1=24;}else{con1=60;}if(temp>=con1)temp=0;if(temp1>=con1)temp1=0;if(temp2>=con1)temp2=0;while(key1==0);}if(key2==0){delay(10);if(con==3){con2=23;}else{con2=59;}if(con==1){temp--;if(temp<=0)temp=con2;}if(con==2){ temp1--;if(temp1<=0) temp1=con2;}if(con==3){temp2--;if(temp2<=0) temp2=con2;}while(key2==0); }}。