单片机设计吸油烟机的设计

合集下载

基于单片机的智能节能型抽油烟机的设计

基于单片机的智能节能型抽油烟机的设计

基于单片机的智能节能型抽油烟机的设计作者:梅宇轩来源:《科技传播》 2018年第23期摘要随着科学技术以及经济的发展,人们的生活水平有了很大的提高,更加关心吃住方面的安全健康问题。

在厨房内,抽油烟机已然成为了必不可少的厨具,发挥的作用也可想而知,但是在另一方面,抽油烟机功率是很大的,在方便人们做饭的同时,依然也耗费了大量的电能,虽然现在已经出现了可以调节升降高度的抽油烟机,但是依然不能从根本上解决其巨大的耗能问题。

因此需要一款新型的抽油烟机来解决这方面的问题,本设计就是在这样的背景之下产生的。

本设计通过烟雾传感器检测油烟的浓度,并且将该信息传递给单片机,单片机通过电机驱动来调节抽油烟机内电机的功率,以此在不影响抽油烟机正常工作的情况下,尽最大的可能降低电能的损耗。

经过一系列的论证,本设计是合理的。

关键词单片机;抽油烟机;节能中图分类号 TN4 文献标识码 A 文章编号 1674-6708(2018)224-0107-02随着科学技术以及经济的发展进步,尤其是这几十年来,中国得到了很快速的发展,无论是在工业、教育还是在日常生活方面。

仅仅是在20 年之前,在农村家家拾柴烧火还是非常普遍的事情,但也仅仅是在几年之后,这种现象就一去不复返了,都开始使用煤球了。

有的地方使用煤气灶也变得不很稀奇。

近几年来,各种智能家居电器变得普及起来,包括电磁炉、微波炉等,人们的生活也变得方便快捷。

目前在城市里边,大部分家庭里边都采用天然气作为能源烧水做饭,不仅省时省力而且还清洁卫生。

在这些能源以及锅具都已经普遍使用的情况下,各种辅助性的厨具也在进行着发展革新,甚至智能厨具都开始要进入市场了。

之前的老式的厨房,墙面都会有发黑或者发黄的现象,这些都是烟熏留下的痕迹,总是给人留下很不好的印象。

现在的厨房虽然很少出现烧柴的情况,但是在做饭时候难免会出现油烟的情况,日积月累,依然会影响到卫生状况。

所以,现在几乎家家户户都配备的有抽油烟机,这样在很大程度上解决了做饭时候出现油烟的问题。

基于单片机的抽油烟机控制系统设计毕业论文答辩.ppt

基于单片机的抽油烟机控制系统设计毕业论文答辩.ppt

系统硬件电路的设计
2、油烟煤气浓度监测电路设计
功能:主要检测煤气泄漏,当有煤气泄漏时,并超过了设定的 预警值,经过MQ-2的检测,输出较强的电压信号,再经 ADC0832的转换成数字信号,触发AT89S52的中断程序,启 动抽油烟机并伴随报警。
VCC 5678 76 11 I O D D CLK VCC ADC0832 P3.7P3.6 D P3.5 AT89S52 N S ADC0832 AT89S52 CCH0CH1G 5 1 1234 FROMMQ-2 TOADC0832 K 7 0 1R 21 T BB U O MQ-2 12 N MQ-2 AIA VCC
毕业设计中完成的主要任务
1 选题背景 2 系统的总体构思 3 系统中各个元器件的选择 4 硬件电路的设计 5 单片机程序的编写 6 系统软硬件的仿真
选题背景
随着我国第三产业的发展和城市化进程的加快,饮食服务 业在城市经济发展中所占的比重越来越大。未经处理的油 烟直接排到室外,对建筑物外墙面和空气造成严重污染。 油烟污染不仅影响城市公共环境卫生,对人体健康也有很 大危害。饮食油烟含有许多有毒有害成分,不同食品在高 温下会产生不同的挥发性物质,其中含有许多突变和致癌 性物质。现代厨房一般都离不开煤气灶和抽油烟机(通风设 备),一旦使用煤气灶,则一定会产生油烟、水汽与乙烷等 影响厨房空气环境的混合气体,为了健康生存的需要,往 往用通风设备如抽油烟机来改善充满油烟气的厨房环境。 由于目前国内厨房油烟净化的研究还处于起步阶段,人们 对油烟危害认识不足以及对其处理方法缺乏重视,我国餐 饮企业和家庭厨房对油烟净化的效率都远远达不到要求。 因此,分析油烟的污染状况,提出油烟治理新技术,已经 刻不容缓。
S1:手动开关;S2:调时间,加1min; S3:调时间,减1min;S4:显示温度

