基于单片机内部定时计数器的数字钟方案设计书

合集下载

基于单片机的数字时钟设计

基于单片机的数字时钟设计

单片机控制的数字钟设计摘要数字电子钟一般由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路等组成。

秒信号是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

将秒信号送入秒计数器,它是六十进制计数器。

每累计六十秒发出一个“分脉冲”信号,这个信号作为“分计数器”的时钟脉冲。

“分计数器”也是六十进制计数器,它每累计六十分钟,发出一个“时脉冲”信号,此信号将被送到“时计数器”。

“时计数器”采用二十四进制计数器,可以实现一天二十四小时的累计。

译码显示电路将“时”、“分”、“秒”计数器的输出状态经七段显示译码器译码,通过六位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.数字电子钟的意义和应用数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

基于51单片机的简易数字钟系统设计

基于51单片机的简易数字钟系统设计

简易数字钟系统设计完成一个简易数字时钟系统设计。

要求:用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--); }。

基于51单片机的数字钟方案设计书(2)

基于51单片机的数字钟方案设计书(2)

电子系统综合设计课程论文基于51单片机的数字钟设计专业:年级:作者:指导教师:2010 年 6 月 20日目录1 作品的背景与意义 (1)2 功能指标设计 (1)3 作品方案设计 (2)4 软件设计 (3)附录1 系统电路图 (6)附录2 系统软件代码.................................... 错误!未定义书签。

1 作品的背景与意义时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。

怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。

现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

现在我们利用单片机实现数字时钟计时功能的主要内容,其中A T89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。

与传统机械表相比,它具有走时精确,显示直观等特点。

它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点,除此外还实现了万年历和闹钟等的功能。

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。

在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。

基于C51单片机的数字时钟课程设计(C语言带闹钟)

基于C51单片机的数字时钟课程设计(C语言带闹钟)

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

键盘采用动态扫描方式。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

基于单片机的数字钟设计资料

基于单片机的数字钟设计资料

基于单片机的数字钟设计The design of digital clock based on signal-chipcomputer摘要基于单片机的定时和控制装置在许多行业有着广泛的应用,而数字钟是其中最基本的,也是最具有代表性的一个例子。

在基于单片机系统的数字钟电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。

本电路主要以单片机AT89S52为核心而设计的,通过单片机对信息的分析与处理,控制外围设备。

系统由复位模块、时钟模块、温度模块、音乐模块、光识模块及显示模块共六个模块组成,后来在时钟模块的基础上又加载了日历、星期的模块。

本设计以单片机AT89S52为切入点,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。

再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子时钟的核心。

然后在核心电路的基础上设计出了相应的扩展电路,使本设计更加实用。

关键词:单片机;数码显示;温度传感器ABSTRACTThe timer equipment using micro controller unit is applied in many trades, the digital clock is the most fundamental example among them, and it is also a most typical example.In digital clock circuit based micro controller unit system, there are the external controlling and display device besides the fundamental monolithic machine system and the outer-ring circuit. The key of the circuit in this design is AT89S52, using the micro control system to process information to control the outer-ring circuit. The system is made up of circuit, clock circuit, music circuit, temperature circuit, and shine circuit. Date and week modul is the external part.This design focuses on monolithic integrated circuit AT89S52. Using AT89S52, which has the interior programmable timer/counter, the union foreign meets the crystal oscillator the adjustment to determine an appropriate duration of oscillation, thus determines theinterior the cycle of the system. And designing the internal interrupt procedure establishment to design the clock procedure, namely designed the core of electronic clock. Then design the expanded electric circuit to let this design more practical.Key Words:Micro control unit; LED shows; Sensor of temperature目录1. 引言 (1)2. 关于单片机 (3)2.1单片机的发展 (3)2.2 单片机的开发背景 (5)2.2 单片机的开发背景 (6)2.3 AT89S52单片机 (7)2.3.1 AT89S52单片机引脚功能 (8)2.3.2 AT89S52单片机硬件结构的特点 (9)2.3.3 AT89S52单片机的硬件原理 (11)3. 方案设计与论证 (13)4. 系统总体结构框图 (14)5. 系统的硬件设计 (14)5.1 显示部分电路的设计 (14)5.1.1 LED数码显示管的基本原理 (14)5.1.2 数码管显示模块分析 (15)5.1.3 LED显示电路 (16)5.2 控制部分电路的设计 (16)5.2.1 时钟模块 (16)5.2.2 温度模块 (16)5.2.3 音乐模块 (17)5.2.4 复位模块 (17)5.2.5 光识模块 (18)6. 系统的软件设计 (19)6.1 各模块的程序设计 (19)6.1.1 计时程序 (19)6.1.2 定时闹钟程序 (19)6.1.3 温度程序 (19)6.2 系统程序设计的总体框图 (20)7. 系统电路的制作与调试 (21)7.1 电路硬件焊接制作 (21)7.2 调试的主要方法 (21)7.3 系统调试 (21)7.3.1硬件调试 (21)7.3.2软件调试 (21)7.3.3联机调试 (22)7.3.4调试中遇到的问题及解决方法 (22)结论 (24)参考文献 (25)附录1 数字钟电路图 (27)附录2 程序清单 (28)附录3 英文资料 (65)附录4 英文资料翻译 (75)致谢 (83)1. 引言20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

基于单片机功能数字钟设计

基于单片机功能数字钟设计

基于单片机功能数字钟设计【一】课程设计目的本课程旨在培养学生数字电子电路知识,解决数字电子技术方面常见实际问题的能力,掌握数字钟的设计、组装与调试方法,熟悉集成电路的使用方法。

促使学生积累实际电子制作经验,准备走向更复杂更实用的应用领域,是参加“全国大学生电子竞赛”前的技能培训课程之一。

目的在于巩固基础、注重设计、训练技能、追求创新、走向实用。

【二】设计任务及要求(1)时钟显示功能,能够以十进制显示“时”、“分”、“秒”。

(2)具有校准时、分的功能。

(3)整点自动报时,在整点时,便自动发出鸣叫声,时长1s。

选做:(1)闹钟功能,可按设定的时间闹时。

(2)日历显示功能。

将时间的显示增加“年”、“月”、“日”。

【三】数字钟的基本原理及电路设计一个具有计时、校时、报时、显示等基本功能的数字钟主要由STM8S105C6单片机最小系统、5V稳压芯片LM7805、5110液晶显示屏、校准开关、蜂鸣器(用于整点自动报时、闹钟闹时)等五部分组成。

一、STM8S105C6单片机最小系统如上图所示,(1)VDD和VSS引脚用于给内部主电压调节器MVR和内部低功耗电压调节器LPVR 供电,这两个电压调节器的输出连接在一起,向MCU内核(CPU,FLASH,和RAM)提供1.8V电压。

在低功耗模式下,系统自动将供电电源从MVR切换到LPVR,以减少MCU内核功耗,为了稳定MVR,必须在VCAP引脚连接一个容量在0.47-3.3uF的高频滤波电容,而我则选择了680nF的电容,处于这个范围之内。

(2)STM8S105C6单片机采用低电平复位,其中复位电容C不宜太大,否则当内部复位有效时,可能会造成内部N沟MOS过流,同时也不宜太小,否则外部低电平的复位脉冲维持时间小于500ns,这样就不能保证芯片可靠复位。

(3)在电源引脚和地之间添加一个高频滤波电容,滤波电放置的位置尽可能接近芯片的电源引脚,原则是“先滤波后使用”,而且工作频率越高,滤波电容的容量就可以越小。

基于单片机的多功能数字钟的设计

基于单片机的多功能数字钟的设计

一、概述现代社会,时间被视为人们生活的重要组成部分。

而数字钟作为时间的一种展现形式,已经成为人们生活中不可或缺的一部分。

基于单片机的多功能数字钟设计,将为人们提供更加准确、便捷、多功能的时间展现方式,满足人们对时间的精准要求,同时也为人们的生活带来更多便利。

二、设计目标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 选择合适的光敏电阻或光敏二极管,设计光敏控制电路实现显示亮度的调节。

单片机数字钟课程设计

单片机数字钟课程设计

单片机数字钟课程设计单片机数字钟课程设计1. 硬件设计:- 使用单片机控制数字钟的显示和时间的设置功能,在电路板上连接LED数码管用于显示时间。

- 使用实时时钟芯片或者外部晶振作为时钟源,确保时间的准确性。

- 设置按键用于调整时间,包括小时、分钟和秒钟。

2. 功能设计:- 初始化功能:启动时将时间设置为00:00:00。

- 显示功能:将当前时间显示在LED数码管上,包括小时、分钟和秒钟。

- 调整时间功能:按下相应的按键,可以调整小时、分钟和秒钟,同时更新LED数码管上的显示。

