单片机电子万年历设计

合集下载

基于单片机的万年历设计

基于单片机的万年历设计

基于单片机的万年历设计一、系统总体设计基于单片机的万年历系统主要由单片机控制模块、时钟模块、显示模块、按键模块和电源模块等组成。

单片机控制模块是整个系统的核心,负责处理和协调各个模块之间的数据传输和控制信号。

通常选用具有较高性能和稳定性的单片机,如 STC89C52 等。

时钟模块用于提供准确的时间信息,常见的有 DS1302 等芯片,能够实现年、月、日、时、分、秒的精确计时。

显示模块用于将时间等信息直观地展示给用户,可采用液晶显示屏(LCD)或数码管。

LCD 显示效果清晰、美观,但成本相对较高;数码管则价格低廉,显示简单明了。

按键模块用于用户对万年历进行设置和操作,如调整时间、设置闹钟等。

电源模块为整个系统提供稳定的电源供应,保证系统的正常运行。

二、硬件设计1、单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振电路为单片机提供时钟信号,保证其正常工作;复位电路则用于在系统出现异常时将单片机恢复到初始状态。

2、时钟模块电路DS1302 时钟芯片通过串行方式与单片机进行通信,其引脚连接到单片机的相应 I/O 口。

通过对 DS1302 进行读写操作,可以获取和设置时间信息。

3、显示模块电路若采用 LCD1602 液晶显示屏,其数据线和控制线与单片机的 I/O 口相连。

通过编程控制单片机向 LCD 发送指令和数据,实现时间等信息的显示。

4、按键模块电路通常使用独立按键,将按键的一端接地,另一端连接到单片机的I/O 口,并通过上拉电阻保证在按键未按下时引脚处于高电平。

当按键按下时,引脚电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。

三、软件设计软件设计主要包括主程序、时钟模块驱动程序、显示模块驱动程序和按键处理程序等。

主程序负责初始化各个模块,并进行循环检测和处理。

在循环中,不断读取时钟模块的时间数据,然后通过显示模块进行显示,并检测按键是否有操作。

时钟模块驱动程序根据 DS1302 的通信协议,实现对时钟芯片的读写操作,从而获取和设置时间。

单片机万年历设计编程

单片机万年历设计编程

单片机万年历设计编程一.实验目的1.掌握时钟程序的使用方法2.掌握时间函数的使用方法3.利用单片机设计万年历二.设计要求通过与单片机连接数码管动态显示年、月、日、时、分、秒、星期等功能,并能准确计算闰年闰月的显示,七个按钮连接P0口可以精确调整每一个时间数值,通过对所设计的万年历时钟电路进行实验测试,达到了动态显示时间,随时调整时间等技术指标。

三.设计方案1.原理构成框图本设计用AT89C51作为核心控制部分,外接晶振电路与复位电路,74LS138作为位选扩展电路,P0口接七个开关作为时间调整部分,以两个四位数码管作为显示部分,开关控制显示时间与日期,P2口作为段选,P1口作为位选部分。

具体框图如图所示:2.主程序设计系统程序采用C语言按模块化方式进行设计,然后通过KeilC51L软件开发平台将程序转变成十六进制程序语言,得到HEX文件,接着使用Proteous进行仿真,其次,按照Proteous 的仿真电路图,在Protel99SE中完成电路板的逻辑布局及布线。

系统程序主要包括主程序,读出时钟子程序、计算时间子程序、键盘扫描子程序和显示数据刷新子程序。

主程序流程图如图所示:3时间调整电路的设计采用按键设计,独立式按键直接与单片机I/O口相连构成键盘,每个按键不会相互影响,按下SHI JIAN键两个四位数码管显示时间和星期,按下RI QI键两个数码管显示日期,按下TIAO SHI键可以对时间和日期进行调节,JIA键表示加,JIAN键表示减,YI WEI表示选择所要调节的位置,QUE DING按键按下,时间调节结束。

所连线路和单片机接口仿真图如图所示:4.LED数码管的选择LED数码管分为共阴和共阳两种,以利用AT89C51的P2口作为LED显示的段选部分,以P1口的P1.0、P1.1、P1.2、三个口作为显示部分的位选,通过三八译码器扩展为八位的位选分别接在两个四位数码管的位选部分。

详细电路图如图所示:5.实物的制作与调试原理图的绘制PCB的绘制四.设计总结这次的设计的任务是万年历时钟的设计,对于时钟以前学习C51时有些接触,通过C51芯片程序控制显示万年历。

基于单片机的电子万年历设计

基于单片机的电子万年历设计

基于单片机的电子万年历设计一、概述随着科技的快速发展和人们对生活品质的追求,电子设备在日常生活中扮演着越来越重要的角色。

电子万年历作为一种集日期、时间显示于一体的实用电子产品,已经深入到人们的日常生活和工作中。

传统的机械式日历已经无法满足现代人对时间精确性和功能多样性的需求,基于单片机的电子万年历设计应运而生,成为了当前研究的热点之一。

基于单片机的电子万年历设计,旨在利用单片机(如STC89CAT89C51等)的强大计算和控制能力,结合液晶显示屏(LCD)、按键输入等外设,实现时间的准确显示、日期的自动更新、闹钟提醒、温度显示等多样化功能。

该设计不仅具有高度的集成性和可靠性,而且能够通过编程实现各种定制化的功能,满足不同用户的需求。

本文将对基于单片机的电子万年历设计进行详细的介绍和分析,包括设计思路、硬件组成、软件编程等方面。

通过本文的阅读,读者可以了解电子万年历的基本原理和设计方法,掌握单片机在电子万年历设计中的应用技巧,为实际的开发工作提供有益的参考和借鉴。

1.1 研究背景与意义随着科技的不断进步,人们日常生活和工作中对于时间的精度和便捷性的要求日益提高。

