系统以单片机的C语言进行软件设计
发布时间:2019-01-14 19:02

  为核心,软件部分采用C语言模块化设计,具有显示年、月、日、时、分、秒和温度以及闹钟和整点报时的功能,并且可通过器进行基本时间的调整和闹钟的设定。全部信息可通过1602点阵式液晶直观显示,采用家电通用的

  目前,单片机进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。本文以AT89C51单片机为主控芯片,DS1302为时钟控制芯片、DS18B20为温度采集芯片和LCD液晶显示模块为显示器进行多功能电子钟系统的设计,系统具有时间、星期、温度、闹铃等功能,并可以实现红外遥控时间校准。该电路采用AT89C51单片机作为核心,功耗小,+5 V电压供电,有掉电保护功能,可长时间稳定工作。

  系统设计有以下模块:AT89C51单片机控制模块,时钟芯片DS1302模块,温度采集DS18B20模块,液晶显示屏LCD1602模块,红外发射接收模块以及声光报警模块。其系统总体设计框图如图1所示。

  温度采集采用美国Dallas公司的智能温度传感器DS18B20,其特性有:(1)独特的单线与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)在使用中无需任何外围元件。(3)可用数据线.5℃。(5)通过编程可实现9~12位的数字读数方式。(6)用户可自行设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在唯一的三线)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

  DS1302是美国Dallas公司推出的一种高性能、低功耗的实时时钟芯片,附加31 Byte静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多Byte的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月31天时可以自动调整,且具有闰年补偿功能。工作电压2.5~5.5 V,采用双电源供电,可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。

  系统采用1602LCD显示模块,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它由若干个5×7或5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以不能显示图形。

  闹钟模块采用蜂鸣器实现,用单片机的定时器去生成各种不同音律。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。通过单片机的引脚输出的电平变化来控制蜂鸣器的导通与否,如当前时刻与闹铃时间相同,蜂鸣器发声和指示灯闪光。

  由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,采用红外线遥控不仅运行可靠而且能有效地隔离电气干扰。

  通用红外遥控系统由发射和接收两部分组成,应用编/解码专用集成电路芯片来进行控制操作,发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路,其系统如图2所示。

  系统采用NEC公司的uPD6121G芯片发射码格式的芯片组成发射电路。当发射器按键按下后,即有遥控码发出,按键不同遥控编码也不同。

  一体化红外线是一种集红外线接收和放大于一体,无需外接元件,就能完成从红外线接收到输出、并与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线条管脚,分别是电源正极、电源负极以及信号输出端,其工作电压约为5 V,接收频率为38 kHz。

  系统由单片机控制,系统初始化部分主要是对系统的时钟芯片、液晶显示器进行设置,时间由时钟芯片取得后送入主控芯片,通过液晶显示器1602LCD来显示,时间、日期、闹铃的修改通过红外遥控器控制。系统软件设计主要由DSl302时钟控制、DS18B20温度采集、红外遥控、1602液晶驱动等程序模块组成,整个系统的主程序如图3所示。硬件仿线所示。

  系统以单片机的C语言进行软件设计,为便于扩展和更改,增加了程序的可读性和可移植性。功能设计齐全,可显示时间、日期、星期、温度、闹铃以及红外遥控等功能,具有读取方便、显示直观、功能多样、成本低廉等优点。