- 闹钟功能:设置一个闹钟时间,并在闹钟时间到达时发出声音或者闪烁LED灯提示。

3. 软件设计:- 使用C语言编写单片机的程序,通过编程控制数码管的显示和按键的响应。

- 在程序中使用定时器中断来更新时间的显示,确保时间的准确性。

- 使用按键中断来响应按键的操作,包括调整时间和设置闹钟功能。

4. 测试与调试:- 在编写完程序后,进行测试和调试,确保各项功能的正常运行。

- 使用示波器等工具来监测时钟信号和按键信号的波形,确保硬件连接的正确性。

- 运行程序并观察LED数码管的显示,以及按键的响应情况,进行功能的验证。

5. 效果展示:- 在完成测试和调试后,将数字钟的效果展示给他人,包括时间的显示和调整、闹钟的设置和响应等功能。

- 可以将数字钟制作成实物展示,方便他人观看和操作,也可以进行演示和讲解,介绍数字钟的工作原理和设计思路。

整个单片机数字钟的课程设计过程包括硬件设计、功能设计、软件设计、测试与调试以及效果展示。

通过这个设计项目,可以锻炼学生的硬件和软件设计能力,提高他们对单片机原理和应用的理解和掌握程度。

基于AT89S51单片机的数字时钟

基于AT89S51单片机的数字时钟

基于AT89S51单片机的数字时钟摘要:随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。

本次设计的数字时钟电路采用AT89S51单片机作为核心,对于数字电子时钟采用直观的数字显示(LED),可以同时显示时、分、秒等信息,还具有时间校准等功能,功耗小,使用寿命长,误差小,能在3V的低压工作,电压可选用3~5V电压供电。

综上所述此数字时钟具有读取方便、显示直观、电路简洁、成本低廉等诸多优点,实用性较强,性能稳定,有一定的市场前景。

~~~~~~目录~~~~~~一、设计要求与方案论证 (3)1.1 设计要求 (3)1.2 系统基本方案选择和论证 (3)1.2.1单片机芯片的选择方案和论证 (3)1.2.2 显示模块选择方案和论证 (4)1.2.3 时钟芯片的选择方案和论证 (5)1.2.4 电源的选择方案与论证 (5)二.系统的硬件设计与实现 (6)2.1 电路设计框图 (6)2.2 系统硬件概述 (6)2.3 主要单元电路的设计 (8)2.3.1单片机主控制模块的设计 (8)2.3.2电源电路模块的设计 (8)2.3.3校时校分电路设计 (9)2.3.4显示模块的设计 (9)三、系统的软件设计 (10)3.1主程序部分 (11)3.2计时显示中断子程序部分 (12)3.3校分显示子程序部分 (15)3.4校时显示子程序部分 (16)四. 指标测试 (17)4.1 测试仪器 (17)4.2硬件测试 (17)4.3软件测试 (18)4.4测试结果分析与结论 (18)4.4.1 测试结果分析 (18)4.4.2 测试结论 (18)五、作品总结与设计感想 (18)参考文献 (19)附录一:汇编语言源程序 (20)附录二:PCB印刷版图 (23)一、设计要求与方案论证1.1 设计要求:(1)基本要求(a)具备显示时、分等功能;(b)具备时、分校准功能;1.2 系统基本方案选择和论证1.2.1单片机芯片的选择方案和论证:方案一:采用89C51芯片作为硬件核心,其内部采用Flash ROM,具有4KB ROM 存储空间,能于3V 的超低压工作,但运用于电路设计中时由于不具备ISP在线编程技术,烧入程序时需要专门的C编程器(当前可用的实验烧写开发板只支持具有ISP在线编程功能的AT89S**系列的芯片),当在对电路进行调试时,更显麻烦,并且增加了造价,方案二:采用89S51芯片作为主控模块,AT89S51是MCS-51系列单片机目前运用较多的一种芯片,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且具备ISP在线编程技术,方便对电路进行调试.但由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

基于单片机的电子时钟的设计

基于单片机的电子时钟的设计

基于单片机的电子时钟的设计基于单片机的电子时钟是一种采用单片机作为主控芯片的数字显示时钟。

它能够准确显示时间,并可以通过编程实现其他功能,如闹钟、倒计时、温湿度显示等。

本文将介绍基于单片机的电子时钟的设计原理、硬件电路和软件编程等内容。