传统的机械式日历和简单的电子时钟已经无法满足现代生活的需求。

电子万年历作为一种集时间显示、日历查询、定时提醒等多功能于一体的电子装置,在日常生活、工作乃至科研领域都具有广泛的应用价值。

基于单片机的电子万年历设计,不仅可以提供准确的时间显示,还能实现复杂的日期计算、农历显示、节假日提示等功能,极大地提高了时间管理的效率和便捷性。

单片机作为一种集成度高、功耗低、价格适中的微型计算机,非常适合用于小型化、智能化的电子产品设计,如电子万年历。

本研究的意义在于,通过对基于单片机的电子万年历的设计研究,可以推动微型计算机技术和电子时钟技术的融合发展,提升电子产品的智能化水平,满足人们日益增长的生活和工作需求。

同时,该研究还可以为相关领域的技术人员提供参考和借鉴,推动电子万年历产品的不断创新和优化。

基于单片机的万年历设计

基于单片机的万年历设计

一、引言万年历是一种显示当前日期和时间的器件或软件。

随着科技的发展,电子产品普及率愈来愈高,基于单片机的万年历设计成为了一种非常受欢迎的设计方案。

本文将介绍一种基于单片机的万年历设计。

二、设计原理1.显示模块:采用液晶显示屏作为显示模块,可以显示日期、时间等信息。

2.时钟模块:基于RTC(实时时钟)模块,用于获取当前日期和时间。

3.按键模块:采用按键模块作为输入模块,用于设置日期和时间、切换显示模式等。

4.控制模块:基于单片机,用于控制各个模块的工作,并进行相关的计算和显示。

三、硬件设计1.单片机选择在本设计中,选择了一款常用的单片机,STM32F103C8T6、它具有低功耗、高性能的特点,并且具备丰富的外设接口,非常适合用来设计万年历。

2.RTC模块选择在本设计中,选择了一款常用的RTC模块,DS1302、它具有低功耗、稳定性好的特点,并且具备SPI接口,非常适合用来获取当前日期和时间。

3.液晶显示屏选择在本设计中,选择了一款常用的液晶显示屏,1602液晶显示屏。

它具有较大的屏幕尺寸、低功耗的特点,并且可以显示多行字符,非常适合用来显示日期、时间等信息。

4.按键模块选择在本设计中,选择了一款常用的按键模块,4x4按键模块。

它具备4行4列的按键布局,可以满足设置日期和时间、切换显示模式等功能的需求。

五、软件设计1.初始化设置在软件设计中,首先需要对各个硬件模块进行初始化设置。

2.获取当前日期和时间使用RTC模块获取当前日期和时间,并将其存储在相应的变量中。

3.显示日期和时间使用液晶显示屏将当前日期和时间显示出来。

4.设置日期和时间通过按键模块获取用户的输入,并将对应的日期和时间设置到RTC模块中。

5.切换显示模式通过按键模块获取用户的输入,并根据用户的选择切换不同的显示模式,例如切换到年模式、月模式、日模式等等。

六、总结通过以上的设计,基于单片机的万年历完成了日期和时间的获取、显示和设置等功能。

单片机课程设计报告电子万年历

单片机课程设计报告电子万年历

单片机课程设计报告电子万年历单片机课程设计报告:电子万年历一、设计简介在本次单片机课程设计中,我们选择了电子万年历作为设计主题。

电子万年历是一种结合了数字电路、单片机技术和实时时钟(RTC)技术的电子产品,它具有显示年份、月份、星期、日、时、分、秒的功能,还可以根据用户的需求进行定时、闹钟、报时等功能。

二、硬件设计我们采用了基于8051内核的单片机作为主控芯片。

该单片机具有丰富的I/O 端口,适于实现各种复杂的输入输出操作。

此外,它还内置了定时器和中断控制器,可以很方便地实现实时时钟功能。

1.显示模块:为了方便用户查看时间信息,我们选用了LCD显示屏作为显示设备。

LCD屏具有功耗低、体积小、显示内容丰富等优点。

2.实时时钟(RTC)模块:我们采用了常用的DS1302芯片作为实时时钟模块。

该芯片可以提供秒、分、时、日、星期、月、年的信息,而且还有可编程的报警功能。

3.按键模块:为了实现人机交互,我们设计了一组按键。

用户可以通过按键来调整时间、设置闹钟等。

4.电源模块:为了保证系统的稳定工作,我们采用了稳定的5V直流电源。

三、软件设计我们采用了C语言编写程序。

程序主要由以下几个部分组成:1.主程序:主程序主要负责读取RTC模块的时间信息,并控制LCD显示屏显示时间。

同时,主程序还要检测按键输入,根据用户的需求进行相应的操作。

2.RTC驱动程序:为了正确地读取和设置DS1302芯片的时间信息,我们编写了相应的驱动程序。

驱动程序包括初始化和读写寄存器两部分。

3.按键处理程序:按键处理程序用于检测按键输入,并根据按键值执行相应的操作。

比如,用户可以通过按键来增加或减少时间,设置闹钟等。

4.LCD显示程序:LCD显示程序用于控制LCD显示屏的显示内容。

在本设计中,我们使用了点阵字符库,将时间信息以字符的形式显示在LCD屏上。

四、测试与验证为了确保我们的电子万年历设计正确无误,我们进行了以下的测试和验证:1.硬件测试:首先,我们对硬件电路进行了测试,确保每个模块都能正常工作。

自己制作的单片机万年历程序+原理图

自己制作的单片机万年历程序+原理图

