2023年11月30日发(作者:)

燕京理工学院

课程设计报告

课程名称: 电子课程设计

设计题目: 基于单片机的数字万年历

专业、班级: 通信工程1401

:

:

指导教师:

设计时间: 2016.12.12-2016.12.23

2017 1 4

燕京理工学院电子技术课程设计报告

基于STC89C52的万年历设计

摘要

51以及52单片机是现今单片机学习以及开发中最具有

代表性的一种,本次的毕业设计通过对它的学习以及应用,

同时配备必要的外围电路,实现相应的功能,以达到学习、

设计、开发软件、硬件的能力。

本设计以STC89C52RC芯片为核心,实现了以LCD1602

为显示器的万年历。该万年历不但能显示日历、时间、星期,

还能显示当前环境温度,并可以通过按钮校准时间,具有良

好的人机操作界面。

关键词:单片机 发展 STC89C52 万年历 温度

通信工程 *

燕京理工学院电子技术课程设计报告

引言

近年来,人们的生产生活方式发生了巨大的变化,产生这一变化

的重要原因就是计算机技术的发展,其中就包括了微电子技术的

高速发展。而单片机以体积小、功能全、性价比高等诸多优点,

在工业控制、家用电器、通信设备、信息处理、尖端武器等各种

测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、

电气、通信、自动化、机电一体化等专业技术人员必须掌握的技

术。

时钟,自它被发明的那一天起,就成为人们生活中必不可少

的物品。而随着科学技术的不断发展,人们对时间计量的精度要

求越来越高,而时钟也从最原始的日晷发展到现今的高精度的石

英钟表,最先进的时钟误差为37亿年误差一秒。

在现今单片机的学习、开发中,用单片机设计的时钟万年历

已经成为了单片机实验中一个很常用的项目。原因是因为它具有

很好的开放性和可发挥性,不仅考察了对单片机的掌握能力,

时也考察了单片机扩展应用,而且在硬件设计电路中也要力求简

洁,功能齐全,显示出色,所以对操作者的要求较高。

本文主要介绍通过89C52单片机辅以时钟电路等设计的万年

历及当前温度显示的方法。本次设计由单片机STC89C52为核

心,辅以必要的电路,构成了一个单片机万年历以及当前温度显

示,具有显示准确时间以及当前环境温度的功能,同时可对时间

进行手动校准,由于采用了LCD1602进行显示,所以具有了夜

视功能。

鉴于本人水平有限,设计以及说明书中难免有错误、疏漏、

不足之处,在这里恳请老师批评指正不吝赐教。

通信工程 *

燕京理工学院电子技术课程设计报告

1 系统功能要求

1.1 系统功能概述

1.1.1 系统功能

本次设计的主要功能是:以STC89C52RC单片机为核心,配合时钟电

路、复位电路、显示电路、程序烧录电路、按键电路、温度检测电路、供

电电路等电路构成,通过12MHz晶振给单片机正常工作提供稳定的震荡信

号,同时使用32768Hz晶振配合时钟芯片产生高精度的稳定振荡器的频率,

为单片机提供精准的计时,最大限度提高时间的精度。通过DS18B20检测

当前环境温度,通过单片机P1.0接口传输实时数据。通过按钮连接单片机

P2.0P2.1P2.2P2.3接口分别实现时间校准功能的模式转换,数值加1

数值减1,退出校准。通过LCD1602连接单片机P0.0P0.7,P2.5P2.7

口实现万年历时间以及当前环境温度的显示,显示格式为年///星期//

//摄氏度。通过MAX232以及RS232接口实现对单片机程序的下载烧

录。

1.1.2 系统要求

1 使用电平转换电路通过串口对单片机下载程序。

2 保证对环境温度检测的准确性,即时性。

3 确保时间精度的准确性。

4 实现时间的可校准功能。

5 通过LCD显示出万年历时间以及当前环境温度。