智能油烟机控制系统设计

智能油烟机控制系统设计

智能油烟机控制系统设计摘要:由于炒这种烹饪方式在我国烹饪文化中占据了重要地位,吸油烟机已经成为家庭厨电中的必备品。

通常的吸油烟机产品具有高、中、低三种风量挡位模式,用于针对用户在烹饪过程中可能面临的不同程度的油烟环境。

在目前主流的吸油烟机控制方式上,主要通过手动按键进行控制,部分高端产品具有语音控制和挥手控制功能,两者均属于被动调节。

但被动调节均有缺陷,如在实际使用时,用户腾不出手用按键控制吸油烟机,油烟环境下用语音控制更是不便。

因此吸油烟机主动调节挡位是改善使用体验的有效方式。

本文主要分析智能油烟机控制系统设计。

关键词:单片机;传感器;液晶显示;自动控制引言在现代厨房中,普遍使用抽油烟机和天然气灶。

在使用天然气灶的过程中,将会产生一定量的油烟及有害气体;而传统抽油烟机拥有单一的风扇转速,增加了能源的消耗以及遇到煤气泄漏的危险时不能及时发现并报警。

为了减少或防止这些危害,本文设计一种智能型油烟机。

本次设计基于51单片机控制的智能油烟机进行设计,改善一些传统油烟机不足的地方,将部分智能化、自动化的功能加入其中,使其具有自动控制的功能,大大增强其可行性、安全性、舒适节能、智能化的功能。

1、系统的总体架构本系统的整个框架分为以下三个部分:(1)检测部分,包括烟雾检测、煤气检测和按键输入。

(2)控制部分,由单片机AT89C51、开关电路、液晶显示、自动照明和GSM模块与声光报警模块电路组成。

(3)看门狗芯片,用来保证单片机正常工作,并监测电源的是否稳定以及程序执行是否正常。

烟雾传感器用来检测厨房油烟的浓度,系统会根据室内油烟的浓度自动调节风扇的转速,在厨房的温度和烟雾高于其设定阈值的情况下,报警信号开启,蜂鸣器和排烟风扇同时作用,并向用户手机发送警报信息,达到即使排烟报警的效果。

按键用来设置温度和烟雾的报警阈值,系统的整个工作信息通过LED1062液晶屏幕显示出来。

2、吸油烟机控制系统电路设计2.1主控MCU电路设计主芯片选用MC96F6332AL,是一款自带32K字节闪存的8位CMOS单片机.可以为许多嵌人式控制应用提供高效灵活低成本解决方案。

基于单片机的抽油烟机控制及净化系统设计

基于单片机的抽油烟机控制及净化系统设计

本科结业设计(论文)令狐采学基于单片机的抽油烟机控制及净化系统设计学院电子信息工程学院专业电气工程及其自动化年级班别级2班学号40103学生姓名杨能指导教师刘鹏3月26日目录1 前言 (1)1.1 本课题研究布景和意义 (1)1.2 本课题研究任务 (3)2 系统总体设计计划 (4)2.1 本课题设计思路 (4)2.2 系统各模块计划选择和论证 (6)2.2.1 温度检测模块计划论证 (6)2.2.2 气体检测模块计划论证 (6)2.2.3 油烟净化模块计划论证 (7)2.2.4 显示模块计划论证 (9)3 系统硬件电路设计 (10)3.1 单片机最小系统设计 (10)3.2 电源电路设计 (10)3.3 油烟温度检测电路设计 (11)3.4 油烟和煤气浓度检测电路设计 (12)3.5 显示、按键和报警电路设计 (13)4 系统软件设计 (16)4.1 软件设计思想 (16)4.2 油烟温度检测法度设计 (17)4.3 油烟和煤气浓度检测法度设计 (19)4.4 显示、按键和报警法度设计 (20)5 系统调试 (23)5.1 硬件调试 (23)5.2 软件调试 (23)参考文献 (24)附录 (25)基于单片机的抽油烟机控制及净化系统设计摘要中国目前年夜大都家庭装置的抽油烟机只能手动操纵,抽油烟效果也其实不是特别好,这与它们的外形设计和内部构造都有一定关系,并且它们年夜大都是直接将油烟排到室外,不但污染环境,一段时间后还会使邻近的墙壁等笼盖上一层厚厚的油烟。

本设计对温度高、污染年夜的油烟使用DS18B20数字温度传感器检测,对温度低、危险系数年夜的天然气使用气敏传感器检测。