1.设计原理基于单片机的电子时钟的设计原理是通过单片机的计时器和定时器模块来实现时间的计数和显示。

单片机的计时器可以通过设定一个固定的时钟频率进行计数,而定时器可以设定一个固定的计数值,当计数到达设定值时,会触发一个中断,通过中断服务程序可以实现时间的更新和显示。

2.硬件电路基于单片机的电子时钟的硬件电路主要包括单片机、显示模块、按键模块和时钟模块。

其中,单片机作为主控芯片,负责控制整个电子时钟的运行;显示模块一般采用数字管或液晶屏,用于显示时间;按键模块用于设置和调整时间等功能;时钟模块用于提供稳定的时钟信号。

3.软件编程基于单片机的电子时钟的软件编程主要分为初始化和主程序两个部分。

初始化部分主要是对单片机进行相关寄存器的设置,包括计时器和定时器的初始化、中断的使能等;主程序部分是一个循环程序,不断地进行时间的计数和显示。

3.1初始化部分初始化部分首先要设置计时器模块的时钟源和计数模式,一般可以选择内部时钟或外部时钟作为时钟源,并设置计时器的计数模式,如自动重装载模式或单次模式;然后要设置定时器模块的计数值,一般可以通过设定一个固定的计数值和计数频率来计算出定时时间;最后要设置中断使能,使得当定时器计数器达到设定值时触发一个中断。

3.2主程序部分主程序部分主要是一个循环程序,通过不断地读取计时器的计数值,并计算得到对应的时间,然后将时间转换成显示的格式,并显示在显示模块上。

同时,还可以通过按键来实现时间的设置和调整功能,如增加和减少小时和分钟的值,并保存到相应的寄存器中。

4.功能扩展-闹钟功能:设置闹钟时间,并在设定的时间到达时触发报警;-温湿度显示:通过连接温湿度传感器,实时显示当前的温度和湿度数据;-倒计时功能:设置一个倒计时的时间,并在计时到达时触发相应的动作。

基于51单片机设计的多功能数字时钟

基于51单片机设计的多功能数字时钟

基于51单片机多功能数字时钟姓名:刘波学号:1系统设计1.1设计要求设计制作一个24小时制多功能数字钟。

1.1.1主要性能指标1、数字显示年、月、周、日、时、分、秒。

1.1.2创意部分要求准确的进行年、月、周、日、时、分、秒的转换,切换两种显示模式。

1.2总体设计方案1.2.1概述及设计思路该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天)。

1.2.2方案论证(1)时钟模块【方案一】采用单片机内置定时/计数器。

它的处理过程主要是先设定单片机内部定时/计数器的工作方式,对机器周期计数确定基准时间,然后用另外一个定时器软件计数的方法对基准时间形成秒,秒计60次形成分,分计60次形成小时。

依此类推,获取日期也是采用相同的方法。

该方案在具体实现过程中,计时存在较大的误差。

如果晶振受到其他外界信号干扰,或者基准时间计算不准确,都会导致时间显示错误。

【方案二】采用555多谐振荡器。

由555定时器组成一个多谐振荡器,产生周期为100HZ的脉冲,然后经过两个74LS160组成的分频器得到1HZ的秒脉冲。

多谐振荡器的稳定度及频率的准确度决定了数字钟计时的准确程度,通常选用成品晶振构成振荡器电路。

计时精度取决于振荡器的频率,振荡器频率越高计时精度越高。

【方案三】采用DS1302时钟芯片。

DS1302是一种高性能、超低功耗的实时时钟芯片,附加31字节静态RAM,可以通过串行接口与单片机进行通信。

实时时钟提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。

芯片内部集成备用电源,当外围电路电路有电源供应的时候,备用电源充电储能。

当外围电路掉电时,DS1302芯片工作在休眠状态,以备用电源供电。

基于单片机设计简易数字钟

基于单片机设计简易数字钟