自己制作的单片机万年历程序+原理图单片机万年历仿真原理图如下仿真Altium Designer画的万年历原理图和PCB图如下:PCB原理图基于51单片机,可以完成时钟显示、公历显示、农历显示、温度显示、闹钟报警定时的LCD时钟PPT内容预览:本设计使用AT89C51来做主控芯片,其强大的功能足够实现我们设计的所有功能。

使用LCD1602的液晶显示器来进行显示。

使用Keil uVision5进行编程。

通过Proteus8.6来进行仿真。

点击一次K1进入时钟设置页面,通过点击K2切换时、秒、分、星期、年、月、日,通过K3与K4实现加减来完成时钟的设置点击两次K1进入闹钟设置页面,通过点击K2切换开关、时、秒、分,通过K3与K4实现加减完成闹钟的设置。

单片机源程序如下注释是很全的#include //调用单片机头文件#define uchar unsigned char //无符号字符型宏定义变量范围0~255#define uint unsigned int //无符号整型宏定义变量范围0~65535#include "eeprom52.h"#include "nongli.h"#include "intrins.h"bit flag_200ms ;bit flag_100ms ;sbit beep = P3^7; //蜂鸣器定义bit flag_beep_en;uint clock_value; //用作闹钟用的sbit dq = P3^1; //18b20 IO口的定义uint temperature ; //温度变量uchar flag_nl; //农历阳历显示标志位uchar menu_1,menu_2;uchar key_time,flag_value; //用做连加的中间变量bit key_500ms ;uchar n_nian,n_yue,n_ri; //农历显示的函数#include "ds1302.h"#include "lcd1602.h"/******************把数据保存到单片机内部eeprom中******************/void write_eeprom(){SectorErase(0x2000);byte_write(0x2000, fen1);byte_write(0x2001, shi1);byte_write(0x2002, open1);byte_write(0x2058, a_a);}/******************把数据从单片机内部eeprom中读出来*****************/void read_eeprom(){fen1 = byte_read(0x2000);shi1 = byte_read(0x2001);open1 = byte_read(0x2002);a_a = byte_read(0x2058);}/**************开机自检eeprom初始化*****************/void init_eeprom(){read_eeprom(); //先读if(a_a != 1) //新的单片机初始单片机内问eeprom{fen1 = 3;shi1 = 8;a_a = 1;write_eeprom(); //保存数据}}/***********************18b20初始化函数*****************************/void init_18b20(){bit q;dq = 1; //把总线拿高delay_uint(1); //15usdq = 0; //给复位脉冲delay_uint(80); //750usdq = 1; //把总线拿高等待delay_uint(10); //110usq = dq; //读取18b20初始化信号delay_uint(20); //200usdq = 1; //把总线拿高释放总线}/*************写18b20内的数据***************/void write_18b20(uchar dat){uchar i;for(i=0;i<8;i++){ //写数据是低位开始dq = 0; //把总线拿低写时间隙开始dq = dat & 0x01; //向18b20总线写数据了delay_uint(5); // 60usdq = 1; //释放总线}}/*************读取18b20内的数据***************/uchar read_18b20(){uchar i,value;for(i=0;i<8;i++){dq = 0; //把总线拿低读时间隙开始value >>= 1; //读数据是低位开始dq = 1; //释放总线if(dq == 1) //开始读写数据value |= 0x80;delay_uint(5); //60us 读一个时间隙最少要保持60us 的时间}return value; //返回数据}/*************读取温度的值读出来的是小数***************/uint read_temp(){uint value;uchar low; //在读取温度的时候如果中断的太频繁了,就应该把中断给关了,否则会影响到18b20的时序init_18b20(); //初始化18b20write_18b20(0xcc); //跳过64位ROMwrite_18b20(0x44); //启动一次温度转换命令delay_uint(50); //500usinit_18b20(); //初始化18b20write_18b20(0xcc); //跳过64位ROMwrite_18b20(0xbe); //发出读取暂存器命令EA = 0;low = read_18b20(); //读温度低字节value = read_18b20(); //读温度高字节EA = 1;value <<= 8; //把温度的高位左移8位value |= low; //把读出的温度低位放到value的低八位中value *= 0.625; //转换到温度值小数return value; //返回读出的温度带小数}/******************1ms 延时函数*******************/void delay_1ms(uint q){uint i,j;for(i=0;i<>< p=""><>for(j=0;j<120;j++);}/******************写星期函数*******************/void write_week(uchar hang,uchar add,uchar week)//写星期函数{if(hang==1)write_com(0x80+add);elsewrite_com(0x80+0x40+add);。

基于51单片机的万年历设计

基于51单片机的万年历设计

基于51单片机的万年历设计一、系统设计方案本万年历系统主要由 51 单片机、时钟芯片、液晶显示屏、按键等部分组成。

51 单片机作为核心控制器,负责整个系统的运行和数据处理。

时钟芯片用于提供精确的时间信息,液晶显示屏用于显示万年历的相关内容,按键则用于设置时间和功能切换。

二、硬件设计1、单片机选型选用常见的 51 单片机,如 STC89C52 单片机,它具有性能稳定、价格低廉、易于编程等优点。

2、时钟芯片选择 DS1302 时钟芯片,该芯片能够提供高精度的实时时钟,具有闰年补偿功能,并且可以通过串行接口与单片机进行通信。

3、液晶显示屏采用 1602 液晶显示屏,能够清晰地显示字符和数字,满足万年历的显示需求。

4、按键电路设计四个按键,分别用于时间设置、功能切换、加和减操作。

三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、时钟芯片初始化、液晶显示屏初始化等。

然后读取时钟芯片中的时间数据,并在液晶显示屏上显示出来。

接着进入循环,不断检测按键状态,根据按键操作执行相应的功能,如时间设置、功能切换等。

2、时钟芯片驱动程序通过单片机的串行接口向 DS1302 发送命令和数据,实现对时钟芯片的读写操作,获取准确的时间信息。

