智能电风扇控制器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能电风扇控制器 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】
《单片机课程设计》设计报告
设计题目:
系别:
专业:
班级学号:
姓名:
指导教师:
设计时间:
设计任务:利用DAC0832芯片进行数模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节,并显示运行状态。
1.小直流电机调速控制体统的总体方案设计
1)系统总体结构
2)芯片选择
主要芯片:8255A,DAC0832
本次实验用的是8255工作方式0,方式控制字为:
D7:方式控制字标识位,1--有效;
D6、D5:A口方式选择,00--方式0;01--方式1;1X--方式2;
D4:A口输入/输出选择,1--输入;0--输出;
D3:PC7~PC4输入/输出选择,1--输入;0--输出;
D2:B口方式选择,1--方式1;0--方式0;
D1:B口输入/输出选择,1--输入。0输出;
D0:PC3~PC0输入/输出选择,1--输入。0输出;
引脚功能:
DI0~DI7:8位数字信号输入端; CS*:片选端;
ILE:数据锁存允许控制端,高电平有效;
WR1*:输入寄存器写选通控制端。
当CS*=0、ILE=1、WR1*=0时,数据信号被锁存在输入寄存器中。 XFER*:数据传送控制
WR2* :DAC寄存器写选通控制端。当XFER*=0,WR2* =0时,输入寄存器状态传入DAC寄存器中
IOUT1:电流输出1端,输入数字量全“1”时,IOUT1最大,输入数字量全为“0”时,IOUT1最小。
IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数。
Rfb:外部反馈信号输入端,内部已有反馈电阻Rfb,根据需要也可外接反馈电阻。
Vcc:电源输入端,可在+5V~+15V范围内。
DGND:数字信号地。AGND:模拟信号地
3)DAC0832的主要性能指标
DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等
优点,在单片机应用系统中得到广泛的应用。D/A转换器由8
位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
2.硬件电路设计
1)AT89S52单片机最小系统(见附录)
2)DAC0832与AT89S52单片机接口电路设计
使用逻辑器件实现地址译码,地址为:FF80H。(参见附录)
3)显示电路与AT89S52单片机接口电路设计
使用逻辑器件实现地址译码,地址为:FF20H—FF23H。(参
见附录1)
3.软件设计
1)程序框图
4.调试与测试结果分析
1)实验系统连线
a)、、各接一拨码开关
b)将DAC0832驱动电路AOUT接至直流电机
c)将P0口接至DAC0832数字输入端
d)将地址译码电路(FF80H)接至DAC0832片选端
2)程序调试
程序上电时,直流电机停止不动,当来回拨动拨码开关1时,直流电机以低速转动,同时数码管显示速度等级1;当来回拨动拨码开关2时,直流电机以中速转动,同时数码管显示速度等级2;当来回拨动拨码开关3时,直流电机以高速转动,同时数码管显示速度等级3。
3)实验结果分析
电机运行正常可实现调速,拨码开关没有消抖并不影响调速,因为中断服务程序采用赋值的方式,拨码开关的高频抖动启动多次中断,赋的值都相同。
5.实验总结
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中无处不在,因此单片机的开发技术是十分重要的。
通过此次单片机课程设计,我们不仅巩固了学过的知识,而且学到很多课本上没有的知识。这次经历是我懂得了理论与实际相结合是很重要的,用理论知识解决实际问题,活学活用,提高自己的实际动手能力和独立思考的能力。
附录:系统原理图和程序清单
附:源程序代码:
/************************智能电风扇***************************//*
本程序使用DAC0832实现直流电机的速度控制(三档:低速\中速\高速)
*//******************************************************************/
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTX0
ORG 000BH
LJMP INTT0
ORG 0013H
LJMP INTX1
ORG 0040H
MAIN: S ETB EX0
SETB EX1
SETB IT0
SETB IT1
SETB ET0
MOV TH0,#0FFH
MOV TL0,#0FFH
MOV TMOD,#06H ;方式2(8位自动重装载)
SETB TR0
SETB EA ;外部中断0,外部中断1,定时器0(用作外部中断) 初始化
MOV DPTR,#0FF23H
MOV A,#80H
MOVX @DPTR,A ;8255模式0(直通方式)
MOV DPTR,#0FF20H
MOV A,#0FEH
MOVX @DPTR,A ;位选第一个数码管
MOV R0,#00H ;R0作为输出电压大小的存储器