智能电子钟的仿真设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
热敏电阻是开发早、种类多、发展较成熟的敏感元器件。热 敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。 但其得经过A/D转换才能为单片机利用,同时热敏点阻误差较大。
DS18B20是美国DALLAS公司生产的数字温度传感器,测量温度 范围宽,测量精度高 。具有多点测温能力,能适应较恶劣的环境 等优点。
开始
给定时器装初值
获取温度 及时间数据
计数器加1
计数器 是否为10?
否
时间是否等于 定时时间?
否
关闭蜂鸣器
是
清零计数器并将 半秒指示灯取反
是
蜂鸣器响
小时数是否大 于等于12?
否
关闭下午指示灯 打开上午指示灯
是
关闭上午指示灯 打开下午指示灯
结束
DS1302是一款低功耗、高性能的实时时钟芯片。实时时钟可 提供秒、分、时、日、星期、月和年,一个月小与31天时可以自 动调整,且具有闰年补偿功能。同时,该芯片采用双电源供电, 可提供掉电保护。并且该芯片,消耗系统资源少,编程实现相对 较容易。
最终,我们选用DS1302进行我们的计时。
热敏电阻
DS18b20
• 复位电路主要由型号为10uF的电解电容和220的电阻以及 微动开关构成,当开关按下时引脚RST为高电平1,断开时 引脚为低电平0。
如下图所示,指示灯电路主要由四个发光二极管组成,端口低 电平有效。灯的亮灭显示控制端,P3.0口控制上午指示灯,P3.1口 控制下午指示灯,P3.6口控制前半秒指示灯,P3.7口控制后半秒指 示灯。由于二极管压降小,承受电流能力弱。故加上一个1K的限流 电阻,防止二极管被烧坏。
因此,温度测量模块我们选用DS18b20。
二、硬件概述
整个系统采用应用广泛的AT89C51作为控制芯片,利用D18B20 实现温度的测量,利用DS1302获取时间,利用LCD1602液晶显示屏 显示时间,温度,星期等参数,利用单片机内部的定时器来实现 数据的定时刷新。
单片机晶振电路
LCD1602液晶
仿真设计
• 总框图
显示模块
闹钟模块
AT89C51
按键模块
温度模块
时间模块
时间模块 总体仿真
显示模块
按
键
模
测温模块
块
闹钟 模块
软件设计
在主程序中首先初始化 定时器以及时钟芯片和温度 传感器,设定单片机内部的 一个定时器为50ms产生一次 中断,以便对时间和温度参 数实现周期性刷新。然后读 取按键值,如果是设置键, 则改变标志位,并进入相应 的项进行设置,若标志位为 初始状态,则显示时间及温 度参数。
单片机复位电路
时钟芯片 DS1302
蜂鸣器
AT89C51
单片机
LED灯
按键电路 温度传感器
DS18B20
功能模块
单片机外接石英晶振和微调电容实现了使用其内部时钟产生 的时钟脉冲,其中晶振为12M,电容均为30pF无极性电容。
采用DS1302实现时间显示
• 采用DS18B20温度传感器,每一个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º )。
在本项目中所用到的单片机管脚较多,为了系统资源,故在此 我们采用1602用作我们的显示模块。
单片机本地计数器
DS1302
单片机内部带有定时/计数功能,此定时功能是通过对外部 晶振的脉冲进行计数,从而达到计时功能,只要使用11.0592M的 晶振就能实现零误差的计时。但掉电后后就不能继续计时,同时 用本地计时器编程实现较复杂。
智能电子钟的仿真设计
• 方案论证及元器件的选择 • 硬件概述 • 功能模块 • 仿真实现 • 软件设计
器件的选择
数码管
LCD1602
数码管是利用发光二极管的特性组合而成数字显示器件,通 过控制相应的二极管的状态显示相应的数字。无论是静态显示还 是动态扫描,都占用较多的CPU系统的资源。
1602液晶也叫1602字符型液晶 它是一种专门用来显示字母、 数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵 字符位组成,每个点阵字符位都可以显示一个字符。1602液晶占 用的系统资源。
如下图所示,时钟、加、减、闹钟键分别接P3.2、P3.3 、 P3.4、P3.5端,时钟键(K1)选择设置的年、月、日、时、分、 秒、星期,闹钟键(K4)对闹钟的定时的时、分、秒进行设置, 加键(K2)对选中的项的数据加1,减键(K3)对选中的项的数据 减1。
• 扬声器电路为系统闹钟部分的发声部分。我们采用灌点流 的方式,省区去了外加驱动的麻烦。同时能够获得更大的 驱动功率。
开始
外围器件初始化
初始化定时器中断
按键检测
是否为加减按 键?Байду номын сангаас
否 改变当前项标志位
是
加减当前设置项数 值
是否为初始标 志?
是
显示当前数据
否
进入相应的标志位 设置项
中断服务子程序流程图
定时器每隔50ms产生一 次中断,调用一次中断子程 序。程序首先获取温度、时 间、然后将计数器值加1, 然后判断计数器值是否等于 10,如果等于则清空计数器 并将半秒指示灯取反。然后 判断时间是否等于定时时间, 如果等于则使蜂鸣器响,否 则关闭蜂鸣器。然后判断是 否为下午,如果为下午,则 关闭上午指示灯打开下午指 示灯,否则关闭下午指示灯 打开上午指示灯。