智能电饭煲中单片机的应用
1 引言 微电脑或电脑控制的智能电饭煲符合现代人的要求,人性化的界面设计,使得人们一眼看出当前工作状态,让您更安心,各种烹调过程全部由电脑自动控制,并且大多的智能电饭煲采用太空“黑晶”内胆,超硬耐磨,恒久美观,所有的这些特点符合现代人的省时、省力、耐用的观念。 本文主要介绍利用SPMC65P2404A芯片来对电饭煲的过程进行控制,SPMC65P2404A是凌阳公司的8位元单片机,最高工作频率为8MHz,工作电压2.5V~5V,有192字节的RAM和4K字节的OTP ROM,有23个可编程IO口,8通道10位A/D转换器,2通道8位定时/计数器,2通道16位定时/计数器,1个12位PWM输出口,有低电压、上电、看门狗、外部信号、错误地址复位,并且有一个蜂鸣器输出口。 2 总体方案介绍 利用凌阳8位MCU设计的智能电饭煲控制系统原理框图如图2-1所示,通过按键来选择功能模式、显示电路完成显示当前状态和定时时间;通过温度传感器来对温度进行采样;通过MCU的控制最终实现对继电器的控制,从而来控制对加热盘的加热与否,电源部分完成对单片机系统和外围电路提供5V电源,并且对加热盘进行加热。
图2-1 控制系统构成框图 3 系统硬件设计 1、由单片机SPMC65P2404A控制的电饭煲的硬件原理图如图3-1所示,它包括按键输入部分,温度检测输入电路,复位和晶振电路,PA6、PA7完成对顶盖和底盘的温度的检测,PA5完成对继电器的控制,SPMC65P2404A是系统的核心部分。
图3-1 电饭煲的电路原理图 芯片特性简介 SPMC65P2404A是凌阳公司的8位元单片机,最高工作频率为8MHz,工作电压2.5V~5V,有192字节的RAM和4K字节的OTP ROM,有23个可编程IO口,8通道10位A/D转换器,2通道8位定时/计数器,2通道16位定时/计数器,1个12位PWM输出口,有低电压、上电、看门狗、外部信号、错误地址复位,并且有一个蜂鸣器输出口……。利用这些资源,能够实现电饭煲的功能。 2、显示电路: 显示电路由共阳极数码管和10个LED组成,通过单片机位选和所送的数据来点亮相应的LED和数码管的显示状态。其电路原理图如图3-2所示:
图3-2 显示电路 3、电源电路: 电源部分为单片机提供+5V的直流稳压源,并且通过降压、整流、滤波之后的+14V电压对继电器进行供电,通过控制三极管射极的导通与否来控制继电器的工作状态。电源电路原理图如图3-3所示
图3-3 电源电路 4、温度采集部分电路图:
J2和J3是温度传感器的两个接口,其中J2和J3分别是顶盖和底盘温度传感器的接口,单片机检测的信号实际上是与温度传感器分压的电阻的电压值,因为温度传感器的电阻值会随温度的上升而减小,所以分压电阻的电压值间接反映了某一时刻的温度,电路原理图如图3-4所示:
图3-4 温度传感器电路 4 系统软件设计 4.1 主程序流程 从样机分析中大致设计整个系统,整个系统输入包括2个温度传感器,5个按键;输出包括2位七段数码管、10个发光二极管、继电器控制信号等。根据控制功能,将程序设计为几个主要的模块,程序主流程见图4-1所示: 程序主流程图
4.2 子程序介绍 1、 诊断子程序 诊断程序主要进行温度采集并判断传感器是否良好,主要对2个温度传感器连续检测20次,若测到的数据不在范围内(温度范围:-10℃~160℃),则表明传感器短路或断路错误,数码显示“E”,并禁止按键操作。 2、 键盘扫描子程序 程序每循环一次扫描一次键盘,如果扫描到有键按下,则暂存键值,如果连续5次扫描到的键值都一样,则认为是稳定的键值。 3、 系统共有5个按键,在不同的状态下,每个键只要轻按一次就有效。系统的五个键接于PA1 、PA3、PA2 、PA0、PA4,如果按键值有效则返回值的相应位为0,否则相应位为1。 4、 温度采集子程序 热敏电阻灵敏度高,为了防止干扰及其它原因导致测出的温度值变化太快,引起控制部件频繁动作,温度采集采用滑动平均值滤波方法。即在同一个通道上连续采集三个数据,取其中的中间值。 5、 显示子程序 系统共有2位七段数码管显示及10个发光二极管显示。数码管主要有6种状态需要显示:待机状态、出错显示、焖饭、保温、煮饭中及定时时间显示。发光二极管显示所选择的功能、开始及保温状态。功能显示需采用轮循方式,在按下开始键之前,开始灯闪烁。进入保温状态后,保温指示灯亮。LED显示程序由位码扫描子程序及数码显示状态选定子程序组成。
|