3、液晶显示屏驱动程序编写相应的函数,实现对1602 液晶显示屏的字符和数字显示控制。

4、按键处理程序采用扫描方式检测按键状态,当检测到按键按下时,执行相应的按键处理函数,实现时间设置和功能切换等操作。

四、时间设置功能通过按键操作进入时间设置模式,可以分别设置年、月、日、时、分、秒等信息。

在设置过程中,液晶显示屏会显示当前设置的项目和数值,并通过加、减按键进行调整。

设置完成后,将新的时间数据保存到时钟芯片中。

五、显示功能万年历的显示内容包括年、月、日、星期、时、分、秒等信息。

通过合理的排版和显示控制,使这些信息在液晶显示屏上清晰、直观地呈现给用户。

六、系统调试在完成硬件和软件设计后,需要对系统进行调试。

单片机电子万年历课程设计

单片机电子万年历课程设计

单片机课程设计姓名:吕长明学号:04040804021专业班级:机电四班一、单片机原理及应用简介随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。

集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer)。

而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元等。

因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集系统、自动测试系统、万年历电子表等。

二、系统硬件设计8052 是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图图1:图1 8052引脚P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。

P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。

P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。

P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。

8052芯片管脚说明:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

基于AT89C51单片机的多功能电子万年历的设计_毕业设计

基于AT89C51单片机的多功能电子万年历的设计_毕业设计

本科毕业设计(论文)基于AT89C51单片机的多功能电子万年历的设计AT89C51 SCM-BASED ELCTRONICDESIGN CALENDAR学生姓名学院名称信电工程学院专业名称电子信息工程技术指导教师年月日摘要本文介绍了基于AT89C51单片机的多功能电子万年历的硬件结构和软硬件设计方法。

系统以AT89C51单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。

万年历采用直观的数字显示,可以在LED上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。

此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。

关键字AT89C51;电子万年历; DS1302目录第一章引言................................................................................................. 错误!未定义书签。

1.1课题研究的背景 (1)1.2课题的研究目的与意义 (1)1.3课题解决的主要内容 (1)第二章系统的总体设计 (2)2.1系统方案的构想与确定 (2)2.2 器件的选用 (2)2.2.1单片机的选择 (2)第三章系统硬件的设计 (4)3.1系统硬件电路设计 (4)3.1.1系统硬件框图 (4)3.1.2 AT89C51单片机 (4)3.1.3 8位移位寄存器74LS164(串行输入,并行输出) (8)3.1.4 ds1302 (12)第四章系统的软件设计 (15)4.1 主程序 (15)4.2 从1302读取日期和时间程序 (16)4.3系统源代码 (16)第五章 PROTEUS使用 (29)5.1编程环境PROTEUS (29)5.2用PROTEUS ISIS对电子万年历的硬件电路设计 (29)5.3用PROTEUS ISIS进行电子万年历的仿真测试 (33)结论 (36)致谢 (37)参考文献 (38)附录............................................................................................................... 错误!未定义书签。

基于STM32单片机的万年历设计毕业设计论文

基于STM32单片机的万年历设计毕业设计论文

万年历是一种可以显示年、月、日、星期的电子设备,广泛应用于日常生活和办公场所。

本文将介绍一个基于STM32单片机的万年历的设计思路和实现过程。

首先,我们需要明确设计目标。

在这个项目中,我们的目标是使用STM32单片机开发一个功能齐全、易于操作的万年历。

具体地说,这个万年历应该能够显示当前的年、月、日和星期,并且能够进行日期的加减操作,同时应该具备一些辅助功能如闹钟设置、倒计时等。

接下来,我们需要进行硬件设计。

首先需要选择适当的显示屏,比如常见的LCD或OLED屏幕。

然后,我们需要选择合适的按键和外部触发器,用于用户的交互输入。

同时,还需要添加一些必要的接口,如USB接口用于数据传输和维护。

在软件设计方面,我们需要定义合适的数据结构来存储日期、时间、闹钟等信息。

同时,需要编写相应的程序来实现日期的显示和更新、日期的加减、闹钟的设置等功能。

在实现倒计时功能时,我们可以使用定时器中断来实现精确的计时。

此外,为了提高用户体验,我们可以添加一些额外的功能。

比如,我们可以为万年历设计一个简洁美观的用户界面,考虑使用图形库绘制用户界面元素。

同时,可以添加一些实用的功能如温湿度监测、天气预报等。

最后,在整个开发流程结束后,我们需要进行集成测试和调试,确保万年历的各项功能正常运行。

并且,我们还可以考虑为万年历添加一些优化和改进措施,如增加存储容量、优化节能技术等。

综上所述,基于STM32单片机的万年历设计主要涉及硬件设计和软件设计两个方面。

通过精心的设计和合理的实现,我们可以开发出一款功能丰富、易于使用的万年历产品,满足用户的各种需求。

基于单片机万年历设计

基于单片机万年历设计

基于单片机万年历设计基于单片机的万年历设计二、实验要求设计一个万年历,将时钟显示在LCD1602的显示屏上并且可以进行年、月、日以及时、分、秒的设置。

此外还可以通过按键进行闹钟设置以及事件提醒功能,用蜂鸣器进行闹铃提醒。

最后附加一个温湿度检测的功能,用温湿度传感器检测室内的温湿度并将温湿度数据在显示屏上显示出来。

三、实验设备和仪器1.用STC89C52芯片作为系统板的主控芯片2.DHT11温湿度传感器3.DS1302时钟芯片4.LCD1602显示屏四、实验各模块原理介绍4.1STC89C52单片机STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flah存储器。

STC89C52使用经典的MCS-51内核,具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flah,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

2.工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机) 3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz4.用户应用程序空间为8K字节5.片上集成512字节RAM6.通用I/O口(32个),复位后为:P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

