电气单片机课程设计报告.doc
《电气单片机课程设计报告.doc》由会员分享,可在线阅读,更多相关《电气单片机课程设计报告.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、扬州大学水利与能源动力工程学院课程设计报告题 目: 单片机控制直流电动机 课 程: 单片机原理及应用课程设计 专 业: 电气工程及其自动化 第 一 部 分任务书单片机原理及应用课程设计任务书一、课题名称详见单片机课程设计题目(一):主要是软件仿真,利用Proteus软件进行仿真设计并调试;单片机课程设计题目(二):主要是硬件设计,利用单片机周立功实验箱进行设计并调试。二、课程设计目的课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。单片机原理及应用是一
2、门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。单片机原理及应用课程设计的目的是让学生在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能将课堂上学到的理论知识与实际应用结合起来,而且能进一步加深对电子电路、电子元器件等知识的认识与理解,同时在软件编程、排错调试、相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。通过单片机硬件和软件设计、调试、整理资料等环节的培训,使学生初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科
3、学实践的程序和方法。三、课程设计内容设计以89C51单片机和外围元器件构成的单片机应用系统,并完成相应的软硬件调试。1. 系统方案设计:综合运用单片机课程中所学到的理论知识,学生根据所选课题的任务、要求和条件进行总体方案的设计。2. 硬件电路设计:对方案中以单片机为核心的电路进行设计计算,包括元器件的选择和电路参数的计算,并画出总体电路图。3. 软件设计:根据已设计出的软件系统框图,用汇编语言或C51编制出各功能模块的子程序和整机软件系统的主程序。4. 调试:在单片机EDA仿真软件环境Proteus下进行仿真设计并调试;或在单片机周立功实验箱上进行相关设计并调试。四、课程设计要求详见单片机课程
4、设计题目(一) 单片机课程设计题目(二)五、进度安排序号内容天数1布置任务,熟悉课题要求0.52总体方案确定,硬件电路设计1.53软件编程1.54Proteus仿真,或在周立功实验箱上调试25总结,撰写课程设计报告1.5七、课程设计报告内容:总结设计过程,写出设计报告,设计报告具体内容要求如下:1课程设计的目和设计的内容。2课程设计的要求。3控制系统总框图及系统工作原理。4控制系统的硬件电路连接图,电路的原理。 5软件设计流程图及其说明。6电路设计,软件编程、调试中遇到的问题及分析解决方法。7实验结果及其分析。8体会。第 二 部 分课程设计报告目 录 1 课题简介71.1 课题目的71.2 课
5、题任务与要求:72 方案设计72.1 控制系统总体介绍72.2 工作原理83 硬件电路设计93.1 AT89C51单片机介绍93.2 DAC0830芯片介绍103.3 ADC0808芯片介绍103.4 MAX7219芯片介绍113.5 LED数码管143.6 直流电机环节144 软件编程设计164.1 算法总流程图164.2 控制电机转速流程图174.3 主程序174.4 中断程序184.5 A/D转换程序194.6 D/A转换程序194.7 电压数字信号值增减子程序205 实验与结果分析205.1 Proteus仿真调试205.2 电机转速的测定215.3 电机电压数字信号值的测定216 小
6、结与体会22参 考 文 献24附录(源程序)251 课题简介 1.1 课题目的:熟练掌握直流电动机的速度控制,会利用单片机控制直流电动机的转速,能够熟练运用A/D、D/A转换器,熟练掌握MAX7219显示驱动芯片的工作原理,灵活掌握单片机各种程序的调试方法。1.2 课题任务与要求:采用单片机设计一个控制直流电机并测量转速的装置。单片机扩展有A/D转换芯片ADC0809和D/A转换芯片DAC0832。 (1)通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电机的转速。 (2)手动控制。在键盘上设置两个按键直流电动机加速键和直流电机减速键。在手动状态下,每按一
7、次键,电机的转速按照约定的速率改变。 (3)键盘列扫描(46)。2 方案设计2.1 控制系统总体介绍为了能够演示DAC0832的使用,未使用PWM驱动方式。而是利用直流电机的速度与施加电压成正比的原理,通过滑动变阻器向ADC0809输入控制电压信号,经A/D后,输入到AT89C51中,AT89C51将此信号转发给DAC0832,通过功放电路放大后,驱动直流电机。需要注意的是,本题目使用的Proteus版本,未提供ADC0809的仿真模型,这里以引脚、功能与之相同的ADC0808代替。同时,DAC0832也可以用引脚、功能相同的DAC0830代替。ADC0809与DAC0832在教材中已有详细介
8、绍,在此不再叙述。按照其时序图,如下图2.1和图2.2操作即可。图2.1 ADC0808时序图图2.2 DAC0830时序图2.2 工作原理 本题目难点是对直流电机的控制。与步进电机类似,直流电机也可精确地控制旋转速度或转矩。 直流电机是通过两个磁场的互作用产生旋转。其结构如下图2.3所示,固定部分(定子)上,装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁心。定子与转子之间有一气隙。在电枢铁心上放置了由A和X 两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。图2.3 有刷直流电机结构示意图换向片之间互相绝缘,由换向片构成的整体称为换
9、向器。换向器固定在转轴上,换向片与转轴之间亦互相绝缘。在换向片上放置着一对固定不动的电刷B1和B2,当电枢旋转时,电枢线圈通过换向片和电刷与外电路接通。定子通过永磁体或受激励电磁铁产生一个固定磁场,由于转子由一系列电磁体构成,当电流通过其中一个绕组时会产生一个磁场。对有刷直流电机而言,转子上的换向器和定子的电刷在电机旋转时为每个绕组供给电能。通电转子绕组与定子磁体有相反极性,因而相互吸引,使转子转动至与定子磁场对准的位置。当转子到达对准位置时,电刷通过换向器为下一组绕组供电,从而使转子维持旋转运动,如图2.4所示。图2.4 电刷供电原理直流电机的速度与施加的电压成正比,输出转矩则与电流成正比。
10、由于必须在工作期间改变直流电机的速度,直流电机的控制是一个较困难的问题。直流电机高效运行的最常见方法是施加一个 PWM(脉宽调制)方波,其占空比对应于所需速度。电机起到一个低通滤波器作用,将PWM信号转换为有效直流电平。特别是对于微处理器驱动的直流电机,由于PWM信号相对容易产生,这种驱动方式使用的更为广泛。 3 硬件电路设计3.1 AT89C51单片机介绍图3.1 AT89C51接线图AT89C51是一种带4K字节FLASH存储器(PEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。由
11、上图可知,P0口作为A/D转换器数字电压量输入口,其结果存放于单片机内部RAM的3AH单元中,P2口与D/A转换器相连。P1口中P1.0、P1.1、P1.2作为与MAX7219的联络口,其中DIN(串行数据输入端)与P1.0相连,LOAD(装载数据输入端)与P1.1端口相连,CLK(串行时钟输入)与P1.2相连。P1.3与D/A片选CS(低电平有效)相连,P1.4与D/A写信号WR(低电平有效)相连,P1.5与A/D口启动信号START(高电平有效)相连,P1.6与A/D转换结束标志EOC(低电平有效)相连,P1.7与A/D输出有效OE端口相连。P3口中,P3.0与P3.1作为外部脉冲开关接口
12、,P3.5作为定时器T1中断接口。3.2 DAC0830芯片介绍图3.2 DAC0832接线图DAC0830直接与单片机相连,DI0-DI7端口与单片机相应引脚相连,GND、RFB、WR2、XFER、IOUT2接地。选地址为FFF8H,输出模拟电压,具体程序见本文软件编程设计以及附录部分。3.3 ADC0808芯片介绍图3.3 ADC0808接线图 ADC0808直接与单片机相连,OUT1-OUT8与单片机相应引脚相连,IN0接滑动变阻器接线端,选中0通道作为A/D转换通道,输入电压模拟信号时钟频率为640K,具体程序见本文软件编程设计以及附录部分。3.4 MAX7219芯片介绍图3.4 MA
13、X7219接线图 MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个88的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。 MAX7221与SPI、 QSPI以及 MICROWIRE相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。 一个方便的四线串行接口可以联接所有通用的微处理器。 每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个
14、数据选择编码或者不编码。 整个设备包含一个150A的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。MAX7219的外部引脚分配如图3.5所示,内部引脚分配如图3.6所示。图3.5 MAX7219的外部引脚分配图3.6 MAX7219的内部引脚分配各引脚的功能为:DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0DIG7:8位LED位选线,从共阴极LED中吸入电流SEG ASEG G DP 7段驱动和小数点驱动ISET: 通过一个10k电阻和Vcc相连,设置段电流1.
15、MAX7219有下列几组寄存器:MAX7219内部的寄存器主要有:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。编程时只有正确操作这些寄存器,MAX7219才可工作。(1)译码控制寄存器(X9H) 如图3.7所示,MAX7219有两种译码方式:B译码方式和不译码方式。当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就可以显示。实际应用中可以按位设置选择B译码或是不译码方式。图3.7 MAX7219的译码控制寄存器(2)扫描界限寄存器(XBH) 如图3.8所示,此寄存器用于设置显示的LED的个数(18),比如当设置为0x
16、X4时,LED 05显示。图3.8 MAX7219的扫描界限控制寄存器(3)亮度控制寄存器(XAH)共有16级可选择,用于设置LED的显示亮度,从0xX00xXF(4)关断模式寄存器(XCH)共有两种模式选择,一是关断状态,(最低位 D0=0)一是正常工作状态(D0=1)。(5)显示测试寄存器(XFH)用于设置LED是测试状态还是正常工作状态,当测试状态时(最低位 D0=1)各位显示全亮,正常工作状态(D0=0)。各寄存器具体操作见驱动程序详解。2.读写时序说明 MAX7219是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与MAX7129通信,首先要先了解M
17、AX7129的控制字。MAX7129的控制字格式如图3.9。图3.9 控制字(地址及命令字节)如图,工作时,MAX7219规定一次接收16位数据,在接收的16位数据中:D15D12可以与操作无关,可以任意写入,D11D8决定所选通的内部寄存器地址,D7D0为待显示数据或是初始化控制字。在CLK脉冲作用下,DIN的数据以串行方式依次移入内部16位寄存器,然后在一个LOAD上升沿作用下,锁存到内部的寄存器中。注意在接收时,先接收最高位D16,最后是D0,因此,在程序发送时必须先送高位数据,在循环移位。工作时序图见图3.10。图3.10 数据读写时序3.5LED数码管图3.11 LED数码管显示结果
18、 LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成的“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。在本次课程设计中,设定前三位显示当前电压数字信号值D(如上图3.12所示),后两位显示电机转速R/MIN(如上图3.11所示)。3.6直流电机环节图3.12 直流电机环节 本次课程设计中,使用集成运放放大环节放大来自DAC0830输出电压控制模拟量。为了便于测速,直流电机选择可编码直流电机,上面三个引脚输出频率相
19、同但相位不同的脉冲(参数设定如下图3.13所示),直流电机外接电压值为12V。如果假设定时器计数时间为ts,每转有m个脉冲,则在定时时间ts内共接收到N个脉冲,则电机转速可用下式表达。对于本课题,设置每转有60脉冲,定时时间为1s。故由上述表达式可知,在计数器收到的脉冲数即为转速。具体程序见本文软件编程设计以及附录部分。图3.13 电机参数值设定4软件编程设计4.1 算法总流程图 用51单片的P3.0与P3.1口接加速键与减速键,通过不断的查键来检测按键状态,从而执行相应的子程序。图4.1 算法总流程图 检验按键状态,如果是加速键按下,则启动电压数字信号值增5D的子程序(UP),并通过MAX7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电气 单片机 课程设计 报告
限制150内