家用电风扇课设报告.docx
- 文档编号:12545744
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:14
- 大小:287.79KB
家用电风扇课设报告.docx
《家用电风扇课设报告.docx》由会员分享,可在线阅读,更多相关《家用电风扇课设报告.docx(14页珍藏版)》请在冰点文库上搜索。
家用电风扇课设报告
目录
一、设计要求2
二、设计目的3
三、设计的具体实现3
3.1系统概述3
3.2硬件电路设计4
3.2.1风速控制模块4
3.2.2风类型控制模块4
3.2.3定时器模块5
3.2.4振荡源模块5
3.2.5硬件连线图6
3.3软件程序设计7
3.3.1程序设计分析论证7
3.3.2程序代码9
四、结论与展望15
五、心得体会及建议16
六、附录17
6.1元器件明细表17
6.2芯片功能简介17
七、参考文献20
家用风扇程序设计报告
一、设计要求
1.设计一个家用风扇程序。
2.控制器面板为:
按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。
3.电扇处于停转状态时:
所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始工作状态;电扇在任何状态,只要按停止键,则进入停转状态。
4.处于工作状态时有:
(1)初始状态为:
风速-“弱”,类型-“正常”。
(2)按“风速”键,其状态由“弱”→“中”→“强”→“弱”……往复循环改变,每按一下按键改变一次。
(3)按“类型”键,其状态由“正常”→“睡眠”→“自然”→“正常”……往复循环改变。
5.风速:
风速的弱、中、强对应于电扇的转动由慢到快。
6.风速类型的不同选择分别为:
(1)正常电扇连续运转。
(2)自然电扇模拟自然风,即转4s,停8s。
(3)睡眠电扇慢转,产生轻柔的微风,运转8s,停转8s。
7.定时功能:
可以定时30分,60分。
二、设计目的
1.掌握汇编语言的使用及其程序设计方法。
2.掌握个芯片的用途及初始化。
3.进一步巩固微机原理课程所学知识。
三、设计的具体实现
3.1系统概述
整个电路可分为四个模块:
风速控制模块,风类型控制模块,定时控制模块,振荡源。
(a)、可编程并行接口芯片8255A以及部分相关元件组成风速控制电路。
(b)、可编程计数器8253A和555定时器组成的单稳态触发电路组成风类型控制模块,由振荡源为其提供计数脉冲。
(c)、可编程计数器8253A以及相关电路组成定时器,振荡源为其提供计数脉冲,可实现定时30min和60min。
(d)、用555定时器组成T=1s的振荡源。
3.2硬件电路设计
3.2.1风速控制模块
开关SW1和可编程并行接口芯片8255A以及部分相关元件组成风速控制电路,8255A的C口作为输入端口,A口作为输出端口,通过软件循环检测C口的输入状态,从而决定A口的输出状态。
8255A内部结构图如图1所示
图18255每部结构
3.2.2风类型控制模块
可编程计数器8253A和555定时器组成的单稳态触发电路组成风类型控制模块,振荡源为其提供计数脉冲。
其中计数器2产生周期为8s的方波,计数器1为频率发生器,每隔12s产生一个脉冲,触发555定时器组成的单稳态触发电路,使其产生脉冲宽度大概为4s的矩形波。
3.2.3定时器模块
可编程计数器8253A以及相关电路组成定时器,振荡源为其提供计数脉冲,可实现定时30min和60min。
计数器0和计数器1都工作在方式1——可重触发的单稳态。
门控信号每接受一个上升沿,计数器就会重新计数。
3.2.4振荡源模块
用555定时器组成T=1s的振荡源。
3.2.5硬件连线图
硬件连线图如图3.2.1所示:
图3.2.1
其中可编程并行接口芯片8255A的端口地址为288H—28BH,风类型控制模块的可编程计数器8253A的端口地址为80H—83H,定时控制模块的可编程计数器8253A的端口地址为90H—93H。
振荡源用555定时器组成,通过设定R2=R3=48KO,C3=10uF,C4=0.01uF使其输出周期为1s。
在555定时器组成的单稳态触发电路中,使R1=400O,C1=900uF,使其产生脉冲宽度大概为Tw=4s的矩形波。
8253A正常工作时,输出为电平,而8255A检测的是高电平,故其输出需要接非门。
3.3软件程序设计
3.3.1程序设计分析论证
(a)、采用间接寻址方式对8255的控制端口赋值8bh,即10001011,设置其工作方式为:
A口方式0输出,C口输入,B口方式0输入。
(b)、上述程序通过检测8255C口的相应电平,从而转入子程序,每个子程序对应着不同的延迟信号,从而实现对PA3、PA2、PA1、PA0电平移位速率的控制,进而控制电机速率。
由上述程序可知,速度选择开关的优先级别从高到低依次为:
K4、K5、K6。
Delay子程序的功能是根据不同的BL值设置不同的延迟时间,从而实现不同的转速。
(c)、通过对可编程计数器8253A的初始化设置,U1计数器1:
T=12s频率发生器;U1计数器2:
T=8s,方波发生器;U2计数器0:
可重触发单稳态方式,初值为1800;U2计数器1:
可重触发单稳态方式,初值为3600。
(d)8255控制字如3.3.1图所示:
图3.3.1
(e)8253控制字如3.3.2图所示:
图3.3.2
3.3.2程序代码
程序源代码如下:
DATASEGMENT
P55AEQU288H;8255APORTOUTPUT
P55CEQU28AH;8255CPORTINPUT
P55CTLEQU28BH;8255COUTRLPORT
BUFDB0
MESDB'SW1AREFENGSUCONTROL',0AH,0DH
DB'SW2ISTHEFENGZGONGCONTROL',0AH,0DH
DB'SW3ISTHEZONGKAIGUAN',0AH,0DH
DB'SW4ISTHETIMECONTROL',0AH,0DH,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAL,54H
OUT83H,AL
MOVAL,0CH
OUT81H,AL;U1计数器1:
T=12s频率发生器
MOVAL,96H
OUT83H,AL
MOVAL,08H
OUT82H,AL;U1计数器2:
T=8s方波发生器
MOVAL,32H
OUT93,AL
MOVAX,0708H
OUT90H,AL
MOVAL,AH
OUT90H,AL;U2计数器0:
可重触发单稳态方式,初值为1800
MOVAL,72H
OUT93H,AL
MOVAX,0E10H
OUT91H,AL
MOVAL,AH
OUT91H,AL;U2计数器1:
可重触发单稳态方式,初值为3600
MOVAX,CS
MOVDS,AX
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES
MOVAH,09
INT21H
MOVDX,P55CTL
MOVAL,8BH
OUTDX,AL;8255C输入,A输出
MOVBUF,33H
OUT1:
MOVAL,BUF
MOVDX,P55A
OUTDX,AL
pushdx
MOVAH,06h
movdl,0ffh
INT21H;有按钮按下
popdx
JEIN1
MOVAH,4CH
INT21H
IN1:
MOVDX,P55C
INAL,DX
TESTAL,10H
JNZK4
TESTAL,20H
JNZK5
TESTAL,40H
JNZK6
STOP:
MOVDX,P55A
MOVAL,0FFH
JMPOUT1
SAM:
TESTAL,01H
JNZSTOP
TESTAL,02H
JZZX0
JMPSTOP
K4:
MOVBL,80H
JMPSAM
K5:
MOVBL,0C0H
JMPSAM
K6:
MOVBL,0FFH
JMPSAM
ZX0:
CALLDELAY
MOVAL,BUF
RORAL,1
MOVBUF,AL
JMPOUT1
DELAYPROCNEAR
DELAY1:
MOVCX,0FFFFH
DELAY2:
LOOPDELAY2
DECBL
JNZDELAY1
RET
DELAYENDP
CODEENDS
ENDSTART
四、结论与展望
1、当程序运行时,按钮为四个,分别为“风速”、“风类型”、“定时”和“停止”,LED指示灯共六个,分别指示风速“强”、“中”、“弱”,类型分别为“睡眠”、“自然”和“正常”。
2、电扇处于停转状态时:
所有指示灯不亮,只有按下“风速”键时,其状态由“弱”→“中”→“强”→“弱”……往复循环改变,每按一下按键改变一次;按“类型”键时,其状态由“正常”→“睡眠”→“自然”→“正常”……往复循环改变;可以实现定时30min和60min。
电扇在任何状态,只要按停止键,则进入停转状态。
五、心得体会及建议
本次课程设计是家用风扇程序设计,用8253输出定时信号申请中断,CPU发出命令由8255的下C口输出脉宽信号来控制步进电机的走步。
电机的转动和停止则是通过8255的A0端子输出高低电平来继续或暂停8253的计数从而控制中断申请来实现的。
8253的定时时间决定了电机转动的方式,从而实现风类型的控制。
通过电机的数据模拟电风扇风速控制器。
通过这次课程设计,我加深了对汇编语言程序设计的认识,提高了分析问题、解决问题的能力。
微机原理课堂上学习过8255,8253芯片的相关内容,在这次课程设计过程中,通过查资料、自己编写程序,对各芯片的功能有了比较直接深刻的了解。
这次课程设计,虽然花费了很多时间,效果做得也不是很好,但却加深了我对汇编程序结构、指令、中断、调用等基础知识的认识。
在课程设计过程中,我深刻体会到汇编语言的难度是比较高的,要求非常严密的逻辑思维能力,但从中我学会了怎样运用8255进行并行控制,以及用8253进行时钟频率的控制,明白在程序设计的同时,互相交流学习和讨论,将会开拓视野,启迪灵感。
当然还要有坚持不懈的精神。
六、附录
6.1元器件明细表
8253芯片两块
8255芯片一块
555芯片两块
步进电机一台
2N2369三极管四支
发光二级管八支
开关若干
10uf电容一支
0.01uf电容一支
10pf电容一支
1100uf电容一支
48kΩ电阻两支
500Ω电阻一支
6.2芯片功能简介
(a)8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为0~2MHZ,它所有的技术方式和操作方式都通过编程控制。
8253的功能用途是:
(1)延时中断
(2)可编程频率发生器
(3)事件计数器
(4)二进倍频器
(5)实时时钟
(6)数字单稳
(7)复杂的电机控制器
8253有六种工作方式:
(1)方式0:
计数结束中断
(2)方式1:
可编程频率发生器
(3)方式2:
频率发生器
(4)方式3:
方波频率发生器
(5)方式4:
软件触发的选通信号
(6)方式5:
硬件触发的选通信号
8253各引脚功能如下。
D7~D0——八条双向数据线;
WR(低电平有效)——写输入信号;
RD(低电平有效)——读输入信号;
CS(低电平有效)——片选输入信号;
A0、A1——片内寄存器地址输入信号;
CLK——计数输入,用于输入定时基准脉冲或计数脉冲;
OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;
GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。
(b)8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:
方式0—基本输入/输出方式
方式1—选通输入/输出方式
方式2—双向选通输入/输出方式
8255引脚图如图所示,各引脚功能如下:
D7~D0——与CPU侧连接的八条双向数据线;
WR(低电平有效)——写输入信号;
RD(低电平有效)——读输入信号;
CS(低电平有效)——片选输入信号;
A0、A1——片内寄存器选择输入信号;
PA7~PA0——A口外设双向数据线;
PB7~PB0——B口外设双向数据线;
PC7~PC0——C口外设双向数据线;
RESET——复位输入信号
七、参考文献
1·陈继红、徐晨、王春明、徐慧·《微机原理及应用》·高等教育出版社·2010年第二版
2·雷丽文·《微机原理与接口技术》·电子工业出版社1999年第一版
3·阎石·《数字电子技术基础》·高等教育出版社·2006年05月
4·沈美明·《IBMPC机汇编语言程序设计》·清华大学出版社
1991年第一版
5·童诗白·《模拟电子技术基础》·高等教育出版社·2006年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家用 电风扇 报告