智能电子钟的仿真设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,如果等于则清空计数器 并将半秒指示灯取反。然后 判断时间是否等于定时时间, 如果等于则使蜂鸣器响,否 则关闭蜂鸣器。然后判断是 否为下午,如果为下午,则 关闭上午指示灯打开下午指 示灯,否则关闭下午指示灯 打开上午指示灯。
相关文档
最新文档