51单片机电子万年历设计带有proteus仿真

湖南文理学院课程设计课程名称:单片机课程设计设计题目:电子万年历教学院部:电气与信息工程学院专业班级:自动化09101班指导教师:张晓虎(学生姓名:邵泽学号: 0120完成时间: 2012 年6月12日报告成绩:{摘要:电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。

它可以对年、月、日、周日、时、分和秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。

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

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

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

硬件部分主要由AT89C52单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路以及串口下载电路等组成。

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

显示器使用液晶LCD1602。

软件方面主要包括日历程序、液晶驱动程序,显示程序等。

程序采用汇编语言编写。

所有程序编写完成后,在Keil C51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。

关键词时钟电钟,DS1302,液晶LCD1602,单片机Abstract:…Electronic calendar is a very extensive daily timing tool for modern society is more and more popular. It can be to year, month, day, Sunday, when, minutes, and seconds for the time, also has a leap year compensation and other functions, and the DS1302 long service life and small error. For digital electronic calendar using intuitive digital display, can also shows that year, month, day, Sunday, when the information such as, minutes and seconds, still have time calibration etc. Function. The AT89C52 single chip microcomputer as circuit adopts core, power consumption is small, can be in 3 V of low-pressure work, voltage can choose 3 to 5 V voltage power supply. The design process of the calendar in the hardware and software design of synchronization. Mainly by AT89C52 single chip microcomputer hardware part, liquid crystal display circuit, reset circuit, clocking circuit on the circuit circuit and serial download circuit etc. The processor on the choice of the single chip microcomputer AT89C52 use, the single chip microcomputer suitable for many more complex control applications. Use of liquid crystal display LCD1602. Software is mainly including calendar program, liquid crystal driver, show program, etc. Program using assembly language. All programming, after the completion of Keil C51 software in commissioning, make sure no, after Proteus software embedded in within the singlechip microcomputer simulation.Key words DianZhong clock, DS1302, liquid crystal LCD1602, microcontroller目录1设计要求与方案论证 (3)设计要求 (3)系统基本方案选择和论证 (3)单片机芯片的选择方案和论证 (3)"时钟芯片的选择方案和论证: (4)电路设计最终方案决定 (5)2系统的硬件设计与实现 (5)电路设计框图 (5)系统硬件概述 (5)主要单元电路的设计 (5)单片机主控制模块的设计 (6)时钟电路模块的设计 (6)}显示模块电路 (7)串口下载电路 (8)复位电路 (9)稳压电路 (10)3系统的软件设计 (11)程序流程框图 (11)子程序的设计 (11)读写DS1302子程序 (11)】读写LCD1602子程序 (12)4软件测试及分析 (14)分析与结论 (14)调试分析 (14)调试和结论 (15)5总结 (15)1设计要求与方案论证设计要求—①能够显示年、月、日、时、分。

②可以人为校正年、月、日、时、分。

③地一次开机显示:2000 01 01 。

④掉电信息不丢失。

系统基本方案选择和论证系统方案包括单片机的选型、时钟芯片的选择和显示模块的确定等。

单片机芯片的选择方案和论证方案一:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。

(方案二: 采用AT89C52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。

所以选择采用AT89C52作为主控制系统控制整个系统的正常工作。

显示模块选择方案和论证方案一:采用数码管显示,数码管是由八个发光二极管组成,对于显示数字字符比较适合,但对于电子万年历需要的数码管位数多,编程麻烦,且不稳定,存在抖动现象,需要通过软件延时进行消抖。

方案二:采用LCD1602液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,易于编程,稳定可靠。

通过对比,本课程设计采用LCD1602作为显示模块。

?时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、时、分计数。

采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。

所以不采用此方案。

方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对分、时、日、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压~范围内,时耗电小于300nA。

同时在外加电源和外加晶振电路下,掉电后走时准确。

本课程设计采用DS1302作为时钟的芯片。

电路设计最终方案决定综上各方案所述,对此次设计的方案选定: 采用AT89C52作为主控制系统; DS1302提供时钟;LCD1602作为显示。

2系统的硬件设计与实现电路设计框图…系统硬件概述本电路是由AT89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分和秒进行计时,具有闰年补偿功能,工作电压为~。

采用三线接口(SPI总线)与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。

可产生年、月、日、时、分,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部分由LCD1602显示,精度高,显示稳定。

主要单元电路的设计单元电路的设计包括主控制系统、时钟电路模块、显示模块、串口下载模块、复位电路和稳压电路的设计。

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

单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和30PF电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和30PF电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端. 如图2-1 所示]图2-1 主控制系统时钟电路模块的设计图2-2示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.7、68KHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

I/O 为串行数据输入端(双向)。

SCLK始终是输入端。

如图2-2所示。

图2-2 DS1302的引脚图*显示模块电路如图2-3所示,采用液晶1602数据端由P0提供实现8位并行通信,其数据交换的速率比较快VL是调整液晶显示的亮度,E是使能端口,RW是读写控制端口,高电平读信号,低电平写信号;RS是读写命令与数据控制端口,高电平写数据,低电平写命令。

合集下载

单片机实训报告 - 基于51单片机的数字万年历设计

单片机实训报告 - 基于51单片机的数字万年历设计

《单片机应用实训》课程设计报告姓名:班级:指导老师:实习时间:基于51单片机的数字万年历设计摘要:利用单片机、DS1302芯片、DS18B20芯片搭建一个数字万年历模块,编写程序,实现了年、月、日、时、分、秒计数,温度测量、时钟报警等功能。

关键词: STC89C51 数字时钟一、 实训目的电子时间显示器现在在任何地方都有涉及到,例如电子表和商场的时间显示等等,所以它是一种既方便又实用的技术,而我们所做的万年历则是在它的基础上做出来的,通过万年历的制作,我们可以进一步了解计数器的使用,了解各个进制之间的转换,以及其他的任意进制计数器的构成方法等,并且进一步了解DS1302芯片、DS18B20芯片的使用等。

二、总体设计方案根据项目任务,该系统采用STC89C51为控制核心,以电子大赛开发板为实验平台,利用各种芯片实现相应功能,三、硬件设计1、单片机最小系统STC89C52为40引脚双列直插芯片,有四个I/O 口P0,P1,P2,P3,每一条I/O 线都能独立地作输出或输入。

单片机的最小系统如下图所示,18引脚和19引脚接晶振电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。

第9引脚为复位输入端,接上电容,电阻及开关后够成上电复位电路,20引脚为接地端,40引脚为电源端。

时钟振荡电路用于产生单片机正常工作时所需要的时钟信号,电路由两个22pF的瓷片电容和一个12MHz的晶振组成,并接入到单片机的XTAL1和XTAL2引脚处 使单片机工作于内部振荡模式。

此电路在加电后延迟大约10ms振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率决定。

时钟振荡电路如下图所示。

复位电路由电阻和极性电容组成,如下图所示,通过高电平使单片机复位,在时钟电路开始工作后,当高电平的时间超过大约2us时,即可实现复位。

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

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

目录第一章绪论 (3)第二章设计要求及设计框图 (4)2.1 设计要求 (4)2.2 设计框图 (4)第三章知识要点 (4)3.1 LMO16L液晶模块 (4)3.1.1 LM016L引脚说明 (5)3.1.2 控制指令 (5)3.1.3 基于Proteus ISIS 7的液晶模块仿真 (6)3.2 单片机A T89C51 (8)3.2.1 主要特性 (8)3.2.2 管脚说明 (9)3.2.3 振荡器特性 (11)3.2.4 芯片擦除 (11)3.3 时钟芯片DS1302 (11)3.3.1 DS1302的控制字节 (12)3.3.2 数据输入输出(I/O) (12)3.3.3 DS1302的寄存器 (12)3.4 DS18B20数字温度传感器 (13)3.4.1技术性能描述 (13)3.4.2 DS18B20主要的数据部件 (14)3.4.3 DS18B20温度处理过程 (15)3.4.4 DS18B20的主要特性 (17)3.4.5 DS18B20的外形和内部结构 (17)3.4.6 DS18B20工作原理 (18)3.4.7 DS18B20的应用电路 (21)3.4.8 DS18B20使用中注意事项 (23)第四章硬件设计 (24)4.1 Proteus软件 (24)4.1.1 Proteus软件介绍 (24)4.1.2 功能特点 (24)4.1.3 革命性的特点 (24)4.1.4 基本操作 (25)4.1.5 选择要使用的元件 (25)4.1.6 功能模块 (26)4.2 基于89C51的万年历与温度显示器的硬件设计 (28)4.2.1 设计框图 (29)4.2.2 电路原理图 (29)4.3 元件清单 (30)第五章软件设计 (30)5.1 Keil软件 (30)5.1.1 Keil软件介绍 (30)5.1.2Keil C51单片机软件开发系统的整体结构 (31)5.1.3 使用独立的Keil仿真器时的注意事项 (31)5.1.4 Keil的优点 (31)5.2 程序流程 (32)5.3 程序清单 (32)第六章系统仿真及调试 (38)第七章设计心得体会 (39)参考文献 (40)第一章绪论目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

单片机c51万年历设计

单片机c51万年历设计

1. 综述本课题要求设计一个常用的万年历。

该电路是用于反应年、月、日、时、分、秒、星期的实时状态,液晶显示屏上显示第一排显示“湖南工学院”第二排显示“年、月、日”第三排显示“时、分、秒”第四排显示“星期”。

当接通时液晶屏上一次显示,并且可以通过矩阵键盘调节年、月、日、时、分、秒、星期的实时状态。

假设液晶显示屏显示的是2008年8月1日,要求是:通过矩阵键盘的调节可以实时时间。

经过以上所述的设计内容及要求的分析,可以将电路分为以下几部分:首先,通过晶振电路产生频率为32.768KH z的脉冲信号,该脉冲信号用于提供给DS1302的时钟脉冲信号。

接通电源时,液晶屏上显示“湖南工学院”“电气与信息工程系”“电信0901”“蒋赞荣”。

当按下第一个按键时进入“欢迎进入万年历”界面。

按下第二个按键时进入显示经典万年历界面。

理论部分已用protues软件进行仿真,并且达到设计要求。

实际部分在电子实验室和同组的成员在老师的指导下一进行模拟,能够达到理论设计要求。

在设计的过程中应该本着元件通用化,成品化,程序的精简化,以满足大规模生产的要求,以便在日后产品的更新维护能够更好的方便的进行。

同时也要尽量减少设计过程中掉电现象和不稳定现象。

使产品在使用过程中能够稳定的运行,达到良好的无故障率。

二者必须达到一定的标准,才能在工厂进行量产。

2. 方案设计与分析方案通过DS1302时钟芯片产生时钟数据信息,通过读写该芯片内的时钟信号通过单片机的控制将其显示在液晶屏幕上。

该芯片的三总线SCLK、I/O、CE分别接在单片机的P3^2、P3^3、P3^4三端效果是最好的,因为P3^0、P3^1位接在液晶屏的RS、RW,P3^5接在液晶屏的E端,其它的三态数据线接在P0口,矩阵键盘可以通过跳线接P1口或P2口,在使程序设计起来比较简单,可以很好的利用者一点,设计的复杂程度适中,而且达到了预期的设计目的。

在此电路中由于P0口用于液晶电路的三态八根数据线了,而P3口也用作了特殊作用,所以矩阵键盘的跳线只能是在P1口或者是P2口作为键盘的输入信号。

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

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

自己制作的单片机万年历程序+原理图单片机万年历仿真原理图如下仿真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);。

基于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)附录............................................................................................................... 错误!未定义书签。