8.具有EEPROM功能9.共3个16位定时器/计数器。

即定时器T0、T1、T2。

10.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。

11.通用异步串行口(UART),还可用定时器软件实现多个UART。

12.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)13.PDIP封装1、STC89C52单片机引脚图图4.1STC89C52单片机引脚图①主电源引脚(2根) VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根) 某TAL1(Pin19):片内振荡电路的输入端某TAL2(Pin20):片内振荡电路的输出端③控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

「基于单片机的多功能电子万年历设计」

「基于单片机的多功能电子万年历设计」

基于单片机的多功能电子万年历设计引言在现代社会中,计算机及其应用已经成为我们生活中不可或缺的一部分。

计算机科技的发展不仅使我们的生活更加便捷,还为我们提供了更多的娱乐和功能选择。

在这样一个科技高度发达的时代,电子万年历作为一种基于单片机技术的应用产品,正逐渐走进人们的生活。

而本文将着重对基于单片机的多功能电子万年历进行设计与实现。

一、设计目标本次设计主要是基于单片机的多功能电子万年历。

设计目标包括:1.显示日期、时间和星期几的功能。

2.具备日历计算功能,能够计算今天是该年的第几天,该周的第几天等信息。

3.具备闹钟和定时器功能。

二、设计思路基于单片机的多功能电子万年历的设计理念是通过单片机与LCD显示屏、温度传感器、按键等外设组合实现多种功能。

具体实现步骤如下:1. 使用单片机和RTC(Real-Time Clock)芯片实现时间的获取和处理。

RTC芯片可以提供准确的时钟信息,单片机可以通过与RTC芯片的通信来读取时钟信息,并进行相应的处理。

2.使用单片机与LCD显示屏进行通信,将获取的时间、日期和星期信息显示在LCD显示屏上。

3.设计按键接口,通过按键的触发实现切换功能或进行相应操作。

例如,通过按键的触发可以实现日期、时间的调整,以及闹钟和定时器的设置等。

4.使用单片机和温度传感器实现温度测量功能。

通过温度传感器读取当前温度信息,并将其显示在LCD屏幕上。

5.使用定时器功能实现闹钟和定时器的功能。

单片机可以通过定时器来控制闹钟和定时器的开启与关闭,并通过LCD屏幕上的显示提醒用户。

三、电路设计本次设计中需要使用的元器件主要包括单片机、RTC芯片、LCD显示屏、温度传感器和按键。

其中,单片机为本次设计的核心控制器,RTC芯片用于提供准确的时钟信息,LCD显示屏用于显示时间、日期和其他信息,温度传感器用于测量当前温度信息,按键用于触发相应的操作。

四、软件设计本次设计中需要编写相应的软件程序,用于读取RTC芯片提供的时钟信息,并将其显示在LCD屏幕上。

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

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

(2)31 8 位暂存数据存储RAM(3)串行 I/O 口方式使得管脚数量最少(4)宽范围工作电压2.0 5.5V(5)工作电流 2.0V 时,小于300nA(6)读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式(7)8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配(8)简单 3 线接口(9)与 TTL 兼容Vcc=5V(10)可选工业级温度范围-40~+85优点:串行接口的日历时钟芯片,使用简单,接口容易,与微型计算机连线较少等特点,在单片机系统尤其是手持式信息设备中己得到了广泛的应用。

所以,最终选择串行时钟芯片DS1302,DS1302的管脚图如图2所示。

图2 DS1302管脚图1.2显示模块选择方案一:LED数码管显示数码管显示比较常用的是采用CD4511和74LS138实现数码转换,数码显示分动态显示和静态显示,静态显示具有锁存功能,可以使数据显示得很清楚,但浪费了一些资源。

目前单片机数码管普通采用动态显示。

编程简单,但只能显示数字,不能显示中文。

方案二:LCD1602能够显示英文和数字。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

所以最终选择LCD1602。

2.项目功能模块2.1 89C51模块Mcs-51单片机管脚图图如图3所示:单片机管脚图2.2 1602液晶显示模块1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

单片机课程设计电子万年历

单片机课程设计电子万年历

单片机课程设计电子万年历随着科技的不断发展,电子技术已经成为人们生活、工作不可或缺的一部分。

而单片机则是电子技术中的重要组成部分。

随着单片机技术的不断升级,我们可以将其应用到更多的领域中,比如电子万年历。

电子万年历是一种集成了日期、时间和闹钟等功能的电子设备,它可以准确地显示时间,并且可以进行时间的调整、计数和闹钟的设置。

电子万年历通常采用单片机控制芯片和准确的时钟芯片,可以实现精确的时间测量和计算。

在单片机课程设计中,电子万年历是一种常见的课程设计项目,它涉及到单片机的基础知识、控制芯片的编程、外围设备的接口以及显示器的驱动等方面。

下面将详细介绍如何设计一款功能齐全、性能稳定的电子万年历。

一、硬件设计电子万年历的硬件设计包括单片机控制芯片的选型、时钟芯片的选型、LED数码管的选型以及外围电路的设计等方面。

1. 单片机控制芯片的选型单片机控制芯片是电子万年历的核心部分,它决定了万年历的计算性能和功能扩展能力。

在选型时,我们需要考虑芯片的性能、价格、开发工具的可用性以及支持的外围设备等因素。

常见的单片机控制芯片包括AT89S52、PIC16F877A、STM32、ARM等系列。

在实际应用中,我们可以根据项目需求进行选择。

2. 时钟芯片的选型时钟芯片是电子万年历中不可缺少的一部分,它决定了万年历的时间准确度和计算精度。

在选型时,我们需要考虑芯片的稳定性、精度、功耗和价格等因素。