信息与电气工程学院(课程设计说明书(2015/2016 学年第二学期)课程名称:单片机应用技术课程设计题目:简易数字钟设计专业班级:电气工程及其自动化1303班学生姓名:学号:指导教师:刘增环、岑毅南、李兵等设计周数:两周设计成绩:2016年6月24日【摘要】20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

单片机数字时钟是以单片机为核心,在它的基础上设计出来的数字时钟,本设计采用了STC公司生产的AT80C51型单片机设计了一个单片机最小系统,外接LED显示电路,按键电路,晶振电路,复位电路模块构成了一个简易的数字钟,具有显示、时、分、秒的功能,且时、分、秒每一个参数都可以自行设置,以实现时间的校正,总体来说实现了一个数字时钟的应有功能。

关键词:80C51系列单片机、单片机最小系统、时钟定时器、4位一体数码管显示目录课程设计正文 (1)一系统工作原理 (1)1.1 功能说明 (1)1.2 基本原理 (1)二硬件设计 (2)2.1 单片机 (2)2.2 复位电路 (3)2.3 晶振电路 (3)2.4 键盘调整单元 (4)2.5 数码管与三极管显示 (5)三软件设计 (6)3.1 系统主程序 (6)3.2 中断程序 (6)3.3显示函数 (6)3.4键盘扫描程序 (7)3.5时钟实现的基本方法 (7)四心得体会 (7)附录源程序 (8)课程设计的目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)对课题设计方案的分析、选择、比较、熟悉单片机应用系统开发、研制过程,软硬件设计的方法、内容及步骤。

基于单片机的数字式时钟方案设计书

基于单片机的数字式时钟方案设计书

基于单片机的数字式时钟设计学院信息电子技术专业通信工程班级 06级1班学籍号 0609064107姓名丁满芳指导教师王全佳木斯大学2010年6月17日摘要近几年,单片机在各个领域得到广泛的应用。

因为其小巧的体积,低功耗,以及高效的性能,单片机受到了大家的欢迎。

该设计介绍了一种基于AT89C51单片机设计数字式时钟的方法。

首先介绍了数字式时钟的工作原理、AT89C51 单片机的性能和特点、并概述了用单片机实现数字式时钟的硬件框图及软件实现方法。

本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个简易的数字式时钟。

它由交流电源供电,用六个八段LED数码管动态扫描来显示时间,采用蜂鸣器进行报时;三个按键实现时间的调整和定时,软件方面采用汇编语言编程。

该数字式时钟具有硬件成本低、计时准确、调整时间容易等特点。

本系统大部分功能由软件来实现,吸收了硬件软件化的思想,使硬件电路简单明了,系统稳定性大大提高。

该系统不仅成功的实现了要求的基本功能,而且有一定的创新功能。

关键词:单片机。

数字式时钟;数码显示器;中断ABSTRACTSingle Chip Microcomputer has achieved a immerse popularity in all fields in recent years.Due to its small size,low power cost and high performances,it has been welcomed by people.A method of Digital Clock de sign based on AT89C51 Micro Controller Unit (MCU) is introduced in this thesis. Introduced the working principle of Digital Clock , performance and features of AT89C51 MCU, and an overview of the Digital Clock with block diagram of the hardware and softwar e implementation, AT89C51chip as the core part with some necessary peripheral circuits, design a simple Digital Clock. AC as the power supply, six eight-segment LED digital-tubes are used for display, three buttons can be used to adjust the time, in the so ftware aspect, uses assembly language software programming. The design has some features, such as low-cost hardware, time-accurate and easy adjustment of time, and so on. The design achieved all the required basic technical indexes.Furthermore,adopting the idea of hardware-to-software, most of those functions are realized by software, which makes the electro circuit more concise and the system more stable.Key words:single chip computer。

单片机课程方案设计书数字时钟

单片机课程方案设计书数字时钟

专业班级:电子信息工程2班姓名:江奇峰、陈雪丰一、功能能实现定时、时间的调整(只能加不能减)、闹钟的设定(只能加不能减),当闹钟按键按下就进入闹钟设定,再按下那个键就进入时间显示,并且闹钟响铃时间是10秒钟。

其整个设计的电路图如下:其中显示的是8个8段LED显示,单片机是80C51,外部晶振是12MHZ,其中和晶振连接的是两个47pF的电容。

单片机的p3.2~p3.5作为地址总线起到控制作用,p3.7在电路中我用一个电阻代替,在实际中接喇叭,起到闹钟的作用。

P0.0~p0.7作为数据总线,把单片机的信号输入到显示器上,p2.0~p2.7作为单片机的额数据总线,其作用在显示总起到位选的作用,决定8段LED的亮灭。

最下面的那个是RESPACK-8排阻,在电路中防止输入到显示的电压很小,是为输出提供电源的装置,配合显示器的显示。

在整个程序中时间的秒、分、时的计数分别存放在20H、21H、22H,闹钟的秒、分、时的计数分别存放在40H、41H、42H。

