![电磁炉控制系统单片机模拟 毕业论文[实用论文].doc_第1页](http://file.renrendoc.com/FileRoot1/2019-12/23/43d7efbe-6d82-47ae-b185-aec83d5475f5/43d7efbe-6d82-47ae-b185-aec83d5475f51.gif)
![电磁炉控制系统单片机模拟 毕业论文[实用论文].doc_第2页](http://file.renrendoc.com/FileRoot1/2019-12/23/43d7efbe-6d82-47ae-b185-aec83d5475f5/43d7efbe-6d82-47ae-b185-aec83d5475f52.gif)
![电磁炉控制系统单片机模拟 毕业论文[实用论文].doc_第3页](http://file.renrendoc.com/FileRoot1/2019-12/23/43d7efbe-6d82-47ae-b185-aec83d5475f5/43d7efbe-6d82-47ae-b185-aec83d5475f53.gif)
![电磁炉控制系统单片机模拟 毕业论文[实用论文].doc_第4页](http://file.renrendoc.com/FileRoot1/2019-12/23/43d7efbe-6d82-47ae-b185-aec83d5475f5/43d7efbe-6d82-47ae-b185-aec83d5475f54.gif)
![电磁炉控制系统单片机模拟 毕业论文[实用论文].doc_第5页](http://file.renrendoc.com/FileRoot1/2019-12/23/43d7efbe-6d82-47ae-b185-aec83d5475f5/43d7efbe-6d82-47ae-b185-aec83d5475f55.gif)
已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 生 毕 业 论 文 35电磁炉控制系统单片机模拟 题 目 电磁炉控制系统单片机模拟 学生姓名 学 号 指导教师 教 务 处 制目 录引言3加热原理3工作过程3电磁炉的智能控制部件单片机3电磁炉设计要求3at89c51单片机设计端口定义41mcs-51单片机概述51.1at89c51主要特性51.2at89c51最小应用系统51.3mcs-51内部结构61.4at89c51管脚图61.5管脚功能6电磁炉内部模块72.1电源电路模块 72.1.1主电源电路72.1.2副电源72.1.3稳压电路72.2控制模块72.2.1 pwm脉宽调制输出电路72.2.2键盘模块112.2.3多路开关状态指示142.2.4定时模块152.2.5 led显示模块172.3检测模块222.3.1 a/d、d/a转换模块232.3.2 过压、欠压检测模块232.3.3过流检测模块23 2.3.4温度检测模块242.3.5 锅检测与小物件检测模块 242.3.6加热开关控制252.3.7蜂鸣器驱动电路252.3.8风扇模块 273单片机软件编程及调试 273.1单片机语言集成开发平台 273.1.1u vision2 集成开发环境 273.1.2keil c51开发单片机应用程序的步骤 28 结论 28致谢 28参考文献29附表1 单片机指令30附表2 led 字型码表35电磁炉控制系统单片机模拟李志红(云南民族大学电信学院)摘要:本文研究的电磁炉控制核心部件是at89c51单片机,将预先编好指令信息输入单片机内部rom后,在工作状态下,电磁炉就能智能的去完成管理和控制工作。本文介绍了电磁炉的工作原理、设计要求,并提出用at89c51单片机来设计电磁炉,详细介绍电磁炉中某些模块的设计。主要介绍了风键盘扫描,显示面板控制,功率控制,温度控制,风扇、蜂鸣器控制,定时控制等设计。关键词 :电磁炉,单片机,控制前言随着人类文明的发展,家用电器越来越多的进入人们的生活中,特别是近几年单片机的出现更是使得家电得以突飞猛进的发展。电磁炉是现代家庭烹饪食物的先进电子炊具,不但使用起来非常方便、快捷,可用来进行煮、炸、煎、蒸、炒等各种烹调操作,而且还安全清洁,因此受到人们的亲咪。加热原理:变压器有一个缺点就是铁芯在磁场感应中会产生涡流,而涡流流动需要克服铁芯的内阻,于是铁芯便会发热,从而影响变压器的效率。恰恰相反,电磁炉就是引用这一原理对食品进行加热的。它利用高频的电流通过环形线圈,从而产生无数封闭磁场力,当磁场那磁力线通过锅的底部,既会产生无数小涡流,使锅体本生自行高速发热,然后再加热锅内食物。工作过程: 电流电压经过整流器转换为直流电,又经高频电力转换装置使直流电变为超过音频的高频交流电,将高频交流电加在扁平空心螺旋状的感应加热线圈上,由此产生高频交变磁场。其磁力线穿透灶台的陶瓷台板而作用于金属锅。在烹饪锅体内因电磁感应就有强大的涡流产生。涡流克服锅体的内阻流动时完成电能向热能的转换,所产生的焦耳热就是烹调的热源。电磁炉的智能控制部件单片机:随着微型计算机的发展,特别是单片机的诞生,使得各种家用电器的品质有了极大的改变,实现了智能化的控制。电磁炉的mcu采用at89c51芯片,在外围电路的组合下,将预先编好的程序写入at89c51单片机的程序存储器中,在工作模式下,单片机就会执行相应的指令,从而使电磁炉完成相应的控制。电磁炉设计要求:用at89c51单片机设计电磁炉所具有的性能:1、定温加热:在保温70至260之间,共分为六档火力选择(烧烤、煎炸、蒸煮、火锅、炒菜、爆炒),每档都能都能达到精确定温;自动烹调功能,满足各种烹饪需要;一种保温模式:文火:一种自动工作模式:烧水。2、火力选择:功率从300w2100w的范围内,共分为14档火力,每档均有稳定的功率,手动定温选择,实现快速调节火力。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 接电流检测电路。(检测电路检测到电流过高时,将其信后转换为高电平输入单片机,单片机做出相应控制)p3.7 接加热控制开关,当输出低电平时电磁炉停止加热,当输出高电平时电磁炉加热。xtal1 时钟引脚1xtal2 时钟引脚2rst 复位电路gnd 接地vcc 接+5v电源ea/vppale/progpesn1 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位内部ram32可编程i/o线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路1.2 at89c51单片机最小应用系统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编程电压。ale/(30脚):当访问外部储存器时,ale信号的负跳变将p0口上的低8位送入地址锁存器,不访问外部储存器时,ale端仍以固定的振荡频率的1/6速率输出正脉冲信号。当对片内eprom编程时,该管脚prog用于输入编程脉冲。 输入/输出口线:p0(3239脚),既可接地址锁存器作低8位地址i/o使用也可以作数据i/o使用。能驱动8个lsttl负载。p1(18脚):具有内部上位电阻的8位准双向i/o,可驱动4个lsttl负载。p2(2128脚):8位具有内部上位电阻的准双向i/o,在接收外部存储器时,p2作为地址高8位。能驱动4个lsttl负载。p3(1017脚):8位具有内部上位电阻的准双向i/o,其每一位又有特殊功能.p3口特殊功能:p3端口对应特殊功能引脚实现功能p3.0rxd串行口输入端。p3.1txd串行口输出端p3.2into外部中断0输入端,低电平有效p3.3int1外部中断1输入端,低电平有效。p3.4t0定时/计数器0外部事件计数输入端。p3.5t1定时/计数器1外部事件计数输入端。p3.6wr外部数据存储器写选通信号,低电平有效。p3.7rd外部数据存储器读选通信号,低电平有效。电磁炉内部模块at89c51单片机过压、欠压检测电源电路锅、小物件检测pwm电路温度检测a/d转换报警电路键盘模块风扇电路led模块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控制模块 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() 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 ; /结束输出 2.2.2 键盘模块(1)键盘接口方式键盘接口可以分为独立式键盘接口和行列式键盘接口,在单片机接口允许的条件下可以采用独立式按键接口,而在按键较多的情况下可以采用行列式键盘接口。独立式键盘接口单键盘按键较少时最佳的接口方式是独立式按键接法,即每一个i/o口上只接一个按键,按键的另一端接电源或接地。独立式键盘的实现是利用单片机i/o口读取口的电平高低来判断是否有按键按下。按键的一端接地,另一端接一个i/o口程序开始时将此i/o口置于高电平,平时无按键按下时i/o口保护高电平。当有键按下时此i/o口与地短路,迫使i/o口为低电平,程序通过查询此i/o口的电平状态就可以判断是次按键是否按下。独立式盘接口可分为查询方式的独立式按键电路(下左图)和中断式的独立按键电路(下右图)。 查询方式的独立式按键电路 查询方式的独立式按键电路行列式按键所谓矩阵式就是说用i/o口线组成行、列结构,按键设置在行列的交点上。用33的行列结构可构成9个键的键盘,44行列结构可构成16个键的键盘。因此,在按键数量较多时,可以节省io口线。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毫秒之间这种不稳定的抖动时间对人类来说太快了,而对单片机来说则是漫长的,为了提高系统的稳定性必须去除或避开它目前的技术有硬件去除抖动和软件去除抖动。硬件去除抖动就是用部分电路对抖动部分加以处理,但实现难度大成本高,我们一般采用软件去除抖动,实现方法是先查询按键当有低电平出现时立即延时10200毫秒以避开抖动,延时结束后再读一次i/o口的值这次的值如果为1表示低电平的时间不到10200毫秒,视为干扰信后,当读出的值是0时则表示有按键按下,调用相应的处理程序。(4) 程序org 0000htest: mov p1,#0f0h ; p1.0p1.3输出0, p1.4p1.7输出1,作输入位mov a,p1 ;读键盘,检测有无键按下anl a,#0f0h ; 屏蔽p1.0p1.3,检测p1.4p1.是否全为1 cjne a, #0f0h,have ; p1.4p1.7不全为1,有键按下sjmp test ;p1.4p1.7全为1,无键按下,重检测键盘have: mov a,#0fe ;有键按下,逐行扫描键盘,置扫描初值next: mov b,a ;扫描码暂存于bmov p1,a ;输出扫描码read: mov a,p1 ;读键盘anl a,#0f0h ; 屏蔽p1.0p1.3,检测p1.4p1.是否全为1cjne a,0f0h,yes ;p1.4p1.7不全为1,该行有键按下mov a,b ;被扫行无键按下,准备查下一行rl a ;置下一行扫描码cjne a,#0efh,next ;未扫到到最后一行循环yes: acall day ;延时去抖动aread: mov a,p1 ;再读键盘anl a,#0f0h ;屏蔽p1.0p1.3,保留p1.4 p1.7(列码)mov r2,a ;暂存列码mov a, b anl a,#0fh ;取行扫描码orl a,r2 ;行码、列码合并为键编码yes1: mov b,a ;键编码存于bljmp sam38 ;转键分析处理程序2.2.3 多路开关状态指示在电磁炉的按键按下时要求按下的按键下的指示灯发光,设计通过在at89s51单片机的(p2.4、p2.5、p2.6、p2.7、p3.2、p0.7)接发光二级管,按键外查询时接口按键的对应按键。下面是一种简单的设计电路,p2.0p1.3接四个发光二极管l1l4,p1.4p1.7接了四个开关k1k4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯)(1) 电路原理图(2) 线路连接 把at89c51单片机的p1.0p1.3用导线连接到“八路发光二极管指示模块”区域中的l1l4端口上。 把单片机的p1.4p1.7用导线连接到“四路拨动开关”区域中的k1k4端口上。(3)程序设计思路a 开关状态检测对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用jb p1.x,rel或jnb p1.x,rel指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用mov a,p1指令一次把p1端口的状态全部读入,然后取高4位的状态来指示。b 输出控制根据开关的状态,由发光二极管l1l4来指示,我们可以用setb p1.x和clr p1.x指令来完成,也可以采用mov p1,1111xxxxb方法一次指示。(4)程序org 00hstart:jb p1.4,next1clr p1.0sjmp nex1next1:setb p1.0nex1:jb p1.5,next2clr p1.1sjmp nex2next2:setb p1.1nex2:jb p1.6,next3clr p1.2sjmp nex3next3:setb p1.2nex3:jb p1.7,next4clr p1.3sjmp nex4next4:setb p1.3nex4:sjmp startend2.2.4定时模块在at89s51单片机的p0和p2端口分别接有两个共阴数码管,p0口驱动显示秒时间的十位,而p2口驱动显示秒时间的个位。(1) 电路原理图(2) 线路连接 把单片机的p0.0/ad0p0.7/ad7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个ah端口上;要求:p0.0/ad0对应着a,p0.1/ad1对应着b,p0.7/ad7对应着h。 把“单片机系统”区域中的p2.0/a8p2.7/a15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个ah端口上;要求:p2.0/a8对应着a,p2.1/a9对应着b,p2.7/a15对应着h。(3)设计思路 在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,从新秒计数。 对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对10整除和对10求余。 在数码上显示,仍通过查表的方式完成。 一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到1秒时间为1.002秒。延时一秒的程序为:dely1s:mov r5,#100d2:mov r6,#20d1:mov r7,#248djnz r7,$ djnz r6,d1 djnz r5,d2ret(4)程序框图(5) 程序secondequ 30horg 0start:mov second,#00hnext:mov a,second mov b,#10div abmov dptr,#table movc a,a+dptrmov p0,amov a,b movc a,a+dptrmov p2,alcall dely1sinc secondmov a,secondcjne a,#60,next ljmp startdely1s:mov r5,#100d2:mov r6,#20d1: mov r7,#248djnz r7,$djnz r6,d1 djnz r5,d2rettable:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhend2.2.5 led显示模块(1) led数码管结构 led显示器的结构由8个发光二极管按“日”字形排列。分别控制各笔画段的led,使其的某些发亮,从而可以显示出09的阿拉伯数字符号以及其它能由这些笔画段构成的各种字符。 把所有发光二极管的阳极连在一起称作共阳极数码管,把所有个发光二极管的阴极连在一起称为共阴极数码管。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。(2) 数码管的驱动方式 静态显示驱动静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的i/o端口进行驱动,或者使用如bcd码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用i/o端口多,实际应用时必须增 动态显示驱动数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极com增加位选通控制电路,位选通由各自独立的i/o线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通com端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的com端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的i/o端口,而且功耗更低。(3)电磁炉中采用的四位led数码管电路(4)数码管程序list p=89c51romsize=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 输入/输出控制寄存器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 displaydisp_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 0000hjmp resetrtnijmp timer0_isp ;timer0 中断程序入口地址rtnirtni;*; timer0 中断服务程序;*timer0_isp:sta ac_bak,00h ;备份ac 值andim irq,1011b ;清timer0 中断请求标志j1ms:sbim t1ms_ct,01hbnz 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;-;清用户寄存器;-power_reset:ldi dpl,00hldi dpm,02hldi dph,00hpower_reset_1:ldi inx,00hadim dpl,01hldi tbr,00hadcm dpm,00hba3 power_reset_2jmp power_reset_3power_reset_2:adim dph,01hpower_reset_3:sbi dph,01hbnz power_reset_1sbi dpm,04hbnz power_reset_1;-;初始化系统寄存器;-system_initial:;timer0 初始化ldi tm0,07h ;设置timer0 预分频为/1ldi tl0,06hldi th0,00h ;设置中断时间为250usldi t1ms_ct,04h ;定时1ms;i/o 口初始化ldi portb,00hldi pbcr,0fh ;设置port b 作为输出口ldi porte,0fhldi pecr,0fh ;设置port e 作为输出口ldi portf,0fhldi pfcr,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁德霞浦3年级数学试卷
- 二零二五版外派员工国际派遣服务合同范本
- 二零二五版电子商务平台合作违约追究合同范本
- 2025版美发店经营权转让与合伙人共享合同
- 二零二五年高端设备进口代理服务合同样本
- 内江高二上学期数学试卷
- 二零二五年度酒店返租合作管理合同
- 2025海南文昌国际航天城管理局及平台公司招聘招聘13个岗位笔试参考题库附带答案详解
- 南通市通州一模数学试卷
- 强华中学小升初数学试卷
- 制造业智能化生产线改造方案提升生产效率
- 人教版五年级上册美术全册教学设计
- GB/T 44106-2024蹦床课程学生运动能力测评规范
- 水利安全生产风险防控“六项机制”右江模式经验分享
- 2024年烟台蓝天投资发展集团有限公司招聘笔试冲刺题(带答案解析)
- 单侧双通道UBE手术
- 数智治水系统平台建设需求
- 展厅维护方案
- 工艺流程的可靠性与稳定性分析
- 管理学基础(第3版)全套教学课件
- 儿科护理学(高职)全套教学课件
评论
0/150
提交评论