当厨房里的油烟或者可燃气体浓度达到设定值时,传感器将检测到的信号送入单片机,单片机经阐发后使相关法度运行,从而使机电启动开始抽油烟并同时爆发声音报警。

它还具有按时的功能,能够设置抽油烟机的工作时间长度。

本设计的硬件部分主要包含抽油烟机的按键电路模块、温度检测模块、浓度检测模块、显示电路模块、声音报警模块等,系统软件部分对各模块的流程进行了仔细阐发,包含控制主法度、油烟温度检测子法度、油烟和煤气浓度检测子法度、显示子法度、中断按键扫描子法度、中断报警办事子法度,通过这些法度即可实现抽油烟机的智能化控制。

基于msp430f149单片机制作的简易自动抽油烟机的设计

基于msp430f149单片机制作的简易自动抽油烟机的设计

目录摘要.............................................................第一章绪论.......................................................油烟的危害...............................................油烟机、评定............................................第二章系统结构与原理............................................. 第三章硬件设计与计算.............................................检测电路设计............................................3.1.1 煤气检测...........................................3.1.2 油烟检测...........................................3.1.3 按键输入...........................................3.1.4 系统自动复位电路...................................主控制电路设计..........................................3.2.1 AT89C51............................................3.2.2 对油烟机的开关控制.................................3.2.3自动照明控制.......................................3.2.4定时显示电路.......................................3.2.5报警电路........................................... 第四章软件程序设计...............................................软件设计................................................4.1.1 主程序的设计.......................................4.1.2 中断键盘扫描.......................................4.1.3 LED显示子程序.....................................4.1.4 INTI中断报警服务程序.............................. 第五章结论.......................................................参考文献..........................................................第三章硬件设计与计算检测电路设计3.1.1 煤气检测1 对气敏元件的选择对煤气检测选用气敏电阻,气敏电阻是一种半导体敏感器件,它是利用气体的吸附而使半导体本身的电导率发生变化这一机理来进行检测的。

基于51单片机控制的抽油烟机设计

基于51单片机控制的抽油烟机设计

基于51单片机控制的抽油烟机设计煤气灶以及抽油烟机已然成为现代家庭最常用设备,对于改善生活质量、提升家庭和谐与幸福等多方面具有重要意义。

抽油烟机的安全性也一直以来是社會大众关注的焦点,故此次以51单片机为核心,对更为智能化以及安全性的抽油烟机设计展开讨论。

标签:单片机;抽油烟机;设计0 引言传统形式的抽油烟机往往需要手动控制,因此存在干烧以及煤气泄漏等多方面安全隐患,随着人们对于生活质量要求越来越高,传统形式的抽油烟机势必需要进一步的优化与完善。

此次基于51单片机,将传统抽油烟机划分为检测部分以及执行部分,使其同时具备了煤气泄露监测、烟雾报警以及温度监测等多方面功能,大大提升了设备的智能化水平。

1 系统硬件设计分析1.1 控制模块分析硬件控制模块是整个系统功能实现的关键,也正是由于这个模块整个系统才能执行温度监测、按键设置以及红外监测等多项功能。

此次设计主要采用AT89S51单片机为核心控制元件,如下图所示为最小系统单片机原理图,整个系统主要分为复位模块、时钟模块以及P0口上拉电阻组成。

1.2 温度监测模块如图1所示,如若实际监测到的温度值大于EEPROM所预设的温度上限值,则在单片机的P0.5口会产生一个频率为1kHz的周期且占空比达到百分之三十的方波,从而控制电机运动,此外蜂鸣器也会进行报警。

一旦温度恢复到正常水平区间内,则相关电机停止工作,且蜂鸣器也停止报警。

而如若温度下降至预设值的下限范围时,则相对应的继电器工作联通加热电路,当温度恢复至正常区间内时,则继电器断开,停止加热。

1.3 数显模块此次设计数显主要采用LCD1602液晶屏显示,该屏幕包含8位数据端口,数据的选择端口与单片机P2.0连接,读写选择端口则与P2.1连接,使能信号则与单片机的P1.2口连接,从而形成有效显示回路,具体如图1所示。

1.4 热传感模块该模块主要用于对人员是否位于厨房空间内进行检测,避免人员长时间离开厨房时出现干烧等情况。

基于单片机的多功能吸油烟机

基于单片机的多功能吸油烟机

