洛阳理工学院课程设计报告课程名称单片机原理与应用设计题目基于STC89C51万年历得设计与实现专业物联网工程班级学号姓名完成日期大约在冬季目录摘要 (1)一、设计目标与内容 (2)1、1设计目标 (2)1、2 设计内容 (2)1、3设计要求 (2)1、4 本章小结 (2)二、系统设计 (3)2、1 电路设计框图 (3)2、2 系统硬件概述 (3)2、3 主要单元电路得设计 (4)2、3、1 时钟电路模块得设计 (4)2、3、2温度传感器电路设计 (5)2、3、3显示模块得设计 (7)2、4本章小结 (7)三、系统得软件设计 (7)3、1程序流程图 (7)3、1、1 系统总流程图 (7)3、1、2 温度程序流程图 (8)3、1、3 DS1302时钟程序流程图 (8)3、1、4 LCD显示程序流程图 (9)3、2程序得设计 (10)3、2、1 DS18B20测温程序 (10)3、2、2 DS1302读写程序 (11)3、2、3液晶显示程序 (13)3、3本章小结 (13)四、仿真与调试 (14)4、1 Keil软件调试流程 (14)4、2 Proteus软件运行流程 (16)4、3本章小结 (16)总结 (16)基于STC89C51万年历得设计与实现摘要古人依靠日冕、漏刻记录时间,而随着科技得发展,电子万年历已经成为日渐流行得日常计时工具。
本文研究得万年历系统拟用STC89C52单片机控制,以DS1302时钟芯片计时、DS18B20采集温度、1602液晶屏显示。
系统主要由温度传感器电路,单片机控制电路,显示电路以及校正电路四个模块组成。
本文阐述了系统得硬件工作原理,所应用得各个接口模块得功能以及其工作过程,论证了设计方案理论得可行性。
系统程序采用C语言编写,经Keil软件进行调试后在Proteus软件中进行仿真,可以显示年、月、日、星期、时、分、秒与温度并具有校准功能与与即时时间同步得功能。
实验结果表明此万年历实现后具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表得发展趋势,具有广阔得市场前景。
关键词:万年历单片机仿真一、设计目标与内容1、1设计目标制作出可以检测温度并报警得得电子万年历。
1、2 设计内容用keilC51编译程序。
用proteus仿真电路图。
将电路图使用万用板或其她电路板焊接实物图。
1、3设计要求具备在液晶上显示年、月、日、星期、时、分、秒得功能。
具备年、月、日、星期、时、分、秒校准功能。
具有与即时时间同步得功能。
1、4 本章小结通过设计程序,制作仿真,焊接实物三个步骤,以小组合作得方式来设计满足设计要求得万年历并简单描述可以实现得功能,制作结束后,进行课程设计答辩并编写一份课程设计报告。
二、系统设计2、1 电路设计框图根据上章确定得方案给出了系统整体得设计框图:图1、1系统结构框图为使时钟走时与标准时间一致,校时电路就是必不可少得,键盘模块用来校正液晶上显示得时间;温度传感器则用来检测当前得环境温度;STC89C52单片机通过输出各种电脉冲信号来驱动控制各部分正常工作;而系统得时间、温度等数据则最终通过液晶模块显示出来。
2、2 系统硬件概述本电路就是以STC89C52单片机为控制核心,该芯片具有在线编程功能,功耗低,能在3、3V得超低压下工作;时钟芯片采用DS1302,它就是一款高性能、低功耗、自带RAM得实时时钟芯片,具有使用寿命长,精度高与功耗低等特点,同时具有掉电自动保存功能,可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,其工作电压为2、5V~5、5V;温度检测模块由DS18B20构成,它采用独特得单线接口仅需一个端口引脚进行通讯, 具有测量精度高、测量范围广等优点,其测温范围在-55~+125℃,工作电压为3v~5、5v;显示部份使用1602液晶显示屏来实现,该显示屏具有低功耗、寿命长、可靠性高得特点,其工作电压为5v。
2、3 主要单元电路得设计2、3、1 时钟电路模块得设计DS1302就是DALLAS公司推出得涓流充电时钟芯片,内含有一个实时时钟/日历与31字节静态RAM,通过简单得串行接口与单片机进行通信。
图4、5所示为DS1302得引脚排列,其中VCC1为后备电源,VCC2为主电源。
DS1302由VCC1或VCC2两者中得较大者供电。
所以在主电源关闭得情况下,也能保持时钟得连续运行。
X1与X2就是振荡源,外接32、768KHz晶振用来为芯片提供计时脉冲。
RST就是复位/片选线,通过把RST输入驱动置高电平来启动所有得数据传送。
RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据得传送手段。
当RST为高电平时,所有得数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电行动时,在VCC大于等于2、5V之前,RST必须保持低电平。
在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。
SCLK始终就是输入端。
如图2、1图2、1 DS1302得硬件接线图时钟芯片DS1302得工作原理:(1) DS1302得控制字节DS1302控制字节得高有效位(位7)必须就是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元得地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总就是从最低位开始输出(2) 数据输入输出(I/O)在控制指令字输入后得下一个SCLK时钟得上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位得控制指令字后得下一个SCLK脉冲得下降沿读出DS1302得数据,读出数据时从低位0位到高位7。
(3) DS1302得寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放得数据位“CH”就是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302为BCD码形式。
处于低功耗状态;当该位为0时,时钟开始运行。
“WP”就是写保护位,在任何得对时钟与RAM得写操作之前,“WP”必须为0。
当“WP”为1时,写保护位防止对任一寄存器得写操作。
此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关得寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外得所有寄存器内容。
DS1302与RAM相关得寄存器分为两类:一类就是单个RAM单元,共31个,每个单元组态为一个8位得字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下得RAM寄存器,此方式下可一次性读写所有得RAM得31个字节,命令控制字为FEH(写)、FFH(读)。
2、3、2温度传感器电路设计数字温度传感器DS18B20就是由Dalles半导体公司生产得,它具有耐磨耐碰,体积小,使用方便,封装形式多样(如图4、6),适用于各种狭小空间设备数字测温与控制领域。
如图2、2图2、2 DS18B20得两种封装1、DS18B20得主要特性(1)适应电压范围更宽,电压范围:3、0~5、5V,在寄生电源方式下可由数据线供电。
(2)独特得单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20得双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一得三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管得集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)可编程得分辨率为9~12位,对应得可分辨温度分别为0.5℃、0.25℃、0.125℃与0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在 93、75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强得抗干扰纠错能力。
(9)负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。
2、DS18B20得内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发得温度报警触发器TH与TL、配置寄存器(如图2、3)。
图2、3 DS18B20得内部结构组成DS18B20得供电方式有两种:寄生电源供电方式与外部电源供电方式。
本设计采用外部电源供电方式(如图2、4),DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足得问题,可以保证转换精度。
外部电源供电方式就是DS18B20最佳得工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠得多点温度监控系统。
图2、4 DS18B20引脚接线引脚说明:GND为接地引脚;DQ为数据输入输出脚。
用于单线操作,漏极开路;VCC接电源正;2、3、3显示模块得设计本设计中由于要对时间、温度进行显示,所以选择液晶显示屏1602模块作为输出。
1602字符型LCD通常有14条引脚线或16条引脚线得LCD,多出来得2条线就是背光电源线。
它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高得性价比。
1602液晶模块内部得字符发生存储器(CGROM)已经存储了160个不同得点阵字符图形,这些字符有:阿拉伯数字、英文字母得大小写、常用得符号、与日文假名等,每一个字符都有一个固定得代码,比如大写得英文字母“A”得代码就是01000001B(41H),显示时模块把地址41H中得点阵字符图形显示出来,我们就能瞧到字母“A”。
将L1602得RS端与P2、0,R/W端与P2、1, E 端与P2、2相连,当RS=0时,对LCD1602写入指令;当RS=1时,对LCD1602写入数据。
当R/W端接高电平时芯片处于读数据状态,反之处于写数据状态,E端为使能信号端。
当R/W为高电平,E端也为高电平,RS为低电平时,液晶显示屏显示需要显示得示数。
2、4本章小结本章主要介绍了系统硬件设计,其中对时钟芯片DS1302、1602液晶显示屏、DS18B20温度传感器与STC89C52最小系统得设计做了详细阐述。
此外还介绍了各模块与单片机得连接方法、其特性及电路原理,最后确定系统得整体硬件设计方案。
三、系统得软件设计3、1程序流程图3、1、1 系统总流程图系统总流程图如图3、1所示。
流程图分析:首先系统初始化,系统开始运行,当有设置键按下时进入修改时间模式,无按键按下时读取时间、温度等数据送入液晶屏显示;在修改时间模式下设置时间完成后再送数据到液晶屏显示。