我的电路图开始的时候是用静态显示的,现在用动态显示程序还是用的是静态的,所以在一些程序不一样。

实现定时闹钟的程序有以下几个部分组成:二、流程图1、定时程序(时间的设定)其程序流程图如下:N Y3、显示的流程图(因为显示的刚好是8个,所以不要去考虑左移的个数,直接跳转到初始值。

4、闹钟设定YNY三、总程序ORG 0000HMOV P0,#00HMOV P2,#00HMOV SP,#60HCLR 20HCLR 21HCLR 22HCLR 40HCLR 41HCLR 42HMOV DPTR,#TABVV: MOV R6,#1MM: MOV R5,#4NN: MOV R4,#100BB: JNB P3.5,LPPSJMP LLLPP: JNB P3.5,LPP0SETB 30HAAC: MOV R3,#1AAB: MOV R2,#4AAA: MOV R1,#100CC0: JNB P3.2,CC1 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

方跃春(副教授)大学城栏目:世界大学城居民新闻空间栏目:方法库共207篇论文| 附件【数字钟调整日期、时间程序流程图.swf1.swfclock_2.c】收藏到我的学习空间收藏到我的课堂魔方方跃春(副教授) 发表于2011-5-26 1:54:23 阅读(565)评论(3)流程图链接!/*基于单片机内部定时计数器的数字钟设计1、用单片机内部定时计数器T0进行计时;2、用LCD1062液晶器显示日期、时间;3、具有闰年自动计算功能;4、具有根据年、月、日计算星期功能;5、具有时间、日期调整功能。

Design:长沙民政职业技术学院,方跃春*/#include<reg51.h>#define uchar unsigned char //宏定义#define uint unsigned int //宏定义sbit rs=P3^5。

//液晶数据/指令选择端:1-数据,0-指令sbit lcden=P3^4。

//液晶使能控制端:1-有效,0-无效sbit shift_key=P3^2。

//位置移动键sbit up_key=P3^3。

//增加键uchar temp=0。

//定义定时器溢出计数变量,每隔50ms产生1次溢出,temp加1uint year=2011。

//定义年变量并赋初值2011年uchar month=05,day=23,week。

//定义月、日、星期变量,并赋初值5月23日uchar hour=0,minute=00,second=00。

//定义时、分、秒变量,并赋初值12时00分00秒uchar code week_string[7][4]={"MON","TUE","WED","THU","FRI","SAT","SUN"}。

//定义星期英文缩写表uchar data month_day[12]={31,0,31,30,31,30,31,31,30,31,30,31}。

//定义每月天数表/*--定时计数器T0及中断初始化函数--*/void init(void){TMOD=0x01。

//设置定时器0为工作方式1TH0=(65536-50000)/256。

//16位计数初值除以256得到高8位初值TL0=(65536-50000)%256。

//16位计数初值除以256的余数得到低8位初值EA=1。

//开总中断ET0=1。

//开启定时器0中断EX0=1。

//开启外部中断,外部中断用于调整时间PT0=1。

//将定时器0中断设置高优先级,调整时间期不停止计时 TR0=1。

//启动定时器0}/*----------1ms延时函数----------*/void delay(uint n){uint i,j。

for(i=n。

i>0。

i--)for(j=114。

j>0。

j--)。

}/*-------LCD1602写指令函数-----*/void LCD1602_write_com(uchar com){rs=0。

//rs=0,置指令输入状态P0=com。

//输出指令码delay(1)。

//延时1mslcden=1。

//lcden=1,使能端有效delay(1)。

//延时1mslcden=0。

//lcden=0,使能端无效}/*-------LCD1602写数据函数-----*/void LCD1602_write_dat(uchar dat){rs=1。

//rs=1,置数据输入状态P0=dat。

//输出待显示字符的字符码(ASCII码)delay(1)。

//延时1mslcden=1。

//lcden=1,使能端有效delay(1)。

//延时1mslcden=0。

//lcden=0,使能端无效}/*********************公历平年的2月只有28天,公历闰年的2月有29天。

判断公历闰年的算法:①、普通年能被4整除且不能被100整除的为闰年。

如:2011年不是闰年,2012年是闰年...2100年也不是闰年。

②、世纪年能被400整除的是闰年。

如:2000年是闰年,1900年不是闰年。

*********************/void leapyear() //判断某年是否闰年函数{if ((year%400==0) || (year%100!=0) && (year%4==0))month_day[1]=29。

//闰年2月29天elsemonth_day[1]=28。

//平年2月28天}/*************************由年、月、日计算星期的算法(基姆拉尔森计算公式):W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:计算时要将一月和二月看成是上一年的十三月和十四月。

例:2012-1-10需要换算成2011-13-10来代入公式计算。

**************************/uchar CaculateWeek(int y,char m, char d)//由年、月、日计算星期函数{uchar w。

if(m==1){m=13。

y=y-1。

}else if(m==2){m=14。

y=y-1。

}w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7。

return w。

}/*定时计数器中断程序,每当定时计数器溢出时触发中断,执行该程序*/void time0() interrupt 1{TH0=(65536-50000)/256。

//重装初值TL0=(65536-50000)%256。

if(temp==19)//为了加快仿真速度,将temp设为1,实际应为20{temp=0。

if(second==59)//为了加快仿真速度,将second设为2,实际应为59{second=0。

if(minute==59)//为了加快仿真速度,将minute设为2,实际应为59{minute=0。

if(hour==23)//为了加快仿真速度,将hour设为2,实际应为23{hour=0。

leapyear()。

//闰、平年计算if(day==month_day[month-1])//判断日期是否到了每月最后一天 {day=1。

if(month==12){month=1。

year++。

}else month++。

}else day++。

}else hour++。

}else minute++。

}else second++。

}else temp++。