常见的时钟芯片包括DS1302、DS1307、DS3231等。

这些芯片采用了时分秒、日月年等多种时间单位,可以满足不同计算需求。

3. LED数码管的选型LED数码管是电子万年历的显示设备,它决定了万年历的外观和显示效果。

在选型时,我们需要考虑LED数码管的亮度、颜色、尺寸和价格等因素。

常见的LED数码管包括共阳、共阴、四位、八位等多种类型。

在选型时,我们需要根据实际需求进行选择。

4. 外围电路的设计外围电路是电子万年历中的重要组成部分,它包括按键、蜂鸣器、电源管理等多个模块。

单片机课程设计--基于51单片机的万年历

单片机课程设计--基于51单片机的万年历

单片机课程设计--基于51单片机的万年历单片机课程设计基于 51 单片机的万年历一、引言在现代生活中,时间的准确记录和显示对于我们的日常生活和工作具有重要意义。

万年历作为一种能够同时显示年、月、日、星期、时、分、秒等信息的设备,给人们带来了极大的便利。

本次课程设计旨在利用 51 单片机实现一个简单实用的万年历系统。

二、系统设计方案(一)硬件设计1、单片机选型选择经典的 51 单片机,如 STC89C52 单片机,其具有性能稳定、价格低廉、资源丰富等优点,能够满足本设计的需求。

2、显示模块采用液晶显示屏(LCD1602)作为显示设备,能够清晰地显示数字和字符信息。

3、时钟芯片选用DS1302 时钟芯片,它可以提供精确的实时时钟数据,包括年、月、日、星期、时、分、秒等。

4、按键模块设置三个按键,分别用于调整时间、选择调整项(年、月、日、时、分、秒等)以及切换显示模式(正常显示和设置模式)。

(二)软件设计1、主程序流程系统初始化后,首先读取 DS1302 中的时间数据,并将其显示在LCD1602 上。

然后进入循环,不断检测按键状态,根据按键操作进行相应的时间调整和显示模式切换。

2、时间读取与显示程序通过与 DS1302 进行通信,读取实时时间数据,并将其转换为适合LCD1602 显示的格式进行显示。

3、按键处理程序检测按键的按下状态,根据不同的按键执行相应的操作,如调整时间、切换显示模式等。

三、硬件电路设计(一)单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振电路为单片机提供时钟信号,复位电路用于系统初始化时将单片机的状态恢复到初始值。

(二)显示电路LCD1602 显示屏通过数据总线和控制总线与单片机相连。

数据总线用于传输要显示的数据,控制总线用于控制显示屏的读写操作和显示模式。

(三)时钟电路DS1302 时钟芯片通过串行通信接口与单片机进行通信。

单片机通过发送特定的指令和数据,对 DS1302 进行读写操作,获取或设置时间信息。

基于51单片机的电子万年历系统的设计

基于51单片机的电子万年历系统的设计

参考内容
一、引言
单片机是现代电子设备中的重要组成部分,广泛应用于各种嵌入式系统设计。 51单片机作为一种经典的微控制器,因其结构简单、易于编程、可靠性高等优点, 被广泛用于各种领域,如智能家居、工业控制、物联网等。万年历作为一种日常 生活中常见的计时工具,具有显示日期、时间、星期、月份等功能,对于人们的 日常生活和工作有着重要的作用。本次演示将介绍一种基于51单片机的万年历设 计。
二、系统设计
1、硬件设计
基于51单片机的万年历设计需要硬件和软件的配合实现。硬件部分主要包括 51单片机、显示模块、按键输入模块和时钟芯片等。其中,51单片机作为主控制 器,负责处理各种数据和控制信号;显示模块用于显示日期、时间等信息;按键 输入模块用于用户输入操作;时钟芯片则为系统提供实时时间。
基于51单片机的电子万年历系 统的设计
目录
01 一、概述
03 三、软件设计
02 二、硬件设计 04 四、系统调试与优化
目录
05 五、应用场景及前景
07 参考内容
06 六、结论
随着科技的不断发展,单片机已经成为现代于51单片机的电子万年历系统设计具有广泛的实际应用价值。 本次演示将详细介绍这种系统的设计过程和实现方法。
感谢观看
首先需要进行硬件搭建,包括选择合适的单片机、显示模块、按键输入模块 和时钟芯片等,并将其连接起来。需要注意的是,在搭建硬件时需要考虑各个模 块之间的接口和连接方式,以确保系统能够正常工作。
2、软件编程
在硬件搭建完成后,需要进行软件编程。首先需要进行系统初始化,包括对 单片机进行初始化和对显示进行清屏处理。然后需要进行按键处理和时钟数据处 理,以实现用户输入和实时时间的读取。最后需要进行显示处理,将处理后的数 据显示到显示模块上。

单片机课程设计--基于51单片机的万年历

单片机课程设计--基于51单片机的万年历

单片机课程设计报告万年历的设计基于51单片机的万年历摘要:电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。

它可以对年、月、日、周日、时、分、秒进行计时,使用寿命长,误差小。

对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。

该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。

在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。

万年历的设计过程在硬件与软件方面进行同步设计。

硬件部分主要由AT89C52单片机,LCD显示电路,以及调时按键电路等组成。

在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。

显示器使用了1602液晶显示,并且使用蜂鸣器实现了整点报警的功能,温度测试的功能实现使用了DS18B20,并实现了温度过高或过低时的温度报警。

软件方面主要包括日历程序、时间调整程序,显示程序等。

程序采用C语言编写。

所有程序编写完成后,在KeilC51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真,并最终实现基本要求。

综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

一、设计要求基本要求:1,8 个数码管上显示,显示时间的格式为(假如当前时间是19:32:20)“19-32-20”;2,具有日历功能;③时间可以通过按键调整。

