- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
设计的题目名称及要求………………………………… 2
实验设备………………………………………………… 2
设计思想、实施方案和硬件电路图……………………… 2
典型程序模块及典型编程技巧分析………………………… 7
课程设计中遇到的问题及解决方法………………………… 9
实验程序的流程图…………………………………………… 10
程序清单及程序注释………………………………………… 16
收获与体会…………………………………………………… 42
参考文献……………………………………………………… 42
一、课程设计的题目名称及要求
设计题目:家用电扇控制实验与驱动电路设计
基本设计要求:
1. 编程语言为汇编语言和C语言;
2. 控制硬件电路基于80x86微机接口电路;
3. 驱动电路(主回路)仅需设计;
4. 控制器功能包括:按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。
指标如下:
1) 电扇处于停转状态时,所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始工作状态;电扇在任何状态,只要按停止键,则进入停转状态。
2) 处于工作状态时,有:
初始状态为:风速-“弱”,类型-“正常”
按“风速”键,其状态由“弱”(“中”(“强” (“弱” …… 往复循环改变,每按一下按键改变一次;
按“类型”键,其状态由“正常”(“睡眠”(“自然”(“正常” …… 往复循环改变;
3) 风速的弱、中、强对应于电扇的转动由慢到快。
4) 类型的不同选择,分别为:正常 电扇连续运转;自然 电扇模拟自然风,即转4s,停8s;睡眠 电扇慢转,产生轻柔的微风,运转 8s,停转8s;
5) 按照风速与类型的设置输出相应的控制信号。
附加功能扩展:根据控制性能要求,在“睡眠”和“自然”类型下仍可选择不同的“风速”,工作时总共有“3*3”种不同的模式,而且通过按键的分时复用可在“停止”与“工作”两种状态间反复切换而不必重载程序。
二、实验设备
PC机一台(装有TDPIT软件)、唐都TD-Pit实验箱。
三、设计的思想和实施方案
由于本次课程设计控制的对象是直流电机,在上个学期学习的《电机与电力拖动》时已知直流电机可通过改变给定电压的大小调节其转速,但实际测试时风扇的转速变化不够明显,故采用了两种方案:
用汇编语言编写的程序通过改变电压控制直流电机的转速。
用C语言编写的程序采用PWM波控制直流电机的转速。
方案1较容易实施,但由于对PWM波比较陌生,方案2需要搜索了一些PWM控制方式的相关资料,所得资料如下:
PWM控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进行调制来等效地获得所需要波形(含形状和幅值)。在采样控制理论中有一条重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同,冲量即窄脉冲的面积。效果基本相同是指环节的输出响应波形基本相同。上述原理称为面积等效原理。
简单点说,就是通过调节时间周期很小的方波的占空比就可以明显地调节直流电机的转速。
图1、TD-PIT直流电机及驱动电路单元
驱动电机的电压由DA0832提供,DA0832的输出OUT接驱动电路的A端,驱动电路的12V和A`端分别接直流电机的1端和2端。
图2、DA0832单元
解决了电机的控制问题后,课题要求有6个LED灯显示相应的风速和类型以及3个按键做相应的控制,于是本人想到了用一片8255做LED灯的驱动电路和小键盘的读取接口。
8255内部包含3个8位的输入输出端口A、B和C,端口A和端口B都可以用作一个8位的输入口或8位的输出口,端口C既可以作为一个8位的输入口或8位的输出口,又可以作为两个4位的输入输出口(C口上半部分和C口下半部分)使用,还可以配合A口和B口工作,分别用来产生A口和B口的输出控制信号和输入A口和B口的端口状态信号。
本次设计,我对8255的使用是这样的:8255工作于方式0,A口低四位接键盘及数码管显示单元的Y4-Y1;C口接LED及开关单元的LED灯D0-D7;B口和A口高四位悬空。
选择C口做LED灯的接口是因为C口能方便地通过编程置位和复位,从而方便的点亮和熄灭相应的LED信号。
图3、8255单元
键盘及数码管显示单元的X1接地,Y1对应“风速”,Y2对应“类型”,Y3对应“停止”,X2、X3、X4悬空。本次实验未用到数码管,故A、B、C、D、E、F、G、DP悬空。
图4、小键盘及数码管显示单元
图5、硬件电路总接线图
如上图示:该图涉及到系统总线、可编程外围接口芯片8255、DA0832、键盘及数码管显示单元、直流电机及其驱动电路。8255和DA0832的D
文档评论(0)