ImageVerifierCode 换一换
格式:DOC , 页数:58 ,大小:1.28MB ,
资源ID:7457433      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7457433.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(智能电风扇控制器设计与开发.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

智能电风扇控制器设计与开发.doc

1、 论文题目:智能电风扇控制器设计与开发 专业:电子信息技术 学生:王文帅 签名 指导教师:谢书凯 签名 摘 要 电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,电风扇仍占据大量市场。其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,体积轻巧,摆放方便,安装和使用都非常简单。但是随着科技的发展,人们对电风扇的要求

2、也越来越高了,特别是人性化、智能化的观点提出之后,而现在市场上的大部分智能电风扇只是对自动开关、根据环境温度自动调节风速大小、自动照明等功能实现智能化,并没有考虑过台式风扇的智能旋转问题。因此对于台式风扇而言,它并不是完全的智能化。本设计主要就是模拟实现台式电风扇的智能旋转问题。 本设计以SN8P2501B为主控制芯片, BISS0001及其外围电路作为红外感应装置,PM35L-048步进电机及6个发光二极管组合实现其功能。红外感应模块通过步进电机的带动来检测范围内是否有人,将检测到的信号传递给SN8P2501B,当在一定时间内均检测到有人信号时,将开启步进电机旋转及LED模拟功能。在步进电

3、机正转180°范围内,LED循环显示(模拟风扇旋转),检测到有人时记录当前步进电机步数(即角度);检测到无人时记录当前步进电机步数(即角度),待到正转180°结束后,LED按照记录的步进电机步数循环闪烁(模拟风扇旋转),步进电机反转180°。当正转180°均未检测到人存在,则在反转180°结束后关闭步进电机及LED模拟功能。 关键词:电风扇,智能,SN8P2501B,红外感应,步进电机 Design and development of intelligent fan controller ABSTRACT Fan was once considered to be out of ai

4、r conditioning products under the impact of goods, but, in fact, fans still occupy a lot of the market. The main reasons: First, the effect is different between the fan and air-conditioning - there is a strong air-conditioning cooling function, you can quickly and effectively reduce the ambient temp

5、erature, but the wind send from the fan is more moderate, more suitable for children elderly people and less physical people; Second, fan have many advantage such as the price advantage, low cost and relatively energy-saving, lightweight, easy placed, easy to install and use. However, with the devel

6、opment of technology, people’s demand to fan is higher and higher, especially when the person point the view that the goods must to be intelligent. But now on the market most of the smart fan only can achieve some functions such as automatically switches, according to the ambient temperature automat

7、ically adjust the size of wind speed, intelligent features such as automatic lighting, it is not relation to the intelligent desktop fan rotation problem. So for desktop fan is concerned, so it is not a entirely intelligent fan. The key of the design is to simulate achieve the intelligent desktop fa

8、n rotation problem. The design is based on SN8P2501B control chip, use BISS0001 and its peripheral circuits as the infrared sensors, PM35L-048 stepping motor and six LED combinations to achieve its function. Infrared sensor module, driven by stepper motors to detect whether someone within, then the

9、 detected signal is passed to the SN8P2501B. When a certain period of time the signal was detected having person,it will open the stepping motor key and LED analog functions, the motor will work in a moment. When the stepper motor is turn from 0°-180 ° , LED display loop (analog fan rotation).MCU wr

10、iter down the motor steps when the infrared sensors module is the first time to get the signal that there have persons (equal angle); MCU writer down the motor steps when the infrared sensors module is the first time to get the signal that there has no person (equal angle). When the stepper motor is

11、 turned to 180 °, LED will be according to the number of loop stepper motor step that MCU have written down to flash (analog fan rotation), step motor reverse 180 °. When the stepper motor is turned 180 °, the infrared sensors module hasn’t got the signal that there has person existence, step motor

12、will reverse 180 °. It will close the stepper motor and LED analog functions after the end of 180 °. KEYWORDS: Fan, Intelligent, SN8P2501B, Infrared sensor, Stepper motor 目 录 摘 要 I ABSTRACT II 目 录 III 1 绪论 1 1.1智能电风扇在当今社会中的研究意义 1 1.2 研究内容及论文安排 1 1.2.1 研究内容 1 1.2.2 论文安排 2 2 系统设计方案 3 2.1 系

13、统总体介绍 3 2.2 系统功能介绍 3 2.3 设计方案 4 3 硬件设计 7 3.1 微处理器 7 3.1.1 SN8P2500系列介绍 7 3.1.2 SN8P2501B单片机介绍 7 3.1.3 单片机复位电路 13 3.1.4 单片机晶振电路 16 3.1.5 微处理器控制电路 16 3.2 步进电机 18 3.2.1 步进电机工作原理 18 3.2.2 步进电机的静态指标术语 21 3.2.3 步进电机的动态指标术语 22 3.2.4 PM35L-048步进电机介绍 22 3.3 红外感应模块 24 3.3.1 红外感应装置的工作原理 24 3.3

14、2 BISS0001红外感应信号处理器 24 3.3.4 红外感应装置输出电平转换 29 4 软件设计 31 4.1 主程序设计 31 4.2 分时时间处理 33 4.3 步进电机转动处理 34 4.4 APP事件处理 35 4.5 LED循环闪烁 36 5 结论 38 致 谢 39 参 考 文 献 40 附录Ⅰ 系统原理图 41 附录Ⅱ 程序代码 42 1 绪论 1.1智能电风扇在当今社会中的研究意义 电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主

15、要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,体积轻巧,摆放方便,安装和使用都非常简单。 尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理

16、 有鉴于现今家里不可或缺的电器产品电风扇,我们希望可以借由步进电机组合做出利用红外感应接收模块接收到有人的讯号,来改变电风扇转动的方向,以取代传统电风扇只能以固定形式转动,希望能够让电风扇自动能感应到人所在的方向,未来让电器更能人性化、科技化,以达到方便性智利于未来科技产业的发展,我们希望能将科技运用在电器上,再于产业结合,已达到居家生活里的便利性。现今社会上,不可或缺的是将生活周遭事物简单化,而我们将运用单芯片在电风扇上,研究出符合未来人们的需求,研发低成本、多功能的全自动化电风扇让社会大众能够接受,取代传统式手动电风扇,让科技产业在电器上有重大的突破。于以上方面的考虑,我们需要设计一种

17、智能电风扇控制系统来解决这些问题。 1.2 研究内容及论文安排 1.2.1 研究内容 本论文主要目标是使电风扇能够根据人的位置来自动选择送风角度。以SONIX公司研发的SN8P2501B为主控器,利用红外感应接收装置,接受人体辐射出的红外线,通过此讯号利用PM35L-048步进电机来改变红外感应接受装置,进而确定人体范围,再通过发光二极管指示锁定角度并模拟风扇循环闪烁。 由手动开关转变为红外线人体感应自动开关,是应用先进的红外线人体感应科技主动侦测人体的问题是否在探测范围内,在设定15秒时间内都可以探测到人,则开启电机开关,开启LED角度循环闪烁;若在15秒内开始存在有人信号,后存在

18、无人信号,则重新计时15秒检测;若一直存在无人信号则不操作动作。 1.2.2 论文安排 论文第1章为绪论,主要介绍了电风扇的现状,智能电风扇研究意义,本设计研究的内容及论文安排;第2章为系统设计方案的介绍,包括其具体可实现的功能及方案选择;第3章为硬件设计部分,这部分详细介绍了所选硬件的特性及其各部分对实现自己所需要功能的作用及其电路图;第4章为软件设计部分,给出了主程序和各子程序流程图,程序清单以附件的形式附在论文最后。第5章为结论部分。接下来为致谢和参考文献。最后附有原理图及程序清单。 2 系统设计方案 2.1 系统总体介绍 本次设计选用SONIX SN8P2501B为主控制芯片

19、与外围电路构成人体范围检测系统。MCU记录下侦讯到的人范围,并送给LED发光二极管,使其模拟风扇循环闪烁。系统框图如下图所示: 图2-1 系统框图 2.2 系统功能介绍 本系统利用LED发光二极管的循环闪烁来模拟风扇的来回旋转送风动作。主要功能为: a) 自动启动及关闭开关 我们由步进电机配合红外感应控制器经由红外线扫描来控制开关,检测到一定时间内有人时自动开启电机开关及LED闪烁;无人时关闭电机开关及LED闪烁。 b) 自动搜索范围人数 我们以SN8P2501B来控制步进电机的步数,使它去侦测人数范围有多大。 c) 锁定人体位置 我们利用红外感应控制器搜寻配合步进电机

