风扇自动程序控制器设计.doc
《风扇自动程序控制器设计.doc》由会员分享,可在线阅读,更多相关《风扇自动程序控制器设计.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 课 程 设 计 -电风扇自动程序控制器设计 学生姓名: 邱震海 学 院: 信息工程学院 班 级: 12应用电子技术 学 号: 指导教师: 邓鸿甫 日 期: 2014 年 12 月 目 录摘 要.11 总体设计思想.22 硬件设计.3 2.1硬件设计基本概要.3 2.2 8255A的设计.4 2.3 8253的设计.4 2.4步进电机的设计.5 2.5硬件系统原理图.53 软件设计.6 3.1风扇运行控制模块.7 3.2按键判断控制模块.7 3.3风速控制模块.9 3.4类型控制模块.10 3.5定时控制模块.10 3.6停止控制模块.114 系统调试及仿真.125 心得与体会.14参考文献.
2、15附录 源程序及其说明.16 1 总体设计思想本次课程设计任务主要基于8086以及各种接口芯片结合汇编语言实现对家用风扇控制器的模拟,运用8086CPU结合汇编语言编写的软件来实现各种信号的处理与变换,以得到想要的控制信号。8255A接收开关信号,驱动风扇的转动信号输出,并接收8253产生的控制信号。8253主要实现各种风种的控制信号,从而得到自然、睡眠的类型风。在模拟中通过开关来实现各种控制信号的输入,再通过8255的端口进行读取,再由8086通过软件对采入的信号进行辨别进而转入到相应的功能子程序中以实现各种功能。在各种功能的背后,通过8086驱动相应功能的硬件设备实现各种功能的切换。 图
3、1-1 硬件设计框图 此任务控制器已基本实现所有风扇控制功能,而现在几乎所有的风扇都能实现定时功能,故可以在控制器的设计中扩展定时功能以达到全面控制的目的。风扇控制停止后,后续状态任务书上未作要求,现设计其能在停止后处于等待状态,当且仅当有风速键按下后,控制器可恢复继续控制风扇的运行,实现控制器的循环控制。2 硬件设计2.1 硬件设计基本概要根据设计要求和内容,用可编程并行接口芯片8255APC口低四位接收4个按键(分别表示风速、风种、定时、停止)的状态以启动电扇或设置相应的工作状态。这样就需要4个按键,因此可以用实验箱上的某一列的4个按键,可以将此列的列选择线直接接为低电平,4个行输入线接到
4、8255的C口。这样可以直接从8255的口读取按键的状态,从而执行相应的操作。要通过一个按键来控制2个以上的状态,可以通过按键的次数来控制第几种状态,比如风速有三种状态(弱、中、强),可以用按键1次控制弱,按键2次控制中,按键3次控制强,这样就可以实现一键控制多钟状态了。控制器的指示灯,使用六个LED灯进行显示,分别显示不同风速、类型等6个指示信号。显示模块状态表示如下表2-1所示。用四相步进电动机作为电风扇,其转速可通过改变其驱动电平的频率来改变步进电机的速度。利用8255A的PC口高四位对步进电机进行四相四拍驱动。风种时间控制可由可编程计数器/定时器 8253来实现。可选用8253工作在方
5、式3。在这种方式下,当CPU输入控制字后,输出将为高,在写入计数值后计数器将立即自动对输入时钟CLK计数,计数器减为1时,输出将变低,方式2时8253不可用重新设置计数值就能连续工作,保证了定时的精确。 表2-1 显示模块代码状态表示按键状态 相应LED灯显示器风速弱1中2强3类型正常4自然5睡眠62.2 8255A的设计8255A的PA工作在方式0的基本输入方式作为控制信号的输入,接收8253的信号来控制步进电机的转动与停止。PC低四位工作在方式0的基本输入方式,用来接收四个开关的开关信号,高四位工作在方式0的基本输出方式作为四相步进电机的四相线路输出电路用来驱动步进电机的转动。PB口工作在
6、方式0的基本输出方式,用低六位来控制六个LED灯的亮和灭。2.3 8253的设计 先利用通道0对时钟进行分频,已获得可较好利用的时钟,得到周期为四秒的方波为后面能自然和睡眠的状态产生八秒高电平四秒低电平以及周期为十六秒的方波做准备。使用通道2用来产生类型风的状态信号,在自然风类型时,让其工作在方式2产生八秒高电平四秒低电平,当高电平时驱动步进电机转动,低电平则返回继续检测,以实现自然风的模拟;在睡眠的类型时,通道2工作在方式3产生周期为十六秒的方波,当高电平时驱动步进电机转动,低电平则返回继续检测,以实现睡眠风的模拟。2.4 步进电机的设计步进电机可接受数字控制信号(电脉冲信号)并转化成与之相
7、对应的角位移或直线位移,因而本身就是一个完成数字模拟转化的执行元件。而且它能进行开环位置控制,输入一个脉冲信号就得到一个规定的位置增量。本次课程设计使用的电机为四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。2.5 系统硬件原理图 图2-1 系统硬件原理图3 软件设计 硬件的设计完成后,运用汇编语言编写软件部分通过8086CPU实现各种信号的输入/输出以及相关信号的处理,从
8、而控制步进电机的各种转态的转换控制。软件设计主体流程图如图3-1所示。Y开始初始化8255A,8253通道1风速键是否按下初始化风速:弱,类型:正常风扇运行子模块风速键是否按下下类型键是否按下停止键是否按下风扇控制子模块类型控制子模块停止子模块YNYNY图3-1风扇控制器软件总流程图3.1 风扇运行控制模块 此模块主要控制步进电机的转动以及转速,亦是整个控制器的主控部分。实现风扇各种功能的“CPU”。其中主要部分是驱动电机转动的子程序,每次依次对四相电路驱动一次,由于8086处理速度非常快在肉眼看来电机没有微停抖动的情况,步进电机就是在连续的转动。步进电机转动需要判断两个控制信号,一个是类型信
9、号PA0另一个是定时信号PA1,当两者都是高电平时才去驱动步进电机转动。风扇运行控制模块流程图如图3-2所示:PA0是高电平PA1是高电平驱动步进电机显示当前状态NNYY停止控制模块风扇运行模块子程序子程序返回图3-2风扇运行控制模块流程图3.2 按键判断控制模块常用风扇开关是弹簧式,但平台上是单刀单掷的开关,若用常用方法判断其是高电平(或低电平)每次拨完开关后需对开关拨回原来的状态下次才能正常拨动开关,相当不方便。我采用另一种判断方法,每次有按键按下后后保存他们的开关状态当下次有开关状态变化时就可以知道有按键按下进行按键判断。首先判断上一次的开关状态与此次检测的状态是否相同,不同则分别判断四
10、个开关状态是否变化,若有就转入相应的子模块中。按键判断控制模块图如图3-3所示。开关状态是否变化保存此次开关状态风速开关状态变化停止开关状态变化定时开关状态变化类型开关状态变化NNNNNY风速控制模块YYY类型控制模块定时控制模块停止控制模块开关模块子程序Y子程序返回 图3-3按键控制模流程图3.3 风速控制模块此次任务中使用步进电机进行模拟,步进电机的速度控制运用PWM方法,通过改变频率来实现速度控制。在软件编程中,通过8255A的PB口输出驱动步进电机,通过改变单拍输出的延时时间来改变速度,延时越短速度越快。在设计中,置一数据BUF1单元保存延时时间,不同的速度选择时,置不同数据来改变延时
11、的长短从而实现速度的控制。另置一数据单元BUF2保存当前风速状态,BUF2在1、2、3之间循环,分别代表弱、中、强并作为状态数据显示。风速控制模块流程图如图3-4所示。BUF2为弱风状态BUF2加1BUF2为中速状态BUF2为强风状态BUF1置弱风延时时间数据BUF1置中风延时时间数据BUF1置强风延时时间数据 BUF2清零YYYNNN风速控制模块子程序子程序返回图3-4风速控制模块流程图3.4 类型控制模块类型的控制主要运用8253来产生各种状态波形信号,通过检测信号的高低电平来控制步进电机的运转。此模块主要来初始化8253通道1的工作状态。在数据段中置一数据单元BUF3来存储类型的状态数据
12、,BUF3在1、2、3之间循环分别代表类型中的正常、自然以及睡眠三种类型并作为状态数据显示。类型控制模块流程图如图3-5所示。BUF3为正常状态BUF3加1BUF3为自然状态BUF3为睡眠状态PC0、PC1、PC2输出0 ,8253所有通道门控置0PC0、PC1输出1通道2初始化工作在方式2PC0、PC1输出1通道2初始化工作在方式3 BUF3清零YYYNNN类型控制模块子程序子程序返回图3-5类型控制模块流程图3.5 定时控制模块定时也是通过8253产生控制信号来控制,通过8253的通道2工作在方式4实现定时,在定时完后会在风扇运行控制模块中转到停止模块中。在数据段中置一数据单元BUF4来存
13、储定时类型的状态数据,BUF4在1、2、3之间循环分别代表类型中的8秒、16秒以及32秒三种类型并作为状态数据显示。定时控制模块流程图如图3-6所示。BUF4为8S状态BUF4加1BUF4为16S状态BUF4为32S状态PC5输出1 ,初始化通道38S的计数初值PC5输出1 ,初始化通道316S的计数初值PC5输出1 ,初始化通道332S的计数初值BUF4清零YYYNNN定时控制模块子程序子程序返回图3-6定时控制模块流程图3.6 停止控制模块停止状态主要实现风扇暂时性的停止运行,在某个键按下后又能继续运转。按要求只有在风速键按下才能继续运行。此模块主要对已运行的风扇停止后所有状态进行清零,以
14、保证再次运行后能按初始状态运行。停止模块流程图如图3-7所示。BUF1、BUF2、BUF3、BUF4清零PC0、PC1、PC2输出为08253所有通道门控清零停止模块子程序子程序返回图3-7停止控制模块流程图4 系统调试及仿真1、当程序运行时,进入DOS状态下控制器面板的菜单选项:按钮为三个,分别为“风速”、“类型”和“停止”,LED指示灯共六个,分别指示风速“强”、“中”、“弱”,类型分别为“睡眠”、“自然”和“正常”。2、电扇处于停转状态时:所有指示灯不亮,只有按下“风速”键时,其状态由“弱” “中” “强” “弱” 往复循环改变,每按一下按键改变一次;按“类型”键时,其状态由“正常” “
15、睡眠” “自然” “正常” 往复循环改变;电扇在任何状态,只要按停止键,则进入停转状态。系统利用proteus进行仿真,仿真图详见下图4-1 图4-1 系统仿真图5. 实验结果实验结果图如图6.1所示图 5.1 实验结果5 心得与体会通过此次的课程设计任务,我加深了自己对汇编语言以及各接口芯片使用方法的理解,在实践中体会到各芯片的工作的状态及使用方法。本学期学习过的8255A和8253芯片的相关内容,通过这次课程设计,通过设计,看书,也有了比较深刻地了解。与此同时还加深了对汇编程序结构,指令,调用等基础知识的认识。在实践中充分利用所学知识结合实际情况作出符合要求的设计。在具体的调试过程中遇到了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 风扇 自动 程序 控制器 设计
限制150内