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