《微机接口技术》
课程设计、实践设计报告
学院:天津工程师范学院
班级:计科 0601 班
成员:孟磊 07 号 胡悦 04 号
康玉杰 10 号 陈玉滨 01 号
郑岳林
完成时间:09.06.15-09.06.19
一、课程设计题目:家用风扇控制器
二、课程设计任务与要求:
(1)课题来源:老师
(2)类型:微机接口课程设计
(3)目的和意义:1.实现家用风扇控制器的基本功能.
2.掌握微机硬件和软件的综合设计方法.
(4)基本要求:
1、控制器面板为:按钮三个,分别为风速、类型和停止;三个
LED 指示灯用于指示风速强、中、弱;另外三个 LED 指示灯用于指
示类型为睡眠、自然和正常。
2、电扇处于停转状态时,所有指示灯不亮,只有按下“风速”键
时电扇才会旋转。电扇在任何状态,只要按下“停止”键,则进入停转
状态。
3、风速的强、中、弱分别对应于电扇转动的快速、中速和慢速。
4、初始状态为:风速“弱”,类型“正常”;
5、按“风速”键,状态由“弱”“中”“强”“弱” …… 往复循环改变,每
按一下按键改变一次状态;
6、按“类型”键,其状态由“正常”“睡眠”“自然”“正常” …… 往复循
环改变;
1) 正常 电扇连续运转;
2) 自然 电扇模拟自然风,即转 2s,停 4s;
3) 睡眠 电扇慢转,产生轻柔的微风,运转 2s,停转 6s;
三、设计过程:
(1)总体设计:
根据题目要求,其基本功能是用三个按键来控制风速、类型以
及停止这三个状态的变换。当风速键按下时实现风速强、中、弱三
种状态依次循环切换,并用三个 LED 指示灯来显示;当类型键按下
时实现类型正常、睡眠、自然三种状态的依次循环切换,并用三个
LED 指示灯来显示。
题目中类型键要求自然状态转 2 秒,停 4 秒;睡眠状态转 2 秒,
停转 6 秒,这个涉及到时间问题,可以通过硬件或者软件来实现,
我们选择通过软件来实现。
综上所述,可以采用硬件与软件结合的设计方法来实现基本功
能。
(2)硬件设计:
本次实验除利用了 PC 机本身资源外(如中断资源),还利用了平
台上的 8255 并行接口单元,LED 指示灯电路等,便构成家用风扇控
制电路.
本次实验硬件部分主要是用可编程并行通信接口 8255A 来实现
的。三个按键是输入,用 8255A 的其中一个端口作为输入,这里选
择用端口 A 作为输入;六个 LED 指示灯用作输出,这里选择用端口
B 作为输出。
8255A 是有多种功能的可编程并行接口电路芯片,8255A 分 3
个端口:端口 A、端口 B 和端口 C,每个端口都是 8 位,共 24 个外设引
脚,共三种输入输出工作方式。
1)方式 0—基本输入输出方式, 适用于无条件传送和查询方式的
接口电路。
2)方式 1—选通输入输出方式, 适用于查询和中断方式的接口电
路。
3)方式 2—双向选通传送方式, 适用于与双向传送数据的外设;
适用于查询和中断方式的接口电路。
本次实验我们选择方式 0,只实现基本的输入、输出即可。
(3)软件设计:
本设计通过编程对 8255A 的端口 A 读入的键值进行判断,再转
入到相应的子程序进行状态改变。最后通过端口 B 进行输出显示。
控制系统分四个功能模块,主要包含风速设置、类型设置、默
认状态显示和退出系统。
1、风速设置
这个模块中风速的三个状态强、中、弱之间的循环切换是通过将
端口 A 的键值逐次加 1(初始值为 0,每按下一次风速键寄存器值加
1),然后对 3 求余,取其余数分别代表这三个状态来实现的。由于
对 3 求余的余数只有 0、1、2 三个值,分别代表强、中、弱,将其
余数保存到寄存器中,根据寄存器中是 0、1、2 来判断强、中、弱
风三个状态。
2、类型设置
风的类型有:正常、自然、睡眠三种。
a) 正常 电扇连续运转。
b) 自然 电扇模拟自然风,即转 2s,停 4s。
c) 睡眠 电扇慢转,产生轻柔的微风,运转 2s,停转 6s。
自然状态和睡眠状态时间的控制是通过调用延时子程序来实现
的,由于一个机器周期是 10
-6
秒,延时程序是通过循环来实现的,
让指令执行 10
6
次来实现 1 秒。不是很精确。
四、硬件系统框图及说明
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
0
1
2
3
4
5
6
7
K1 风速键