20、步数,有红外感应控制模块传回探测信号给MCU,再由MCU来记忆人体位置,记录最大最小角度,锁定人体位置。 d) 发光二极管指示锁定角度并模拟风扇循环闪烁 用LED循环闪烁来模拟电风扇来回循环送风动作,每相邻两个LED之间间隔为30°。例:当锁定人范围为30°-90°时,LED从LED1至LED3循环闪烁(LED从左到右依次为LED1、LED2、LED3、LED4、LED5、LED6,分别代表30°、60°、90°、120°、150°、180°)。 2.3 设计方案 本设计根据红外感应装置的不同处理共有两种设计方案 a) 方案一 将红外感应模块前的菲泥尔滤光透镜用不透红外的材质覆盖上

21、让红外感应模块只能检测到一个小范围内(小于10°)的红外变化,步进电机正转180°后即可反转180°,如图2-2所示 图2-2 设计后的红外感应模块探测范围 利用这种方法,可以不用考虑红外检测范围内是否存在人这种情况,原因是LED模拟的角度是以30°来递增的,相比而言,红外检测的角度远远小于模拟的角度,即使在红外检测范围内存在有人,在步进电机旋转一步后就可以检测出来,不会影响到检测的结果。 例:当步进电机正转90°后,红外探头检测到有人(探测角度87.5°…92.5°),此时记录下的电机步数为X大步(X=3,90°);步进电机再次旋转7.5°,此时检测不到人(探测范围95°…100

22、°),记录此时的电机步数为X+1大步(X=3,120°),对检测没有什么影响。 图2-3 检测到有人存在 图2-4 下一状态检测不到人 这种方法的优点:思路比较简单,基本没有涉及到算法,在步进电机旋转速度比较慢的情况下能够很快获得人的位置,从而改变LED的闪烁;缺点:需要利用不透红外材料来封装,在开机情况下,需要人在此等待十几秒时间,确认一直有人存在开机后才能离开此位置。 b) 方案二 事先确定红外感应装置的探测角度,步进电机需要正转360°。下面举例说明: 假设红外感应装置的探测角度为150°,人所在范围为30°-120°范围内,则在步进电机开始正转时就能够检测到有人存在

