微机课程设计报告

上传人:工**** 文档编号:564954568 上传时间:2023-07-13 格式:DOCX 页数:42 大小:184.84KB
返回 下载 相关 举报
微机课程设计报告_第1页
第1页 / 共42页
微机课程设计报告_第2页
第2页 / 共42页
微机课程设计报告_第3页
第3页 / 共42页
微机课程设计报告_第4页
第4页 / 共42页
微机课程设计报告_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《微机课程设计报告》由会员分享,可在线阅读,更多相关《微机课程设计报告(42页珍藏版)》请在金锄头文库上搜索。

1、目录1、设计的题目名称及要求 22、实验设备 23、设计思想、实施方案和硬件电路图24、典型程序模块及典型编程技巧分析 75、课程设计中遇到的问题及解决方法 96、实验程序的流程图 107、程序清单及程序注释 168、收获与体会 429、参考文献 42一、课程设计的题目名称及要求 设计题目:家用电扇控制实验与驱动电路设计 基本设计要求:1. 编程语言为汇编语言和C语言;2. 控制硬件电路基于80x86微机接口电路;3. 驱动电路(主回路)仅需设计;4. 控制器功能包括:按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。指标如下:1) 电扇处于停转状

2、态时,所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始工作状态;电扇在任何状态,只要按停止键,则进入停转状态。2) 处于工作状态时,有:初始状态为:风速-“弱”,类型-“正常”按“风速”键,其状态由“弱” T “中” T “强” T “弱”往复循环改 变,每按一下按键改变一次;按“类型”键,其状态由“正常” T “睡眠” T “自然” T “正常”往复 循环改变;3) 风速的弱、中、强对应于电扇的转动由慢到快。4) 类型的不同选择,分别为:正常电扇连续运转;自然 电扇模拟自然风,即转4S,停8S;睡眠电扇慢转,产生轻柔的微风,运转8s,停转8s;5) 按照风速与类型的设置输出相应的控制

3、信号。附加功能扩展:根据控制性能要求,在“睡眠”和“自然”类型下仍可选择不同的“风速”,工作时总共有“3*3”种不同的模式,而且通过按键的分时复用可在 “停止”与“工作”两种状态间反复切换而不必重载程序。二、实验设备PC机一台(装有TDPIT软件)、唐都TD-Pit实验箱。三、设计的思想和实施方案由于本次课程设计控制的对象是直流电机,在上个学期学习的电机与电 力拖动时已知直流电机可通过改变给定电压的大小调节其转速,但实际测试时 风扇的转速变化不够明显,故采用了两种方案:1、用汇编语言编写的程序通过改变电压控制直流电机的转速。2、用C语言编写的程序采用PWM波控制直流电机的转速。方案1较容易实施

4、,但由于对PWM波比较陌生,方案2需要搜索了一些PWM 控制方式的相关资料,所得资料如下:PWM控制就是对脉冲的宽度进行调制的技术。即通过对一系列脉冲的宽度进 行调制来等效地获得所需要波形(含形状和幅值)。在采样控制理论中有一条重要 的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相 同,冲量即窄脉冲的面积。效果基本相同是指环节的输出响应波形基本相同。上 述原理称为面积等效原理。简单点说,就是通过调节时间周期很小的方波的占空比就可以明显地调节 直流电机的转速。+12VF11111wwv?1B2 + *-INAOUTAINBDUTBINCOUTCINDULN OUIDUSEE

5、2803 E:庇INFOUIFDIGOUTGINHOUIHGNDCOM171|?一一119图1、TD-PIT直流电机及驱动电路单元驱动电机的电压由DA0832提供,DA0832的输出OUT接驱动电路的A端, 驱动电路的12V和A端分别接直流电机的1端和2端。O88OQO oDO7D1斤D25175153环KBD3RT57nCSXO12345G7DDDDDDDDDA0832300-12V1 2 utut o oI I匚 n图2、DA0832单元解决了电机的控制问题后,课题要求有6个LED灯显示相应的风速和类 型以及3个按键做相应的控制,于是本人想到了用一片8255做LED灯的驱动电 路和小键盘的

6、读取接口。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 口能方便地通过编程置

7、位和复位,从而方便的点亮和熄灭相应的LED信号。csTRs1-PD1 o AA7 6 cc p p5 4 3 2 10 rcrccc p p p p p p14sIJ080080000008027Ddll_J17&543210DDDDDDDD76543 7-10 BBB B BB B B ppppppppTT一一_u2TVTS.n.Bp000880008一I A p3 2 10 AAA A p p p p7 6 5 4 A AAA411s.-Ap4A-p080图3、8255单元键盘及数码管显示单元的XI接地,Y1对应“风速” Y2对应“类型” Y3 对应“停止” X2、X3、X4悬空。本次实验