毕业设计(论文)-基于51单片机的电子日历的设计

毕业设计(论文)-基于51单片机的电子日历的设计
图3-3 单片机最小系统
3.3时钟模块设计
实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。
它是一种一种高性能、低功耗、带RAM的实时时钟电路,可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
当主电源Vcc发生故障而突然下降到一定低电压或断电时,第2功能Vpd将为片内RAM提供电源以保护片内RAM中的信息不丢失。
ALE/PROG:地址锁存允许信号输入端。在存取外存储器时,用于锁存低8位地址信号。当单片机正常工作后,ALE端就周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。此引脚的第2功能PROG是对片内带有4K字节EPROM的8751固外程序时,作为编程脉冲输入端。
Vcc:接+5V 电源
Vss:接地
XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
RST/Vpq:RST是复位信号输入端,Vpd是备用电源输入端。当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。
随着微电子技术的高速发展,人类用于计时的工具也在不断发展更新,单片机技术的出现使得万年历有了新的发展方向。
单片机以其体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。目前世界上单片机年产量已达十多亿片,通常是当年微处理器产量的4-5倍以上。用最少的芯片就能实现最强大的功能,这是将来电子产品的主流方向,它将无可置疑地一步步取代其它同类产品,其数量之大和应用面之广,是其它任何类型的计算机所无法比拟的。

