基于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单片机的万年历设计
目录第一章绪论 (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)第一章绪论目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
基于51单片机的万年历设计
基于51单片机的万年历设计一、系统设计方案本万年历系统主要由 51 单片机、时钟芯片、液晶显示屏、按键等部分组成。
51 单片机作为核心控制器,负责整个系统的运行和数据处理。
时钟芯片用于提供精确的时间信息,液晶显示屏用于显示万年历的相关内容,按键则用于设置时间和功能切换。
二、硬件设计1、单片机选型选用常见的 51 单片机,如 STC89C52 单片机,它具有性能稳定、价格低廉、易于编程等优点。
2、时钟芯片选择 DS1302 时钟芯片,该芯片能够提供高精度的实时时钟,具有闰年补偿功能,并且可以通过串行接口与单片机进行通信。
3、液晶显示屏采用 1602 液晶显示屏,能够清晰地显示字符和数字,满足万年历的显示需求。
4、按键电路设计四个按键,分别用于时间设置、功能切换、加和减操作。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、时钟芯片初始化、液晶显示屏初始化等。
然后读取时钟芯片中的时间数据,并在液晶显示屏上显示出来。
接着进入循环,不断检测按键状态,根据按键操作执行相应的功能,如时间设置、功能切换等。
2、时钟芯片驱动程序通过单片机的串行接口向 DS1302 发送命令和数据,实现对时钟芯片的读写操作,获取准确的时间信息。
3、液晶显示屏驱动程序编写相应的函数,实现对1602 液晶显示屏的字符和数字显示控制。
4、按键处理程序采用扫描方式检测按键状态,当检测到按键按下时,执行相应的按键处理函数,实现时间设置和功能切换等操作。
四、时间设置功能通过按键操作进入时间设置模式,可以分别设置年、月、日、时、分、秒等信息。
在设置过程中,液晶显示屏会显示当前设置的项目和数值,并通过加、减按键进行调整。
设置完成后,将新的时间数据保存到时钟芯片中。
五、显示功能万年历的显示内容包括年、月、日、星期、时、分、秒等信息。
通过合理的排版和显示控制,使这些信息在液晶显示屏上清晰、直观地呈现给用户。
六、系统调试在完成硬件和软件设计后,需要对系统进行调试。
基于51单片机的液晶显示万年历设计
基于51单片机的液晶显示万年历设计摘要随着社会的进步和发展,电子万年历作为日常计时工具被广泛地应用。
此电子万年历在硬件方面主要采用STC89C51单片机作为主控核心,由DS1302时钟芯片提供时钟及1602LCD液晶显示屏显示。
STC89C51单片机是由宏晶公司公司生产的,功耗小,电压可选用3.4v~5.5v电压供电;DS1302时钟芯片是美国DALLAS公司推出的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,而且DS1302的使用寿命长,误差小;对于数字电子万年历采用直观的数字显示,数字显示是采用的1602LCD液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒、温度等信息。
此外,该电子万年历在软件方面主要包括日历程序、时间调整程序,显示程序等。
所有程序编写完成后,在Kei l软件中进行调试,确定没有问题后,烧写到单片机上进行测试。
本次课程设计主要由时钟芯片DS1302和温度传感器DS18B20采集数据到单片机进行处理再通过LCD1602显示出来,本设计主要研究了液晶显示器LCD及时钟芯片DS1302,温度传感器DS18B20与单片机之间的硬件互联及通信,对数种硬件连接方案进行了详尽的比较。
关键词:单片机;DS1302;DS18B20;LCD1602--ABSTRACTWith the social progress and development, Electronic calendar is widely used as a dailytiming tool. The electr oniccalendarinhardware using STC89C51microcon troller as themain controlcenter, provided by the DS1302 clock chipand 1602LCD LCD display.STC89C51mic rocontroller is produced by themacrocrystal company, small power consumption,the voltagecan bechoosen among 3.4V ~5.5V for power supply;DS1302clock chip is alowpower real-time clockchip produced by DALLAS, it canbe atimeofyears,months,days,weeks,hours,minute s,seconds, andDS1302 hasa longservicelife.The error issmall;forthe digital electronic calendarusi ngvisual digitaldisplay,1602LCDdigital display is used todisplay LCD screenthat candisplay years,mo nths, days, weeks, hours,minutes and seconds, temperat ureandother information. In addition,the electronic calendar mainly includescalendarprogram,time to adjus tprocedures,displayprogram etc insofeware. After the completionof all the procedures,in theKeil softwa redebugging, determine no problem after,and burning to themicrocontrollertest.--The curriculum design mainly bytheclock chip DS1302andtemperaturesensor DS18B20 collectingdata to the microcontrollerfor processing andthen through the LCD1602 display, thisdesign mainly studies the liquid crystal display LCD and theclockchip DS1302, thehardware connection and communication betweenthete mperature sensorDS18B20 and the MCU, a number of hardwareconnection scheme foradetailed comparison.Key words:SCM,DS1302,DS18B20,LCD1602--目录1-第一章绪论ﻩ-1.1 单片机的概述ﻩ-1-1.1.1 单片机的概念ﻩ-1-1.1.2单片机的特点 --------------------------------------------------------------------------------- -1-1.2 课题背景 ---------------------------------------------------------------------------------------------------- -1-1.3 课题内容 ----------------------------------------------------------------------------------------------- -2- 第二章设计要求和方案 ----------------------------------------------------------------------- 错误!未定义书签。
毕业设计(论文)-基于MCS-51的万年历设计
毕业设计(论文)-基于MCS-51的万年历设计1 引言1.1 万年历的背景与意义万年历作为一种常见的时间计数工具,被广泛应用于日常生活和工业生产中。
随着电子技术的飞速发展,电子万年历以其准确、方便、易操作等特点逐渐取代了传统的机械万年历。
基于MCS-51单片机的万年历设计,不仅满足了人们对时间精确计量的需求,同时也为单片机技术在时间测量领域的应用提供了新的思路。
1.2 MCS-51单片机的介绍MCS-51单片机是美国Intel公司推出的一种高性能的8位单片机,具有较高的性价比、丰富的指令集和灵活的I/O端口。
由于其结构简单、易于编程和扩展,MCS-51单片机被广泛应用于工业控制、家用电器、智能仪表等领域。
1.3 论文结构及内容安排本文主要分为七个章节,首先介绍万年历的背景与意义以及MCS-51单片机的基本情况;其次,阐述万年历的原理与设计要求,并提出基于MCS-51单片机的万年历设计方案;接着,详细介绍MCS-51单片机的硬件设计和软件设计;然后,进行系统调试与性能测试;在此基础上,探讨万年历的实际应用与拓展;最后,总结全文并指出创新与不足之处,展望未来的研究方向。
2. 万年历的原理与设计2.1 万年历的基本原理万年历是一种可以显示公历日期、时间,并且可以自动调整闰年和平年的日历。
它的核心是通过算法处理时间的流逝,计算出当前的日期。
基本原理涉及以下几个核心概念:•时间单位:秒、分、时、日、月、年•时间算法:通过累计秒数,进行时、日、月、年的进位处理•闰年规则:四年一闰,百年不闰,四百年再闰2.2 万年历的设计要求在设计万年历时,需要遵循以下要求:•准确性:确保时间显示准确无误•可靠性:系统稳定运行,适应不同的环境条件•易用性:用户界面友好,操作简便•经济性:在满足功能要求的前提下,尽可能降低成本2.3 基于MCS-51单片机的万年历设计方案基于MCS-51单片机的万年历设计主要包括以下几个部分:2.3.1 时间计算模块利用单片机内部的定时器,以秒为单位递增计数,通过编写中断服务程序来处理时间进位,实现时、分、秒的计算。
基于51单片机GPS自动校时的万年历设计方案
3 硬件设计
HARDWARE DESIGN
3.1 系统概述
本系统由51单片机、DS1302时钟芯片、1062液晶显示器、DS18B20温度测量、键盘、蜂鸣器 系统等部分构成。软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、定时设置、 定时闹钟、温度显示。原理框图如下:
3.2 系统框图
蜂鸣器设置:蜂鸣器报警时,设置响100毫秒,停100毫秒,循环响应,产生滴滴的声音。
液晶显示的设置:写入指令码write_com(0x38),设置功能16*2显示,5*7点阵,8位数据接口显 示/开关及光标设置8)写入指令码write_com(0x0c),设置开显示,不显示光标,光标不闪烁。 16)写入指令码write_com(0x06),设置当读或写一个字符后地址指针加一,且光标加一。当写 一个字符,整屏显示不移动。显示清屏,写入指令码write_com(0x01)。
写入指令码函数write_com()写指令过程 :输入:rs=0,D0-D7=指令码,E=高脉冲写入数据 函数 write_date() 写指令过程: 输入:rs=1,D0-D7=数据,E=高脉冲写入指令和数据时rw 端已经接地。数据指针设置 指令码80H+地址码(0-27H)显示第一行的字符指令码80H+地址码 (40H-67H)显示的第二行字符
本时钟还具有环保、走时无噪音、低功耗等非实时时钟不具有的功能。该实时时钟不但可以作 为家用,而且更可以在公共场合使用,如车站、码头、商场等场所。
2 总体方案
GENERAL PLANNING
本方案所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容
包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功 耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。
基于51单片机的万年历_毕业设计
基于51单片机的万年历中文摘要本设计万年历以AT89C51为控制中心,与温度传感器DS18B20,时钟芯片DS1302综合应用为一体,不仅能够准确显示时间、日期,闹钟设置,环境温度测量及温度高低温报警等功能。
单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。
单片机与数字万年历相结合,用于时间显示,温度测试等不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被检测数值的技术指标,从而能够大大提高产品的质量和数量。
关键词:单片机,温度传感器,C语言,液晶显示ABSTRACTThis design USES AT89C51 as calendar control center, and the temperature sensor DS18B20, the clock DS1302 chip integrated application as a whole, and not only be able to accurately display the time, date, alarm, the environment temperature measurement and high temperature, low temperature alarm functions.SCM is a collection of CPU, RAM, ROM, I/O interface and interrupt system is one of the devices, only require additional power can be used for vibration and grain is the process of digital information and control. Single-chip microcomputer and digital calendar, combining for time to show, temperature testing has not only control convenient, simple and flexible configuration advantages, and which could increase the technical index of the tested value, which can greatly improve the quality of the products and quantity.Key words:Single-chip microcomputer, Temperature Sensor,C language,Liquid crystal displ目录第一章前言 (4)1.1系统开发背景及现状 (4)1.2 系统开发的目的 (4)第二章总体设计 (5)2.1 本设计实现的功能和要求 (5)2.2 设计的选择方案和论证 (5)2.2.1单片机芯片的选择方案和论证 (5)2.2.2显示模块选择方案和论证 (5)2.2.3 时钟芯片的选择方案和论证 (6)2.3.4 温度传感器的选择方案与论证 (6)2.3总体设计框图 (6)第三章硬件设计 (8)3.1 主要元器件介绍 (8)3.1.1 单片机简介 (8)3.1.2 传感器DS18B20介绍 (9)3.1.3 LCD1602液晶显示介绍 (10)3.2 各模块设计 (11)3.2.1 主控制电路 (11)3.2.2 LCD1602显示模块设计 (12)3.2.3 DS18B20温度传感器模块 (13)3.2.4 键盘输入模块设计 (13)3.2.5 蜂鸣器模块设计 (13)3.2.6 DS1302时钟电路模块 (14)第四章软件设计 (16)第五章安装与调试 (18)5.1 安装制作 (18)5.2 硬件调试 (18)5.2.1布线的原则与焊接 (18)5.2.2 硬件调试与测试 (19)5.3 软件调试 (19)5.3.1 软件测试仪器 (19)5.3.2 软件调试与测试 (19)5.4 联调 (20)5.5测试结果分析与结论 (21)第六章总结 (22)参考文献 (23)附录A (24)附录B (26)致谢 (28)第一章前言1.1系统开发背景及现状当今世界,知识更新的速度越来越快。
基于MCS51单片机的电子万年历设计
江西科技师范大学毕业设计(论文三稿)题目(中文):基于MCS51的电子万年历的设计(英文):The design of the electronic calendar based on MCS51 院(系):通信与电子学院专业:电子信息工程姓名:兰小玲学号: 20122623指导教师:宗文军2016年4月22日目录基于MCS51的电子万年历的设计摘要:随着现今世界信息化时代和经济的快速发展的来临,各式各样的小型智能家电产物陆续出现在我们的生活中。
日历是人们不可或缺的日常用品。
但一般日历都是纸制的,使用不便,寿命不长。
电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。
本设计以AT89C51单片机为核心,构成单片机主控制电路,结合DS1302时钟芯片和DS18B20温度芯片,完成时间的自动调整和掉电保护,全部信息用液晶显示。
时间、日期调整由三个按键来实现,并可对闹铃开关进行设置。
日历能显示年、月、日以及星期、时、分、秒。
关键词:电子万年历51单片机时钟芯片温度芯片液晶显示器第一章引言跟着微电子技术和超大范围集成电路技术的不停进步,家用电子产物不光种类日益丰硕,还变得加倍经济实用,单片微型计算机体积小、性价比高、功能强、可靠性高等独有的特点,在各个范畴得到了广泛普遍。
电子万年历是一种非常广泛的日常计时工具,数字电子钟已经越来越流行,特别适用于车站、广场以及办公,还可用于家庭居室。
LED数字显示的电子钟显示清晰直观、走时精准、能夜视,还能够延伸出其他功能。
功能也越来越齐全,除了公历年、月份、日期、时分秒、礼拜显示及闹铃。
但通过我们对各类电子钟的不停观察,总结发现目前市场的电子钟都出现一些不足之处,例如:时钟不精确、产物本钱太高、无环境温度显示等,这都给人们的使用带来了一些不便。
为此设计了一种功能周全、计时精确、本钱便宜的基于MSC51的电子万年历。
1.1 研究背景与意义当今社会的电子技术可谓是发展迅速,特别是随着大规模或者超大集成电路的出现,给人类学习、工作、娱乐、以及生活、都带来了本质性的改变。
基于51单片机电子万年历论文设计
基于51单片机电子万年历设计课程设计:学院:姓名:班级:学号:指导老师:时间:基于51单片机电子万年历设计专业:通信工程姓名:杨真指导老师:万国峰摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周日、时、分和秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3到5V电压供电。
万年历的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C52单片机,液晶显示电路,复位电路,时钟电路,稳压电路电路以及串口下载电路等组成。
在单片机的选择上使用了AT89C52单片机,该单片机适合于许多较为复杂控制应用场合。
显示器使用液晶LCD1602。
软件方面主要包括日历程序、液晶驱动程序,显示程序等。
程序采用汇编语言编写。
所有程序编写完成后,在Keil C51软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词时钟电钟,DS1302,液晶LCD1602,单片机目录1设计要求与方案论证 (3)1.1 设计要求 (3)1.2 系统基本方案选择和论证 (3)1.2.1单片机芯片的选择方案和论证 (3)1.2.2 显示模块选择方案和论证 (4)1.2.3时钟芯片的选择方案和论证: (4)1.3 电路设计最终方案决定 (4)2系统的硬件设计与实现 (4)2.1 电路设计框图 (5)2.2 系统硬件概述 (5)2.3 主要单元电路的设计 (5)2.3.1单片机主控制模块的设计 (5)2.3.2时钟电路模块的设计 (6)2.3.3显示模块电路 (7)2.3.4串口下载电路 (7)2.3.5复位电路 (8)2.3.6稳压电路 (9)3系统的软件设计 (9)3.1程序流程框图 (9)3.2 子程序的设计 (10)3.2.1读写DS1302子程序 (10)3.2.1读写LCD1602子程序 (10)4软件测试及分析 (12)4.1软件测试 (12)4.2分析与结论 (12)4.2.1 调试分析 (12)4.2.2调试和结论 (13)5总结 (13)6参考文献 (13)1设计要求与方案论证1.1 设计要求①具有年、月、日、星期、时、分和秒等功能;②具备年、月、日、星期、时、分和秒校准功能;1.2 系统基本方案选择和论证系统方案包括单片机的选型、时钟芯片的选择和显示模块的确定等。
基于51单片机的电子万年历毕业设计论文
引脚号
引脚名称
功能
1
Vcc2
主电源
2,3
X1,X2
振荡源,外界32.768kHz晶振
4
GND
地线
5
RST
复位/片选线
6
I/O
串行数据输入/输出端(双向)
7
SCLK
串行数据输入端
8
Vcc1
后备电池
76 5 4 3210
1
RAM
A4
A3
A2
A1
A0
RAM
图4.2 DS1302的控制字
实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;
用于高速数据暂存的31×8位RAM;
最少引脚的串行I/O;
2.5~5.5V电压工作范围;
2.5V时耗电小于300nA;
用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;
简单的3线接口;
可选的慢速充电(至Vcc1)的能力。
2.用凌阳16位单片机设计。凌阳16位单片机有丰富的中断源和时基,方便本实验的设计。它的准确度相当高,并且C语言和汇编兼容的编程环境也很方便来实现一些递归调用。I/O口功能也比较强大,方便使用。用凌阳16位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。但是,在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高。
Keywords:Electronicperpetual calendar;single-chip processor;temperature sensor;clock;digital display
基于51单片机的万年历设计流程
基于51单片机的万年历设计流程
基于51单片机的万年历设计流程可以分为以下几个步骤:
1. 确定需求:首先,你需要明确你的万年历需要有哪些功能。
例如,是否需要显示日期、时间、星期,是否需要闹钟功能,是否需要手动或自动校准等。
2. 选择硬件:选择合适的单片机作为主控制器。
常用的单片机有8051系列,如AT89C51、AT89S52等。
此外,还需要选择适当的显示模块、按键模块、实时时钟模块等。
3. 设计硬件电路:根据选择的硬件设备,设计电路原理图和PCB图。
需要
考虑单片机的引脚连接、电源供给、时钟源、外部扩展等问题。
4. 编写软件程序:根据硬件电路和需求,编写相应的软件程序。
这包括初始化程序、主程序、中断服务程序等。
5. 调试和测试:将编写好的程序下载到单片机中,进行实际测试。
根据测试结果,对程序进行调试和修改,直到满足设计要求。
6. 生产:完成调试后,就可以进行批量生产了。
在生产过程中,还需要对产品进行质量检测,确保每个产品都能正常工作。
7. 后期维护:在产品上市后,可能需要对产品进行维护或升级。
例如,如果用户在使用过程中发现了问题,或者有新的需求,就需要对产品进行改进或升级。
以上是基于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单片机的万年历设 计。
二、系统设计
1、硬件设计
基于51单片机的万年历设计需要硬件和软件的配合实现。硬件部分主要包括 51单片机、显示模块、按键输入模块和时钟芯片等。其中,51单片机作为主控制 器,负责处理各种数据和控制信号;显示模块用于显示日期、时间等信息;按键 输入模块用于用户输入操作;时钟芯片则为系统提供实时时间。
基于51单片机的电子万年历系 统的设计
目录
01 一、概述
03 三、软件设计
02 二、硬件设计 04 四、系统调试与优化
目录
05 五、应用场景及前景
07 参考内容
06 六、结论
随着科技的不断发展,单片机已经成为现代于51单片机的电子万年历系统设计具有广泛的实际应用价值。 本次演示将详细介绍这种系统的设计过程和实现方法。
感谢观看
首先需要进行硬件搭建,包括选择合适的单片机、显示模块、按键输入模块 和时钟芯片等,并将其连接起来。需要注意的是,在搭建硬件时需要考虑各个模 块之间的接口和连接方式,以确保系统能够正常工作。
2、软件编程
在硬件搭建完成后,需要进行软件编程。首先需要进行系统初始化,包括对 单片机进行初始化和对显示进行清屏处理。然后需要进行按键处理和时钟数据处 理,以实现用户输入和实时时间的读取。最后需要进行显示处理,将处理后的数 据显示到显示模块上。
基于51单片机的万年历设计
一、引言万年历是一种日历工具,能够显示任何一个公历日期的星期、年、月和日,并且能够自动判断闰年。
在本设计中,我们将使用51单片机设计一个基于LCD显示屏的万年历。
它将能够显示当前的日期和星期,并且具备一些附加功能,如闹钟、计时器等。
二、设计目标本设计的主要目标是通过51单片机实现以下功能:1.显示当前日期和星期:使用LCD显示屏显示当前的年、月、日和星期。
2.闰年判断:根据公历算法判断是否为闰年,并在显示屏上进行标识。
3.闹钟功能:设置一个闹钟时间,并在指定时间到达时发出提醒。
4.计时器功能:实现一个简单的计时器,能够显示经过的时间。
三、系统框图```+------------------+51单片+---+----------+---++--v--++--v--+LCD ,, Keypa+-----++-------+```四、系统设计1.时钟模块:使用定时器模块实现系统的主时钟,根据预设的频率进行中断,更新时间和日期。
2.LCD模块:使用51单片机的IO口控制LCD显示屏,实现对日期、星期和其他功能的显示。
3.按键模块:通过按键模块实现对系统功能的操作,包括设置闹钟、切换功能等。
4.闹钟模块:根据预设的时间进行判断,判断是否到达闹钟时间并触发相应的操作。
5.计时器模块:通过计时器模块实现计时功能,显示经过的时间。
五、代码实现以下是基于51单片机的万年历的主要代码实现的伪代码:1.时钟模块:```初始化定时器;定时器中断中获取当前的日期和时间;```2.LCD模块:```定义LCD引脚;初始化LCD显示;定时刷新LCD内容;```3.按键模块:```定义按键引脚;初始化按键;判断按键事件并执行相应的操作;```4.闹钟模块:```设置闹钟时间;判断当前时间是否与闹钟时间相等;触发相应操作;```5.计时器模块:```设置起始时间;计算当前时间与起始时间的差值;显示计时时间;```六、实验结果通过上述的代码实现和电路连接,我们可以成功地实现了基于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系列单片机是各单片机中最为典型和最有代表性的一种。
通过本次设计,学习和巩固了单片机指令编程的相关知识,熟悉单片机各部件的组成及其功能。
本设计将制作一种基于单片机控制的带实时温度显示、具有定时功能的电子万年历。
传统的电子日历大都体积大,功耗大,显示不准确等特点。
为了缩小体积,减小功耗,使其变得小巧灵敏,本设计加入了时钟芯片DS1302,可对时间进行准确记时,同时可设置定时时间,实现定时功能。
另外本设计具有显示实时温度的功能。
传统的温度传感器系统大都采用放大、调理、A/D转换,转换后的数字信号送入计算机处理,处理电路复杂、可靠性相对较差,占用计算机的资源比较多。
本设计将采用DS18B20一线制数字温度传感器,可将温度信号直接转换成数字信号送给微处理器,电路简单,成本低,实现了时间温度同时显示的效果。
最后,温度和时间都将通过12864液晶显示器进行显示。
测试表明系统达到了设计要求的各项功能,各部分工作正常。
关键词:时钟温度检测单片机温度ABSTRACTWith the development of the society, the amount of information is improving the requirements of the information exchange. the development of the electronic calendar and the investment market become very necessary. This design is based on 51 single-chip microcomputer and simulation used in the daily calendar, and 51 series microcontroller is the MCU in the most typical and most representative one. Through this design, learning and consolidate the single chip microcomputer instruction programming knowledge, be familiar with composition and function of the microcontroller parts.This design creates an electronic calendar with real-time temperature display and timing function based on single chip control. Most of traditional calendars are characterized by large size, high power consumption and inaccurate display. In order to reduce volume and power consumption and make calendars become small and exquisite, the design adds a clock chip DS1302, which can accurately record the time and set a regular time to achieve timing function. In addition, this design displays real-time temperature function. Traditional temperature sensor system is mostly amplified, recuperated and A / D converted. The converted digital signal is input the computer to be processed, but the processing circuit is complicated with relatively poor reliability and occupies more resources of the computer. This design uses the DS18B20 first-line system digital temperature sensor to directly convert the temperature signal into digital signal and send it the microprocessor, whose circuit is simple and low cost, achieving the displayed effect of time and temperature simultaneously. Finally, the temperature and time will be displayed through the 12864 liquid crystal display. The test indicates that the system has reached various functions of the design requirements and each part operates smoothly.Keywords: clock temperature-detection SCM temperature目录1 绪论 (1)2 系统基本方案选择和论证 (1)2.1单片机芯片的选择方案和论证 (1)2.2显示模块的选择方案和论证 (1)2.3时钟芯片的选择方案和论证 (2)2.4温度传感器的选择方案和论证 (3)2.5电路设计最终方案确定 (4)3 系统硬件电路设计 (1)3.1系统功能模块划分 (1)3.2各单元模块功能分析及模块电路设计 (2)3.2.1时钟模块 (2)3.2.2温度模块 (2)3.2.3显示模块 (5)3.2.4独立键盘模块 (5)3.2.5蜂鸣器模块 (6)3.2.6单片机模块 (7)3.2.7温度信息的采集 (8)3.3电路原理图的绘制和电路的焊接 (1)3.3.1原理图绘制软件PROTEL (1)3.3.2PCB制作 (1)3.3.3元器件的焊接 (3)4 系统软件设计 (1)4.1万年历软件系统的流程图 (1)4.3温度的读取 (5)下面是温度读取的子程序: (6)4.4键盘模块 (6)4.5蜂鸣器模块 (6)结束语 (1)致谢 (1)参考文献 (1)附录 (1)1 绪论二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发的时代扮演着极为重要的角色。
基于-51单片机的万年历设计
单片机课程设计题目基于51单片机的万年历设计学生专业班级学号院(系)指导教师完成时间目录1课程设计的目的12课程设计的任务与要求1 2.1设计任务12.2设计要求13单片机发展概况14设计原理与功能说明44.1设计思想44.2总体电路图54.3时钟模块64.4液晶显示模块64.5按键模块75系统测试75.1硬件测试75.2软件测试86总结8参考文献10附录一:总体电路原理图11附录二:主程序12附录三:元器件清单27 附录四:实物图281课程设计的目的1.通过制作万年历,可以对单片机这门课程更好的认识。
2.理论与实践结合,提高自己的动手能力。
3.学会与合作者更好的交流学习,共同进步和提高。
4.能够增长查阅资料的能力,视野更加开阔。
5.拓展其他学科的联系,全面发展。
6.培养自我发现问题,解决问题的能力。
2课程设计的任务与要求2.1设计任务1.可以去学校图书馆或者网上,搜集整理相关的资料,做好前期理论准备,为以后设计电路,看懂电路图做理论支持。
2.构想万年历电路图,并且具有可行性,画出电路图。
3.列举电路所需的电子元件,仔细对比所需的元件的参数,通过去电子元件经销商或者网购购买。
2.2设计要求1.显示年、月、日、时、分、秒。
2.可通过键盘自动调整时间。
3.计时精度:月误差小于20秒。
3单片机发展概况单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段:第一阶段(1976-1978):初级单片机微处理阶段。
该时期的单片机具有 8 位CPU,并行 I/O 端口、8 位时序同步计数器,寻址围 4KB,但是没有串行口。
第二阶段(1978-1982):高性能单片机微机处理阶段,该时期的单片机具有I/O 串行端口,有多级中断处理系统,15 位时序同步技术器,RAM、ROM 容量加大,寻址围可达 64KB。
第三阶段(1982-至今)位单片机微处理改良型及 16 位单片机微处理阶段民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。
基于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单片机的电子万年历设计
课程设计报告书目录设计报告书目录一、设计目的 (1)二、设计思路 (1)三、设计过程 (1)3.1、系统方案论证 (1)3.2、电子万年历流程图设计 (2)四、系统调试与结果 (6)五、主要元器件与设备 (6)六、课程设计体会与建议 (7)6.1、设计体会 (7)6.2、设计建议 (7)七、参考文献 (8)八、源程序清单与注释 (10)一、设计目的1、熟悉单片机各部件的组成及其功能。
2、掌握时钟芯片显示时间和调试的方法。
3、掌握温度传感器的工作原理及其调试方法。
4、掌握数码管的显示方法。
二、设计思路1、利用单片机的时钟芯片来实现时间信息显示。
2、利用四个按键实现时间的调整功能。
3、利用温度传感器来实现温度显示。
4、利用单片机对各个数据进行处理并保证各模块正常工作。
5、单片机处理后的数据送入显示模块显示。
三、设计过程3.1系统方案论证数字万年历的总体方框图如图1所示:图1 数字万年历总体方框图其工作原理为:时间模块利用时钟芯片可以读取到高精度的年、月、日、时、分、秒信息。
按键部分采用四个按键实现时间的调整功能,即设置、加1、减1、切换四个按键。
温度采集模块利用温度传感器采集温度信息。
单片机使用AT89C52单片机,将读取的时间信息、按键信息和温度信息送入单片机机进行数据处理,同时单片机控制保证着各模块芯片的正常工作,单片机将经过处理后的时间温度信息送显示模块显示。
显示模块使用17个LED显示管,可以显示年、月、日、星期、时、分、秒和温度。
3.2、电子万年历流程图设计3.2.1、电子万年历系统的主程序流程图如图2所示:图2 电子万年历系统的主程序流程图电子万年历系统总的电路连接如附图1所示。
3.2.2、时间程序设计因为使用时钟芯片为DS12C887,阳历程序只需从DS12C887各寄存器中读出年,月,日,时,分,秒等数据,再处理即可。
在首次对DS12887进行操作之前必须对它进行初始化,然后DS12C887中读出数据,再经处理后送给显示缓冲单元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计题目基于51单片机的万年历设计学生姓名专业班级学号院(系)指导教师完成时间目录1课程设计的目的 (1)2课程设计的任务与要求 (1)2.1设计任务 (1)2.2设计要求 (1)3单片机发展概况 (1)4设计原理与功能说明 (4)4.1设计思想 (4)4.2总体电路图 (5)4.3时钟模块 (5)4.4液晶显示模块 (6)4.5按键模块 (7)5系统测试 (7)5.1硬件测试 (7)5.2软件测试 (8)6总结 (8)参考文献 (10)附录一:总体电路原理图 (11)附录二:主程序 (12)附录三:元器件清单 (26)附录四:实物图 (27)1课程设计的目的1.通过制作万年历,可以对单片机这门课程更好的认识。
2.理论与实践结合,提高自己的动手能力。
3.学会与合作者更好的交流学习,共同进步和提高。
4.能够增长查阅资料的能力,视野更加开阔。
5.拓展其他学科的联系,全面发展。
6.培养自我发现问题,解决问题的能力。
2课程设计的任务与要求2.1设计任务1.可以去学校图书馆或者网上,搜集整理相关的资料,做好前期理论准备,为以后设计电路,看懂电路图做理论支持。
2.构想万年历电路图,并且具有可行性,画出电路图。
3.列举电路所需的电子元件,仔细对比所需的元件的参数,通过去电子元件经销商或者网购购买。
2.2设计要求1.显示年、月、日、时、分、秒。
2.可通过键盘自动调整时间。
3.计时精度:月误差小于20秒。
3单片机发展概况单片机诞生于20世纪70年代末,它的发展史大致可分为三个阶段:第一阶段(1976-1978):初级单片机微处理阶段。
该时期的单片机具有8 位CPU,并行I/O 端口、8 位时序同步计数器,寻址范围4KB,但是没有串行口。
第二阶段(1978-1982):高性能单片机微机处理阶段,该时期的单片机具有I/O 串行端口,有多级中断处理系统,15 位时序同步技术器,RAM、ROM 容量加大,寻址范围可达64KB。
第三阶段(1982-至今)位单片机微处理改良型及16 位单片机微处理阶段民用电子产品、计算机系统中的部件控制器、智能仪器仪表、工业测控、网络与通信的职能接口、军工领域、办公自动化、集散控制系统、并行多机处理系统和局域网络系统。
STC系列单片机是由STMicroelectronics 公司生产,并有宏晶公司做大陆代理的。
本设计使用STC89C52作为控制核心,其管脚兼容其他51系列的单片机,以下对STC89C52进行简单讲解。
STC89C52单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。
采用40Pin封装的双列直接DIP结构,图3.1是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在对各引脚功能说明如下(图3.2):(1)主电源引脚Vcc :接+5V电源正端。
Vss :接+5V电源地端。
(2)输入/输出引脚P.0~P0.7:P0口的8个引脚。
在不接片外存储器与不扩展I/O接口时,可作为准双向输入/输出接口。
在接有片外存储器或扩展I/O接口时,P0口分时复用为低8位地址总线和双向数据总线。
P1.0~P1.7:P1口的8个引脚。
可作为准双向I/O接口使用。
对于52子系列,P1.0 与P1.1还有第二种功能:P1.0 可用作定时器/计数器2的计数脉冲输入端T2。
P1.1可用作定时器/计数器2的外部控制端T2EX。
P2.0~P2.7:P2口的8个引脚。
可作为准双向I/O接口;有接有片外存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用作高8位地址总线。
P3.0~P3.7:P3口的8个引脚。
除作为准双向I/O接口使用外,还具有第二种功能,详见图3.2。
图3.1 STC89C52单片机管脚图4设计原理与功能说明4.1设计思想以STC89C52单片机为核心,外接单片机复位电路,单片机晶振电路,时钟芯片DS1302,按键电路,液晶显示电路,通过控制STC89C52单片机的接口来控制时钟芯片DS1302模块,按键电路,液晶显示模块,使液晶能显示阳历年、月、日、星期相应的农历时间。
图4-1 硬件系统设计框架4.2总体电路图图4-2 总电路图4.3时钟模块DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
图4-3 时钟电路图4.4液晶显示模块本系统选择的LCD是AMPIRE128×64的汉字图形型液晶显示模块,可显示汉字及图形。
单片机P1口作为数据输出口,RS,R\W,E分别通过10K 的上拉电阻连接到单片机的P0.0,P0.1,P0.2。
VDD接5V电源,VSS接地。
VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
E(或EN)端为使能(enable)端,下降沿使能。
DB0-DB7为双向数据总线,同时最高位DB7也是忙信号检测位。
BLA、BLK分别为显示器背光灯的正、负极。
图4-4 液晶显示电路图4.5按键模块本系统使用5个button元件分别设置为增加键、减小键、退出键、设置/OK键。
4个按键与一个4个驱动电阻相连,作为整个按键控制功能系统,以触发AT89C52中断为方式使用设置功能。
图4-5 按键电路图5系统测试5.1硬件测试在调试硬件时遇到过很多问题,但只要细心、认真检查这些问题都是可以避免的,主要问题及解决办法现列如下:认真检查电路是否有短路的地方,线与线之间,管脚刺破邻近的漆包线之间是否连接在一起,有的话要用刀划开,或者重新焊接。
检查完毕后接通电源后LCD1602没有正确的显示。
在不通电状态下用万用表检测电路是否正常连接,在检查回路时发现有的点之间看似连接,但由于虚焊导致其并无电气连接,只能对焊脚进行在加工直到解决问题。
5.2软件测试由于本系统涉及到多个子程序,多个芯片的编程。
首先必须对可编程芯片的控制字即其控制指令要熟记于心。
其次,芯片很多都有时钟输入端,需要晶振支持。
对芯片的读写都需要在相应的触发沿到来时才能进行。
由于DS18B20是串行通信数据,只用一个口线传输,在处理采集的模拟信号时需要一定的时间,会对延时有较高要求。
所以在调用温度子程序时,先关闭定时器1中断允许,在温度子程序反回时再打开定时器1中断允许。
6总结在这几天的单片机课程设计中,老师先给我们介绍各种电子原件,让我们了解了各种原件的不同以及注意事项,这次课程不仅仅让我们动了手动了脑,更让我们体会到了理论与实践相结合的重要性,使我又不得不承认理论的重要,我们必须打好基础。
在实验设计的过程中,让我们体会到以前从来没有过的动手能力,以及新颖的思维方式,让我从中获益非浅。
实验过程中,刚开始就参看电路指导书,画出了多电路图,进行了仿真,但是由于实验元件选择的不恰当,是的电灯不能依次闪烁,许但最后用万用表才得以发现问题的所在,并在老师的指导下,终于完成了实验设计,虽然道路艰难,但我们却也乐在其中,既锻炼了动手能力,有培养了动脑能力,更加利于我们在社会上工作。
经过我们组员三天的不懈努力,终于成功完成了万年历的设计,完成了任务给出的所有要求,期间遇到了很多问题,相关资料的搜集、整理,编写、调试程序的时候所出现的错误,硬件电路的选择、连接。
例如:液晶屏时间显示出现了错误即乱码现象,我们通过查找书籍和上网搜索的形式知道了问题所在,与延时程序有关,修改了延时程序之后问题得到了解决。
在画原理图的时候,刚开始每个原件是用线连接的,但是后来发现越连越多,越连越乱,可视性太差了,很容易连错线,而且一旦出现错误,很难检查出错误,所以我们换了一种更好的方法,对其进行标号处理,从而使得原理图更加的简洁、直观,而且操作起来很方便。
最终还是解决了这个难题,诸如此类的错误在本次设计中有不少,但是通过我们组员之间的通力合作与不懈努力终于克服了这些困难,本次实训不仅巩固了我们所学的知识,而且学到了很多课本之外的东西,真正做到了学以致用,加强了逻辑思维能力,对我们大学生来说试一次很好的经历,同时也让我们深刻体会到了团结合作的重要性,组员之间合理分工,更加高效、迅速。
另外对于了解较少的知识,我们不要气馁,我们可以通过上网查阅、到图书馆借书浏览等方式了解学习,一定要相信自己,要持之以恒,这次经历加强了我们分析问题、解决问题的能力,为我们以后的工作学习打下坚实的基础。
本次设计中同学之间明确分工,互相帮助,才有了本次设计的圆满成功。
参考文献[1] 何立民. MCS-51单片机应用系统设计(系统配置与接口技术).北京:北京航空航天大学出版社,2003.[2] 周立功. 单片机实验与实践教程(三).北京航空航天大学出版社,2006.[3] 谭浩强. C语言程序设计.北京:清华大学出版社,2006.[4] 付家才. 单片机实验与实践.北京:高等教育出版社,2006.[5]淡海英. 关于单片机控制的数字万年历设计[J]. 电子制作,2014.[6]鲁广英. 基于单片机电子万年历的设计与实现[J]. 硅谷,2010.附录一:总体电路原理图总体电路原理图附录二:主程序#include"lcd.h"/******************************************************************************* * 函数名: Lcd1602_Delay1ms* 函数功能: 延时函数,延时1ms* 输入: c* 输出: 无* 说名: 该函数是在12MHZ晶振下,12分频单片机的延时。
*******************************************************************************/void Lcd1602_Delay1ms(uint c) //误差0us{uchar a,b;for (; c>0; c--){for (b=199;b>0;b--){for(a=1;a>0;a--);}}}/******************************************************************************* * 函数名: LcdWriteCom* 函数功能: 向LCD写入一个字节的命令* 输入: com* 输出: 无*******************************************************************************/ #ifndef LCD1602_4PINS //当没有定义这个LCD1602_4PINS时void LcdWriteCom(uchar com) //写入命令{LCD1602_E = 0; //使能LCD1602_RS = 0; //选择发送命令LCD1602_RW = 0; //选择写入LCD1602_DATAPINS = com; //放入命令Lcd1602_Delay1ms(1); //等待数据稳定LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}#elsevoid LcdWriteCom(uchar com) //写入命令{LCD1602_E = 0; //使能清零LCD1602_RS = 0; //选择写入命令LCD1602_RW = 0; //选择写入LCD1602_DATAPINS = com; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改Lcd1602_Delay1ms(1);LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E = 0;// Lcd1602_Delay1ms(1);LCD1602_DATAPINS = com << 4; //发送低四位Lcd1602_Delay1ms(1);LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E = 0;}#endif/******************************************************************************** 函数名: LcdWriteData* 函数功能: 向LCD写入一个字节的数据* 输入: dat* 输出: 无*******************************************************************************/#ifndef LCD1602_4PINSvoid LcdWriteData(uchar dat) //写入数据{LCD1602_E = 0; //使能清零LCD1602_RS = 1; //选择输入数据LCD1602_RW = 0; //选择写入LCD1602_DATAPINS = dat; //写入数据Lcd1602_Delay1ms(1);LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}#elsevoid LcdWriteData(uchar dat) //写入数据{LCD1602_E = 0; //使能清零LCD1602_RS = 1; //选择写入数据LCD1602_RW = 0; //选择写入LCD1602_DATAPINS = dat; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改Lcd1602_Delay1ms(1);LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E = 0;LCD1602_DATAPINS = dat << 4; //写入低四位Lcd1602_Delay1ms(1);LCD1602_E = 1; //写入时序Lcd1602_Delay1ms(5);LCD1602_E = 0;}#endif/******************************************************************************* * 函数名: LcdInit()* 函数功能: 初始化LCD屏* 输入: 无* 输出: 无*******************************************************************************/ #ifndef LCD1602_4PINSvoid LcdInit() //LCD初始化子程序{LcdWriteCom(0x38); //开显示LcdWriteCom(0x0c); //开显示不显示光标LcdWriteCom(0x06); //写一个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}#elsevoid LcdInit() //LCD初始化子程序{LcdWriteCom(0x32); //将8位总线转为4位总线LcdWriteCom(0x28); //在四位线下的初始化LcdWriteCom(0x0c); //开显示不显示光标LcdWriteCom(0x06); //写一个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}#endif/******************************************************************************** 实验名: 定时器实验* 使用的IO :* 实验效果:1602显示时钟,按K3进入时钟设置,按K1选择设置的时分秒,按K2选择*选择设置加1。