《单片机原理与应用》课程设计报告直流电机PWM波调速的设计与制作要求:一、功能要求1、实现利用PWM波控制直流电机的转速;2、用数码管显示PWM波的输出占空比;3、用数码管显示直流电机的转速标志;4、实现对直流电机的速度调制;二、设计过程要求1、查阅资料确定设计方案;2、对设计方案进行仿真验证;3、选择合适的元器件,搭建电路实验验证效果;4、画出PCB图;5、书写设计报告;6、答辩。三、设计报告要求设计报告主要包括:题目、内容和要求、总体方案和设计思路、仿真电路图、软件设计、仿真调试效果、实验测试效果图、PCB图、心得体会。姓名:谭德兵学号:1886100112专业:电子科学与技术班级:10级01班成绩:评阅人:安徽科技学院理学院物电系一、实验设计目的1、掌握脉宽调制的方法;2、用程序实现脉宽调制,并对直流电机进行调速控制;3、学习用LM339内部四个电压比较器产生锯齿波、直流电压、PWM脉宽;4、掌握脉宽调制PWM控制模式;5、掌握电子系统的一般设计方法;6、培养综合应用所学知识来指导实践的能力;7、掌握常用元器件的识别和测试,熟悉常用仪表,了解电路调试的基本方法进一步掌握制版、电路调试等技能。二、实验设计设备单片机开发板,单片机最小系统,驱动器,直流电机,连接导线等三、实验设计原理1)设计总体方案总体设计模块1、STC89C52本设计运用单片机芯片STC89C52,通过控制单片机输出引脚P1.7输出的高低电平的延时时间长短来达到控制电机的目的,运用单片机定时器/计数器1对光电编码盘产生的冲进行计数,将所得到的数值送到P0口显示。8051单片机引脚描述·电源引脚Vcc和Vss:Vcc:电源端,接+5V,Vss:接地端。·时钟电路引脚XTAL1和XTAL2:·XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。·XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。·地址锁存允许ALE:系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。·外部程序存储器读选通信号PSEN:PSEN是外部程序存储器的读选通信号,低电平有效。·程序存储器地址允许输入端EA/VPP:当EA为高电平时,CPU执行片内程序存储器指令,但当·PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当EA为低电平时,CPU只执行片外程序存储器指令。·复位信号RST:该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。·输入/输出端口引脚P0,P1,P2和P3:~P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,它为外部低8位地址线和8位数据线复用端口,驱动能力为8个LSTTL负载。~P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。~P2口(P2.0~P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,作为高8位地址线。~P3口(P3.0~P3.7):为内部带上拉电阻的8位准双向~I/O口,P3口除了作为一般的I/O口使用之外,每个引脚都具有第二功能。2、驱动电路(1)、本实验用的是达林顿反相驱动器ULN2803;ULN2803:达林顿反相驱动器。(元件图)ULN2803:达林顿反相驱动器八路NPN达林顿连接晶体管阵系列特别适用于低辑电平数字电路(诸如TTL,CMOS或PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中。所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容,而ULN2804最适于6至15伏高电平CMOS或PMOS。主要特点:达林顿管驱动器包含8个NPN达林顿管高耐压,大电流器件编号:ULN2803封装类型:AP=DIP18,AFW=SOL18无铅/RoHS认证输出击穿电压:50(V)输出电流:500(mA)输入电阻:2.7k(Ω)推荐输入电压:5(V)温度范围:-40℃~+85℃包装规格:AFW:Tape&Reel|不要超过每个驱动器的电流的限制[1]3锁存器连接及数码管显示电路(1)、74HC573锁存器本实验利用此锁存器控制数码管的位选和段选;74HC573:八进制3态非反转透明锁存器74HC57374HC573引脚图特性:高性能硅门CMOS器件·SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。·当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。·×\u36755X出能直接接到CMOS,NMOS和TTL接口上×\u25805X作电压范围:2.0V~6.0V;;×\u20302X输入电流:1.0uA×CMOS器件的高噪声抵抗特性OE ̄120VCC1D—219—1Q2D—318—2Q3D—417—3Q4D—516—4Q5D—615—5Q6D—714—6Q7D—813—7Q8D—912—8QGND1011LE1脚三态允许控制端低电平有效1D~8D为数据输入端1Q~8Q为数据输出端LE为锁存控制端(2)、数码管显示本实验用的是7SEG-MPX6-CC型号数码管;数码管的第一位显示的是电机转速标识,第二、三位显示的是PWM波的占空比;4.按键电路加速按键、减速按键分别接单片机的P3.6和P3.7口以达到控制电机转速的目的;两按键接到单片机上都是低电平有效;2)实验设计思路(1)PWM波PWM(PulseWidthModulation)简称脉宽调制。即通过改变输出脉冲的占空比,实现对直流电机进行调速控制。PWM一种按规律改变的脉冲序列的脉冲宽度,调节输出量和波形的一种调制方式,常用的是矩形波PWM信号,在控制时需要调节PWM波的占空比。占空比是指高电平(VH)持续时间在一个周期内的百分比。控制电机转速时,占空比越大,速度越快,占空比达到100%,速度最快。通过控制单片机上输出不同占空比的PWM波信号来控制直流电机的转速。实验线路图:3)实验元器件AT89C52、74HC573锁存器、ULN2803达林顿反相驱动器、直流电机、电阻、电源(VCC)、数码管(7SEG-MPX6-CC)四、实验设计程序(一)、程序流程图(二)、程序源代码(C语言)#includereg52.h#defineucharunsignedcharsbitdula=P2^6;//数码管显示段选i/0口定义sbitwela=P2^7;//数码管显示位选I/O口定义sbitdianji=P1^7;//控制电机I/O口定义sbitjia_key=P3^6;//加速键sbitjian_key=P3^7;//减速键ucharnum=0,show_num=1,gao_num=1,di_num=3;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管显示数据表voiddelay(uchari)//延时程序{ucharj,k;for(j=i;j0;j--)for(k=500;k0;k--);}voiddisplay()//数码管显示函数{dula=0;P0=table[show_num];dula=1;dula=0;P0=0xfe;wela=1;wela=0;delay(5);P0=table[gao_num];dula=1;dula=0;P0=0xfd;wela=0;wela=1;delay(5);P0=table[di_num];dula=1;dula=0;P0=0xfb;wela=0;wela=1;delay(5);P0=table[0];dula=1;dula=0;P0=0x3f;wela=0;wela=1;delay(5);}voidkey()//按键检测处理函数{if(jia_key==0){delay(5);//消抖if(jia_key==0){num++;//加速键按下速度标志加1if(num==4)num=3;//已经达到最大3,则保持while(jia_key==0);//等待按键松开}}if(jian_key==0){delay(5);if(jian_key==0){if(num!=0)//减速键按下,速度标志减1num--;elsenum=0;//已经达到最小0,则保持while(jian_key==0);}}}voiddispose()//根据速度标志进行数据处理{switch(num){case0:show_num=1;//数码管第一位显示数据gao_num=1;//PWM信号中高电平持续时间标志1di_num=3;//PWM信号中低电平持续时间标志3,此时速度最慢break;case1:show_num=2;gao_num=2;di_num=2;break;case2:show_num=3;gao_num=3;di_num=1;break;case3:show_num=4;gao_num=4;di_num=0;//此时速度最快break;}}voidqudong()//控制电机程序{uchari;if(di_num!=0){for(i=0;idi_num;i++){dianji=0;//实现PWM信号低电平输出display();//利用显示函数其延时作用,也不影响数码管}}for(i=0;igao_num;i++){dianji=1;//实现PWM高电平输出display();}}voidmain(){while(1){dianji=0;key();dispose();qudong();}}五、实验操作(1)、利用实验时提供的单片机应用系统及直流电机驱动电路板,编制控制程序实现直流电机PWM调速控制。(2)、连接实验电路,观察PWM调控速度控制,实现加速、减速调速控制。实验硬件连接图(ISIS7Professional)在单片机上验证的实物连接图实验PCB图六、实验设计心得体会通过一学期的单片实验,学到了很多有用的东西。特别是单片机综合实验,让我对单片机和c语言程序设计都有了新的理解。首先,对MCS-52单片机的工作原理和具体的功能实现有了一个更高的认识。对于硬件电路,以前只是大概了解,实验后,对单片机的各个端口,寄存器都有了一个比较系统的认识。其次,学会了C语言的程序编写。再次,单片机的功能很强大,所能实现的功能并不仅限于这些实验。单片机还能实现更多更实用的功能,应该学会触类旁通,举一反三,在实验的基础上创新,开发自己的创造力。最后,学习单片机实验不仅是学会其电路的工作原理和程序编写,更要学会一种学习的方法。对待以后的课程,要有一种细心的态度,就如单片机实验,既要了解硬件电路,知道每一个元件的工作原理和作用,还要知道程序的流程和基本思路,使所掌握的知识系统化、体系化。