8、未用到数码管,故A、B、C、D、E、F、 G、DP悬空。4.7K4.7K4.7KJI八H-lCJ BJ EFGDPLos武IJ/X30 0 0 0 008图4、小键盘及数码管显示单元D XDIXD2XD3XD1XD5XU 9XDTXIO/VXICHIO0IO1XUA2DO mD2U3DdD5D6D7WF=RnDA OUT0832单 元DOFAOD1FA1D28PA2FA3D42FCOD55FC1DR5PC 2D7FC3/VR单FC4RDCS元PCSAUPC:6A1PC7cy条统总线 单元小键盘单元XYU Y1 Y2 Y3GJD开关廉_1 E D 显示单元_u 1 2 3 4 5 s 7 DDD

9、DDD DD图5、硬件电路总接线图如上图示:该图涉及到系统总线、可编程外围接口芯片8255、DA0832、键 盘及数码管显示单元、直流电机及其驱动电路。8255和DA0832的D0D7依次接 系统总线的XD0XD7, DA0832的A1和A0分别接系统总线的XA3和XA2; WR和 RD依次接系统总线上的XIOW和XI0R; 8255的CS接系统总线的IOYO,DAO832 的CS接系统总线的IOY1; DA0832的OUT接驱动电路的A端;8255的PC0-PC7 接低八位LED。四、典型程序模块及典型编程技巧分析1、C语言与汇编语言的共同典型模块(1)主函数(或主程序)MAIN当程序运行时

10、,PC机屏幕上显示提示菜单,完成硬件初始化电机不转 动且LED无显示,8255工作方式0、A 口输入、C 口输入,并等待小键盘的输入。若当小键盘有键按下且键值是“110(Y3Y2Y1) ”时电机启动,PC机屏幕 显示电机转动的风速强弱,LED显示风速和类型(低速、正常PC0和PC4为1); 若当小键盘有键按下且键值为“011”时,退出程序。编程小技巧:将读入的A 口数据与07H “与”运算可屏蔽A 口其他位对输入信息 的影响。(2)不带键盘检测的延时模块 DELLY用与键盘检测时防抖。(3)小键盘检测模块 KEY 当小键盘无输入时返回调用该模块的下一条指令,如果有小键盘输入则延时一定的时间(调

11、用不带键盘检测的延时模块),若输入为“110”则改变风速,若 输入为“101”则改变类型,若输入为“011”则停止风扇转动并熄灭LED指示灯。(4)带键盘检测的延时模块 DELLY2 由于希望“睡眠”和“自然”类型下风扇能实时响应小键盘的控制,所以 在这两种类型中的延迟用的是带键盘检测的延时模块。2、C 语言的特别模块风扇控制集成模块 WIND_MODE本模块将风扇的转速和类型控制集于一体,先检测风速强弱的标志 FLAG, 再检测类型标志FLAG2,从而对直流电机和LED灯进行相应的控制。在电机的运 行过程中实时调用小键盘检测模块以及时响应输入。3、汇编语言的特别模块汇编语言中的的风速和类型控

12、制并不作为独立过程,而是用标号标示在主程 序中,通过条件判断和跳转指令给DA0832相应的电压数字量和延时,用做标志 的是LIGHT1和LIGHT2,即通过灯控信号识别直流电机的控制信号。编程小技巧:由于灯控信号是通过8255的C 口输出的,而C 口可通过控制字进 行置位(1)和复位(0),如果要熄灭一盏已点亮的 LED 灯,可将该 LED 对应的 灯控信号(比如LIGHT1)与OEH “与”运算再输出到8255的控制字。五、课程设计中遇到的问题及解决方法1、直流电机的控制方式:用哪种方式能改变直流电机的转速,使其有明显的转 速变化以区分“弱”、“中”、“强”三种风速是最开始遇到的问题。通过查

13、找资料, 并在实验室调节 DAO832 的输出(占空比不变时改变电压数字量、电压不变时改 变占空比)观察风扇的转速变化,最终确定调节 PWM 波的占空比为有效的控制方 式。2、小键盘检测:由于采用的是软件延时,小键盘的检测究竟需要多久的延时才 使程序在检测到一次按键时,刚好使风速或者类型改变一次(而不是两次或以上) 是个很棘手的问题。为此曾多次调节键盘检测延时的参数,也多次由于延时不当 使程序执行时造成死机。最后终于调出了合适的延时参数。3、自然和睡眠类型下风扇需要转一会停一会,如何在风扇停转的这段延时中使 风扇能实时响应小键盘的输入,这是又一个大问题。在多次调整程序的结构觉得 毫无作用的时候,本人想到了增加一个带键盘检测的延时模块,从而轻松解决了 该问题。4、当按下小键盘的按键时 X 端和 Y 端的状态是低电平还是高电平直接关系到输 入检测问题。通过查询TD-PIT实验平台用户手册和使用数字万用表了解了 X端 和 Y 端在按键按下时的电平状态,据此可获得所要检测的数字输入信号。5、程序编译连接没通过,尤其是 C 语言,提示的错误不存在,很可能是因为函 数的括号没成对出现

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号