51单片机 电子钟万年历设计

论文设计题目电子钟万年历学院专业电子信息工程班级指导老师2010年11月目录摘要 (I)Abstract ................................................................................................................................................................ I I 1 绪论 (1)1.1 系统基本方案选择和论证 (1)1.1.1 单片机芯片的选择 (1)1.1.2 显示模块选择方案和论证 (1)1.1.3 时钟芯片的选择方案和论证 (2)1.2 电路设计最终方案决定 (2)2 系统的硬件设计与实现 (3)2.1 电路设计框图 (3)2.2 系统硬件概述 (3)2.3 主要单元电路的设计 (3)2.3.1 AT89C51单片机主控制模块的设计 (3)2.3.2 单片机中断系统 (5)2.3.3时钟电路模块的设计 (7)2.3.4 显示模块的设计 (8)2.3.5 DS1302原理及说明 (9)2.3.6 12864工作原理及说明 (9)2.3.7 系统仿真电路 (10)3系统软件设计 (11)4 系统测试 (14)4.1 硬件测试 (14)4.2 软件测试 (14)5 结束语 (15)参考文献 (16)附录:程序 (17)2摘要本文借助电路仿真软件Protues对基于AT89C51单片机的电子万年历的设计方法及仿真进行了全面的阐述。

该电子万年历在硬件方面主要采用AT89C51单片机作为主控核心,由DS1302时钟芯片提供时钟、12864点阵液晶显示屏显示。