23、检测角度-75°…75°),步进电机旋转至90°(3大步)时仍能检测到人(检测范围30°…150°),只有当步进电机旋转至195°(6大步)时才检测不到人(检测范围120°…270°),此时记录的角度为210°(6+1大步),需要减去红外感应装置探测角度的一半,此时才是真正开始没探测到人时人的位置,即结束角度,角度为120°(6+1-(2+1)=4大步)(2+1为探测角度一半所占大步);步进电机继续正转,当步进电机正转至315°(10大步)时,又一次检测到有人(检测范围为240°…30°),此时记录的角度为315°(10大步),仍然需要减去红外感应装置探测角度的一半,则起始角度为30°(10

24、2+1)-12=1大步)(2+1为探测角度一半所占大步,12为旋转360°所需步数)。这样只记录两次值就得到了人的范围,不论人站的稀疏。 图2-5 红外探头初始位置 图2-6 检测到无人时的位置 图2-7 检测到刚有人时的位置 这种方法的优点:不需要做什么其他操作,开机更加人性化,不需要让电机进行反转动作,在判断完人范围后即可判断是否需要关机操作;缺点:思路有点复杂,中间涉及到算法问题,事先必须知道此红外感应装置的探测角度,因为步进电机转速比较慢导致确定一个范围需要比较长的时间。 注:方案一和方案二中涉及到得确定范围需要的时间是由所选红外感应装置决定的,在这里所选的B