发挥部分:④具有闹钟功能(可以设定多个)。

二:总体设计电路设计框图系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由单片机定时功能提供;温度的采集由DS18B20构成,它具有独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,使用时不需要额外的外围电路。

基于51单片机电子万年历设计

基于51单片机电子万年历设计

一、引言电子万年历是一种以数字形式实时显示日期、星期和时间等信息的电子设备。

在现代人日常生活中,万年历是一种常见的小型电子产品。

本文将基于51单片机设计一款简单实用的电子万年历。

二、设计原理1.时钟模块:采用DS1302实时时钟模块。

DS1302通过三线式串行接口与51单片机进行通信,可以实时获取日期、星期和时间等信息。

2.显示模块:使用数码管显示日期、星期和时间等信息。

共使用四块共阳数码管,采用数码管模块进行驱动,通过IO口进行数据传输。

3.按键模块:设计四个按键,分别为设置、上、下和确定。

通过按键来调整日期、星期和时间等信息。

4.闹钟功能:加入闹钟功能,可以设定闹钟时间,到达设定时间时,会有提示音。

5.温湿度传感器:加入温湿度传感器,可以实时监测环境温湿度,并在数码管上进行显示。

6.外部电源:由于51单片机工作电压较高,需要使用外部电源进行供电。

三、硬件设计1.电源电路:使用稳压电源芯片LM7805进行5V稳压,将稳压后的电压供给单片机和各个模块。

2.时钟模块:DS1302模块与单片机通过串行通信进行连接。

时钟模块上的时钟信号、数据信号和复位信号分别与单片机的IO口相连。

3.数码管显示模块:共有四块共阳数码管,通过595芯片进行驱动。

单片机的IO口与595芯片的串行、时钟和锁存引脚相连,595芯片的输出引脚与数码管的各段相连。

4.按键模块:通过电阻分压来实现按键功能,按下按键时,相应的IO口会被拉低。

5.闹钟功能:使用蜂鸣器来产生提示音,通过IO口与单片机相连。

6.温湿度传感器:使用DHT11温湿度传感器。

传感器的数据引脚通过IO口与单片机相连。

四、软件设计1.时钟显示:通过DS1302获取日期、星期和时间等信息,将其转化为数码管需要的编码格式,并通过595芯片进行显示。

2.按键操作:对按键进行扫描,根据按键的不同操作进行相应的处理。

例如按下设置键进行日期和时间的设置,按下上下键进行数值的变化,按下确定键进行数值的确认。

基于51单片机和DS1302的电子万年历设计论文

基于51单片机和DS1302的电子万年历设计论文

1 引言随着科技的不断进步和发展,单片机的使用已经渗透到我们日常生活当中的各个领域,几乎很难找到有哪个领域没有使用单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录相机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

本文设计的电子万年历属于小型智能家用电子产品。

利用单片机进行控制,实时时钟芯片进行记时,外加掉电存储电路和显示电路,可实现时间的调整和显示。

电子万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、饭店、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。

因而,此设计具有相当重要的现实意义和实用价值。

1.2方案选择由于现在市面上的电子万年历的种类比较多,因此到底选择什么样的方案在设计中是至关重要的。

正确地选择方案就可以使产品更加人性化,并且可以减小开发的难度,缩短开发的周期,降低产品的成本等等,因此就会被人们普遍接受,并且能够更快地将产品推向市场实现其自身的价值。

下面我们就拟订了两种方案,希望能够选择一种性价比高的方案。

1.2.1 方案1——基于AT89S52单片机的电子万年历设计不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。

AT89S52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦写1000余次。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。

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

单片机原理与应用综合实验报告电子万年历设计专业班级:电子09-1 姓名:学号:时间:指导教师:20 年月日电子万年历电子09-1 舒绪榕摘要:本设计是电子万年历。

具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。

我选用的是单片机AT89C52来实现电子万年历的功能。

该万年历可实现时钟显示、日期星期显示以及日期时间更改等功能。

该电子万年历使用12MHZ晶振与单片机AT89C52相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。

同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。

若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。

若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。

硬件部分主要由A T89C52单片机,LCD显示电路,以及调时按键电路等组成。

在单片机的选择上本人使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。

因此,采用单片机AT89C52原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。

关键词:电子万年历52系列单片机时钟芯片FLASH存储器液晶显示1引言在日新月异的21世纪里,家用电子产品得到了迅速发展。

许多家电设备都趋于人性化、智能化,这些电器设备大部分都含有CPU控制器或者是单片机。

单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、通讯设备、日常消费类产品和玩具等。

并且已经深入到工业生产的各个环节以及人民生活的各个方面,如车间流水线控制、自动化系统等、智能型家用电器(冰箱、空调、彩电)等。

用单片机来控制的小型家电产品具有便携实用,操作简单的特点。

本文设计的电子万年历属于小型智能家用电子产品。

利用单片机进行控制,实时时钟芯片进行记时,外加显示电路,和温度显示电路,可实现时间的调整和和温度的显示。

电子万年历既可广泛应用于家庭,也可应用于银行、邮电、宾馆、医院、学校、企业、商店等相关行业的大厅,以及单位会议室、门卫等场所。

因而,此设计具有相当重要的现实意义和实用价值。

2 总体设计方案2.1设计思路2.1.1方案1——基于A T89S52单片机的电子万年历设计不使用时钟芯片,而直接用AT89S52单片机来实现电子万年历设计。

AT89S52是一种带8K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦写1000余次。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

若采用单片机计时,利用它的一个16位定时器/计数器每50ms产生一个中断信号,中断20次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。

这样就实现了直接用单片机来实现电子万年历设计。

用单片机来实现电子万年历设计,无须外接其他芯片,充分利用了单片机的资源。