6 实现对LCD显示屏的对比度调节。

7 硬件电路设计合理,尽量避免干扰。

8 程序设计力求简便且可实现功能。

9 整体设计力求节约资源。

1.1.3 系统技术指标

通信部分:

1 串口:RS232

2 电平转换:MAX232

3 程序下载电路运行要求稳定。

供电部分:

1 电源:USB接口。

2 电压:+5V

通信工程 *

燕京理工学院电子技术课程设计报告

3 电流:500mA

4 稳压管:1/2W5.1V

5 供电电路尽量避开通信电路,避免造成干扰。

显示部分:

1 显示器:LCD1602

2 电压:+5V

3 自带复位电路。

4 80字节显示数据存储器DDRAM

5 1925X7点阵的字型的字符发生器CGROM

6 8个可由用户自定义的5X7的字符发生器CGRAM

7 上拉电阻:10K

8 可调电阻:10K

按键部分:

1 数量:4个。

2 尺寸:6*6*5mm

3 按钮类型:点动。

最小系统:

1 单片机:STC89C52RC

2 工作电压:+5V

3 外接晶振:12MHz

4 外接晶振电容:22pf

5 时钟芯片:DS1302

6 时钟晶振:32768Hz

7 复位电阻:1K

8 复位电容:20uf

9 时钟芯片电源保护电阻:1K

10 保证晶振震荡正常,程序下载以及系统运行稳定。

通信工程 *

燕京理工学院电子技术课程设计报告

2 系统方案设计

本章主要围绕系统的功能以及系统的要求与技术指标,介绍系统组成、

所使用的硬件资源、软件资源、接口。

2.1 系统组成

整个系统的构成是由供电系统、程序下载电路系统、最小系统、按键

电路系统、时钟电路系统、显示系统构成。

供电系统给整个系统提供稳定的工作电源,程序下载系统专为单片机烧录

2.2.1 单片机选型

主要特性如下:

1 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指

令代码完全兼容传统8051

2 工作电压:5.5V3.3V5V 单片机)/3.8V2.0V3V 单片机)

3 工作频率范围:040MHz,相当于普通8051080MHz,实际工作频率可达

48MHz

4 用户应用程序空间为8K字节。

5 片上集成512字节RAM

6 通用I/O口(32个)复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏

极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上

拉电阻。

7 ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真

器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一

片。

8 具有EEPROM功能。

9 具有看门狗功能。

10 316位定时器/计数器。即定时器 T0T1T2

11 外部中断4路,下降沿中断或低电平触发电路,Power Down 模式可由外部中

断低电平触发中断方式唤醒。

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

13 工作温度范围:-40—+85℃(工业级)/0—75℃(商业级)

通信工程 *

燕京理工学院电子技术课程设计报告

14 PDIP封装。

4-2-3 STC89C52RC单片机

2.2.4 STC89C52RC引脚功能

1 VCC40引脚):电源电压。

2 VSS20引脚):接地。

3 P0端口(P0.0P0.7P0.73932引脚)P0口是一个漏极

开路的8位双向I/O口。

4 P1端口(P1.0P1.718引脚)P1口是一个带内部上拉电

阻的8位双向I/O口。

5 P2端口(P2.0P2.72128引脚)P2口是一个带内部上拉

电阻的8位双向I/O端口。

6 P3端口(P3.0P3.71017引脚)P3是一个带内部上拉电

阻的8位双向I/O端口。

7 RST9引脚):复位输入。

8 ALE/ ROG30引脚)地址锁存控制信号:ALE)是访问外

部程序存储器时,锁存低8位地址的输出脉冲。

8 PSEN(29引脚):外部程序存储器选通信号输出引脚。

10 A/VPP31引脚):访问外部程序存储器控制信号。

11 XTAL119引脚):振荡器反相放大器和内部时钟发生电路

的输入端。

通信工程 *