25、ISS0001默认延时时间为10秒,因此需要的时间比较长,如果调为1秒,则步进电机旋转的速度扩大10倍,需要的时间也就相应缩短。 两种方案硬件电路完全一样,只是对红外感应装置的处理不同,主要表现在红外感应装置的探测范围上,实现不同的方案由程序控制。本设计选用方案一作为主要思路,原因有几点:思路简单,容易被他人理解;可以允许在未检测区域内随意改动位置,在当前正转结束后用LED模拟显示出;在实物演示中,正转后反转不会对引线产生影响;在较短时间内可以看到演示效果。 3 硬件设计 本系统主要由微处理器控制、红外感应模块、步进电机模块及LED模拟风扇旋转模块等组成。下面介绍各部分原理及电路图。

26、3.1 微处理器 3.1.1 SN8P2500系列介绍 SN8P2500系列单片机是SONIX公司最新推出的高速低功耗8位单片机。它采用低功耗CMOS设计工艺及高性能的RISC架构,具有优异的抗干扰性能。突出的特点是:低成本、高抗干扰性、内置16Mhz RC振荡电路、高速8位、59条精简指令集。 3.1.2 SN8P2501B单片机介绍 当前市场上的单片机有51系列,STC系列等单片机,考虑到设计只需实现自动开关机及锁定人范围LED闪烁的功能,但又要确保其抗干扰能力强的特点,在考虑功能需求及成本的基础上,选择了SONIX公司研发的SN8P2501B 8位单片机作为本系统的控制器,有14

27、个引脚,如图3-1,它具有以下特性: a) OTP ROM空间:1K * 16位; b) RAM空间:48 字节; c) STKP堆栈: 4层; d) 多种振荡源选择:最大可达16MHz的外部晶振、10MHz的外部RC振荡、内部16MHz的高速时钟及16KHz的低速时钟; e) 高速的CPU指令周期,可达1T,即每个指令周期为1个时钟周期; f) 满足低功耗的需求,可编程设定4种工作模式:正常模式、低速模式、睡眠模式和绿色模式; g) 内置高速PWM/Buzzer输出接口,可输出不同频率的信号; h) 内置RTC实时时钟(0.5s)、看门狗定时器(16KHz@3V,32KHz@

28、5V)及3级低电压检测系统; i) 具有3个中断源,2个内部中断源:T0、TC0,1个外部中断源:INT0。 1) I/O引脚配置 I/0口引脚为: a) 输入输出双向端口:P0、P1、P2、P5; b) 单向输入引脚:P1.1; c) 可编程的漏极开路引脚:P1.0; d) 具有唤醒功能的端口:P0、P1 电平变化触发; e) 内置上拉电阻端口:P0、P1、P2、P5; f) 外部中断引脚:P0.0,由寄存器PEDGE 控制,其触发方式为上升沿或下降沿。 图3-1 SN8P2501B引脚 2) 程序寄存器 图3-2 程序存储器 SN8P2501B的程序寄存器