但是精度不够高,误差较大,掉电后丢失所有数据,软件编程较复杂。

2.1.2方案2——基于DS1302的电子万年历设计在以单片机为核心构成的装置中,经常需要一个实时的时钟和日历,以便对一些实时发生事件记录时给予时标,实时时钟芯片便可起到这一作用。

过去多用并行接口的时钟芯片,如MC146818,DS12887等。

它们已能完全满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂、占用地址, 数据总线接线多、芯片体积大占用空间多、近年来串行接口的各种芯片在单片机系统中应用愈来愈多,串行接口的实时时钟芯片也出现了不少,DS1302是一个综合性能较好且价格便宜的串行接口实时时钟芯片。

利用单片机AT89C52进行控制,采用DS1302作为实时时钟芯片,其三线接口SCLK、I/O、/RST与单片机进行同步通信,外加掉电存储电路、显示电路、键盘电路,即构成一个基本的电子万年历系统,若还要添加其他功能,在这基础上外扩电路即可。

由于在系统设计时,需要考虑以下几点因素:功耗低、精确度高、软件编程较简单,芯片的体积小、芯片成本低等,而DS1302芯片有上面所述的诸多优点,所以本设计采用方案2。

2.1.3方案3——基于A T89C52单片机的电子万年历设计本方案选用的是单片机(A T89C52)来实现电子万年历的功能,DS1302作为实时时钟芯片。

共具备两个功能:(1)显示年月日及时分秒、星期、温度、农历日期等信息(2)具有可调整日期和时间功能(具有闹钟调节模块,但是未能成功实现闹钟功能)。

该电子万年历能够成功实现时钟运行,调整功能,且精确度经调试一天的误差在2S内。

2.2设计方框图该设计的硬件电路的总体框图如图4所示:图4 设计方框图3设计原理分析3.1 时钟电路的设计实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32768Hz晶振。

要特别说明的是,备用电源BT1可以用电池或超级电容(10万μF以上)。

虽然DS1302在主电源掉电后耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。

如果断电时间较短(几小时或几天),可以用漏电较小的普通电解电容代替(100μF就可以保证1小时的正常走时)。

DS1302在第一次加电后,需进行初始化操作。

初始化后就可以按正常方法调整时间及闹铃。

DS1302的时钟电路如图5所示。

图5 DS1302时钟电路3.2 控制电路的设计AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。

18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。

如图6所示:图6 万年历控制电路1.微处理器在设计过程中我使用单片机A T89C52,通过软件编程的方法实现了以24小时为一个周期同时显示小时,分钟和秒的要求,该定时闹钟设有四个按键,使之具备了校时、定时功能。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。

同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

在PROTEUS软件环境下的A T89C52单片机如图1所示:图1 PROTEUS软件环境下的AT89C52芯片2.显示电路就时钟而言,通常可采用液晶显示或数码管显示。

由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。

另外,A T89C52本身无专门的液晶驱动接口,故使用液晶显示LGM12641BS1R,对于显示文字比较适合。

初始化时,由软件编写的指令就集中在显示功能的设置上。

LGM12641BS1R的指令可带一个、两个参数,或无参数。

若指令中含有参数,则每条指令执行时均须先送入参数,再送入指令代码。

由于状态位作用不一样,因此执行不同指令必须检测不同状态位。

液晶显示模块LGM12641BS1R如图2所示:图2 液晶显示电路LGM12641BS1R3.按键电路由于设计的是电子万年历,需要实现多种功能的显示,并要能够切换显示和调节年月日,故在设计过程中按键的设计就显得尤为重要。

在设计过程中我一共采用了4个按键,尽量在小的空间里实现最多的功能。

其中return键是设置功能返回键,按下一次就能够直接退出功能设置模块。

在调整显示环境下UP和DOWN键是显示调整位的的加1和减1键,FUNCTION键进入模块设置界面,以及“确定”功能。

按键电路如图3所示:图3 按键电路3.3 电路原理图电路原理图如图7所示:图7 万年历设计总原理图3.4 电路原理图图8 主程序流程图3.5 软件仿真加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。

该电子万年历的显示效果及电子万年历时间和日期的调节效果分别如图9和图10所示:图9 电子万年历的运行效果CPU初始化定时器0初始化 定时器1初始化串口初始化显示待机指示符设定月 设置年显示刷新 启动走时变量初始化 刷新显示判时分变化否?秒指示判1秒到否?年代显示时间显示星期显示YY Y Y图10电子万年历时间和日期的调节效果3.6 功能测试表1 功能测试计时功能LCD能显示当前的时、分、和秒,具体是时跟分一起显示,分跟秒一起显示,通过按键来切换星期显示功能通过按键可以切换到星期显示的界面,按返回键则重新回到主界面显示时间调整功能通过按键可以调整或设定年、月、日、星期、时、分,且能实现秒的微调功能室温检测并显示功能通过智能传感器DS18B20能够实现检测功能,并通过LCD能完成液晶显示功能闰年功能能计时到万年,且能自动判断闰年与平年,并实现正确的计时操作4 结束语通过这一周的课程设计,加深了我对于单片机和数字电路的认识,通过查阅大量的资料,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。

在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如仿真的连接示意图中,往往没有接高电平的16脚或14脚以及接低电平的7脚或8脚,因此在实际的电路连接中往往容易遗漏。

在设计的过程中遇到了很多问题,本来自己的单片机基础就比较弱,又是第一次做这样的设计,难免会遇到过各种各样的问题。

同时在设计的过程中发现了自己的不足之处,比如对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好。

此次的电子万年历设计重在于仿真和接线,虽然能把电路图接出来,并能正常显示,但对于电路本身的原理并不是十分熟悉.总的来说,通过这次的设计实验更进一步地增强了实验的动手能力。

相关文档
最新文档