week=CaculateWeek(year,month,day)。

//根据年月日计算星期}void int0() interrupt 0//外部中断函数,当按下setup键时产生外部中断进入调整状态{bit flag。

uchar setup_bit=0。

//setup_bit用于计数移位次数do//循环{if(shift_key==0)//判断移位键是否按下{delay(1)。

//延时消抖if(shift_key==0)//确认移位键是否按下{while(!shift_key)。

//等待移位键释放if(setup_bit==10)//共10位{setup_bit=0。

//移位计数值返回0LCD1602_write_com(0x0c)。

//关闭光标显示goto rep。

//转移到中断程序结束处}else{setup_bit++。

//移位计数值加1LCD1602_write_com(0x0e)。

//打开光标显示}}}switch(setup_bit)//判断调整哪位,从而确定光标显示位置{case 1:LCD1602_write_com(0x80+0x44+4)。

//光标设置到分个位显示位置 break。

case 2:LCD1602_write_com(0x80+0x44+3)。

//光标设置到分十位显示位置 break。

case 3:LCD1602_write_com(0x80+0x44+1)。

//光标设置到时个位显示位置 break。

case 4:LCD1602_write_com(0x80+0x44+0)。

//光标设置到时十位显示位置 break。

case 5:LCD1602_write_com(0x80+0x01+9)。

//光标设置到日个位显示位置 break。

case 6:LCD1602_write_com(0x80+0x01+8)。

//光标设置到日十位显示位置 break。

case 7:LCD1602_write_com(0x80+0x01+6)。

//光标设置到月个位显示位置 break。

case 8:LCD1602_write_com(0x80+0x01+5)。

//光标设置到月十位显示位置 break。

case 9:LCD1602_write_com(0x80+0x01+3)。

//光标设置到年个位显示位置 break。

case 10:LCD1602_write_com(0x80+0x01+2)。

//光标设置到年十位显示位置 break。

default:break。

}if(up_key==0)//判断增加键是否按下{delay(1)。

//延时消抖if(up_key==0)//确认增加键是否按下{while(!up_key)。

//等待增加键释放flag=1。

//增加键已按动}elseflag=0。

//增加键未按动}elseflag=0。

//增加键未按动if(flag)//若增加键按动{switch(setup_bit)//判断是哪位,从而调整哪位{case 1:if(minute%10==9)//若分个位为9minute=minute-9。

//则分个位清零elseminute++。

//否则分个位加1LCD1602_write_dat(0x30+minute%10)。

//写入1602 break。

case 2:if(minute/10==5)//若分十位为5minute=minute-50。

//则分十位清零elseminute=minute+10。

//否则分十位加1LCD1602_write_dat(0x30+minute/10)。

//写入1602 break。

case 3:if(hour%10==9)hour=hour-9。

elsehour++。

LCD1602_write_dat(0x30+hour%10)。

//写入1602 break。

case 4:if(hour/10==2)hour=hour-20。

相关文档
最新文档