6.油烟气体传感器模块:
油烟气体传感器TGS2100利用 空气和被测气体通过扩散膜扩散 到感应电极上。控制电路在感应 电极和对电极之间维持一个足以 开始电化学反应的电压。在被测 气体的作用下产生的电化反应在 两极之间形成电流。这一电流的 强度与被测气体的浓度成比例, 并且是可逆的。控制电路还在感 应极和对电极之间形成偏置电平, 这种电平在两极之间不形成电流。 传感器的快速反应使它能够对周 围空气进行实时、连续的检测。
7.一氧化碳传感器模块:
MQ-7一氧化碳传感器利用电化 学工作原理,它由阳极、阴极和储 液室组成。当一氧化碳扩散并通过 小孔时,就会在阳极上发生电化学 反应,一氧化碳传感器可等效为一 个电流源,它的电流和一氧化碳的 浓度成比例。通过检测该电流即可 测量出环境中的一氧化碳浓度。
特色与创新点
1.节能性:转速随油烟浓度的 变化而变化,油烟浓度低于设定 值后自动关闭,减少了不必要的 电能损耗。 2. 经济性:通过对亮度和电机 转速的自动调节,节约了电费的 开支。
5.红外测温传感器模块:
红外测温传感器利用红外线 的物理性质来进行测量的传感器。 红外线又称红外光,它具有反射、 折射、散射、干涉、吸收等性质。 任何物质,只要它本身具有一定 的温度(高于绝对零度),都能 辐射红外线。红外线传感器测量 时不与被测物体直接接触,因而 不存在摩擦,并且有灵敏度高, 响应快等优点。
基于单片机的多功能吸油烟机
项目团队:庄冰 王佰财 钟韬 07自动化工程学院
1.项目简介
该多功能吸油烟机可以 根据油烟的浓度调节电机的 转速,单片机根据油烟气体 传感器检测到的信号控制电 机的转速,当油烟的浓度小 于设定值时,油烟机会自动 关闭,转速可调节约了能源, 经济环保,避免了能源的浪 费;该吸油烟机上安装的照明 灯可以根据外界光线的强度 自动调节灯光的亮度;若因 为疏忽导致锅内温度过高, 该油烟机会自动启动报警功 能,及时通知户主避免危险 地发生;同时该设计还有一 氧化碳检测功能,当有气体 泄漏时及时报警。

用PIC16C54单片机控制的吸油烟机

用PIC16C54单片机控制的吸油烟机

用PIC16C54单片机控制的吸油烟机 许多吸油烟机采用轻触式开关控制,用低价的单片机(如PIC16C54)做吸油烟机控制器可以获得较好的效果。

除了PIC16C54单片机外,类似的还有麦肯电子的单片机MDT2005等,只要通过一个简单的转换程序,就可以将PIC16C54的程序转换为MDT2005单片机的程序,给选用芯片带来了很大方便。

图1是采用PIC16C54单片机的吸油烟机控制器电路,其功能如下:J1控制吸油烟机的照明灯,按一下AN1,LED1变亮,同时继电器J1吸合。

再按一下AN1,LED1熄灭,J1释放。

J2、J3是控制吸油烟机风扇的转速,按一下AN2,LED2变亮,同时J2吸合,此时按一下AN3,LED3变亮,LED2熄灭,同时J3吸合,J2释放。

再按AN2则LED2变亮,LED3熄灭,J2吸合,J3释放。

继电器J2、J3是互锁的,两者只有一个能够吸合。

AN4为开关,控制AN2和AN3。

按一下AN4,LED4变亮,这时可以按AN2、AN3对J2、J3进行控制,再按一下AN4则LED4熄灭,亮着的LED2或LED3也熄灭,吸合着的J2或J3也同时释放。

在LED4不亮的状态下,按AN2或AN3不起作用,AN1则不受影响。

 图2为该电路的电气安装图。

由于该电路要控制电机,因此对抗干扰的要求很高。

可从电路和软件两方面考虑。

在电路方面,全部电路装在两块线路板上。

单片机和按键在小板上,安装在吸油烟机的面板上。

继电器、电源在一块较大的线路板上,安装在吸油烟机内部,两板间用一根5芯电缆连接。

在软件方面,应在内存中保存一些输出端口寄存器的备份,并经常进行对比分析,若发现输出端口寄存器被干扰信。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

吸油烟机的设计一、概述吸油烟机是广泛应用于厨房的重要的电气设备,吸油烟机性能的好坏将直接影响厨房的环境,因此也将影响人的健康。

随着现代科学技术的发展,吸油烟机将会有更广阔的应用领域,所以得到设计理想的吸油烟机也显得尤其重要。

吸油机控制电路的设计理念已相当成熟,根据对吸油烟机风扇电机转速不同的要求,可以用不同的方法来设计。

吸油烟机的设计既可以采用纯模拟电路,也可以采用数字电路,还可以采用数模混合电路。

吸油机可以采用数码管显示运行状态,也可以采用LCD液晶显示器。

该吸油烟机采用轻触式开关控制,并结合照明灯的亮和熄灭来控制油烟机风扇的转动。

照明灯开关按键一个B1,照明指示灯一个LED1,吸油烟机风扇转动按键两个B2、B3,对应这两个按键指示灯两个LED2、LED3,吸油烟机功能开关按键B4,对应指示灯LED4。

设计要求如下:1、按一下B1,LED1变亮,同时吸油烟机的照明灯打开,再按一下B1,LED1熄灭,对应照明灯熄灭。

2、B2和B3都能控制吸油烟机风扇的转动,但这两者控制吸油烟机的转速不同,按一下B2,LED2变亮、风扇高速转动,此时按一下B3,LED3变亮,LED2熄灭,风扇低速转动,B2不再控制风扇,再按一下B2则LED2变亮,LED3熄灭,风扇又高速转动,B3不再控制风扇,也就是说在同一时间里,B2和B3中只能有一个按键能控制风扇转动。

3、按一下B4,LED4变亮,这是可以按B2或B3控制风扇转动,再按一下B4则LED4熄灭,LED2、LED3熄灭,B2、B3不再起作用,在LED4不亮的状态下,按B2或B3不起作用,而B1则不受影响。

二、吸油烟机的方案设计在现代电子技术领域中,实现吸油烟机的控制电路的方法多种多样,可以通过纯硬件电路来实现,也可以采用硬件和软件结合的电路来完成。

以下列举了几种比较常用可行的方案,通过对比从中选择一种比较好的方案。

1吸油烟机的两种设计方案方案一:给予分立元件的吸油烟机控制电路基于分立元件的吸油烟机的控制系统主要由控制电路、键盘模块、指示灯模块以及电机驱动电路组成。

其原理方框图如图1所示。

图1基于分立元件的吸油烟机的原理方框图方案二:基于AT89C51微处理器的吸油烟机控制电路基于AT89C51的吸油烟机的控制系统主要由AT89C51微处理器、指示灯电路模块、键盘模块、LED显示器模块、复位模块等组成。

其原理方框图如图2所示。

基于基于AT89C51微处理器的吸油烟机控制系统的工作原理:以AT89C51微处理器为核心,通过软件编程实现电机控制的高低速切换。

一旦有按键操作,则引起单片机中断,在中断服务子程序里,根据相应的按键,执行的电机控制动作和指示灯显示。

同时,本系统扩展了一个时钟电路,能够显示时间。

2方案比较设计过程中,方案的选择必须与实际情形联系起来,从各方面考虑设计的可行性,即不仅要考虑其先进性也要考虑其实现的可能性,综合寻求最佳方案。

基于分立元件的吸油烟机采用纯硬件实现控制,故而电路结构复杂,所应用的集成IC 较多,功能实现起来比较麻烦,而且电路稳定性不高。

基于微处理器AT89C51的吸油烟机采用硬件和软件相结合的方式实现控制,电路简单,功能完善,所应用的集成IC 较少,稳定性较高。

经过上述方案的比较,结合各种因数综合考虑后,本设计采用方案二。

三、吸油烟机的硬件设计方案1电极控制模块电机控制电路的主要功能是完成吸油烟机风扇在高速转动与低速转动之间的切换。

其工作原理:微处理器在确认风扇转动按键B2被按下后,则单片机的P1.6置为高电平,三极管V8导通,继电器KA2吸合,常开触点KA2闭合,直流电机电枢回路通电,风扇电机低速转动;当按下按键B3后,则将单片机的P1.7置为高电平,三极管V7导通,继电器KA1吸合,常开触点KA1闭合,电阻R18被短路,此时电枢回路的总电阻小于KA1断开时的总电阻,而端电压保持不变,所以电枢回路的电流增大,故而风扇电机转速增大。

电机控制电路图如图3所示。

图3 电机控制电路原理图图5 指示灯电路原理图2 键盘模块根据设计要求,在本系统中共需要7个按键,照明灯按键B1、风扇转速控制键B2、B3,功能选择键B4、电子时钟设置调整键B5~B8。

为了节省I/O 资源,采用2×4键盘电路,键位的列线(输入线)连到P1.0~P1.2,行线(输出线)连到P1.2~P1.5,而2根列线则通过74LS08“与”门相连后,连到INT0端。

初态时,P1.2~P1.5全部为0,没有键压下时,INT0为高电平;当键位上有任一键压下,INT0端变低,向CPU 发出中断请求,执行中断服务程序扫面键盘。

键盘电路原理图如图4所示。

3指示灯模块指示灯电路的主要功能是指示当前吸油烟的工作状态。

当按键B1被按下时,将P3.0置为低电平,发光二极管V1点亮。

指示灯电路原理图如图5所示。

4复位电路模块复位电路采用STC813组成的看门狗电路。

它和单片机的连接电路如图6所示。

看门狗定时器对微处理机提供了独立的保护系统,当系统出现故障时,在可选的超时周期之后,STC813看门狗将发出RESET 信号,使CPU 自动复位。

利用STC813的低电压监测电路,可以保护系统免受低电压的影响,当Vcc 低到转换点以下时,系统复位,并一直保持到Vcc 返回并且稳定为止。

5 时钟模块若采用直接驱动法驱动6个七段显示器,共须6×8=48条I/O 线,而采用解码器驱动也要6×4=24条I/O 线,形成I/O 口的浪费。

所以采用扫描显示法,再加上TTL 七段显示译码器74LS48和3-8译码器74LS138,只需要7条I/O线,图4 键盘电路原理图图6 复位电路原理图可节省硬件。

时钟电路原理图如图7所示。

图7 时钟电路原理图四、吸油烟机的软件设计1初始化程序和主程序模块初始化程序流程图如图8所示,初始化程序部分主要使系统进入复位初始化的状态值。

具体过程为:设置中断优先级IP,选择定时器0的工作方式,并且设置初始值,开外部中断0,时钟显示寄存器初始化,使之全部显示为0,键盘端口初始化,指示灯显示初始化。

主程序流程图如图9所示,具体过程为:主程序调用初始化程序后,处于等待状态,当外部中断0产生中断,则调用外部中断0服务子程序,当外部中断0没有产生中断时,则调用定时器0服务子程序。

图8 初始化程序流程图2定时器0中断服务程序模块定时器0中断程序工作过程:定时器0每隔4ms 中断,一次中断相当于一个计数,每中断一次则计数加1。

当计数为250次时,则表示1s 到了,调用计时子程序,秒变量加1,再判断秒变量是否到60,如果到了60,则说明一分钟到了,分变量加1,同理判断时变量是否1小时到了,若计数到了则将相关变量清除为0。

同时调用显示子程序和子程序来对显示器进行扫描,从而显示时间数据。

定时器中断服务子程序的流程图如图10所示。

图9 主程序流程图3时钟程序模块时钟程序设计主要包括计时子程序CLOCL 、显示子程序DIS 、显示准备子程序READY 三部分。

计时子程序CLOCK 主要功能:每隔1S 判断秒变量、分变量、时变量寄存器的值,当秒、分变量寄存器的值超过60则清零,而时变量寄存器的值超过24则清零。

显示子程序SCAN 的主要功能:将列扫描值和显示数值送到P2口。

图10 定时器0中断程序流程图 图11计时子程序CLOCK 流程图显示准备子程序DIS 的主要功能:分别将显示的秒、分、时数值转换程十进制数值暂存到寄存器20H ~25H 。

计时子程序CLOCL 、显示子程序DIS 、子程序REDAY 的程序流程图分别如图11、图12和图13所示。

4外部中断0服务程序外部中断0中断服务程序的功能是:当有键按下时,通过“与”门触发外部中断0中断,调用键盘扫描子程序获取键值,根据键值执行相应的动作。

外部中断0的服务程序流程图和键盘扫描子程序流程图分别如图14、图15所示。

图12显示子程序DIS 流程图图13 显示准备子程序READY 流程图图14中断0服务程序流程图图15键盘扫描程序流程图五、仿真及调试1程序调试及问题分析在编写应用程序的过程中,无论是谁都难免出现一些或大或小的错误,尤其是我们这些编程不是很厉害的学生,在编程过程中必然会产生错误,所以编好初稿后必须进行程序调试。

程序调试过程确实不是一个容易的过程,我把程序在WAVE 6000集成实验环境下编辑好后一编译发现二十几处错误,有些是丢了冒号,或使用的是中文式的冒号,有些是宏汇编出错了等等错误。

2仿真测试在Proteus 6.9S环境下进行仿真,仿真效果如图16、图17所示。

图16吸油烟机仿真图一Array图17 吸油烟机仿真图二六、结束语做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。

我们组一共有四个人,我单片机学的不太好,为此还是搞的很认真。

开始几天我白天在电子阅览室查找资料,晚上在图书馆查看一些有关书籍,有时还请教我们的指导老师。

经过老师的多凡讲解讲解使我得到了很大的收获。

所幸的是,我得到了很多同学的帮助。

我想没有他们我可能都要放弃了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我理论联系不了实际。

以前的汇编语言没学好,一开始的程序这块儿就要令我不知所措了。

后来请教我们班的同学和老师,在他们的帮助下和大家的共同努力之下,终于写出了程序。

在此次课程设计中,我对着电路图再看课本,发现以前很多觉得很难记的东西现在记起来容易多了,因为整天都在同它们打交道。

51的引脚及其功能,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑。

在这个过程中又发现了以前连电路当中出的一些问题,能改的就改,不能改的,咳,要是时间再多一些,或者我能早点做好,不要想那些如果,还是准备自己的,做好我现在能做的吧。

还好,验收还算成功,但是我觉得对我来说已经很好,代表了我真实的水平,我觉得我对单片机的一些知识在这个动手的过程中真的是从无到有增长的。

同时我也尽量不去想别人得了多少分,没有什么不平衡的,有些人付出的是努力,有些人付出的是风险代价,其实这也没有什么不一样,这一点我早就了解。

最后,我发现自己对单片机竟然也有了一点兴趣,想暑假回家以后补一补汇编语言。

有什么问题请教下以前的那些老同学好了。

附录A吸油烟机的程序清单HOUR EQU 2AH ; 存放小时变量MIN EQU 2BH ; 存放分钟变量SEC EQU 2CH ; 存放秒钟变量GN_FLAG EQU 20H.5 ; 功能选择标志位ORG 00H ; 主程序起始地址LJMP MAIN ; 跳至主程序ORG 03H ; INT0中断起始地址LJMP INT0 ; 跳至中断子程序INT0ORG 0BH ; TIMER0中断起始地址LJMP TIMER ; 跳至TIMER0中断子程序TIMER**********************************************************主程序*********************************************************MAIN: MOV SP,#70H ; 设置堆栈在70HMOV 28H,#00H ; 显示寄存器初值为00MOV HOUR,#08H ; "时"寄存器初值为09HMOV MIN,#00H ; "分"寄存器初值为00HMOV SEC,#00H ; "秒"寄存器初值为00HMOV P2,#0FH ; 键盘端口初始化,行线置0MOV P3,#0FFH ; 指示灯初始化CLR GN_FLAG ; 功能标志位清零MOV TMOD,#01H ; TIMER0工作方式1MOV TL0, #60H ; 定时4MSMOV TH0, #0F0H ;MOV IE, #83H ; 中断使能SETB PX0 ; 中断0优先级高SETB IE0 ; 中断0跳变触发方式MOV R4, #250 ; 中断250次SETB TR0 ; 启动定时器0AJMP $ ; 等待中断********************************************************************外部中断0处理子程序******************************************************************** INT0: PUSH ACC ; 将ACC的值暂存于堆栈PUSH PSW ; 将PSW的值暂存于堆栈AGAIN: MOV P2,#0FHJNB P2.0,ZHIX0JNB P2.1,ZHIX1AJMP EXITZHIX0: MOV P2,#0F0HCALL DELAYJNB P2.4, B5JNB P2.5, B6JNB P2.6, B7JNB P2.7, B8JMP EXITZHIX1: MOV P2,#0F0HCALL DELAYJNB P2.4, B1JNB P2.5, B2JNB P2.6, B3JNB P2.7, B4JMP EXITB1: CPL P3.0 ; 照明灯点亮或熄灭JMP EXITB2: JB GN_FLAG, BB2CALL DELAYJB GN_FLAG, BB2JMP EXITBB2: CPL P3.1 ; 电机低速转动CLR P1.7JMP EXITB3: JB GN_FLAG, BB3JMP EXITBB3: CPL P3.3 ; 电机高速转动CLR P1.6JMP EXITB4: CPL P3.5 ; 电机功能选择CPL GN_FLAGJMP EXITB5: MOV A,SEC ; 将秒寄存器的值载入AADD A,#01H ; A的内容加1DA A ; A做十进制调整MOV SEC,A ; 将A的值存入秒寄存器CJNE A,#60H,EXIT ; 是否等于60秒,不是跳至N1MOV SEC,#00H ; 是则清除秒寄存器的值为00JMP EXITB6: MOV A,MIN ; 将分寄存器的值载入AADD A,#01H ; A的内容加1DA A ; A做十进制调整MOV MIN,A ; 将A的值存入分寄存器CJNE A,#60H,EXIT ; 是否等于60 分?不是则跳到N3 MOV MIN,#00H ; 是则清除分寄存器的值为00JMP EXITB7: MOV A,HOUR ; 将时寄存器的值载入AADD A,#01H ; A的内容加1DA A ; A做十进制调整MOV HOUR,A ; 将A的值存入秒寄存器CJNE A, #24H,EXIT ; 是否等于24?不是则跳到N5MOV HOUR,#00H ; 是则清除时寄存器的值为00JMP EXITB8: JMP EXITEXIT: POP PSW ; 至堆栈取回PSW的值POP ACC ; 至堆栈取回ACC的值RETI********************************************************************TO定时中断处理子程序********************************************************************TIMER: PUSH ACC ; 将ACC的值暂存于堆栈PUSH PSW ; 将PSW的值暂存于堆栈MOV TL0, #60H ; 计时到重新赋初值MOV TH0, #0F0H ;DJNZ R4,X2 ; 计时1S是否到?未到则跳到X2MOV R4,#250 ; 到了重新给R4赋值CALL CLOCK ; 调用计时子程序CLOCKCALL DIS ; 调用显示子程序DISX2: CALL SCAN ; 调用扫描子程序SCANPOP PSW ; 至堆栈取回PSW的值POP ACC ; 至堆栈取回ACC的值RETI ; 返回********************************************************************扫描子程序********************************************************************SCAN: CLR RS0CLR RS1 ; 选择工作寄存组0MOV R0,#28H ; (28H)为扫描指针CJNE @R0,#6,X3 ; 扫描完6个显示器?不是则跳至X3MOV @R0,#00H ; 是则扫描指针为0X3: MOV A,@R0 ; 扫描指针载入AADD A,#20H ; A加上常数20H(显示寄存器地址)=各时间显示区地址MOV R1,A ; 各时间显示时间地址存入R1MOV A,@R0 ; 扫描指针载入ASWAP A ; 将A的高低4位互换(P1高四位为扫描值,低四位为显示值)ORL A,@R1 ; 扫描值加显示值MOV P1,A ; 送至P1口显示INC @R0 ; 扫描指针加1RET ; 返回*********************************************************************计时处理子程序*********************************************************************CLOCK:MOV A,SEC ; 秒寄存器的内容载入AADD A,#01H ; 加1 秒DA A ; A做十进制调整MOV SEC,A ; 存入秒寄存器CJNE A,#60H,X4 ; 是否超过60秒?不是则跳到X4MOV SEC,#00H ; 是则秒位清零MOV A, MIN ; 分寄存器的内容载入AADD A,#01H ; 加1分DA A ; 做十进制调整MOV MIN,A ; 存入分寄存器CJNE A,#60H,X4 ; 是否超过60分?不是则跳到X4MOV MIN,#00H ; 是则分位清零MOV A,HOUR ; 时寄存器的内容载入AADD A,#01H ; 加1时DA A ; 做十进制调整MOV HOUR,A ; 存入时寄存器CJNE A,#24H,X4 ; 是否超过24时?不是则跳到X4MOV HOUR,#00H ; 是则时位清零X4:RET ; 返回*********************************************************************显示准备子程序*********************************************************************DIS: SETB RS0CLR RS1 ; 选择工作寄存器2MOV R1,#20H ; (20H)为显示寄存器,R1=20HMOV A,SEC ; 将秒寄存器的内容存入AMOV B,#10H ; 设B的累加器的值为10HDIV AB ; A除B ,商(十位数)存入A,余数(个位数)存入BMOV @R1,B ; 将B 的内容存入(20H)INC R1 ; R1=21HMOV @R1,A ; 将A的内容存入(21H)INC R1 ; R1=22HMOV A,MIN ; 将分寄存器的内容存入AMOV B,#10H ; 设B的累加器的值为10HDIV AB ; A除B ,商(十位数)存入A,余数(个位数)存入BMOV @R1,B ; 将B 的内容存入(22H)INC R1 ; R1=23HMOV @R1,A ; 将A的内容存入(23H)INC R1 ; R1=24HMOV A,HOUR ; 将时寄存器的内容存入AMOV B,#10H ; 设B的累加器的值为10HDIV AB ; A除B ,商(十位数)存入A,余数(个位数)存入BMOV @R1,B ; 将B 的内容存入(24H)INC R1 ; R1=25HMOV @R1,A ; 将A的内容存入(25H)RET ; 返回********************************************************************延时子程序********************************************************************DELAY: MOV R6,#10 ;5毫秒延时D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETEND附录B 吸油烟机的电路原理图。

相关文档
最新文档