29、为OTP ROM(一次性可编程),存储器容量为1K*16位,可由10位程序计数器PC对程序寄存器进行寻址,或由系统寄存器(R,X,Y和Z)对ROM内的数据进行查表访问。其中:系统复位后从地址0000H开始执行;地址0008H是中断向量入口地址。 3) 数据存储器 图3-3 数据存储器 SN8P2501B单片机的片内RAM共有256个存储单元,地址范围为000H-0FFH。片内寄存器可分为通用数据存储区和系统存储器两大部分。通用数据存储区可作为用户自定义的变量,临时数据,中间数据存放地,而系统寄存器则用来控制片内外设或表示外设的状态。 4) 定时/计数器 SONIX SN8P270

30、8A MCU定时/计数器大分致为两大类。一类为基本定时器T0,另一类为多功能定时器TC0。 二进制定时器T0 溢出(从0FFH 到00H)时,T0 继续计数并给出一个溢出信号触发T0 中断请求。定时器T0 的主要用途如下: a) 8 位可编程定时器:根据选定的时钟频率定时产生中断请求; b) 定时器:根据选定的时钟信号产生中断请求,RTC 功能仅限于编译选项为High_Clk = IHRC_RTC; c) 绿色模式唤醒功能:T0ENB = 1 时,T0 溢出将系统从绿色模式中唤醒。 定时/计数器TC0 具有双时钟源,可根据实际需要选择内部时钟或外部时钟作为计时标准。其中,内部时钟来自

31、Fcpu,外部时钟INT0 由P0.0 引脚(下降沿触发)输入。寄存器TC0M 控制时钟源的选择。当TC0 从0FFH 溢出到00H 时,TC0 在继续计数的同时产生一个溢出信号,触发TC0 中断请求。 TC0 的主要作用如下: a) 8 位可编程定时器:根据选定的时钟频率在特定时间产生中断信号; b) 外部事件计数:对外部事件计数; c) 蜂鸣器输出; d) PWM输出。 下面以基本定时器T0为例,说明初始值的设定方法。 T0C:T0累加计数寄存器,上电初始值为00H,可以软件重置,每次溢出之后,初始值需要用户重置。初始值设定方法如下: T0C初始值 = 256 –

32、 (T0溢出间隔时间 × 输入时钟) 例如:用T0做一个10ms的定时,Fcpu=1M。T0rate选择010(Fcpu/64),那么 T0C初始值 = 256 – (T0溢出间隔时间 × 输入时钟) = 256 – ( 10ms × 1M/64 ) = 64H T0M中的Bit6:Bit4决定分频数的比率,T0的时钟源来自CPU,通过T0M中的Bit6,Bit5,Bit4来控制分频数的比率,T0ENB位控制计数器时钟,如果为1则时钟输入到T0计数器T0C中,T0开始计数,否则T0C的时钟被切断,T0C停止计数。当T0C计数器从0FFH增加到000H时,系统会将标志位T

33、0IRQ置为1。 表3-1 T0M寄存器 0D8H Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 T0M T0ENB T0rate2 T0rate1 T0rate0 - - - T0TB 复位后 0 0 0 0 - - - 0 T0TB:RTC 时钟控制位。 0 = 禁止RTC; 1 = RTC 模式。 T0RATE[2:0]:T0 分频选择位。 T0ENB:T0 启动控制位。 0 = 禁止T0; 1 = 开启T0。 表3-2 分频比 T0rate2~T0rate0