AT89C51单片机是由Atmel公司推出的,功耗小,电压可选用4~6V电压供电;DS1302时钟芯片是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小;数字显示是采用的LED液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒等信息。

Proteus仿真设计基于单片机AT89C51的电子万年历

0引言Proteus是由英国Labcenter electronics公司开发的EDA 工具软件,自1989年出现至今已有近二十年的历史,在全球广泛使用。

该软件集成了高级原理布图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完全的电子设计系统。

它是一种混合电路的仿真工具,能对模拟电路、数字电路、单片机及其外围电路进行动态仿真。

Proteus软件主要由两个模块组成:ARES和ISIS。

前者主要用于PCB自动或人工布线;后者主要绘制电路原理图,并可进行相应的仿真。

作为一款EDA仿真软件,Proteus有着丰富的元件库。

Labcenter公司与相关的第三方软件公司共同开发了8000多个模拟和数字电路中常用的SPICE模型以及各种动态元件(基本元件如电阻、电容、各种二极管、三极管、MOS管、555定时器等;74系列TTL元件和4000系列CMOS 元件;存储芯片包括各种常用的ROM、RAM、EEPROM;还有常见I2C器件等)。

此外该软件还支持微处理器的仿真(支持许多通用的微控制器,如PIC系列、AVR系列、8051系列等;同时它还支持ARM、PLD及各种外围芯片的仿真),并能与常用的编译器,如Keil、IAR、Proton等进行协同调试。

整个过程与真实的硬件调试极其相似,在动态外设支持下的实时输入和输出为实验者提供了一个最接近现实的调试环境。

本文以基于AT89C51单片机的电子万年历为例,介绍使用Proteus进行单片机应用系统仿真设计的方法。

1Proteus和Keil C51整合构建单片机实验仿真环境Proteus和Keil构建单片机实验仿真环境时,常用的方法有如下两种:(1)Keil C51与Proteus离线联合使用①通过Keil C51编辑、修改、编译源程序并生成HEX等单片机能识别的文件;②运行Proteus,将HEX文件与原理图中的单片机(MCU)进行绑定即可。

(2)Keil C51与Proteus7.0在线联合仿真调试①在计算机(PC)上安装好TCP/IP协议;②下载并安装软件Proteus VSM a GDI Driver(即vdmag-di.exe),完成后Keil文件夹下的TOOLS.INI文件中的[C51]字段的最后两行增加了TDRV2=BIN\VDM51.DLL(用于两个软件的联接)和BOOK1=HLP\VDMAGDI.HLP(帮助文档);③进入Keil C51的开发环境建立一个工程文件,在选中“Target”的情况下选择Project→Options for target;④在“Debug”选项卡中选择左边的“Use”,在下拉框中选“Proteus VSM Simulator”,再点击“Setting”设置通信接口,在Host后面添上“127.0.0.1”、端口号Port为8000,如果不Proteus仿真设计基于单片机AT89C51的电子万年历The Design and Simulation Method of Electronic Perpetual Calendar Based on AT89C51Using Proteus Software王怀平王仁波胡开明Wang Huaiping Wang Renbo Hu Kaiming(东华理工大学,江西抚州344000)(East China Institute of Technology,Jiangxi Fuzhou344000)摘要:Proteus是英国Labcenter electronics公司开发的一款EDA工具软件,该软件能够对模拟电路、数字电路、单片机及其外围电路进行动态仿真。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

电子万年历的仿真与设计

电子万年历【摘要】单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

这次设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。

本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。

系统由主控制器AT89C51、时钟电路DS1302、温度检测电路DS18B20、显示电路和按键电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒、温度的显示,并带闹钟功能。

【关键词】单片机,万年历,时钟芯片DS1302,LCD1602液晶显示,温度传感器DS18B20Abstract:SCM application technology develop rapidly, looking around us now in all spheres of life, from missiles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable from the microcontroller. Monolithic single-chip is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM is the most typical and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities.Based on a microcontroller based on the will to achieve calendar of a multi-functional electronic clock design,Thereby achieve studying and understanding the relevant directives SCM in all aspects of the application. By main control AT89C51、clock circuit DS1302、temperature measuring circuit、display circuit and keystroke circuit componented, to achieve clock calendar display function can be carried out, hours seconds of the show and real-time temperature display.moreover,the alarm is attached.Keywords:Monolithic single-chip, perpetual calendars,clock chip DS1302,LCD liquid crystal display,temperature transducerDS18B20.前言随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。

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