燕京理工学院电子技术课程设计报告

12 XTAL218引脚):振荡器反相放大器的输入端。

2.2.5 主要芯片选型

1 DS1302简介

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟

芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,

并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟

可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,

且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源

和备用电源)可设置备用电源充电方式,提供了对后背电源进行涓细电流

充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点

的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测

量系统中。

4-2-5-1 DS1302的外部引脚

4-2-5-1 DS1302的内部结构

通信工程 *

燕京理工学院电子技术课程设计报告

各引脚的功能为:

Vcc1:主电源。

Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2DS1302供电,

Vcc2< Vcc1时,由Vcc1DS1302供电。

SCLK:串行时钟,输入,控制数据的输入与输出。

I/O:三线接口时的双向数据线。

CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:

第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单

字节或多字节数据传输的方法。

2 MAX232简介

MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单

电源电平转换芯片,使用+5v单电源供电。

4-2-5-2 MAX232引脚图

各引脚功能:

第一部分是电荷泵电路。由123456脚和4只电容构成。

功能是产生+12v-12v两个电源,提供给RS-232串口电平的需要。

第二部分是数据转换通道。由7891011121314脚构成

两个数据通道。

其中13R1IN12R1OUT11T1IN14T1OUT

为第一数据通道。

8脚(R2IN9脚(R2OUT10脚(T2IN7脚(T2OUT)为第

二数据通道。

TTL/CMOS数据从T1INT2IN输入转换成RS-232数据从T1OUT

通信工程 *

燕京理工学院电子技术课程设计报告

T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1INR2IN输入

转换成TTL/CMOS数据后从R1OUTR2OUT输出。

第三部分是供电。15GND16VCC+5v

4-2-5-2 MAX232接线图

3 LCD1602简介

工业字符型液晶,能够同时显示16*0232个字符。1602液晶也叫

1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液

晶模块,它有若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都

可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了

字符间距和行间距的作用,正因为如此所以他不能显示图形。

4-2-5-3 LCD1602引脚图

4-2-5-3 LCD1602实物图

通信工程 *

燕京理工学院电子技术课程设计报告

各引脚功能:

1脚:VSS为电源地。

2脚:VDD5V电源正极。

3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对

比度最高。

4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

6脚:E(EN)端为使能(enable)端。

714脚:D0D78位双向数据端。

1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

4 DS18B20简介

DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,

如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,LTM8877

LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20

可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测

温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,

使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

DS18B20 的主要特征:

1 全数字温度转换及输出。

2 先进的单总线数据通信。

3 最高 12 位分辨率,精度可达土 0.5摄氏度。

4 12 位分辨率时的最大工作周期为 750 毫秒。

5 可选择寄生工作方式。

6 检测温度范围为55°C +125°C (67°F +257°F)

7 内置 EEPROM,限温报警功能。

8 64 位光刻 ROM,内置产品序列号,方便多机挂接。

9 多样封装形式,适应不同硬件系统。

通信工程 *

燕京理工学院电子技术课程设计报告

4-2-5-4 DS18B20实物图

各引脚功能:

GND:接地。

DQ:信号输入输出。

VDD:电源。

2.3 硬件材料清单

序号 名称 规格 数量

1 万能板 9*15cm 1

2 STC89C52 IC插座 双排直插40 1

3 DS1302 IC插座 双排直插8 1

4 MAX232插座 双排直插16 1

5 LCD1602 IC插座 单排直插16 1

6 RS232母座 RS232接口插座 1

7 USB母座 1

8 普通按钮 6*6*5mm 4

9 USBRS232串口线 USBRS232 1

10 USB供电线 USB 1

11 USBTTL数据线 USBTTL 1

12 MAX232芯片 MAX232 1

13 STC89C52芯片 STC89C52 1

14 DS1302时钟芯片 DS1302 1

15 LCD1602液晶屏 LCD1602 1

通信工程 *

燕京理工学院电子技术课程设计报告

16 DS18B20温感 DS18B20 1

17 可调电阻 3362 10K 1

18 电解电容 20uf 2

19 电解电容 10uf 4

20 石英晶振 12MHz 1

21 圆形晶振 32768Hz 1

22 杜邦线 10

23 稳压管 1/2W5.1V 1

24 铜柱+螺母 4

25 排针 40PIN*1 2

26 红色LED 5mm 1

27 电源插口+插座 1

28 7805稳压管 L7805CV 1

29 1/4W0欧电阻 1/4W0 15

30 普通电容 22pf 2

2.4 系统I/O接口及功能

1 P0.0P0.7接口:LCD1602传送及时数据电平信号。

2 P2.0P2.3接口:时间校准按键信号检测接口。

3 P2.5接口:LCD1602寄存器选择信号输出。

4 P2.6接口:LCD1602读写信号输出。

5 P2.7接口:LCD1602使能信号数据接口。

6 P3.0接口:MAX232数据输出。

7 P3.1接口:MAX232数据输入。

8 P1.0接口:DS18B20温感数据检测。

9 P1.5接口:DS1302时钟芯片复位。

10 P1.6接口:DS1302时钟芯片数据输入输出。

11 P1.7接口:DS1302时钟芯片控制数据输入输出。

12 RST接口:复位。

13 XTAL1TAL2接口:震荡器反向放大器输入输出。

通信工程 *

燕京理工学院电子技术课程设计报告

14 VCCVSS接口:单片机电源、接地。

15 EA接口:内外存储器选择。

4-3-1 系统仿真图

4-3-2 接线图

通信工程 *

燕京理工学院电子技术课程设计报告

2.5 系统软件设计

4-3-3 万年历计算子程序图

4-3-4 系统主流程图

通信工程 *

燕京理工学院电子技术课程设计报告

3 系统调试

3.1 调试

3.1.1 软件调试

本次设计软件调试工具主要依靠单片机仿真软件Proteus 7 Professional

以及Keil C51软件,虽然仿真软件中无法调用STC单片机,但是由于

STC89C52RCAT89C52相差无几,所以我采用的是AT89C52芯片来进

行调试。在画硬件接线原理图的时候一定要先在草稿纸上或者脑海里根据

I/O接口以及所实现的功能将每个芯片以及接口等元件的位置摆放合理之

后再进行画图。不然会出现不停涂改,事倍功半。硬件线路接好之后再进

行程序的调试,由于整个程序是主程序调用各个功能的子程序来实现的,

所以程序调试最好分部进行,比如检测当前环境温度这个功能就可以单独

拿出来检测子程序是否正确,这样就可以保证每个子程序的正确性,同时

也提高了调试的效率。充分利用Keil软件的功能,准确查找出程序的常规

错误,根据软件提示修改程序。在配合仿真软件调试的时候,如果出现可

以运行,但是运行不正常的时候,尝试修改程序中的变量数值,以达到运

行正常的目的。

3.1.2 硬件调试

本次设计硬件焊接中尽量避免出现虚焊的状况,不然后期调试中就需

要每一个焊点都要检测,十分的麻烦。硬件焊接的时候一定要先把最小系

统完成,然后检测最小系统是否正常,正常之后再进行余下的工作。硬件

调试之前切记不可直接上电,应该先用万用表调至电阻档检测整个系统供

电电路是否出现短路的情况,如果出现短路状况就根据电路图结合硬件检

查并排除故障。如果供电线路没有出现短路故障,就可以给系统上电,加

电之后首先查看电源指示灯是否得电,如果供电系统正常但是系统无法正

常工作就用万用表查看各个芯片是否得电,需要接地的是否已经接地,需

要短接的是否已经短接,是否出现虚焊没有排除的状况。故障逐一排除后

就进行程序的下载烧录。

通信工程 *

燕京理工学院电子技术课程设计报告

3.1.3 本次设计出现的故障分析以及解决方案

1 故障:元件接触不良。

分析:焊接出现虚焊。

解决方案:每焊接好一个引脚的时候就用万用表检测焊接是否

正常。

2 故障:程序烧录中出现无法与单片机连接或者连接上之后烧录

中途失败。

分析:TXRX接反。

解决方案:交换TXRX

分析:晶振不起振,原因是晶振距离单片机过远。

解决方案:拉近晶振与单片机距离。

分析:晶振不起振,原因是晶振与单片机的连接线出现虚焊。

解决方案:重新焊接引脚。

3 故障:LCD显示器显示过程中出现时间跑飞。

分析:时钟芯片工作不正常。

解决方案:更换时钟芯片。

分析:LCD或者时钟电路出现虚焊。

解决方案:重新焊接引脚。

4 故障:LCD无法初始化。

分析:震荡电路无法工作,原因是晶振不起振,导致芯片无法

工作。

解决方案:重新焊接晶振。

通信工程 *

燕京理工学院电子技术课程设计报告

4 总结

4.1 结论

通过赵燕老师的辅导,自身的努力,本次电子技术课程设计任务顺利

完成,所要求的功能都已经全部实现。万年历时间显示正常,环境温度检

测正常运行,时间校准可以正常运行,LCD对比度调节正常使用,整个设

计都已经达到了要求的状态。

4.2 心得

由于进行本次设计的时,本人未学过布线,导致开始的电路板出现浪

费空间的状况,也未考虑到高频率连接线平行时的干扰情况,导致整个系

统工作稳定性欠佳。本次设计对焊接技术也是一个考验,由于都是一些比

较小的电子元件,所以需要相对好的焊接技术,不然很容易出现返工。由

于本次设计中连接线比较多,所以也考察到了一个人的细心程度,不然比

较容易漏掉必须连接的导线,导致整个排故比较困难。

综合本次设计,不足之处就是布线不合理,焊接技术欠佳,未能合理

得安排设计进行的顺序,一定要在余下的时日里抓紧补充相关知识,并在

以后设计中注意再次出现类似问题。

通信工程 *

燕京理工学院电子技术课程设计报告

致谢

关于本次课程设计,感慨良多。总的来说还是比较令人

满意,富有收获,尽管过程中充满了艰辛与困难。但看到自

己的成果时,所有的艰辛与疲倦都抛到了九霄云外。一种成

就感在心头油然而生。另外一方面,在自己的亲身实践中,

也发现了自己的一些不足的地方,有待进一步提高与改善。

本次整个课程设计是对自己大学三年来所学知识归纳总结

以及应用,真正把理论知识应用到实践之中去。当然,整个

设计过程之中也充分说明了一个道理,那就是除了良好的专

业基础知识以外,还需要拥有耐心和细心。所以,在设计过

程中,一定要对自己有信心,同时也说明不管我们以后做任

何事情,都需要有信心,恒心,细心,耐心。

在大学的学习中,在我第一次接触单片机的时候,就对

它产生了浓厚的兴趣,在张秋菊老师的帮助和鼓励下,我如

饥似渴般学习关于它的知识,后来赵燕老师也对我的学习产

生了很大的推动,在此我感谢这两位老师在我学习单片机的

燕京理工学院电子技术课程设计报告

参考文献

书籍:1)王文杰、许文斌,单片机应用技术,

冶金工业出版社,20086月第1版,233

书籍:2柳淳,电子爱好者入门要诀(技能篇)

中国电力出版社,20106月第1版,473

书籍:3)吉顺如,刘新铭,辜碧容,唐政,C

言程序设计教程(第二版)机械工业出版社,2010

3月第2版,254

通信工程 *

燕京理工学院电子技术课程设计报告

实物照片

通信工程 *

燕京理工学院电子技术课程设计报告

指导教师评语: