分享
分销 收藏 举报 申诉 / 28
播放页_导航下方通栏广告

类型基于单片机的微波炉控制器.doc

  • 上传人:快乐****生活
  • 文档编号:3925849
  • 上传时间:2024-07-23
  • 格式:DOC
  • 页数:28
  • 大小:195.54KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 单片机 微波炉 控制器
    资源描述:
    基于单片机的微波炉控制器 摘 要 随着社会的快速发展,人们的生活节奏逐渐加快,微波炉方便快捷的烹饪特点为现代人的生活提供了便利,在现代家庭中,微波炉已成为必备的烹饪工具之一. 通过制作微波炉控制器,更充分了解微波炉的结构特点和工作原理.本文介绍了微波炉控制器的设计、调试与实现。本设计中的微波炉控制器以AT89C52单片机为核心,由矩阵键盘、时间显示、控制输出等模块组成.并且能够实现大、中、小火力选择以及启动、停止和时间重设功能。其中初始时间由矩阵键盘输入设置,火力大小通过发光二极管来表示、电机的转速表示在加热中。微波炉控制器工作时,将按照设定的时间进行加热并倒计时,等时间到后报警提示、火力指示灯熄灭、转盘停止运转。 关键词:微波炉;单片机AT89C52;控制器 The microwave oven controller based on MCU Abstract With the rapid development of our society and the gradually speeding steps of our life, the convenient and efficient cooking features of microwave oven have provided us great help and make it an indispensable cooking tool in our modern life。 Through the making of the microwave oven controller, I have a better understanding of its structural features and working principles。 This article introduces the design, debugging and implementation of microwave oven controller。 With the SCM AT89C52 at the core,it is made up of modules of matrix keyboard, time display and control outputs and etc。What’s more, you can choose a max, mid or min power and make it work or stop or even time resetting at your will。 And the initial time is set by matrix keyboard; the power size is shown by light—emitting diodes; the spinning of the motor shows its working。 When it works, it heats according to the setting time and countdowns until the alarming system ringing, the power indicator light packing up and the turntable stopping. Keyword:microwave oven;SCM AT89c52;controller 目 录 1。绪论1 1。1微波炉的背景资料1 1。2微波炉的工作原理1 1.3使用微波炉时的注意事项2 1.4微波炉控制器总体设计思路2 2.系统总体方案…。…。。3 2。1系统总体设计3 2.2单片机的结构和接口的基本介绍4 2。2。1单片机的基本组成4 2。2。2单片机的内部结构5 2.2.3部分关键的程序存储单元6 2。2。4中断6 2。3显示驱动芯片7447/7448的简介7 2。3。1认识7447/74488 2。3.2引脚说明8 2。4高耐压、大电流达林顿陈列—ULN20039 2。4。1概述与特点9 2。4.2方框图9 2.4。3 极限值9 2。4.4 电特性…………………………………………………………………………10 2。5 LM7805稳压芯片介绍……………………。…………。10 2.5。1 概述……………………………………………………………………………10 2。5。2 主要特点………………………………………………………………………10 2.5.3 外形图及引脚排列……………………………………………………………11 2。5。4 功能框图………………………………………………………………………11 2。6三极管9013……………………………………………………………………………12 3。硬件电路与实现13 3.1微波炉控制器的总体硬件设计13 3。2矩阵键盘及器应用13 3。2。1矩阵键盘的结构与工作原理13 3。2。2矩阵式键盘的按键识别方法14 3。2。3矩阵式键盘的按键的例子15 3.2.4去抖处理15 3.3四位数码管原理及应用16 3。4步进电机控制电路17 3.4.1 步进电机工作原理17 3.4.2步进电机控制系统原理18 3。5 蜂鸣器控制电路………………………………………………………………………19 4。控制程序设计与仿真20 4.1键盘扫描及显示程序设计20 4。1。1键盘扫描流程图20 4.1。2键盘扫描仿真电路21 4。1.3键盘扫描和显示输出的程序21 4.2倒计时程序设计…。23 4。2。1倒计时流程图23 4。2.2倒计时仿真电路24 4。2。3倒计时程序24 4。3步进电机控制程序设计26 4。3。1步进电机流程图26 4。3。2步进电机仿真电路27 4。3.3步进电机转动程序27 4。4 总体程序设计29 4。4。1总体设计流程图29 4。4.2总体设计仿真电路30 4。3.3总体设计程序30 5.电路制作与系统调试………………………………………………………………………35 6。总结与展望36 致谢37 参考文献38 附录39 附录一:微波炉控制器实体图片39 附录二:微波炉控制器硬件连接电路40 附录三:微波炉控制器PCB板……………………………………………………………41 25 1绪 论 1。1微波炉的背景资料 微波炉已经有50多年的发展历史,时至今日,微波炉已实现了高度工业化规模的生产.主要生产为日本、韩国以及欧洲的一些发达国家。我国自80年代开始小规模生产微波炉,发展至今,已具有相当的生产能力,成为该行业不可小视的生力军。微波炉在世界上发达国家的家庭普及率很高。美国是微波炉最大的消费市场.中国老百姓也已经开始认识和接受微波炉。可以预见,中国也将成为一个巨大的微波炉市场. 随着科技的发展,生活水平的提高,人们对微波炉的要求也越来越高。未来的发展趋势将以智能、信息为主流,使微波炉的发展更人性化。因此基于单片机的微波炉控制系统的开发有利于推动微波炉市场的发展,使老百姓能用上更优秀的微波炉。 1。2微波炉的工作原理 微波炉,顾名思义,就是用微波来煮饭烧菜的。微波炉是一种用微波加热食品的现代化烹调工具。微波是一种电磁波。这种电磁波的能量不仅比通常的无线电波大得多,而且还很有"个性",微波一碰到金属就发生反射,金属根本没有办法吸收或传导它;微波可以穿过玻璃、陶瓷、塑料等绝缘材料,但不会消耗能量;而含有水分的食物,微波不但不能透过,其能量反而会被吸收。   微波是指波长为0.01~1米的无线电波,其对应的频率为30000兆赫到300兆赫。为了不干扰雷达和其他通信系统,微波炉的工作频率多选用915兆赫或2450兆赫. 微波炉由电源,磁控管,控制电路和烹调腔等部分组成。电源向磁控管提供大约4000伏高压,磁控管在电源激励下,连续产生微波,再经过波导系统,耦合到烹调腔内。在烹调腔的进口处附近,有一个可旋转的搅拌器,因为搅拌器是风扇状的金属,旋转起来以后对微波具有各个方向的反射,所以能够把微波能量均匀地分布在烹调腔内.微波炉的功率范围一般为500~1000瓦。 微波加热的原理简单说来是:当微波辐射到食品上时,食品中总是含有一定量的水分,而水是由极性分子(分子的正负电荷中心,即使在外电场不存在时也是不重合的)组成的,这种极性分子的取向将随微波场而变动。 由于食品中水的极性分子的这种运动。以及相邻分子间的相互作用,产生了类似摩擦的现象,使水温升高,因此,食品的温度也就上升了。用微波加热的食品,因其内部也同时被加热,使整个物体受热均匀,升温速度也快. 1.3使用微波炉时的注意事项 微波遇到金属物体,如银、铜、铝等会像镜子反射可见光一样被反射.常用金属隔离微波,不能使用金属器皿加热食物.金属在微波加热的情况下还会产生火花,特别是较尖锐的金属制品﹝如:叉﹞.因此在使用微波烹调中,不得使用密闭的金属容器或金属网状容器来装载事物,以免发生意外事故。 不要用一般普通塑料容器放入微波炉加热.虽然塑料自身不被加热,但热的食物会使容器变得很烫.这些塑料容器在高温下可能放出毒素,染污食物.使用微波炉时,应注意至少离炉0。5米以上,眼睛不要看着炉门,不可在炉前久站。食物从炉中取出后,最好先放几分钟再吃。 1。4微波炉控制器总体设计思路 通过对微波炉的了解,本设计采用89C52单片机作为设计的核心,由矩阵键盘、时间显示、控制输出等模块组成。由矩阵键盘模块来实现时间的设置,火力大、中、小的选择以及启动、停止和时间重设功能;时间显示模块由七段数码管来实现,其中初始时间由矩阵键盘输入;火力大小通过发光二极管来表示,红、绿、黄三种灯分别表示大力大、中、小,默认为中火力;启动加热后,步进电机开始转动,七段数码管按照设定的时间进行倒计时,等时间快到零时报警提示、等于零时火力指示灯熄灭、转盘停止运转,工作结束。 2系统总体方案 2。1系统总体设计 本设计采用AT89C52单片机作为设计的核心,由矩阵键盘、时间显示、控制输出等模块组成。由矩阵键盘模块来实现时间的设置,火力大、中、小的选择以及启动、停止和时间重设功能;时间显示模块由七段数码管来实现,其中初始时间由矩阵键盘输入;火力大小通过发光二极管来表示,红、绿、黄三种灯分别表示大力大、中、小,默认为中火力;启动加热后,步进电机开始转动,七段数码管按照设定的时间进行倒计时,等时间快到零时报警提示、等于零时火力指示灯熄灭、转盘停止运转,工作结束。 表 2-1 元件清单 元件清单: 元件清单 数量 AT89C52 1 ULN2003 1 74LS48 1 LM7805 1 LED 4 三极管9013 5 四位数码管 1 步进电机 1 蜂鸣器 1 自锁开关 1 轻触开关 16 220欧电阻 16 10千欧电阻 1 10k*8排阻 1 30p电容 2 10u电容 1 100u电容 2 12MHZ晶振 1 USB接口 1 16p插槽 2 40p插槽 1 排针 10 2.2单片机的结构和接口的基本介绍 2。2.1单片机的基本组成 1.CPU系统 l 1个8位微处理器CPU l 内部时钟电路 l 总线控制逻辑 2.内部存储器 l 4KB的片内程序存储器(ROM/EPROM/Flash) l 128B数据存储器(RAM)和128B特殊功能寄存器SFR(80C51只用到其中21B) 3.I/O接口及中断定时功能 l 4个8位可编程的I/O(输入/输出)并行接口 l 5个中断源的中断控制系统,可编程为2个优先级 l 2个16位定时/计数器,既可以定时,又可以对外部事件进行计数 l 1个全双工的串行I/O接口,用于数据的串行通信 所有这些都通过单片机内部的总线相连接. 下图所示为80C51单片机的基本组成,可以看出在该芯片上集成了一个微型计算机 图2-1 80C51单片机的基本组成 2.2。2单片机的内部结构 1。中央处理器CPU CPU是80C51内部的1个字长为8位的中央处理单元,它由运算器、控制器两部分组成。实际上构成了单片机的核心. (1)运算器 l 以算术逻辑单元ALU(Arithmetic Logic Unit)为核心,还包括累加器A、程序状态字寄存器PSW(Program Status Word)、B寄存器、两个8位暂存器 TMP1和TMP2等部件。 l 可以进行加、减、乘、除、加1、减1、BCD数十进制调整、比较等算术运算; l 也可以进行与、或、非、异或等逻辑运算; 2.存储器 (1)片内ROM是程序存储器; (2)片内RAM,可用于存放输入、输出数据和中间计算结果,或作为数据堆栈区. 3.I/O口 (1) 并行口 有4个8位并行I/O口P0~P3,均可并行输入输出8位数据。 (2)串行口 有1个串行I/O口,用于数据的串行输入输出 4.定时器/计数器 (1)产生定时脉冲,实现单片机的定时控制; (2)用于计数方式,记录外部事件的脉冲个数。 图2—2单片机的内部结构 2。2。3部分关键的程序存储单元 在程序存储器中,某些单元保留给系统使用,见下表: 表2—2中断入口 存储器单元 保留单元的作用 0000H~0002H 复位后初始化引导程序入口 0003H~000AH 外部中断0入口 000BH~0012H 定时器0溢出中断入口 0013H~001AH 外部中断1入口 001BH~0022H 定时器1溢出中断入口 0023H~002AH 串行口中断入口 002BH 定时器2溢出中断入口 注:标注灰色背景的存储空间为增强型芯片所独有 2。2.4中断 1、中断源 51单片机有5个中断源:两个外部中断、两个计数/定时器中断和一个串行口中断。 2、中断响应步骤: (1)保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。 (2)寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址. (3)执行中断服务程序,用中断服务程序处理需要改变的变量或者事件。 (4)中断返回,执行完中断服务程序后,从中断断点处返回主程序,继续执行主程序。 3、中断的实现 寄存器IE、IP、TCON和SCON来控制中断申请、中断的开关和各种中断源的优先级确定。(1)中断方式和标志位     单片机的中断标志位和方式的选择是通过TCON达到低4位控制字实现的。TCON中的低4位用于外部中断的控制,高4位是T0、T1控制字.控制字如下: 表2—3TCON中的控制字 TCON.7 TCON。6 TCON。5 TCON。4 TCON。3 TCON.2 TCON。1 TCON。0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 外部中断请求源     IT0—————INT0触发方式控制位,可由软件进行置位和复位.IT0=0,INT0为低电平触发方式;IT0=1,INT0为负跳变触发方式.     IE0—----INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由软件来完成),在CPU响应中断后,由硬件将IE0清0。 内部中断请求源     TF0——--—定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0.当CPU响应中断后,再由硬件TF0清0。     TR0-—-——定时器T0的中断允许。 (2)中断允许寄存器IE 表2—4中断允许寄存器IE IE。7 IE。6 IE。5 IE.4 IE.3 IE。2 IE.1 IE。0 EA X X ES ET1 EX1 ET0 EX0 其中: EA:总开关,如果它等于0,则所有中断都不允许. ES:串行口中断允许. ET1:定时器1中断允许. EX1:外中断1中断允许。 ET0:定时器0中断允许。 EX0:外中断0中断允许。 (3)5个中断源的优先级 单片机的中断服务入口地址如下,它们的自然优先级由高到低排列. 外中断0:0003H 定时器0:000BH 外中断1:0013H 定时器1:001BH 串口:0023H 开机时,每个中断都处于低优先级,我们可以用指令对优先级进行设置,中断优先级由中断优先级寄存器IP来设置,IP中某位设为1,相应的中断就是高优先级,否则就是低优先级。 表2-5中断优先级寄存器IP ——- -—- ——— IP。4 IP。3 IP。2 IP。1 IP。0 EA X X PS PT1 PX1 PT0 PX0 2.3显示驱动芯片7447/7448的简介 2.3.1认识7447/7448 BCD码转换成7段LED数码管的译码驱动IC,首推7447系列,包括7446、7447、7448、74LS49,其中7446及7447输出低电平驱动的显示码,用以推动共阳极的7段LED数码管;而7448及74LS49输出高电平驱动的显示码,用以推动共阴极7段LED数码管。7446、7447与7448的引角相同(双并排16Pins),74LS49为双并排14Pins,如图所示。 图2—3 7446、7447、7448/74LS49引脚图 2.3。2引脚说明 D、C、B、A:BCD码输入引脚。 a、b、c…….g:7段LED数码管输出引脚. Lamp Test:本引脚为测试引脚,简称为LT引脚。当本引脚输入低电平时,所连接的7段LED数码管全亮。正常显示下,本引脚应输入高电平。 RBI:本引脚为涟波淹没输入引脚(ripple—blanking input),正常显示下,本引脚应输入高电平。若本引脚输入低电平(即0),且D、C、B、A引脚输入为0,则该位数不显示,这项功能称为消除前置0(leading zero suppression)或消除尾端0(trailing zero suppression) BI/RBO:本引脚为淹没输入或涟波淹没输出引脚(blanking in and/or ripple-blanking output)。正常显示下,本引脚输入高电平或空接.若本引脚连接低电平(0),则该位数将不显示。当该位数不显示时,本引脚将输出低电平,以串接到前一个位数的RBI引脚,作为消除前置0(leading zero suppression)或消除尾端0(trailing zero suppression)之用。 这4个IC都是开集极式输出,对于开集极式输出所连接的负载,其所连接的电源电压也有些差异,如下表所示。 表2—6最大负载电压、最大吸入电流对照表 最大负载电压 最大吸入电流 7446 30V 40mA 7447 15V 40mA 7448 5。5V 6.4mA 74LS49 5。5V 8mA 2。4高耐压、大电流达林顿陈列—ULN2003 2。4。1 概述与特点 ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成. 该电路的特点如下: ULN2003 的每一对达林顿都串联一个2。7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。 ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。 ULN2003 采用DIP-16 或SOP-16 塑料封装. 2。4。2 ULN2003方框图 图2-4 ULN2003内部框图 表2-7 ULM2003极限值 2。4。3 极限值(若无其他规定,Tamb=25℃) 表2-8 ULM2003电特性 2.4。4电特性(若无其它规定, Tamb=25℃) 2。5 LM7805稳压芯片介绍 2。5。1 概述 7805系列为3端正稳压电路,TO—220封装,能提供多种固定的输出电压,应用范围广.内含过流,过热和过载保护电路。带散热片时,输出电流可达1A,虽然时固定稳压电路,但使用外接元件,可获得不同的电压和电流。 2。5。2 主要特点 输出电流可达1A 输出电压有:5V 过热保护 短路保护 输出晶体管SOA保护 2。5.3 外形图及引脚排列 图2-5 LM7805外形图 2.5.4 功能框图 图2-6 LM7805功能框图 2.6三极管9013 三极管9013 9013是一种NPN型硅小功率的三极管它是非常常见的晶体三极管,在收音机以及各种放大电路中经常看到它,应用范围很广,它是npn型小功率三极管. · 集电极电流Ic:Max 500mA · 工作温度:—55℃ to +150℃ · 集电极—基极电压Vcbo:40V · 主要用途: 放大电路 图2-7 9013管脚图 3硬件电路与实现 3。1微波炉控制器的总体硬件设计 图3-1 微波炉控制器硬件连接电路 3.2矩阵键盘及其应用 3.2。1矩阵键盘的结构与工作原理 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如下图所示.在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接.这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键).由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 图3-2矩阵键盘 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了. 3。2。2矩阵式键盘的按键识别方法 确定矩阵式键盘上何键被按下,介绍一种“行扫描法”。 行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下: 判断键盘中有无键按下将全部行线Y0—Y3置低电平,然后检测列线的状态.只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下. 判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平.在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 3.2.3矩阵式键盘的按键的例子 图仍如上所示.AT89S52单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位.列线P1。0—P1。3分别接有4个上拉电阻到正电源+5V,并把列线P1.0—P1.3设置为输入线,行线P1。4-P。17设置为输出线。4根行线和4根列线形成16个相交点.检测当前是否有键被按下。检测的方法是P1。4—P1。7输出全“0",读取P1。0-P1.3的状态,若P1.0-P1。3为全“1”,则无键闭合,否则有键闭合。 去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。 若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。P1。4—P1.7按下述4种组合依次输出: 一 二 三 四 P1.7 1 1 1 0 P1.6 1 1 0 1 P1。5 1 0 1 1 P1。4 0 1 1 1 在每组行输出时读取P1.0—P1。3,若全为“1",则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值。 为了保证键每闭合一次CPU仅作一次处理,必须却除键释放时的抖动。 3.2。4去抖处理 按键的抖动时间一般为5—10ms,抖动可能造成一次按键的多次处理问题。当采取措施消除抖动的影响.消除的办法有多种,常采用软件延时10ms的方法。 在按键较少时,常采用硬件去抖电路。 当按键较多时,常采用软件延时的办法。当单片机检测到有键按下时,先延时10ms,然后再检测按键的状态,若仍是闭合状态,则认为真正有键按下。当检测到按键释放时,亦需要做同样的处理。 3。3四位数码管原理及应用  单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路。LED的发光原理,我们在这里不做介绍.七段LED的数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出他们的电极,点亮相应的点划来显示0—9的数字. 将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式.以共阳式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光.当然。LED的电流通常较少,一般均需在回路中接上限流电阻.假如我们将“b"和“c”段接上正电源,其它端接地或悬空,那么“b”和“c"段发光,此时,数码管显示将显示数字“1”。而将“a ”、“b、“d"、“e”和“g”段都接上正电源,其他引脚悬空,此时数码管将显示“2”,其他字符的显示原理类同。 图3-3四位数码管实物图 图3-5 四位数码管实物引脚图 图3-4四位数码管内部逻辑图 管脚顺序:从数码管的正面看,以第一脚位起点,管脚的顺序是逆时针方向排列: 12—9-8-6 公共端 D5-3 D6—3 A—11 B—7 C-4 D—2 E-1 F-10 G—5 DP—3 DP5—3 DP6—3 四位数码管连接图 图3-6 四位数码管连接图 3。4步进电机控制电路 3.4。1 步进电机工作原理 图3-7 步进电机原理图 1。步进电机 (1)是一个数字/角度转换器,也是一个串行的数/模转换器。 (2)是过程控制及仪表中的主要控制元件. (3)广泛用于定位系统 2。 概念: (1)步进电机旋转的根本原因:错齿; (2)术语:齿距角、步距角; (3)通电一周,转子转过一个齿距角,N 为几,一个齿距角分几步走完. 3.4。2 步进电机控制系统原理 图3-8步进电机控制系统的组成 用微型机控制步进电机原理系统图 图3-9 用微型机控制步进电机原理系统图 步进电机连接图 图3-10 步进电机连接图 3。5蜂鸣器控制电路 蜂鸣器分有源蜂鸣器和无源蜂鸣器,这里的“源”不是指电源,而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 图3-12 蜂鸣器驱动电路 图3-11 蜂鸣器实物图 4控制程序设计与仿真 4。1键盘扫描及显示程序设计 4.1.1键盘扫描流程图 键盘扫描 有键闭合 延时去抖动 扫描键盘 找到闭合键 计算键值 建立有效标志 返回 建立无效标志 闭合键释放 图4-1微波炉控制器的键盘扫描方式流程图 4。1.2矩阵键盘仿真电路 图4-2 矩阵扫描显示电路 4.1。3键盘扫描和显示输出的程序: #include<reg52。h〉 #include〈intrins。h〉 char TAB[10]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9}; char disp[4]={0x8f,0x4f,0x2f,0x1f}; //数码管控制显示 unsigned int digit=1234; //按键输入的数值 char dig[4]; //声明led数码管显示的数字 void debouncer(void); //声明防抖动函数 void scanner(void); //声明扫描函数 #define TH_M1 (65536—500)/256 #define TL_M1 (65536—500)%256 #define rowkey() (~P1)&0x0f //读入p1低四位(列按键值)宏 main() { EA=1; ET1=1; TMOD=0X10; //定时器1,模式1 TH1=TH_M1;TL1=TL_M1; TR1=1; while(1) scanner(); } void debouncer(void) //延时程序 { int i; for(i=0;i〈3600;i++); //约30ms延时 } void scanner(void) //扫描函数 { char col,row; //声明行和列 char scan,keyin,kcode; //声明扫描信号,列按键值,扫描码 scan=0xef; for(col=0;col〈4;col++) { P1=scan; //P1按键扫描 keyin=rowkey(); //读入第col行的列按键值 _nop_(); //三个_nop_();作用为让 P1 口的状态稳定 _nop_(); _nop_(); if(keyin!=0) //若有按键按下 { for(row=0;row<3;row++) { if(keyin==(0x01<〈row)) { kcode=row+3*col; //计算出按键码 digit=digit*10+kcode; //扫描码写入七段数码管数组 digit=digit%1000; //取输入的后四位,输入不够四位高位为零 break; //离开第row列扫描 } } while(rowkey()!=0) //等按键放开 debouncer(); //防抖动函数 } scan=(scan〈<1)|0x01; //产生左一位扫描信号 } } char m=0; void T1_100us(void)interrupt 3 //T1中断子程序开始,显示四位数码管 { TH1=TH_M1;TL1=TL_M1; dig[0]=digit%10; dig[1]=(digit%100)/10; dig[2]=(digit%1000)/100; dig[3]=digit/1000; P2=TAB[dig[m]] & disp[m]; m=(m〈3)? m+1:0; } 4。2倒计时程序设计 4。2。1倒计时流程图 图4-3倒计时程序流程图 开始 计数值初值 计数值输出 延时1s 上次计数值取出 计数值减1 判断是否为0 倒数结束 4.2。2倒计时仿真电路 图4-4 倒计时显示电路 4。2。3倒计时程序: #include<reg52。h> char TAB[10]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9}; char disp[4]={0x8f,0x4f,0x2f,0x1f}; //数码管控制显示 unsigned int digit=4321; //数值显示 char dig[4]; #define TH0_M0 (65536—20000)/256 #define TL0_M0 (65536-20000)%256 #define TH1_M1 (65536—1000)/256 #define TL1_M1 (65536—1000)%256 main() { TMOD=0x01;//定时器0,模式1 TH0=TH0_M0; TL0=TH0_M0; IE= 0x82; //打开中断 TR0=1; //启动计数器TR0 EA=1; ET1=1; TMOD=0X10; //定时器1,模式1 TH1=TH1_M1;TL1=TL1_M1; TR1=1; while(1); } /********************************/ /* 定时中断 */ /********************************/ int m0=50; void t0_1s(void)interrupt 1 //定时中断TR0 { TH0=TH0_M0;TL0=TH0_M0; m0——; if(m0==0) {digit=(digit>0)? digit—1:4321; m0=50; } } char m1=0; void T1_100us(void)interrupt 3 //T1中断子程序开始,显示四位数码管 { TH1=TH1_M1;TL1=TL1_M1; dig[0]=digit%10; dig[1]=(digit%100)/10; dig[2]=(digit%1000)/100; dig[3]=digit/1000; P2=TAB[dig[m1]] & disp[m1]; m1=(m1〈3)? m1+1:0; } 4.3步进电机控制程序设计 4。3.1步进电机流程图 开始 取第一个值 延时 取第二个值 延时 取第三个值 延时 取第四个值 图4-5步进电机程序流程图 4。3。2步进电机仿真电路 图4-6 步进电机转动电路 4。3。3步进电机转动程序: #include〈reg52。h〉 #define OUTPUT P0 char excite[]={0x08,0x01,0x02,0x04}; //1相驱动激励数组 //char excite[]={0x03,0x06,0x0c,0x09}; //2相驱动激励数组 unsigned char times=10; unsigned char count=10; #define TH_M1 (65536—500)/256 #define TL_M1 (65536-500)%256 unsigned char i=0; main() { OUTPUT=0; TMOD=0x10; IE=0x88; TH1
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:基于单片机的微波炉控制器.doc
    链接地址:https://www.zixin.com.cn/doc/3925849.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork