电磁炉AT89C51单片机模拟毕业设计论文_第1页
电磁炉AT89C51单片机模拟毕业设计论文_第2页
电磁炉AT89C51单片机模拟毕业设计论文_第3页
电磁炉AT89C51单片机模拟毕业设计论文_第4页
电磁炉AT89C51单片机模拟毕业设计论文_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 生 毕 业 论 文 学 院 电信学院 专 业 电子信息工程 届 别 2010 届毕业生 题 目 电磁炉控制系统单片机模拟 学生姓名 学 号 指导教师 教 务 处 制 电磁炉控制系统单片机模拟 1 目 录 引言 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 电磁炉控制系统单片机模拟 2 电磁炉控制系统单片机模拟 摘要: 本文研究的 电磁炉控制核心部件是 AT89C51 单片机,将预先编好指令信息输入单片机内部 ROM 后,在工作状态下,电磁炉就能智能的去完成管理和控制工作。本文介绍了电磁炉的工作原理、设计要求,并提出用 AT89C51单片机来设计电磁炉,详细介绍电磁炉中某些模块的设计。主要介绍了风键盘扫描,显示面板控制,功率控制,温度控制,风扇、蜂鸣器控制, 定时控制等设计。 关键词 :电磁炉,单片机,控制 前言 随着人类文明的发展,家用电器越来越多的进入人们的生活中,特别是近几年单片机的出现更是使得家电得以突飞猛进的发展。电磁炉是现代家庭烹饪食物的先进电子炊具,不但使用起来非常方便、快捷,可用来进行煮、炸、煎、蒸、炒等各种烹调操作 ,而且还安全清洁,因此受到人们的亲咪。 加热原理: 变压器有一个缺点就是铁芯在磁场感应中会产生涡流,而涡流流动需要克服铁芯的内阻,于是铁芯便会发热,从而影响变压器的效率。恰恰相反,电磁炉就是引用这一原理对食品进行加热的。它利用高频 的电流通过环形线圈,从而产生无数封闭磁场力,当磁场那磁力线通过锅的底部,既会产生无数小涡流,使锅体本生自行高速发热,然后再加热锅内食物。 工作过程: 电流电压经过整流器转换为直流电,又经高频电力转换装置使直流电变为超过音频的高频交流电,将高频交流电加在扁平空心螺旋状的感应加热线圈上,由此产生高频交变磁场。其磁力线穿透灶台的陶瓷台板而作用于金属锅。在烹饪锅体内因电磁感应就有强大的涡流产生。涡流克服锅体的内阻流动时完成电能向热能的转换,所产生的焦耳热就是烹调的热源。 电磁炉的智能控制部件 单片机: 随着微型计 算机的发展,特别是单片机的诞生,使得各种家用电器的品质有了极大的改变,实现了智能化的控制。电磁炉的 MCU 采用 AT89C51 芯片,在外围电路的组合下,将预先编好的程序写入 AT89C51 单片机的程序存储器中,在工作模式下,单片机就会执行相应的指令,从而使电磁炉完成相应的控制。 电磁炉设计要求: 用 AT89C51单片机设计电磁炉所具有的性能 : 1、定温加热:在保温 70至 260之间,共分为六档火力选择(烧烤、煎炸、蒸煮、火锅、炒菜、爆炒),每档都能都能达到精确定温;自动烹调功能,满足各种烹饪需要;一种保温模式:文火:一种自动工作模式:烧水。 2、火力选择:功率从 300W 2100W 的范围内,共分为 14 档火力,每档均有稳定的功率,手动定温选择,实现快速调节火力。 3、时间预约:可以实现 1720 分钟预约开机功能, 1180 分钟的定时关机功能。 4、多种保护措施:系统采用过流检测保护电路、过压检测保护电路、过温检测保护电路等多种保护措施; 电磁炉控制系统单片机模拟 3 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 接电流检测电路。(检测电路检测到电流过高时,将其信后转换为高电平输入单片机,单片机做出相应控制) P3.7 接加热控制开关,当输出低电平时电磁炉停止加热,当输出高电平时电磁炉加热。 XTAL1 时钟引脚 1 电磁炉控制系统单片机模拟 4 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单片机最小应用系统 1.3 AT89C51单片机内部结构 电磁炉控制系统单片机模拟 5 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 编程电压。 ALE/( 30脚):当访问外部储存器时, ALE信号的负跳变将 P0 口上的低 8位送入地址锁存器,不访问 外部储存器时, ALE 端仍以固定的振荡频率的 1/6 速率输出正脉冲信号。当对片内 EPROM编程时,该管脚 PROG 用于输入编程脉冲。 电磁炉控制系统单片机模拟 6 输入 /输出口线: 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 外部数据存储器读选通信号,低电平有效。 电 磁炉内部模块 2.1 电路模块 2.1.1主电源电路 电源电路 PWM电路 A/D 转换 键盘模块 LED 模块 过压、欠压检测 锅、小物件检测 温度检测 报警电路 风扇电路 AT89C51 单片 机 电磁炉控制系统单片机模拟 7 交流电 200V 经过前端滤波处理,通过通过桥型整流,变成 310V 左右的直流电,通过 MCU 控制IGB T 功率管的导通和关闭来控制电磁炉加热线圈的工作状态。 2.1.2 副电源 开关电源提供有 +5V, +18V 两种稳压回路,其中桥式整流后的 +18V 供 IGBT 的驱动回路,同步比较 IC LM339和风扇驱动回路使用,由三端稳压电路稳压后的 +5V供主控 MCU使用。 2.1.3稳压电路 2.2控制模块 2.2.1 PWM脉宽 调制 输出电路 ( 1) PWM脉宽调制电路原理 T89C51单片机通过控制 PWM 脉冲的宽与窄 , 控制送至振荡电路的加热功率控制电压,控制了电磁炉控制系统单片机模拟 8 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() P1=0xff; TMOD=0x21 ; 电磁炉控制系统单片机模拟 9 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 ; /结束输出 电磁炉控制系统单片机模拟 10 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口线。 电磁炉控制系统单片机模拟 11 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 毫秒之间这种不稳定的抖动时间对人类来说太快了,而对单片机来说则是漫长的,为了提高系统的稳定性必须去除或避开它目前的技术有硬件去除抖动和软件去除抖动。硬件去除抖动就是用部分电路对抖动部分加以处理, 但实现难度大成本高,我们一般采用软件去除抖动,实现方法是先查询按键当有 电磁炉控制系统单片机模拟 12 低电平出现时立即延时 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 ;转键分析处理程序 电磁炉控制系统单片机模拟 13 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 START: JB P1.4,NEXT1 CLR P1.0 SJMP NEX1 电磁炉控制系统单片机模拟 14 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) 线路连接 把单片机的 P0.0/AD0 P0.7/AD7端口用 8芯排线连接到“四路静态数码显示模块”区域中的任一个 a h端口上;要求: P0.0/AD0对应着 a, P0.1/AD1对应着 b, P0.7/AD7对应着 h。 电磁炉控制系统单片机模拟 15 把“单片机系统”区域中的 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 MOV B,#10 DIV AB MOV DPTR,#TABLE 电磁炉控制系统单片机模拟 16 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,由于人的视觉暂留现象及发光二极管的余辉效应 ,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O端口,而且功耗更低。 电磁炉控制系统单片机模拟 17 ( 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 数据指针中三位 DPH EQU 12H ;INX 数据指针高三位 PBCR EQU 19H ;Port B 输入 /输出控制寄存器 PECR EQU 1CH ;Port E 输入 /输出控制寄存器 电磁炉控制系统单片机模拟 18 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: NOP ;- ;清用户寄存器 电磁炉控制系统单片机模拟 19 ;- 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 ;设置 Port F 作为输出口 ;- MAIN_PRE: LDI IRQ,00H LDI IE,0100B ;打开 Timer0 中断 MAIN: ADI F_TIMER,0001B BA0 HALTMODE ;未到 1ms,跳转 ANDIM F_TIMER,1110B ;清 1ms 到 标志 ;- ; 加载显示数据 (用于测试 7 段 LED 显示模块 ) ;- LDI DISP_R1,03H LDI DISP_R2,07H LDI DISP_R3,09H LDI DISP_R4,0FH * * 模块 : 4 位 7 段 LED 显示模块 * 电磁炉控制系统单片机模拟 20 * 输入变量 : DISP_R1,DISP_R2,DISP_R3,DISP_R4 * * 使用变量 : DISP_PT,TBR,PB_BAK,PE_BAK,PF_BAK * * 输出变量 : PORTB,PORTE,PORTF * ;* DISPLAY: DISP_1: ADIM DISP_PT,01H ;指针加一 SBI DISP_PT,01H BAZ DISP_11 ;显示位 1 数码管 , 跳转 SBI DISP_PT,02H BAZ DISP_12 ;显示位 2 数码管 , 跳转 SBI DISP_PT,03H BAZ DISP_13 ;显示位 3 数码管 , 跳转 ;- ;显示位 4 数码管 ;- DISP_14: LDI DISP_PT,00H ;指针清零 LDI PB_BAK,0001B ;预设位选码 LDI TBR,0FH LDA DISP_R4,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得预设段选码的值 JMP DISPLAY_END ;- ;显示位 3 数码管 ;- DISP_13: LDI PB_BAK,0010B ;预设位选码 LDI TBR,0FH LDA DISP_R3,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得预设段选码的值 JMP DISPLAY_END ;- ;显示位 2 数码管 ;- DISP_12: LDI PB_BAK,0100B ;预设位选码 LDI TBR,0FH LDA DISP_R2,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得预设段选码的值 JMP DISPLAY_END ;- ;显示位 1 数码管 电磁炉控制系统单片机模拟 21 ;- DISP_11: LDI PB_BAK,1000B ;预设位选码 LDI TBR,0FH LDA DISP_R1,00H CALL 07EFH STA PE_BAK,00H LDA TBR,00H STA PF_BAK,00H ;由字符查表得预设段选码的值 JMP DISPLAY_END DISPLAY_END: LDI PORTB,00H ;关闭显示 LDA PE_BAK,00H STA PORTE,00H LDA PF_BAK,00H STA PORTF,00H ;送出预设的段选码到 I/O 口 LDA PB_BAK,00H STA PORTB,00H ;送出预设的位选 码到 I/O 口,显示该位 ;* HALTMODE: NOP HALT NOP NOP NOP JMP MAIN ;* ORG 07EFH TJMP ;- ;显示段选码数据表(共阳极) ORG 07F0H;d p g f e, d c b a RTNW 1100B,0000B ;0 RTNW 1111B,1001B ;1 RTNW 1010B,0100B ;2 RTNW 1011B,0000B ;3 RTNW 1001B,1001B ;4 RTNW 1001B,0010B ;5 RTNW 1000B,0010B ;6 RTNW 1111B,1000B ;7 RTNW 1000B,0000B ;8 RTNW 1001B,0000B ;9 RTNW 1000B,1000B ;A RTNW 1000B,0011B ;B RTNW 1100B,0110B ;C RTNW 1010B,0001B ;D RTNW 1000B,0110B ;E RTNW 1000B,1110B ;F END 电磁炉控制系统单片机模拟 22 2.3检测模块 2.3.1 A/D、 D/A 转换模块 ( 1)保护电路 A/D、 D/A转换控制原理 电路保护逻辑采样电路( A/D 转换) , 当外围检测电路检测到过压、欠压、过流、过热、无过或其他故障时,光电隔离导通,输出高电平。单片机就可以识别。 ( 2)电路保护控制电路( D/A转换) 单片机识别到数据后便在控制端口输出低电平,高电平通过光电隔离控制负责停止工 作。 2.3.2 过压、欠压检测模块 输出过压保护电路的作用是:当输出电压超过设计值时,把输出电压限定在一安全值的范围内。当开关电源内部稳压环路出现故障或者由于用户操作不当引起输出过压现象时,过压保护电路进行保护以防止损坏后级用电设备。 AC接入后,经过半波整流,由 R10和 R17产生 分压,对电路的电压进行比例式测量,以判断电路电 压是否超过或不足,并将测试信号输入单片机,由单 片机控制 IGBT功率管关闭,同时驱动报警电路。 2.3.3过流检测模块 电磁炉控制系统单片机模拟 23 电流互感器 CT1 二次测得的 AC 电压 , 经 D1、 D2、 D3、 D4 组成的桥式整流电路整流、 R12 、 R13 分压, C11 滤波 , 所获得的直流电压送至 CPU 5 脚 , 该电压越高 , 表示电源输入的电流越大 , CPU 根据监测该电压的变化 , 自动作出各种动作指令 。 2.3.4温度检测模块 温度通过温度传感器(热敏电阻)对电磁炉板面进行采样并转换为电压信号,经放大器放大后用模数转换器进行 A/D转换成数字量进入 AT89C51 单片机 。 ( 1)电路原理图 加热锅 具底部的温度透过微晶玻璃板传至紧贴玻璃板底的负温度系数热敏电阻 , 该电阻阻值的变化间接反影了加热锅具的温度变化 ( 温度 / 阻值祥见热敏电阻温度分度表 ), 热敏电阻与 R4 分压点的电压变化其实反影了热敏电阻阻值的变化 , 即加热锅具的温度变化 , CPU 8 脚通过监测该电压的变化 , 作出相应的动作指令 : 定温功能时 , 控制加热指令 , 另被加热物体温度恒定在指定范围内。 当锅具温度高于 270 时 , 加热立即停止 , 并报知信息 2.3.5 锅检测与小物件检测模块 ( 1) 锅检 测原理 提锅检测是为了防止负载剧烈变化,因为在提锅或无锅时都会影响到谐振电路的参数变化,导致流过IGBT 的电流升高时烧坏 IGBT,所以只要以上的过流检测和保护电路稳定就能防止提锅时发生的大电流情况 小物件检测: 小物件检测就是防止要加热的物件不正确而损坏物件,通常是检测谐振电路的频率大小或是检测谐振回路电流大小,通过检测在导通 IGBT 时流过的电流大小就可以判断出来是否为小物件, 这要保证单片机输出的 PWM 宽度不能太大 而且要保证 PWM 周期为最大值。 电磁炉控制系统单片机模拟 24 ( 2)电路图 将 IGBT(Q1) 集电极上的脉冲电压通过 R1+R17 、 R28 分压 R29 限流后,送至 AT89C51的 6 脚 , 在 6 脚上获得其取样电压 , 此反影了 IGBT 的 VCE 电压变化的信息送AT89C51,AT89C51 根据监测该电压的变化 , 自动作出电压比较而决定是否工作。 配合 VAC 检测电路、电流检测电路反馈的信息 , 判别是否己放入适合的锅具 , 作出相应的动作指令。 根据 VCE 取样电压值 , 自动调整 PWM 脉宽 , 抑制 VCE 脉冲幅度不至于过高。 当测得其它原因导至 VCE 脉冲高于定值时 , AT89C51立即发出指令使电磁炉停止工作。 2.3.6加热开关控制 当不加热时 ,CPU 输出低电平,同时停止 PWM 输出 , D7 导通 , 将 LM339 电压拉低 , 振荡停止 , 使 IGBT 激励电路停止输出 ,IGBT 截止 , 则加热停止。 开始加热时 , CPU 输出高电平 ,D7 截止 , 同时 CPU 开始间隔输出 PWM 试探信号 , 同时 CPU 通过分析电流检测电路和电压检测电路反馈的电压信息、锅检测电路反馈的电压波形变化情况 , 判断是否己放入适合的锅 具 , 如果判断己放入适合的锅具 ,CPU 输出正常的 PWM 信号 , 电磁炉进入正常加热状态 , 如果电流检测电路、电压检测电路和锅检测电路反馈的信息 , 不符合条件 ,CPU 会判定为所放入的锅具不符 或无锅 , 则继续输出 PWM 试探信号 , 同时发出指示无锅的报知信息 , 如 30 秒钟内仍不符合条件 , 则关机。 2.3.7蜂鸣器驱动电路 ( 1)线路连接 把 AT89C51单片机的 P1.0端口用导线连接到音频放大模块区域中的 SPK IN端口上, 在音频放大模块区域中的 SPK OUT端口上 接上一个 8欧或者是 16 欧的喇叭; ( 2)电路原理图 电磁炉控制系统单片机模拟 25 ( 3)程序设计思路 要使报警器发出“嘀、嘀、”报警声,我们可以通过 AT89C51单片机输出一种方波电平信号,嘀 0.2 秒钟,然后断 0.2 秒钟,如此循环下去,就可以在蜂鸣器听到“嘀、嘀、”报警声了。假设嘀声的频率为 1KHz,则报警声时序图如下图所示: 由于要产生上面的信号,我们把上面的信号分成两部分,一部分为 1KHZ方波,占用时间为 0.2秒;另一部分为电平,也是占用 0.2秒; 因此,我们利用单片机的定时 /计数器 T0作为定时,可以定时 0.2秒;同时,也要用单片机产生 1KHZ的方波,对于 1KHZ的方波信号周期为 1ms,高电平占用 0.5ms,低电平占用 0.5ms,因此也采用定时器 T0 来完成 0.5ms的定时;最后,可以选定定时 /计数器 T0的定时时间为 0.5ms,而要定时 0.2秒则是 0.5ms的 400倍,也就是说以 0.5ms定时 400次就达到 0.2 秒的定时时间了。 ( 4) 程序框图 主程序框图 中断服务程序框图 电磁炉控制系统单片机模拟 26 ( 5)蜂鸣器驱动程序 ORG 00H AJMP FG ORG 030H FG: SETB P3.0 LCALL DLY LCALL DLY CLR P3.0 LCALL DLY LCALL DLY AJMP FG ;-延时子程序 DLY: MOV R0,#20 DLY0: MOV R7,#100 DLY1: MOV R6,#250 DJNZ R6,$ DJNZ R7,DLY1 DJNZ R0,DLY0 RET END 2.3.8风扇模块 当电源接通时单片机发出风扇驱动信号,使风扇持续转动,吸入外冷空气至机体内,再从机体后侧排出热空气,以达至机内散热目的,避免零件因高温工作环境造成损坏故障。当风扇停转或散热不良, IGBT 表贴热敏电阻将超温信号传送到 CPU,停止加热,实现保护。通电瞬间 CPU 会发出一个风扇检测信号,以后整机正常运行时 CPU发出风扇驱动信号使其工作。 电磁炉控制系统单片机模拟 27 CPU 15 脚发出风扇运转指令时 , 15 脚输出高电平 , 电压通过 R27 送至 Q3 基极 ,Q3 饱和导通 ,VCC 电流流过风扇、 Q3 至地 , 风扇运转 ; CPU 发出风扇停转指令时 , 15 脚输出低电平 ,Q3 截止 , 风扇因没有电流流过而停转。 3 单片机软件编程及调试 3.1单片机语言集成开发平台 3.1.1 u Vision2 集成开发环境 Kiel公司推出的集成开发环境 u Vision2,是一种 32 位标准的 windows应用平台,支持长文件名操作,界面类似 MS Vision C+ ,可在 windows95/98/2000/XP平台上运行,功能强大。 u Vision2 中包含了源程序文件编译器 ,项目管理器、源程序调试器等。并为 Cx51编译器、 Ax51宏汇编 器、 BL51/Lx51连接定位器、 RPX51实时操作系统等提供了单一而灵活的开发环境。 ( 1) u Vision2 具有强大的项目管理功能,一个项目 由 源程序文件、开发工具选项以及编程说明三部分组成,通过目标创建选项很容易实现对一个 u Vision2 项目进行完整的变异和连接,直接产生 最终应用目 标程序。 ( 2) u Vision2 中包含一个器件数据库,数据库中有各种单片机片上储存器和外围集成功能信息。 ( 3) u Vision2中集成的 Debug调试器具有十分强大的仿真调试功能,支持软件模拟和用户目标板调试两种工作方式 3.1.2 Keil C51 开发单片机应用程序的步骤 ( 1)在 u Vision2 集成开发环境中创建一个新项目,并为该项目选择合适的 CPU器件 ( 2)利用 u Vision2 的文件编程器编写源程序文件,并将程序添加到项目中去。 ( 3)通过 u Vision2 的各种选项,配置 Cx51 编译器、 Ax51宏汇编 器、 BL51/Lx51连接定位器以及 Debug调试器的功能。 ( 4)利用 u Vision2的构造功 能对项目中的源程序文件进行编译连接,生成绝对目标代码和可选的 HEX文件,如果出现编译连接错误则返回到第步,修改源程序中的错误后重新构造整个项目。 ( 5)将没有错误的绝对目标代码装入 u Vision2 调试器进行仿真调试,调试成功后将 HEX 文件写入到单片机应用系统的 EPROM中。 结 论 本文研究了电磁炉的基本原理,然后提出了设计思路,再根据设计思路解剖电磁炉的各个模块。再结合软件和硬件的方式实验的方式研究模块。 首先,先介绍啦电磁炉的加热原理、工作方式、设计要求以及设计单片机 AT89C51 的 端口定义。其次简单的介绍啦单片机的原理:主要特性、最小应用系统、内部结构管教图以及管教功能。然后介绍单片机的内部模块:电源模块(主电源电路、副电源电路、稳压电路)、控制模块( PWM脉宽调制输出电路的功率控制、按键识别功能及消除抖动、多路开关状态指示、定时器模块、四位七段 LED 数码管驱动、加热开关控制)、检测模块( A/D、 D/A 转换控制原理、电源过压欠压检测、电流检测、温度检测、无锅检测及小物件检测、报警驱动、散热系统)。最后介绍了单片机的开发环节。 这次毕 业设计中时间紧迫 使得设计不够完善, 但我学会了 很多 ,也感到自身知识的贫乏 ,希望在日后的努力中能做出更完善的 设计。 电磁炉控制系统单片机模拟 28 致 谢 从论文选题到搜集资料,到写稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在 写作 论文的过程 中心 情是如此复杂。如今,伴随着这篇 毕业 论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。 我的这篇 毕业 论文的完成,首先应当感谢指导老师董永涛副教授。他始终认真负责地给予我深刻而细致地 指导 ,帮助我开拓研究思路,精心点拨、热忱鼓励。无论是在资料整理、模拟试验、论文撰写和修改 等各个方面他都给予了大量的 指导 和帮助,令我不但完成了论文,也让我学到了很多知识,掌握了相关的知识,同时也获得了实践锻炼的机会。他对我的严格要求以及为人的诚恳都将使我受益匪浅,特致以深深的感谢。 参 考 文 献 1肖健华、经顺林 .模糊控制在家电产品中的应用与展望 . 五邑大学学报 (自然科学版 ),2001 2郝建国、郑燕、薛延侠 .单片机在电子电路设计中的应用 M.北京:清华大学 出版社 ,2006 3余锡存、曹国华 .单片机原理及接口芯片 M.西安:西安电子科技大学出版社, 2004 4沙占友、王彦朋、周万珍 .单片开关电源最新应用技术 M.机械工业出版社, 2006 5彭为、黄科、雷道仲 .单片机典型系统设计实例精讲 M.电子工业出版社, 2006 6黄伟智 .全国大学生电子设计竞赛电路设计 M.北京:北京航空航天大学出版社, 2006 7徐爱钧、彭秀华 . keil cx51 v7.0 单片机高级语言编程与 u Vision2 应用实践 M. 电子业出版社, 2004 8程继兴、杨光永、李泰 .单片机原理及应用 M.北京:中国传媒大学出版社, 2007 951 测试网: / 1051 单片机学习网: / 1151 单片机学习网: / 12单片机之家 单片机学习网站: / 1351 单片机实验网: / 电磁炉控制系统单片机模拟 29 附表: 单机指令表 助记符 指令说明 字节数 周期数 ( 51单片机指令 -数据传递类指令) MOV A, Rn 寄存器传送到累加器 1 1 MOV A, direct 直接地址传送到累加器 2 1 MOV A, Ri 将 Ri所指示的内部 RAM单元中的数据传到 A 1 1 MOV A, #data 立即数传送到累加器 2 1 MOV Rn, A 累加器传送到寄存器 1 1 MOV Rn, direct 直接地址传送到寄存器 2 2 MOV Rn, #data 将立即数传送到 Rn 2 1 MOV direct, Rn 寄存器传送到直接地址 2 1 MOV direct, direct 直接地址传送到 直接地址 3 2 MOV direct, A 累加器传送到直接地址 2 1 电磁炉控制系统单片机模拟 30 MOV direct, Ri 间接 RAM 传送到直接地址 2 2 MOV direct, #data 立即数传送到直接地址 3 2 MOV Ri, A A中的内容传送到直接地址 1 2 MOV Ri, direct 直接地址传送到间接 RAM 2 1 MOV Ri, #data 立即数传送到间接 RAM 2 2 MOV DPTR, #data16 16 位常数加载到数据指针 3 1 MOVC A, A+DPTR 代码字节传送到累加器 1 2 MOVC A, A+PC 代码字节传送到累加器 1 2 MOVX A, Ri 外部 RAM(8 地址 )传送到累加器 1 2 MOVX A, DPTR 外部 RAM(16 地址 )传送到累加器 1 2 MOVX Ri, A 累加器传送到外部 RAM(8 地址 ) 1 2 MOVX DPTR, A 累加器传送到外部 RAM(16 地址 ) 1 2 PUSH direct 直接地址压入堆栈 2 2 POP direct 直接地址弹出堆栈 2 2 XCH A,Rn 寄存器和累加器交换 1 1 XCH A, direct 直接地址和累加器交换 2 1 XCH A, Ri 间接 RAM 和累加器交换 1 1 XCHD A, Ri 间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论