34、分频比 000 Fcpu/256 001 Fcpu/128 010 Fcpu/64 011 Fcpu/32 100 Fcpu/16 101 Fcpu/8 110 Fcpu/4 111 Fcpu/2 注:在RTC 模式下,T0RATE 的设置是无效的。 5) 中断 SONIX单片机是当今世界上很有影响力的精简指令集微控器,具有丰富的中断功能。不过它们也存在一定的局限性,例如中断矢量只有一个,并且各个中断源之间也没有优先级别之分,不具备中断屏蔽功能。 不同的芯片具有不同的中断。SN8P2501B单片机具有3个中断源:2个内部中断源(定时器T0、定时/计数器T

35、C0)、1个外部中断源(INT0/P00)。 对于SONIX单片机来说,中断源的要求是否会得到响应,受允许中断寄存器INTIEN中各位的控制。在全局中断控制位GIE为1时,才能使能中断请求,当中断源同时产生中断时,要靠内部的查询逻辑来确定响应的次序,不同的中断源其中断地址均为0008H。一次中断活动的全过程如图3-4所示。 图3-4 中断处理流程图 在图中,(1),(2),(3)和(9)是由硬件自动实现的,而其它的阶段是由用户软件完成的。有中断请求发生并被响应后,程序转至0008H 执行中断子程序。响应中断之前,必须保存ACC、PFLAG 的内容。芯片提供PUSH 和POP 指令进行

36、入栈保存和出栈恢复,从而避免中断结束后可能的程序运行错误。 PUSH/POP指令仅对ACC和PFLAG作中断保护,而不包括NT0和NPD。某些芯片PUSH/POP只能保护PFLAG寄存器内的值,ACC内的值需要用户自己保存,此芯片中PUSH/POP可直接对ACC和PFLAG进行保护。PUSH/POP 缓存器是唯一的且仅有一层,因此只能出现在中断保护现场中。 6) SN8P2501B单片机编译选项表 利用SN8P2501B芯片作为微控制器,在编译过程中需要注意对应的选项表,见表3-3。 表3-3 SN8P2501B单片机编译选项表 编译选项 配置项目 功能说明 Noise_Fil

37、ter Enable 开启杂讯滤波功能,Fcpu = Fosc/4~Fosc/16 Disable 关闭杂讯滤波功能,Fcpu = Fosc/1~Fosc/16 Fcpu Fhosc/1 指令周期 = 1个时钟周期,必须关闭杂讯滤波功能; IHRC_16M 和IHRC_RTC 模式下,不支持Fosc/1 Fhosc/2 指令周期 = 2 个时钟周期,必须关闭杂讯滤波功能; IHRC_16M 和IHRC_RTC 模式下,不支持Fosc/2 Fhosc/4 指令周期 = 4 个时钟周期 Fhosc/8 指令周期 = 8 个时钟周期 Fhosc/16 指令周期 =

38、16 个时钟周期 High_Clk IHRC_16M 高速时钟采用内部16MHz RC 振荡电路,XIN/XOUT(P1.3/P1.2)作为普通的I/O 引脚; IHRC_16M 模式下,Fcpu 取值在Fosc/4~Fosc/16 之间 IHRC_RTC 高速时钟采用内部16MHz RC 振荡电路,具有RTC 功能(0.5sec),XIN/XOUT(P1.3/P1.2)作 为普通的I/O 引脚; IHRC_RTC 模式下,Fcpu 取值在Fosc/4~Fosc/16 之间 RC 外部高速时钟振荡器采用廉价的RC 振荡电路,XOUT(P1.2)为普通的I/O 引脚 32K

39、 X’tal 外部高速时钟振荡器采用低频、省电晶体/陶瓷振荡器(如32.768KHz) 12M X’tal 外部高速时钟振荡器采用高频晶体/陶瓷振荡器(如10MHz~12MHz) 4M X’tal 外部高速时钟振荡器采用标准晶体/陶瓷振荡器(如1M~10MHz) Watch_Dog Always_On 始终开启看门狗定时器,即使在睡眠模式和绿色模式下也处于开启状态 Enable 开启看门狗定时器,但在睡眠模式和绿色模式下关闭 Disable 关闭看门狗定时器 Reset_Pin Reset 使能外部复位引脚 P11 P1.1 为单向输入引脚,无上拉电阻 LV

