风扇红外遥控器的设计
、实验内容与要求
设计并制作一个家用风扇控制器。
1.用六个发光二极管,指示风速强、中、弱,类型为睡眠、自然 和正
常。
2.处于主菜单状态时,有下列选项:
(1) 直接默认状态运行, 默认状态为: 风速-“弱”,类型-“正常”。 (2) 进入风速子菜单界面,修改风速。
(3) 进入类型子菜单界面,修改风的类型。 08电气 3 班 4. 风速的弱、中、强对应于电扇的转动由慢到快。 5. 类型的不同选
(1) 正常 电扇连续运转;
(2) 自然 电扇模拟自然风,即转4s,停8s; (3) 睡眠电扇慢转,产生轻柔的微风,运转 6. 按照风速与类型的设置输出相应的控制信号。
、实验目的
1?实现对步进电机的控制来模拟风扇控制器。 2 ?掌握微机硬件和软件的综合设计方法。
3.能控制风扇三个风速档位、风扇的启动和停止及旋转风向和固定风向几个基本功能
08电气 3 班 择,分别为:
8s,停转8s;
3、总体设计
控制步进电机的转停。
08电气 3 班
1.8253定时/计数器通道0定时控制步进速度, 通道2和3定时电机的转停时间,8255 的 PA0
2. 8255的C 口输出控制脉冲,经 74452电路驱动电路。B 口输出控制LED显示风扇 当前的状态。
4、实验报告要求
1 .设计目的和内容 2 .总体设计
08电气3班
3 ?硬件设计:原理图(接线图)及简要说明 4?软件设计框图及程序清单
5 ?设计结果和体会(包括遇到的问题及解决的方法)
家用风扇控制器的设计与实现
五、硬件设计
由于本设计主要是用步进电机的控制来模拟家用
08电气3班
风
扇控制器,所以电路是在步进电机控制系统的电路作了一些修改。除利用了 PC机本身资源
夕卜(如中断资源),还利用了平台上的 8253计数/定时器、8255并行接口单元,LED指示灯 电路等,再加上电机的驱动电路,便构成以风扇 制电路。硬件原理图如图 1 :
08电气3班
电机控
图1硬件原理图
六、软件设计
本设计通过软件编程使 8253通道0输出定时信号申请中断,CPU发出命令由8255的下 C 口输出脉宽信号来控制步进电机的走步。
8253的定时时间决
08电气3班
定了电机转动的快慢。电机的转动和停止则是通过 暂停8253通道0的计数从而控制中断申请来实现的。 转动和停止时间的长短。 1设计思路
8255的PA0端子输出高低电平来继续或 用8253的通道1和2 一起来定时控制 电机
控制系统分四个功能模块,分别是风速设置、类型设置、默认状态运行、退出系统, 在前四个功能块中都设置了 ESC键来取消或暂停执行当前操作。程序中同时提供三个操作界 面,一个主菜单和两个子菜单界面,进行可视控制。 (1 )风速设置
风速即为电机转速设置,风速分为强、中、弱三种,对应不同的电机转速。根据赋给 计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速, 来根据对电机转速要求,计算并调整计算初值。
也可以反过
08电气3班
f=46875hz,设计数初
这里采用的是8253的0号计数器和方波产生方式,输入时钟为 值为n,要求转速为0.25转/秒,对四相步进电机而言即为
f / n = 5 n=f/5=46875/5=9375
反过来,当计数器初值确定时, 决定了电机的转
5步/秒,则有:
08电气3班 速,
如计数初值为625时,有电机转速为1步每秒(本设计中的慢风速);当计数初值为 125 时,电机转速为375步每秒(本设计中的快快速)。具体设置初值及风速见表
表1 风速 慢 中 快
1。
步速 75 125 375 转速 3.75 6.25 18.75 计数初值 625 375 125 (2)风的类型设置
风的类型有:正常、自然、睡眠三种。
风的类型的不同选择,用 FLAG0来记录状态: a) 正常 电扇连续运转。FLAG0=2
b) 自然 电扇模拟自然风,即转 4s,停8s。FLAG0=0 c) 睡眠 电扇慢转,产生轻柔的微风,运转
8s,停转8s。FLAG0=1
电机的运转是通过让 8255的A0 口输出高电平到 8253的GATE0使其0号计数器继续工 作,并开放中断进入循环等待中断状态。 无法产生中断信号,电机停止转动。
电扇的运转和停转的时间是由
8253的通道1和通道2两个计数器一起来定时的。
通道
A0 口为低电平使8253的0号计数器暂停计数,则
1的输入时钟为f=46875hz,设计数初值为 46875,则会产生1s的定时。通道1的OUT1作 为通道2的输入脉冲,输入的计数初值为 和8s,定时中断到修改 8255的A0 口
N则定时的时间为 N秒。我们需要的是定时
08电气3班
4s
的输出的电平和下
2产生中断,
次计数的初值就可以实现风的不同类型。风的类型为正常时,不用启用计数器
让计数器0 —直运行。睡眠时,通道 2的计数初值一直为 8,不用修改。如果是自然就得修 改了。 (3) 中断子程序1
在由8253定时器通道0产生的中断子程序 1中,将值为11001100B的NUM内存单元循 环左移或右移一位,通过 8255的下C 口输出低四位,控制步进电机的相序变化,从而使电 机连续转动。 (4)
中断子程序 2 08电气3班
8253定时器通道2产生的中断子程序 2中,修改输入到8255的A0 口的电平值,控制 电机的转停,令 NUM仁0,
口。根据当前选择的风的类型 (5) 菜单界面设置
利用DOS下的BIOS功能调用,设计出彩色的形 又易于操作的界面,详细设计特点请参考课本上相关介绍。
使用类型10H中断,可以实现对屏幕的完整的控制。常用的彩色文本功能的参数设置 见表2。
表2 AH=0 AH=1 AH=2 AH=9 设置显示方式 设置光标类型 设置光标位置 在光标位置写属性/字符 AL=3 80 X 25 彩色方案 08电气3班
象而
08电气3班
每次求反,输出到 8255的A
2的计数初值。
FLAG0以及当前所处的状态,修改通道
CH=位4-0为光标起始行 CL=位4-0为光标结束行 DH=行 DL= CX=要写的字符数 AL=要写的字符 BH=调色板 ID(0-127) BL=调色板ID的颜色 ES:BP= 指向字符串 AH=19
列 AH=11 选择彩色调色板 写字符串 CX=字符串的长度 BH=页号 2 ?程序流程图
(1)主程序流程图如图 2
图2主程序流程图
中断服务子程序一的框图如图
3
(1 )