st89c52单片机万年历温度显示.docx
- 文档编号:5027148
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:960.49KB
st89c52单片机万年历温度显示.docx
《st89c52单片机万年历温度显示.docx》由会员分享,可在线阅读,更多相关《st89c52单片机万年历温度显示.docx(18页珍藏版)》请在冰豆网上搜索。
st89c52单片机万年历温度显示
燕京理工学院
课程设计报告
课程名称:
电子课程设计
设计题目:
基于单片机的数字万年历
专业、班级:
通信工程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.0,P2.1,P2.2,P2.3接口分别实现时间校准功能的模式转换,数值加1,数值减1,退出校准。
通过LCD1602连接单片机P0.0—P0.7,P2.5—P2.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/2W,5.1V。
(5)供电电路尽量避开通信电路,避免造成干扰。
显示部分:
(1)显示器:
LCD1602。
(2)电压:
+5V。
(3)自带复位电路。
(4)80字节显示数据存储器DDRAM。
(5)192个5X7点阵的字型的字符发生器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.5V—3.3V(5V单片机)/3.8V—2.0V(3V单片机)。
(3)工作频率范围:
0—40MHz,相当于普通8051的0—80MHz,实际工作频率可达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)共3个16位定时器/计数器。
即定时器T0、T1、T2。
(11)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。
(12)通用异步串行口(UART),还可用定时器软件实现多个UART。
(13)工作温度范围:
-40—+85℃(工业级)/0—75℃(商业级)。
(14)PDIP封装。
图4-2-3STC89C52RC单片机
2.2.4STC89C52RC引脚功能
(1)VCC(40引脚):
电源电压。
(2)VSS(20引脚):
接地。
(3)P0端口(P0.0—P0.7,P0.7,39—32引脚):
P0口是一个漏极开路的8位双向I/O口。
(4)P1端口(P1.0—P1.7,1—8引脚):
P1口是一个带内部上拉电阻的8位双向I/O口。
(5)P2端口(P2.0—P2.7,21—28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。
(6)P3端口(P3.0—P3.7,10—17引脚):
P3是一个带内部上拉电阻的8位双向I/O端口。
(7)RST(9引脚):
复位输入。
(8)ALE/ROG(30引脚)地址锁存控制信号:
(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
(8)PSEN(29引脚):
外部程序存储器选通信号输出引脚。
(10)A/VPP(31引脚):
访问外部程序存储器控制信号。
(11)XTAL1(19引脚):
振荡器反相放大器和内部时钟发生电路的输入端。
(12)XTAL2(18引脚):
振荡器反相放大器的输入端。
2.2.5主要芯片选型
(1)DS1302简介
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5—5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。
图4-2-5-1DS1302的外部引脚
图4-2-5-1DS1302的内部结构
各引脚的功能为:
Vcc1:
主电源。
Vcc2:
备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 SCLK: 串行时钟,输入,控制数据的输入与输出。 I/O: 三线接口时的双向数据线。 CE: 输入信号,在读、写数据期间,必须为高。 该引脚有两个功能: 第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。 (2)MAX232简介 MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。 图4-2-5-2MAX232引脚图 各引脚功能: 第一部分是电荷泵电路。 由1、2、3、4、5、6脚和4只电容构成。 功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。 由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。 15脚GND、16脚VCC(+5v)。 图4-2-5-2MAX232接线图 (3)LCD1602简介 工业字符型液晶,能够同时显示16*02即32个字符。 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符。 每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 图4-2-5-3LCD1602引脚图 图4-2-5-3LCD1602实物图 各引脚功能: 第1脚: VSS为电源地。 第2脚: VDD接5V电源正极。 第3脚: V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。 第4脚: RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚: RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 第6脚: E(或EN)端为使能(enable)端。 第7~14脚: D0—D7为8位双向数据端。 第15~16脚: 空脚或背灯电源。 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-4DS18B20实物图 各引脚功能: GND: 接地。 DQ: 信号输入输出。 VDD: 电源。 2.3硬件材料清单 序号 名称 规格 数量 1 万能板 9*15cm 1 2 STC89C52IC插座 双排直插40脚 1 3 DS1302IC插座 双排直插8脚 1 4 MAX232插座 双排直插16脚 1 5 LCD1602IC插座 单排直插16脚 1 6 RS232母座 RS232接口插座 1 7 USB母座 1 8 普通按钮 6*6*5mm 4 9 USB转RS232串口线 USB转RS232 1 10 USB供电线 USB 1 11 USB转TTL数据线 USB转TTL 1 12 MAX232芯片 MAX232 1 13 STC89C52芯片 STC89C52 1 14 DS1302时钟芯片 DS1302 1 15 LCD1602液晶屏 LCD1602 1 16 DS18B20温感 DS18B20 1 17 可调电阻 336210K 1 18 电解电容 20uf 2 19 电解电容 10uf 4 20 石英晶振 12MHz 1 21 圆形晶振 32768Hz 1 22 杜邦线 10根 23 稳压管 1/2W,5.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.0—P0.7接口: LCD1602传送及时数据电平信号。 (2)P2.0—P2.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)XTAL1、TAL2接口: 震荡器反向放大器输入输出。 (14)VCC、VSS接口: 单片机电源、接地。 (15)EA接口: 内外存储器选择。 图4-3-1系统仿真图 图4-3-2接线图 2.5系统软件设计 图4-3-3万年历计算子程序图 图4-3-4系统主流程图 3系统调试 3.1调试 3.1.1软件调试 本次设计软件调试工具主要依靠单片机仿真软件Proteus7Professional以及KeilC51软件,虽然仿真软件中无法调用STC单片机,但是由于STC89C52RC与AT89C52相差无几,所以我采用的是AT89C52芯片来进行调试。 在画硬件接线原理图的时候一定要先在草稿纸上或者脑海里根据I/O接口以及所实现的功能将每个芯片以及接口等元件的位置摆放合理之后再进行画图。 不然会出现不停涂改,事倍功半。 硬件线路接好之后再进行程序的调试,由于整个程序是主程序调用各个功能的子程序来实现的,所以程序调试最好分部进行,比如检测当前环境温度这个功能就可以单独拿出来检测子程序是否正确,这样就可以保证每个子程序的正确性,同时也提高了调试的效率。 充分利用Keil软件的功能,准确查找出程序的常规错误,根据软件提示修改程序。 在配合仿真软件调试的时候,如果出现可以运行,但是运行不正常的时候,尝试修改程序中的变量数值,以达到运行正常的目的。 3.1.2硬件调试 本次设计硬件焊接中尽量避免出现虚焊的状况,不然后期调试中就需要每一个焊点都要检测,十分的麻烦。 硬件焊接的时候一定要先把最小系统完成,然后检测最小系统是否正常,正常之后再进行余下的工作。 硬件调试之前切记不可直接上电,应该先用万用表调至电阻档检测整个系统供电电路是否出现短路的情况,如果出现短路状况就根据电路图结合硬件检查并排除故障。 如果供电线路没有出现短路故障,就可以给系统上电,加电之后首先查看电源指示灯是否得电,如果供电系统正常但是系统无法正常工作就用万用表查看各个芯片是否得电,需要接地的是否已经接地,需要短接的是否已经短接,是否出现虚焊没有排除的状况。 故障逐一排除后就进行程序的下载烧录。 3.1.3本次设计出现的故障分析以及解决方案 (1)故障: 元件接触不良。 分析: 焊接出现虚焊。 解决方案: 每焊接好一个引脚的时候就用万用表检测焊接是否正常。 (2)故障: 程序烧录中出现无法与单片机连接或者连接上之后烧录 中途失败。 分析: TX和RX接反。 解决方案: 交换TX和RX。 分析: 晶振不起振,原因是晶振距离单片机过远。 解决方案: 拉近晶振与单片机距离。 分析: 晶振不起振,原因是晶振与单片机的连接线出现虚焊。 解决方案: 重新焊接引脚。 (3)故障: LCD显示器显示过程中出现时间跑飞。 分析: 时钟芯片工作不正常。 解决方案: 更换时钟芯片。 分析: LCD或者时钟电路出现虚焊。 解决方案: 重新焊接引脚。 (4)故障: LCD无法初始化。 分析: 震荡电路无法工作,原因是晶振不起振,导致芯片无法工作。 解决方案: 重新焊接晶振。 4总结 4.1结论 通过赵燕老师的辅导,自身的努力,本次电子技术课程设计任务顺利完成,所要求的功能都已经全部实现。 万年历时间显示正常,环境温度检测正常运行,时间校准可以正常运行,LCD对比度调节正常使用,整个设计都已经达到了要求的状态。 4.2心得 由于进行本次设计的时,本人未学过布线,导致开始的电路板出现浪费空间的状况,也未考虑到高频率连接线平行时的干扰情况,导致整个系统工作稳定性欠佳。 本次设计对焊接技术也是一个考验,由于都是一些比较小的电子元件,所以需要相对好的焊接技术,不然很容易出现返工。 由于本次设计中连接线比较多,所以也考察到了一个人的细心程度,不然比较容易漏掉必须连接的导线,导致整个排故比较困难。 综合本次设计,不足之处就是布线不合理,焊接技术欠佳,未能合理得安排设计进行的顺序,一定要在余下的时日里抓紧补充相关知识,并在以后设计中注意再次出现类似问题。 致谢 关于本次课程设计,感慨良多。 总的来说还是比较令人满意,富有收获,尽管过程中充满了艰辛与困难。 但看到自己的成果时,所有的艰辛与疲倦都抛到了九霄云外。 一种成就感在心头油然而生。 另外一方面,在自己的亲身实践中,也发现了自己的一些不足的地方,有待进一步提高与改善。 本次整个课程设计是对自己大学三年来所学知识归纳总结以及应用,真正把理论知识应用到实践之中去。 当然,整个设计过程之中也充分说明了一个道理,那就是除了良好的专业基础知识以外,还需要拥有耐心和细心。 所以,在设计过程中,一定要对自己有信心,同时也说明不管我们以后做任何事情,都需要有信心,恒心,细心,耐心。 在大学的学习中,在我第一次接触单片机的时候,就对它产生了浓厚的兴趣,在张秋菊老师的帮助和鼓励下,我如饥似渴般学习关于它的知识,后来赵燕老师也对我的学习产生了很大的推动,在此我感谢这两位老师在我学习单片机的过程中给我的帮助和鼓励。 在本次课程设计中,特别要感谢我的辅导老师赵燕老师,感谢她对我的帮助和鼓励,才使我的电子课程设计能够很好的完成。 参考文献 书籍: (1)王文杰、许文斌,单片机应用技术,冶金工业出版社,2008年6月第1版,233页 书籍: (2)柳淳,电子爱好者入门要诀(技能篇),中国电力出版社,2010年6月第1版,473页 书籍: (3)吉顺如,刘新铭,辜碧容,唐政,C语言程序设计教程(第二版),机械工业出版社,2010年3月第2版,254页 附实物照片 指导教师评语: 签名: 年月日 课程设计成绩(五级分制)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- st89c52 单片机 万年历 温度 显示