单片机三级项目报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该项目预期完成温度实时测量显示、时间实时显示、可设定闹钟、可调时、上下午指示、半秒指示等功能。
1ห้องสมุดไป่ตู้
1.1
基于单片机的简单电子钟系统仿真设计。
1.2
要求基于51系列单片机利用Protues软件仿真设计一个具有时间显示、按键调时、闹钟报警、温度测量等功能的电子钟系统,可实现六项基本功能分别如下:
1)时间显示:显示当前时间:小时、分钟、秒。
d)按下K2键,分钟加;按下K3键,分钟减。
e)调整好分钟后,再按下K1键,调时结束。
6)闹钟功能:采用三个按键(K2-K4)来调整闹钟,步骤如下:
a)按下K4键,开始调小时,同时2个小时数码管闪烁。
b)按下K2键,小时加;按下K3键,小时减。
c)小时调整好,再按下K4键,开始调分钟,同时分钟数码管闪烁。
芯片引脚及在系统中连接如下图
图3-2-1.DS1302芯片接线图
3.3
此模块我们采用DS18B20温度传感器,它是美国DALLAS公司推出的DS系列数字温度传感器,每一个DSl8B20包括一个唯一的64位长的序号,该序号值存放在DSl8B20内部的ROM(只读存储器)中,开始8位是产品类型编码(DSl8B20编码均为10H),接着的48位是每个器件唯一的序号,最后8位是前面56位的CRC(循环冗余校验)码,DSl8B20中还有用于贮存测得的温度值的两个8位存储器RAM,编号为0号和1号,1号存储器存放温度值的符号,如果温度为负,则1号存储器8位全为1,否则全为0;0号存储器用于存放温度值的补码,LSB(最低位)的1表示0.5,将存储器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-55º~125º)。
2.2
整个系统采用应用广泛的AT89C51作为控制芯片,利用DS1302获取时间,采用DS18B20实现温度的测量,利用LCD1602液晶显示屏显示温度,时间等参数,利用单片机内部的定时器来实现数据的定时刷新。它的处理过程如下:首先初始化定时器以及温度传感器和时钟芯片,设定单片机内部的一个定时器为50ms产生一次中断,对时间和温度参数实现周期性刷新,然后读取温度,将温度值与设置的闹钟值等参数进行比较,并做出相应的动作。然后读取按键值,如果是设置键,则改变标志位,并进入相应项进行设置,若标志位为初始状态,则显示时间及温度参数。
基于单片机的智能电子钟系统仿真设计
Design and Simulation Of Electronic Clock
Based on Single-chip System
教务处
2015年10月
基于单片机的智能电子钟系统仿真设计
(燕山大学信息科学与工程学院)
摘要
摘要:本课程三级项目是基于MCS-51系列单片机利用Protues软件仿真设计一个简单的电子钟系统。以MCS-51系列单片机为核心,通过时钟芯片DS1302提供实时时间数据,通过温度传感器DS18B20提供实时温度数据,通过LCD1602液晶显示屏显示时间温度等信息,以及蜂鸣器、指示灯等提供闹钟和上下午、半秒闪烁等信息。我们采用C语言,利用keil软件编写C语言程序并生成HEX文件,用Protues设计电路,将程序在Protues中仿真,最终实现电子钟的设计。
3
3.1
AT89C51是美国Atmel公司生产的低功耗,高性能CMOS八位单片机。片内ROM全部采用FLASH ROM技术,片内含4KB的可系统编程的Flash只读程序存储器,器件采用Atmel公司的高密度、非易失性存储技术生产,完全兼容Intel公司生产的MCS-51系列单片机的指令系统及引脚。
图3-1-1 AT89C51单片机
2)温度显示:显示当前环境温度。
3)上下午指示:采用两个发光二极管来指示上下午。
4)半秒提示:采用两个发光二极管,每隔半秒闪烁。
5)调时功能:采用三个按键(K1-K3)来调整时间,步骤如下:
a)按下K1键,开始调小时,同时2个小时数码管闪烁。
b)按下K2键,小时加;按下K3键,小时减。
c)小时调整好后,再按下K1键,开始调分钟,同时分钟数码管闪烁。
3.2时钟模块
我们采用DS1302实现时间显示,DS1302是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
关键词:89c51单片机、闹钟报警、Proteus、DS1302、时钟
前言
本三级项目要求基于MCS-51系列单片机利用Protues软件仿真设计一个具有时间显示、按键调时、闹钟报警、温度测量等功能的电子钟系统。
我们对电子钟的开发手段进行了分析,最终决定采用51系列单片机技术实现多功能智能电子钟系统,这种实现方法的优点是电路简单、性能可靠、实时性好、时间精确、操作简单、编程容易。我们利用Proteus软件进行仿真设计,这样不用制作实际电路便可以得出结果,便于检验电路及软件正确性,可以为以后制作实际电路做准备。另外这样制作出的电子钟系统可以应用到日常工作和生活中,也可以通过改装来提高性能或者进行功能扩充等操作。
d)按下K2键,分钟加;按下K3键,分钟减。
e)调整好分钟后,再按下K4键,定闹结束。
闹钟定时的时间到后,蜂鸣器/扬声器发出提示音。用户需按K2-k4键来取消闹钟警告。
2
2.
利用51单片机内部的定时/计数器、中断系统、以及按键和时钟芯片DS1302、DS18B20温度传感器、LCD1602液晶显示屏等元件,利用Protues软件仿真设计一个具有时间显示、按键调时、闹钟报警、温度测量等功能的电子钟系统。
在程序中,定时器采用中断方式工作,在中断服务程序中实现时间获取、温度获取、上下午判断、闹钟报警、以及半秒闪烁等功能。在主程序中需要对定时器、DS1302、DS18B20、LCD1602进行初始化,然后循环进行按键检测并执行相应的功能。
2.3系统硬件设计
2.3.1
此设计原理框图如下图所示,此电路包括以下九个部分:单片机,时钟电路,测温电路,按键电路,LED指示灯,复位电路,晶振电路,显示电路及蜂鸣器。
图2-3-1电子钟系统硬件电路组成框图
2.3.2
我们利用Proteus软件进行电路仿真。Proteus软件不仅具有其它EDA工具软件的仿真功能,而且还能仿真单片机及外围器件。是目前比较好用的仿真单片机及外围器件的工具。
下图为我们设计的简单电子时钟的电路仿真图。
图2-3-2 Proteus中设计的电子时钟系统原理图
1ห้องสมุดไป่ตู้
1.1
基于单片机的简单电子钟系统仿真设计。
1.2
要求基于51系列单片机利用Protues软件仿真设计一个具有时间显示、按键调时、闹钟报警、温度测量等功能的电子钟系统,可实现六项基本功能分别如下:
1)时间显示:显示当前时间:小时、分钟、秒。
d)按下K2键,分钟加;按下K3键,分钟减。
e)调整好分钟后,再按下K1键,调时结束。
6)闹钟功能:采用三个按键(K2-K4)来调整闹钟,步骤如下:
a)按下K4键,开始调小时,同时2个小时数码管闪烁。
b)按下K2键,小时加;按下K3键,小时减。
c)小时调整好,再按下K4键,开始调分钟,同时分钟数码管闪烁。
芯片引脚及在系统中连接如下图
图3-2-1.DS1302芯片接线图
3.3
此模块我们采用DS18B20温度传感器,它是美国DALLAS公司推出的DS系列数字温度传感器,每一个DSl8B20包括一个唯一的64位长的序号,该序号值存放在DSl8B20内部的ROM(只读存储器)中,开始8位是产品类型编码(DSl8B20编码均为10H),接着的48位是每个器件唯一的序号,最后8位是前面56位的CRC(循环冗余校验)码,DSl8B20中还有用于贮存测得的温度值的两个8位存储器RAM,编号为0号和1号,1号存储器存放温度值的符号,如果温度为负,则1号存储器8位全为1,否则全为0;0号存储器用于存放温度值的补码,LSB(最低位)的1表示0.5,将存储器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-55º~125º)。
2.2
整个系统采用应用广泛的AT89C51作为控制芯片,利用DS1302获取时间,采用DS18B20实现温度的测量,利用LCD1602液晶显示屏显示温度,时间等参数,利用单片机内部的定时器来实现数据的定时刷新。它的处理过程如下:首先初始化定时器以及温度传感器和时钟芯片,设定单片机内部的一个定时器为50ms产生一次中断,对时间和温度参数实现周期性刷新,然后读取温度,将温度值与设置的闹钟值等参数进行比较,并做出相应的动作。然后读取按键值,如果是设置键,则改变标志位,并进入相应项进行设置,若标志位为初始状态,则显示时间及温度参数。
基于单片机的智能电子钟系统仿真设计
Design and Simulation Of Electronic Clock
Based on Single-chip System
教务处
2015年10月
基于单片机的智能电子钟系统仿真设计
(燕山大学信息科学与工程学院)
摘要
摘要:本课程三级项目是基于MCS-51系列单片机利用Protues软件仿真设计一个简单的电子钟系统。以MCS-51系列单片机为核心,通过时钟芯片DS1302提供实时时间数据,通过温度传感器DS18B20提供实时温度数据,通过LCD1602液晶显示屏显示时间温度等信息,以及蜂鸣器、指示灯等提供闹钟和上下午、半秒闪烁等信息。我们采用C语言,利用keil软件编写C语言程序并生成HEX文件,用Protues设计电路,将程序在Protues中仿真,最终实现电子钟的设计。
3
3.1
AT89C51是美国Atmel公司生产的低功耗,高性能CMOS八位单片机。片内ROM全部采用FLASH ROM技术,片内含4KB的可系统编程的Flash只读程序存储器,器件采用Atmel公司的高密度、非易失性存储技术生产,完全兼容Intel公司生产的MCS-51系列单片机的指令系统及引脚。
图3-1-1 AT89C51单片机
2)温度显示:显示当前环境温度。
3)上下午指示:采用两个发光二极管来指示上下午。
4)半秒提示:采用两个发光二极管,每隔半秒闪烁。
5)调时功能:采用三个按键(K1-K3)来调整时间,步骤如下:
a)按下K1键,开始调小时,同时2个小时数码管闪烁。
b)按下K2键,小时加;按下K3键,小时减。
c)小时调整好后,再按下K1键,开始调分钟,同时分钟数码管闪烁。
3.2时钟模块
我们采用DS1302实现时间显示,DS1302是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
关键词:89c51单片机、闹钟报警、Proteus、DS1302、时钟
前言
本三级项目要求基于MCS-51系列单片机利用Protues软件仿真设计一个具有时间显示、按键调时、闹钟报警、温度测量等功能的电子钟系统。
我们对电子钟的开发手段进行了分析,最终决定采用51系列单片机技术实现多功能智能电子钟系统,这种实现方法的优点是电路简单、性能可靠、实时性好、时间精确、操作简单、编程容易。我们利用Proteus软件进行仿真设计,这样不用制作实际电路便可以得出结果,便于检验电路及软件正确性,可以为以后制作实际电路做准备。另外这样制作出的电子钟系统可以应用到日常工作和生活中,也可以通过改装来提高性能或者进行功能扩充等操作。
d)按下K2键,分钟加;按下K3键,分钟减。
e)调整好分钟后,再按下K4键,定闹结束。
闹钟定时的时间到后,蜂鸣器/扬声器发出提示音。用户需按K2-k4键来取消闹钟警告。
2
2.
利用51单片机内部的定时/计数器、中断系统、以及按键和时钟芯片DS1302、DS18B20温度传感器、LCD1602液晶显示屏等元件,利用Protues软件仿真设计一个具有时间显示、按键调时、闹钟报警、温度测量等功能的电子钟系统。
在程序中,定时器采用中断方式工作,在中断服务程序中实现时间获取、温度获取、上下午判断、闹钟报警、以及半秒闪烁等功能。在主程序中需要对定时器、DS1302、DS18B20、LCD1602进行初始化,然后循环进行按键检测并执行相应的功能。
2.3系统硬件设计
2.3.1
此设计原理框图如下图所示,此电路包括以下九个部分:单片机,时钟电路,测温电路,按键电路,LED指示灯,复位电路,晶振电路,显示电路及蜂鸣器。
图2-3-1电子钟系统硬件电路组成框图
2.3.2
我们利用Proteus软件进行电路仿真。Proteus软件不仅具有其它EDA工具软件的仿真功能,而且还能仿真单片机及外围器件。是目前比较好用的仿真单片机及外围器件的工具。
下图为我们设计的简单电子时钟的电路仿真图。
图2-3-2 Proteus中设计的电子时钟系统原理图