2006084222.doc

AT89C51电磁炉单片机模拟

收藏

资源目录
跳过导航链接。
压缩包内文档预览:(预览前20页/共37页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:512330    类型:共享资源    大小:861.42KB    格式:RAR    上传时间:2015-11-11 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
毕业设计
资源描述:
AT89C51电磁炉单片机模拟,毕业设计
内容简介:
本 科 生 毕 业 论 文 学 院 电 信 学院 专 业 电子信息工程 届 别 2010 届毕业生 题 目 电磁炉控制系统单片机模拟 学生姓名 李 志 红 学 号 2006084222 指导 教 师 董 永 涛 教 务 处 制 nts电磁炉控制系统单片机模拟 1 nts电磁炉控制系统单片机模拟 2 目 录 引言 3 加热原理 3 工作过程 3 电磁炉的智能控制部件 单片机 3 电磁炉设计要求 3 AT89C51 单片机设计端口定义 4 1MCS-51 单片机概述 5 1.1AT89C51 主要特性 5 1.2AT89C51 最小应用系统 5 1.3MCS-51 内部结构 6 1.4AT89C51 管脚图 6 1.5 管脚功能 6 电磁炉内部模块 7 2.1 电源 电路模 块 7 2.1.1 主电源电路 7 2.1.2 副电源 7 2.1.3 稳压电路 7 2.2 控制模块 7 2.2.1 PWM 脉宽 调制 输出电路 7 2.2.2 键盘模块 11 2.2.3 多路开关状态指示 14 2.2.4 定时模块 15 2.2.5 LED 显示模块 17 2.3 检测模块 22 2.3.1 A/D、 D/A 转换模块 23 2.3.2 过压、欠 压检测模块 23 2.3.3 过流检测模块 23 2.3.4 温度检测模块 24 2.3.5 锅检测与小物件检测模块 24 2.3.6 加热开关控制 25 2.3.7 蜂鸣器驱动电路 25 2.3.8 风扇模块 27 3 单片机软件编程及调试 27 3.1 单片机语言集成开发平台 27 3.1.1u Vision2 集成开发环境 27 3.1.2Keil C51 开发单片机应用程序的步骤 28 结论 28 致谢 28 参考文献 29 附表 1 单片机指令 30 附表 2 LED 字型码表 35 nts电磁炉控制系统单片机模拟 3 电磁炉控制系统单片机模拟 李志红 (云南民族大学 电信 学院) 摘要: 本文研究的 电磁炉控制 核心部件是 AT89C51 单片机 ,将 预先编好指令信息输入单片机 内部 ROM 后,在工作状态下,电磁炉就能智能的去完成管理和控制工作。本文介绍了电磁炉的工作原理、设计要求,并提出用 AT89C51单片机来设计电磁炉,详细介绍电磁炉 中某些模块的设计 。主要介绍了风键盘扫描,显示面板控制,功率控制,温度控制,风扇、蜂鸣器控制,定时控制 等设计 。 关键词 :电磁炉,单片机,控制 前言 随着人类文明的发展,家用电器越来越多的进入人们的生活中,特别是近几年单片机的出现更是使得家电得以突飞猛进的发展。电磁炉是现代家庭烹饪食物的先进电子炊具,不但使用起来非常方便、快捷,可用来进行煮、炸、煎、蒸、炒等各种烹调操作 ,而且还安全清洁,因此受到人们的亲咪。 加热原理: 变压器有一个缺点就是铁芯在磁场感应中会产生涡流,而涡流流动需要克服铁芯的内阻,于是铁芯便 会发热,从而影响变压器的效率。恰恰相反,电磁炉就是引用这一原理对食品进行加热的。它利用高频的电流通过环形线圈,从而产生无数封闭磁场力,当磁场那磁力线通过锅的底部,既会产生无数小涡流,使锅体本生自行高速发热,然后再加热锅内食物。 工作过程: 电流电压经过整流器转换为直流电,又经高频电力转换装置使直流电变为超过音频的高频交流电,将高频交流电加在扁平空心螺旋状的感应加热线圈上,由此产生高频交变磁场。其磁力线穿透灶台的陶瓷台板而作用于金属锅。在烹饪锅体内因电磁感应就有强大的涡流产生。涡流克服锅体的内阻流动时完成 电能向热能的转换,所产生的焦耳热就是烹调的热源。 电磁炉的智能控制部件 单片机: 随着微型计算机的发展,特别是单片机的诞生,使得各种家用电器的品质有了极大的改变,实现了智能化的控制。电磁炉的 MCU 采用 AT89C51 芯片,在外围电路的组合下,将预先编好的程序写入 AT89C51 单片机的程序存储器中,在工作模式下,单片机就会执行相应的指令,从而使电磁炉完成相应的控制。 电磁炉 设计要求: 用 AT89C51单片机设计电磁炉所具有的性能 : 1、定温加热: 在保温 70至 260之间 ,共分为六档火力选择 (烧烤、煎炸、蒸煮 、 火锅、炒菜、爆炒 ) ,每档都能都能达到精确定温;自动烹调功能, 满足各种烹饪需要;一种保温模式:文火:一种自动工作模式:烧水。 2、火力选择: 功率从 300W 2100W 的范围内, 共分为 14 档火力 , 每档均有稳定的功率,手动定温选择, 实现快速调节火力。 nts电磁炉控制系统单片机模拟 4 3、时间预约:可以实现 1720 分钟预约开机功能, 1180 分钟的定时关机功能。 4、多种保护措施:系统采用过流检测保护电路、过压检测保护电路、过温检测保护电路等多种保护措施; 5、 锅具自动识别:当炉面无锅或使用非铁磁材料锅具时,电磁炉自动识别,不予加热。 6、 小物自动识别:当汤匙等小件物品放置于灶具上时,电磁炉自动识别,不予加热。 7、 空烧防止:使用中若持续二小时内未有按键动作,电磁炉自动判别为使用者遗忘,自动关机防止事故。 8、散热功能:开机启动同时启动风扇,关闭电源后风扇继续工作大约一分钟左右,保护电磁炉内部电路过热损坏, 9、报警电路:系统设置了故障报警功能,方便故障查找及检修; 系统含有自检程序,方便生产测试。 10、采用开关电源,使系统能够在 180250V的电压范围内正常工作; AT89C51 单片机设计端口定义: P0.0 接显示模块 LED字段 P0.1 接显示模块 LED字段 P0.2 接显示模块 LED字段 P0.3 接显示模块 LED字段 P0.4 接显示模块 LED字段 P0.5 接显示模块 LED字段 P0.6 接显示模块 LED字段 P0.7 接多路开关指示电路的发光二极管(对应查询式接口键盘的某个按键,当某个按键按下时,单片机输出高电平,对应的发光二极管发光) P1.0 接 4*4扫描键盘接口 P1.1 接 4*4扫描键盘接口 P1.2 接 4*4扫描键盘接口 P1.3 接 4*4扫描键盘接口 P1.4 接 4*4扫描键盘接口 P1.5 接 4*4扫描键盘接口 P1.6 接 4*4扫描键盘接口 P1.7 接 4*4扫描键盘接口 P2.0 接 LED模块模块的公共端 P2.1 接 LED模块模块的公共端 P2.2 接 LED模块模块的公共端 P2.3 接 LED模块模块的公共端 P2.4 接多路开关指示电路的发光二极管(对应查询式接口键盘的某个按键,当某个按键按下时,单片机输出高电平,对应的发光二极管发光) P2.5 接多路开关指示电路的发光二极管(对应查询式接口键盘的某个按键 ,当某个按键按下时,单片机输出高电平,对应的发光二极管发光) P2.6 接多路开关指示电路的发光二极管(对应查询式接口键盘的某个按键,当某个按键按下时,片机输出高电平,对应的发光二极管发光) P2.7 接多路开关指示电路的发光二极管(对应查询式接口键盘的某个按键,当某个按键按下时,单片机输出高电平,对应的发光二极管发光) P3.0 接蜂鸣器驱动电路。 P3.1 接过压、欠压模块检测。 P3.2 接多路开关指示电路的发光二极管(对应查询式接口键盘的某个按键,当某个按键按下时,单片机输出高电平,对 应的发光二极管发光) P3.3 接 4*4中断式查询按键模块公共段 P3.4 接温度检测电路(检测电路检测到温度过高时,将其转换为高电平输入单片机,单片机做出相应控制) P3.5 接锅检测电路。(检测电路通过检测电路的电流变化可以判断无锅时,或不合适加热物件的将其转换为高电平输入单片机,单片机控制切断加热电源) P3.6 接电流检测电路。(检测电路检测到电流过高时,将其信后转换为高电平输入单片机,单片nts电磁炉控制系统单片机模拟 5 机做出相应控制) P3.7 接加热控制开关,当输出低电平时电磁炉停止加热,当输出高电平时电磁炉加热。 XTAL1 时钟引脚 1 XTAL2 时钟引脚 2 RST 复位电路 GND 接地 VCC 接 +5V电源 EA/VPP ALE/PROG PESN 1 MCS-51 单片机 概述 单片机【 MCU( Micro Controller Unit)】也被称为“微控制器”、“嵌入式控制器”,是在一个集成芯片中,集成有微处理器( CPU)、存储器( RAM 和 ROM)、基本 I/O 接口以及定时 /计数部件,即在一个芯片上实现一台微型计算机的基本功能,对于简单控制对象,只需要单片机作为控制核心,不需要增加别的外部设备和 扩展某些 I/O 接口就能实现。对于复杂的系统,单片机的应用和 I/O接口扩展也很方便。 1.1 AT89C51单片机 主要特性 与 MCS-51 兼容 4K/8K字节可编程闪烁存储器 全静态工作: 0Hz-24Hz 三级程序存储器锁定 128*8位内部 RAM 32可编程 I/O线 两个 16位定时器 /计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 1.2 AT89C51单片机 最小应用系统 nts电磁炉控制系统单片机模拟 6 1.3 AT89C51单片机内部结构 1.4 AT89C51管脚图 1.5 管脚功能 电源管脚 : VCC(40脚 ):接 5V; VSS( 20 脚):接地; 时钟信号脚 : XTAL1(19脚 ):外部时钟信号脚; XTAL2(18脚 ):外部时钟信号脚; 控制线 : RST/V pd(9 脚 ):当作 RST 使用时,为复位输入端;当作为 V pd 使用时,当 VCC 掉电下,可作备用电源。 V pp( 31 脚):为访问内部或外部程序储存器的选择号。对片内 RPROM 编程时, V pp MCS-51单片机的管脚接入 21V 编程电压。 nts电磁炉控制系统单片机模拟 7 ALE/( 30脚):当访问外部储存器时, ALE信号的负跳变将 P0 口上的低 8位送入地址锁存器,不访问外部储存器时, ALE 端仍以固定的振荡频率的 1/6 速率输出正脉冲信号。当对片内 EPROM编程时,该管脚 PROG 用于输入编程脉冲。 输入 /输出口线 : P0( 32 39 脚),既可接地址锁存器作低 8位地址 I/O 使用也可以作数据 I/O使用。能驱动 8个 LSTTL负载。 P1( 1 8脚):具有内部上位电阻的 8位准双向 I/O,可驱动 4个 LSTTL 负载。 P2( 21 28脚): 8位具有内部上位电阻的准双向 I/O,在接收外部存储器时, P2作为地址高8位。能驱动 4个 LSTTL负载。 P3( 10 17 脚): 8位具有内部上位电阻的准双向 I/O,其每一位又有特殊功能 . P3口特殊功能 : P3 端口 对应特殊功能引脚 实现功能 P3.0 RXD 串行口输入端。 P3.1 TXD 串行口输出端 P3.2 INTO 外部中断 0输入端,低电平有效 P3.3 INT1 外部中断 1输入端,低电平有效。 P3.4 T0 定时 /计数器 0外部事件计数输入端。 P3.5 T1 定时 /计数器 1外部事件计数输入端。 P3.6 WR 外部数据存储器写 选通信号,低电平有效。 P3.7 RD 外部数据存储器读选通信号,低电平有效。 电磁炉内部模块 电源电路 PWM电路 A/D 转换 键盘模块 LED 模块 过 压、欠压检测 锅、小物件检测 温度检测 报警电路 风扇电路 AT89C51 单片机 nts电磁炉控制系统单片机模拟 8 2.1 电路模块 2.1.1主电源电路 交流电 200V 经过前端滤波处理,通过通过桥型整流,变成 310V 左右的直流电,通过 MCU 控制IGB T 功率管的导通和关闭来控制电磁炉加热线圈的工作状态。 2.1.2 副电源 开关电源提供有 +5V, +18V 两种稳压回路,其中桥式整流后的 +18V 供 IGBT 的驱动回路,同步比较 IC LM339和风 扇驱动回路使用,由三端稳压电路稳压后的 +5V供主控 MCU使用。 2.1.3稳压电路 2.2控制模块 nts电磁炉控制系统单片机模拟 9 2.2.1 PWM脉宽 调制 输出电路 ( 1) PWM脉宽调制电路原理 T89C51单片机通过控制 PWM 脉冲的宽与窄 , 控制送至振荡电路的加热功率控制电压,控制了IGBT导通时间的长短 ,就可以控制了加热功率的大小。 PWM 是 一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。 PWM 信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有,要么完全无。电压或电流源是以一种通或断的重复脉冲序列被加到模拟负载上去的。只要带宽足够,任何模拟值都可以使用 PWM 进行编码。 采用脉宽调制(PWM)方式可以使负载在工作时得到满电源电压,这样有利于克服 IGBT 功率管内在的线圈电阻而使 IGBT功率管产生更大的力矩。 CPU 输出 PWM 脉冲到由 R30 、 C27 、 R31 组成的积分电路 , PWM 脉冲宽度越宽 ,C28 的电压越高 ,C29 的电压也跟着升高 , 送到振荡电路 (G 点 ) 的控制电压随着 C29 的升高而升高 , 而 G 点输入的电压越高 , V7 处于 ON 的时间越长 , 电磁炉的加热功率越大 , 反之越小。 “ CPU 通过控制 PWM 脉冲的宽与窄 , 控制送至振荡电路 G 的加热功率控制电压,控制了 IGBT 导通时间的长短 , 结果控制了加热功率的大小”。 ( 2) 电磁炉功率控制程序 / PWM 控制电磁炉 功率大小程序 / 利用定时器控制产生占空比可变的 PWM 波 / 按 K1(“ -”), PWM 值增加,则占空比减小 ,输出功率减小。 / 按 K2(“ +” ), PWM 值减小,则占空比增加 ,输出功率增加。 /*/ 包含文件 /*/ #include #include /*/ 端口定义 /*/ sbit K1 =P10; /增加键 sbit K2 =P11 ; /减少键 unsigned char PWM=0x7f ; /赋初值 void Beep(); void delayms(unsigned char ms); void delay(unsigned char t); /*/ 主程序 /*/ void main() nts电磁炉控制系统单片机模拟 10 P1=0xff; TMOD=0x21 ; TH0=0xfc ; /1ms延时常数 TL0=0x66 ; /频率调节 TH1=PWM ; /脉宽调节 TL1=0 ; EA=1; ET0=1; ET1=1; TR0=1 ; while(1) do if(PWM!=0xff) PWM+ ;delayms(10); else Beep() ; while(K1=0); do if(PWM!=0x02) PWM- ;delayms(10); else Beep() ; while(K2=0); /*/ / 定时器 0中断服务程序 . /*/ void timer0() interrupt 1 TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P0=0x00 ; /启动输出 /*/ / 定时器 1中断服务程序 /*/ void timer1() interrupt 3 TR1=0 ; P0=0xff ; /结束输出 nts电磁炉控制系统单片机模拟 11 2.2.2 键盘模块 ( 1) 键盘接口方式 键盘接口可以分为独立式键盘接口和行列式键盘接口,在单片机接口允许的条件下可以采用独立式按键接口,而在按键较多的情况下可以采用行列式键盘接口。 独 立式键盘接口 单键盘按键较少时最佳的接口方式是独立式按键接法,即每一个 I/O 口上只接一个按键,按键的另一端接电源或接地。独立式键盘的实现是利用单片机 I/O 口读取口的电平高低来判断是否有按键按下。按键的一端接地,另一端接一个 I/O 口程序开始时将此 I/O 口置于高电平, 平时无按键按下时 I/O 口保护高电平。当有键按下时此 I/O 口与地短路,迫使 I/O 口为低电平,程序通过查询此 I/O口的电平状态就可以判断是次按键是否按下。 独 立式 盘接口可分为 查询方式的独立式按键电路 (下左图) 和 中断式的独立按键电路 (下右图) 。 查询方式的独立式按键电路 查询方式的独立式按键电路 行列式按键 所谓矩阵式就是说 用 I/O口线组成行、列结构,按键设置在行列的交点上。用 3 3的行列结构可构成 9 个键的键盘, 4 4 行列结构可构成 16 个键的 键盘。因此,在按键数量较多时,可以节省 I O口线。 nts电磁炉控制系统单片机模拟 12 a 逐点扫描法 设 P1 口的低 4 位置为 0,高 4 为置为 1,当无案件时,高位中的高电平会和低位中的低电平短路。此时高位中的高电平会被拉低,即高 4 位中有 0 出现。当单片机读 P1 口的值不为 F0H时则表示有键按下,经过去抖动处理后开始扫描这一个按键的位置。先把 P1 的高 4 位置 0,低 4位置 1,下面置低第 1 列线并置高第 1 行,之后再读第 1 行的电平,为高电平说明为高说明不是第 1 行第 1 列的键按下,跳到下一个点 (第 1行第 2列 )的扫描。为低电平则说明第 1 行第 1列 的按键被按下,并调用相应程序。 b 逐行扫描法 和逐点扫描的方法相似,只是数据的处理以一行的 4 位数据直接处理,也就是先使能第 1 行(置低电平),然后看那一列的数据变成低电平了,如果高四位的数据没有变成低电平则使能下一行。找到了按键所在的行并测出列数据就可以调用相应的处理程序。 c 全局扫描法 全局扫描是先设 P1 的高 4位置 1,低 4位置 0,即 F0H,然后读取 P1口的数据如果不为 F0H说明有按键按下,经过延时去除抖动后读出 P1 口的值,因为低 4位是 0,无论是否按下都不会影响它,只有高 4位被改变。将数据送入寄存器后再把 P1的状态反过来,将 P1 的高 4位置 0,低 4位置 1,即 F0H,再读一次数据。这时高 4 位的值是 0 依然不变。这样两次读取我们就得到了 2个字节的数据( XXXX0000 和 0000XXXX, X 为读到的数据),最后我们将这两个数相或(将两个半字节数据融合为一个字节),就得到了一个新的字节,用这个字节和我们设定的数据比较来决定按键。 (2)电磁炉中的按键设置 因为电磁炉设计中共设置啦六种加热模式,而功率可加可减,预约和定时功能,总开关。共设置啦 11个按键。( 5个按键为空闲)可以选用行列式按键电路( 4*4)共占用 9个 I/O口 。 ( 3) 消除抖动 通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而机械触点在闭合及断开的瞬间均伴随有一连串的抖动,这种抖动一般是在 1020 毫秒之间这种不稳定的抖动时间对人类来说太快了,而对单片机来说则是漫长的,为了提高系统的稳定nts电磁炉控制系统单片机模拟 13 性必须去除或避开它目前的技术有硬件去除抖动和软件去除抖动。硬件去除抖动就是用部分电路对抖动部分加以处理, 但实现难度大成本高 ,我们一般采用软件去除抖动,实现方法是先查询按键当有 低电平出现时立即延时 10200毫秒以避开抖动,延时结束后再读一次 I/O口的值这次的值如果为1表示低电平的时间不到 10200毫秒,视为干扰信后,当读出的值是 0时则表示有按键按下,调用相应的处理程序。 (4) 程序 ORG 0000H TEST: MOV P1,#0F0H ; P1.0 P1.3输出 0, P1.4 P1.7输出 1,作输入位 MOV A,P1 ;读键盘,检测有 无键按下 ANL A,#0F0H ; 屏蔽 P1.0 P1.3,检测 P1.4 P1.是否全为 1 CJNE A, #0F0H,HAVE ; P1.4 P1.7不全为 1,有键按下 SJMP TEST ; P1.4 P1.7全为 1,无键按下,重检测键盘 HAVE: MOV A,#0FE ;有键按下,逐行扫描键盘,置扫描初值 NEXT: MOV B,A ;扫描码暂存于 B MOV P1,A ;输出扫描码 READ: MOV A,P1 ;读键盘 ANL A,#0F0H ; 屏蔽 P1.0 P1.3,检测 P1.4 P1.是否全为 1 CJNE A, 0F0H,YES ; P1.4 P1.7不全为 1,该行有键按下 MOV A,B ;被扫行无键按下,准备查下一行 RL A ;置下一行扫描码 CJNE A,#0EFH,NEXT ;未扫到到最后一行循环 YES: ACALL DAY ;延时去抖动 AREAD: MOV A,P1 ;再读键盘 ANL A,#0F0H ;屏蔽 P1.0 P1.3,保留 P1.4 P1.7(列码 ) MOV R2,A ;暂存列码 MOV A, B ANL A,#0FH ;取行扫描码 ORL A,R2 ;行码、列码合并为键编码 YES1: MOV B,A ;键编码存于 B LJMP SAM38 ;转键分析处理程序 nts电磁炉控制系统单片机模拟 14 2.2.3 多路开关状态指示 在电磁炉的按键按下时要求按下的按键下的指示灯发光,设计通过在 AT89S51 单片机的 (P2.4、 P2.5、 P2.6、 P2.7、 P3.2、 P0.7) 接发光二级管,按键外查询时接口按键的对应按键。 下面是一种简单的 设计电路, P2.0 P1.3 接四个发光二极管 L1 L4, P1.4 P1.7 接了四个开关 K1 K4,编程将开关的状态反映到发光二极管上。(开关闭合 ,对应的灯亮,开关断开,对应的灯 ) (1) 电路原理图 (2) 线路连接 把 AT89C51单片机的 P1.0 P1.3用导线连接到“八路发光二极管指示模块”区域中的 L1 L4端口上。 把单片机的 P1.4 P1.7用导线连接到“四路拨动开关”区域中的 K1 K4端口上。 ( 3) 程序设计思路 a 开关状态检测 对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用 JB P1.X, REL或 JNB P1.X, REL指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用 MOV A, P1指令一次把 P1端口的状态全部读入,然后取高 4位的状态来指示。 b 输出控制 根据开关的状态,由发光二极管 L1 L4来指示,我们可以用 SETB P1.X和 CLR P1.X指令来完成,也可以采用 MOV P1, 1111XXXXB方法一次指示。 (4)程序 ORG 00H nts电磁炉控制系统单片机模拟 15 START: JB P1.4,NEXT1 CLR P1.0 SJMP NEX1 NEXT1: SETB P1.0 NEX1: JB P1.5,NEXT2 CLR P1.1 SJMP NEX2 NEXT2: SETB P1.1 NEX2: JB P1.6,NEXT3 CLR P1.2 SJMP NEX3 NEXT3: SETB P1.2 NEX3: JB P1.7,NEXT4 CLR P1.3 SJMP NEX4 NEXT4: SETB P1.3 NEX4: SJMP START END 2.2.4定时模块 在 AT89S51单片机的 P0和 P2端口分别接有两个共阴数 码管, P0口驱动显示秒时间的十位,而 P2口驱动显示秒时间的个位。 (1) 电路原理图 (2) 线路连接 nts电磁炉控制系统单片机模拟 16 把单片机的 P0.0/AD0 P0.7/AD7端口用 8芯排线连接到“四路静态数码显示模块”区域中的任一个 a h端口上;要求: P0.0/AD0对应着 a, P0.1/AD1对应着 b, P0.7/AD7对应着 h。 把“单片机系统”区域中的 P2.0/A8 P2.7/A15端口用 8芯排线连接到“四路静态数码显示模块”区域中的任一个 a h端口上;要求: P2.0/A8 对应着 a, P2.1/A9对应着 b, P2.7/A15对应着 h。 ( 3) 设计思路 在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到 60时,就自动返回到 0,从新秒计数。 对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对 10 整除和对 10 求余。 在数码上显示,仍通过查表的方式完成。 一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到 1秒时间为 1.002秒。延时一秒的程序为: DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET ( 4) 程序框图 ( 5) 程序 Second EQU 30H ORG 0 START: MOV Second,#00H NEXT: MOV A,Second nts电磁炉控制系统单片机模拟 17 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,B MOVC A,A+DPTR MOV P2,A LCALL DELY1S INC Second MOV A,Second CJNE A,#60,NEXT LJMP START DELY1S: MOV R5,#100 D2: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D2 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 2.2.5 LED显示模块 ( 1) LED数码管结构 LED显示器的结构由 8个发光二极管按“日”字形排列。分别控制各笔画段的 LED,使其 的某些发亮,从而可以显示出 0 9的阿拉伯数字符号以及其它能由这些笔画段构成的各种字符。 把 所有发光二极管的阳极连在一起称作共阳极数码管,把所有个发光二极管的阴极连在一起称为共阴极数码管。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 ( 2) 数码管的驱动方式 静态显示驱动 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O端口进行驱动,或者使用如 BCD 码二 -十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O端口多,实际应用时必须增 动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划 a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到 相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 1 2ms,由于人的视觉暂留现象及发光二极管nts电磁炉控制系统单片机模拟 18 的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O端口,而且功耗更低。 ( 3) 电磁炉中采用的四位 LED数码管电路 ( 4) 数码管程序 LIST P=89C51 ROMSIZE=3072 ;* ; 系统寄存器 ;* IE EQU 00H ;中断使能标志 IRQ EQU 01H ;中断请求标志 TM0 EQU 02H ;Timer0 模式寄存器 TL0 EQU 04H ;Timer0 装入 /记数寄存器低四位 TH0 EQU 05H ;Timer0 装入 /记数寄存器高四位 TBR EQU 0EH ;查表寄存器 PORTB EQU 09H ;Port B 数据寄存器 PORTE EQU 0CH ;Port E 数据寄存器 PORTF EQU 0DH ;Port F 数据寄存器 INX EQU 0FH ;间接寻址伪索引寄存器 DPL EQU 10H ;INX 数据指针低四位 DPM EQU 11H ;INX 数据指针中三位 nts电磁炉控制系统单片机模拟 19 DPH EQU 12H ;INX 数据指针高三位 PBCR EQU 19H ;Port B 输入 /输出控制寄存器 PECR EQU 1CH ;Port E 输入 /输出控制寄存器 PFCR EQU 1DH ;Port F 输入 /输出控制寄存器 ;* ; 用户定义寄存器 ;* AC_BAK EQU 30H ;AC 值备份寄存器 PB_BAK EQU 32H ;Port B 数据备份寄存器 PE_BAK EQU 35H ;Port E 数据备份寄存器 PF_BAK EQU 36H ;Port F 数据备份寄存器 ;- ; 用于 TIMER 定时 T1MS_CT EQU 37H ;计数值 =04H,定时 1ms ;- F_TIMER EQU 39H ;bit0=1, 1ms 到 FLAG1 EQU 3AH ;bit0=1, 按键未松开 ;- ; Used for display DISP_R1 EQU 3BH ;第一位 7 段 LED 显示的字符 DISP_R2 EQU 3CH ;第二位 7 段 LED 显示的字符 DISP_R3 EQU 3DH ;第三位 7 段 LED 显示的字符 DISP_R4 EQU 3EH ;第四位 7 段 LED 显示的字符 DISP_PT EQU 3FH ;位选指针 ;* ; 程序 ;* ORG 0000H JMP RESET RTNI JMP TIMER0_ISP ;TIMER0 中断程序入口地址 RTNI RTNI ;* ; TIMER0 中断服务程序 ;* TIMER0_ISP: STA AC_BAK,00H ;备份 AC 值 ANDIM IRQ,1011B ;清 TIMER0 中断请求标志 J1MS: SBIM T1MS_CT,01H BNZ TIMER0_ISP_END ;未到 1ms, 跳转 LDI T1MS_CT,04H ;重置 1ms 计数器 ORIM F_TIMER,0001B ;设置 1ms 到 标志 TIMER0_ISP_END: LDI IE,0100B ;打开 TIMER0 中断 LDA AC_BAK,00H ;取出 AC 值 RTNI ;* ; 主程序 ;* RESET: nts电磁炉控制系统单片机模拟 20 NOP ;- ;清用户寄存器 ;- POWER_RESET: LDI DPL,00H LDI DPM,02H LDI DPH,00H POWER_RESET_1: LDI INX,00H ADIM DPL,01H LDI TBR,00H ADCM DPM,00H BA3 POWER_RESET_2 JMP POWER_RESET_3 POWER_RESET_2: ADIM DPH,01H POWER_RESET_3: SBI DPH,01H BNZ POWER_RESET_1 SBI DPM,04H BNZ POWER_RESET_1 ;- ;初始化系统寄存器 ;- SYSTEM_INITIAL: ;TIMER0 初始化 LDI TM0,07H ;设置 TIMER0 预分频为 /1 LDI TL0,06H LDI TH0,00H ;设置中断时间为 250us LDI T1MS_CT,04H ;定时 1ms ;I/O 口初始化 LDI PORTB,00H LDI PBCR,0FH ;设置 Port B 作为输出口 LDI PORTE,0FH LDI PECR,0FH ;设置 Port E 作为输出口 LDI PORTF,0FH LDI PFCR,0FH
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:AT89C51电磁炉单片机模拟
链接地址:https://www.renrendoc.com/p-512330.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!