40、D LVD_L VDD 低于2.0V 时,LVD 复位系统; LVD_M VDD 低于2.0V 时,LVD 复位系统; PFLAG 寄存器的LVD24 位作为2.4V 低电压监测器 LVD_H VDD 低于2.4V 时,LVD 复位系统; PFLAG 寄存器的LVD36 位作为3.6V 低电压监测器 Security Enable ROM 代码加密 Disable ROM 代码不加密 注: a) 在干扰严重的情况下,建议开启杂讯滤波功能,此时Fcpu = Fosc/4 ~ Fosc/16,并将Watch_Dog 设置为“Always_On”; b) 如果用户设置

41、看门狗为“Always_On”,编译器将自动开启看门狗定时器; c) 编译选项Fcpu 仅针对高速时钟,在低速模式下Fcpu = FILRC/4; d) 在IHRC_16M 和IHRC_RTC 模式下,Fcpu = Fosc/4 ~ Fosc/16。 3.1.3 单片机复位电路 SN8P2501B 有以下几种复位方式: a) 上电复位; b) 看门狗复位; c) 掉电复位; d) 外部复位(仅在外部复位引脚处于使能状态)。 上述任一种复位发生时,所有的系统寄存器恢复默认状态,程序停止运行,同时程序计数器PC 清零。复位结束后,系统从向量0000H 处重新开始运行。PFLAG

42、寄存器的NT0 和NPD 两个标志位能够给出系统复位状态的信息。用户可以编程控制NT0 和NPD,从而控制系统的运行路径。 表3-4 PFLAG寄存器 086H Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 PFLAG NT0 NPD LVD36 LVD24 - C DC Z 读/写 R/W R/W R R - R/W R/W R/W 复位后 X X 0 0 - 0 0 0 NT0、NPD:复位状态标志 表3-5 复位状态标志复位情况 NT0 NPD 复位情况 说明 0

43、0 看门狗复位 看门狗溢出 0 1 保留 - 1 0 上电及LVD复位 电源电压低于LVD检测值 1 1 外部复位 外部复位引脚检测到低电平 任何一种复位情况都需要一定的响应时间,系统提供完善的复位流程以保证复位动作的顺利进行。对于不同类型的振荡器,完成复位所需要的时间也不同。因此,VDD 的上升速度和不同晶振的起振时间都不固定。RC 振荡器的起振时间最短,晶体振荡器的起振时间则较长。在使用的过程中,应注意考虑主机对上电复位时间的要求。图3-5为各种复位方式的响应。 图3-5 各种复位电路的响应 在这里所用的复位为外部复位。外部复位功能由编译选项“Res

44、et_Pin”控制。将该编译选项置为“Reset”,可使能外部复位功能。外部复位引脚为施密特触发结构,低电平有效。复位引脚处于高电平时,系统正常运行。当复位引脚输入低电平信号时,系统复位。外部复位操作在上电和正常工作模式时有效。需要注意的是,在系统上电完成后,外部复位引脚必须输入高电平,否则系统将一直保持在复位状态。外部复位的时序如下: a) 外部复位(当且仅当外部复位引脚为使能状态):系统检测复位引脚的状态,如果复位引脚不为高电平,则系统会一直保持在复位状态,直到外部复位结束; b) 系统初始化:初始化所有的系统寄存器; c) 振荡器开始工作:振荡器开始提供系统时钟; d) 执行程序

45、上电结束,程序开始运行。 外部复位可以在上电过程中使系统复位。良好的外部复位电路可以保护系统以免进入未知的工作状态。 外部复位电路有多种复位方式,如RC复位电路、二极管及RC复位电路等。 1) RC复位电路 如图3-6 图3-6 RC复位电路 图3-7为一个由电阻R1 和电容C1 组成的基本RC 复位电路,它在系统上电的过程中能够为复位引脚提供一个缓慢上升的复位信号。这个复位信号的上升速度低于VDD 的上电速度,为系统提供合理的复位时序,当复位引脚检测到高电平时,系统复位结束,进入正常工作状态。 2) 二极管及RC复位电路 如图3-7 图3-7 二极管及RC复

46、位电路 R1和C1同样是为复位引脚提供输入信号。对于电源异常情况,二极管正向导通使C1 快速放电并与VDD保持一致,避免复位引脚持续高电平、系统无法正常复位。 注:“基本RC 复位电路”和“二极管及RC 复位电路”中的电阻R2 都是必不可少的限流电阻,以避免复位引脚ESD(Electrostatic Discharge)或EOS(Electrical Over-stress)击穿 。 本设计电路比较简单,对复位响应时间没有太大的要求,考虑成本及电路规划的基础上采用RC复位电路作为此MCU的复位电路。 3.1.4 单片机晶振电路 对于本芯片来说,主要有两种晶振来源:外部石英/陶瓷振荡

47、器和内部高速RC振荡器。 1) 外部石英/陶瓷振荡器 其电路图如图3-8 图3-8 外部石英/陶瓷振荡器 图3-9中,XIN/XOUT/VSS 引脚与石英/陶瓷振荡器以及电容C之间的距离越近越好。 2) 内部高速RC振荡器 编译选项“IHRC_16M”和“IHRC_RTC”控制单片机的内置RC高速时钟(16MHz)。若选择“IHRC_16M”,则内置16MHz RC振荡器作为系统时钟源,XIN和XOUT引脚作为通用I/O 口。若选择“IHRC_RTC”,则系统时钟来自内置16MHz RC振荡器,同时XIN 和XOUT 引脚与实时时钟源(RTC)32768HZ石英晶体相连。

48、 IHRC:系统高速时钟来自内置16MHz RC振荡器,XIN/XOUT 引脚作为普通的I/O引脚。 IHRC_RTC:内置16MHZ RC振荡器作为系统高速时钟,同时XIN 和XOUT 引脚与实时时钟源(RTC)32768Hz石英晶体相连。RTC的周期为0.5 s,RTC 的定时器为T0。 本设计需要11个I/O口(6个LED控制位,4个步进电机控制位,1个输入信号位),所选用的MCU资源刚刚满足需要,过程中不需要获取非常准确的时间,因此选用MCU内置的16MHz RC高速振荡器作为系统时钟源,XIN 和XOUT引脚作为通用I/O口。 3.1.5 微处理器控制电路 图3-9 控

49、制电路 MCU所需电压在2.4V-5.5V范围内,在此选取典型电压5.0V;步进电机正常工作电压在12V或24V,但考虑到步进电机在此处只带动红外感应模块,不需要比较大的动力,为了简化电路,采用7.5V电压。这样只需要将通过电源适配器获得的7.5V电压转化成5.0V即可,这里需要用到电压转换芯片7805。电路图如图3-10所示,其中C1/C2/C3/C4增强电源抗干扰能力。 图3-10 电源电路 控制电路图如图3-9所示。图中,C5为0.1uF的电容,分别与MCU VDD 和VSS 相连,可以增强MCU 抗干扰能力。Q5为PNP型8550三极管,它在这里只是起升压作用,升0.6V左右

50、电压,使之大于0.7VDD,满足MCU I/O口电平需求。U2为红外感应装置。红外感应模块随着步进电机的旋转而旋转,将探测到得信号通过2口输送出来。当红外感应模块检测到人时,2口输出高电平,通过Q5使MCU的P0.0口变为高电平;当红外感应模块未检测到人时,2口输出低电平,MCU的P0.0口变为低电平,这样MCU就可以只检测P0.0的状态就可以判断是否有人。 Q1-Q4为NPN型8050三极管,它在这里起开关功能。D7-D10为二极管1N4148,因为MCU对应步进电机各口输出的电平一会儿是高电平,一会儿是低电平,相当于PWM信号,通过步进电机线圈后会产生感应磁场,进而产生反电动势,产生回路

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

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

客服