单片机直流电机控制系统的设计与仿真要点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pwm=1;
if(k==20)
{
pwm=0;
k=0;
}
}
void int0() interrupt 1
{
if(n<20)
n++;
}
void int1() interrupt 2
{
if(n>0)
n--;
}
void time0() interrupt 1
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
《单片机》期末考查(课程设计)
论文题目:单片机直流电机控制系统的设计与仿真
学别:电气信息
班级:
姓名:
学号:1238230239
指导老师:
职称:
日期:2015年1月16日
第一章绪论
一个单片机应用系统从提出任务到正式投入运行的过程,称为单片机的开发。开发过程所用的设备即开发工具。一般用计算机来调试单片机,所用开发工具为仿真器和调试器,两者一起构成硬件平台。软件平台是指装入通用PC的软件开发调试系统,它的作用是编辑、汇编、编译、仿真与调试,称为WINDOWS下的集成开发环境。集成开发环境是单片机厂家为用户提供的产品开发环境,包括单片机的硬件平台和软件平台。20多年来,世界上出现过几种用于51系列单片机的开发软件,下面以伟福6000和Proteus为例。
第二章总体方案设计
单片机直流电机控制系统的设计与仿真
内容:设计一个直流电机驱动电路,可控制直流电机的旋转方向,采用PWM电源方式进行控制,电机的速度由模拟量输入给定。
目的、要求:掌握小型直流电机的基本原理和控制过程
2.1总体设计
总体步骤如下:
1、在PROTEUS中设计硬件
2、在WAVE6000中编写程序,编译、连接形成HEX文件。
1.1WAVE6000软件说明
这个软件是南京伟福公司的单片机开发软件,一般就是用在C51单片机,具备双工作模式和真正的集成调试环境。此软件可不需要购买仿真器,使用软件模拟仿真器即可,使用很方便。也配有硬件仿真设备,但需购买。它集成了编辑器、编译器、调试器,源程序编辑、编译、下载、调试全部可以在一个环境中完成。且伟福的多种仿真器及所支持各种CPU仿真全部集成在一个环境下。由于此软件风格统一,从而可节省用户的时间和精力。
3、自动走线
只要单击想要连接的两个引脚,就能简单地实现走线。在特殊的位置需要布线时,使用者只需在中间的角落单击。自动走线也能在元件移动的时候操作,自动解决相应连线。节点能够自动布置和移除。既节约了时间,又避免了其他可能的错误。
4、层次设计
ISIS支持层次图设计,模块可画成标准元件,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次,模块可画成标准元件,在使用中可放置和删除端口的子电路模块。
1.2PROTEUS软件说明
PROTEUS是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。
1.2.1软件的特点ห้องสมุดไป่ตู้
①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
当电位器阻值发生变化,ADC0808 输出的值也会变化,进而调节单片机输出的PWM
占空比,控制电动机的转速。
2.3.1PROTEUS硬件属性分配
RV1采集到的电压信息通过ADC0808转换为8位数字信号,
输入到单片机AT89C51。PWM信号由单片机产生,输出到电动机驱动电路,进而
驱动电动机转动。通过改变RV1可以改变PWM信号的占空比,从而控制电动机的
输出高低不同的电平。单片机接收到此数据后,控制输出端P3.7 输出PWM 信号。
RV1 的改变可以控制电动机转速。
课程设计心得体会
说起课程实训,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。因为只有都明白了,做最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性,在实训过程中要注意增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。
5、总线支持
ISIS提供的不仅是一根总线,还能用总线引脚定义元件和子电路。因此,一个连线在处理器和存储器之间的32位的处理器总线可以用单一的线表示,节省绘图的时间和空间。
6、元件库
ISIS的元件库包含8000个元件,有标准符号、三极管、二极管、热离子管、TTL
CMOS、ECL、微处理器,以及存储器元件、PLD、模拟Ic和运算放大器。
1、出版质量的原理图
ISIS提供给用户图形外观,包括线宽、填充类型、字符等的全部控制,使用尸能够生成如杂志上看到的精美的原理图,画完图可以以图形文件输出,画图的外形由风格模板定义。
2、良好的用户界面
ISIS有一个无连线方式,用户只需单击元件的引脚或者先前布好的线,就能实现布线。此外,摆放、编辑、移动和删除操作能够直接用鼠标实现.无需去单击菜单或图标。
③目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
1.2.2 ISIS智能原理图输入系统
ISIS是Proteus系统的中心,具有控制原理图画图的超强的设计环境。ISIS有以下特性:
k++;
if(k<=n)
pwm=1;
else
pwm=0;//
if(k==20)
{
k=0;
}
}
程序2
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit PWM=P2^0; //PWM输出波形
sbit S1=P3^2;
3、在PROTEUS中把HEX文件加载到单片机芯片上。
4、运行仿真看结果。
2.2硬件设计
硬件电路可通过Proteus软件进行设计。
2.2.1硬件设计电路
打开元件库,添加元件,使用单片机:AT89C51,BUTTON,DAC0832,METALFILM220R,MOTOR,OP1P,OPAMP.
2.2.2PROTEUS软件使用过程
TH1=(65536-20)/256;
TL1=(65536-20)%256;
count++;
if(count<=ZKB)//定时中断次数小于占空比,则P2.0输出高电平
{
flag=1;
PWM=1;
}
else
{
PWM=0;
}
}
2.3.3
新建工程,新建一个text文件,输入代码.将文件编译成C文件,在输出选项勾上产生HEX文件,点击确认.点击运行,输出HEX文件.
1)选择元器件
2)放置元器件
3)连线
4)添加程序
5)运行仿真
2.2.3元器件清单如下
单片机:AT89C51
按键:BUTTON
采样频率为八位的D/A转换器件:DAC0832
低值电阻:METALFILM220R
电动机:MOTOR
理想运放模型:OP1P
运算放大器:OPAMP
2.3软件设计
用电位器调节AT89C51 的PWM 占空比,将A/D 转换后的数据作为延时常数。
转速。
2.3.2
void main()
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA=1;
EX0=1;
ET0=1;
IT0=1;
IT1=1;
TR0=1;
EX1=1;
pwm=0;
while(1);
}
void pwmss()
{
if((k==n)&&(k<20))
TL1=(65536-1000)%256;
IP=0x80;
EA=1;//开CPU总中断
EX0=1;
EX1=1;
ET1=1;
TR1=1;
if(ZKB>100)
ZKB=0;
if(ZKB<0)
ZKB=100;
while(1);
}
void int0() interrupt 0//按键每按一次,占空比加1
{
EX0=0;
7、可视封装工具
原理图和PCB库元件的匹配是由封装工具简化的。在原理图部分的引脚旁边将显示PCB的封装,并允许每个引脚名对应文本和图形的引脚号码。
8、复合元件
ISIS的元件库表达方式有很多种,无论是单个元件、同态复合元件、异态复合元件,还是连接器,都可以在原理图上以独立引脚来表达,不用所有线都连到一个独立元件上。
9、元件特性
设计中的每个元件都有一定数日的属性或特性。某些特性控制软件的特定功能(如PCB封装或仿真)用户也可以添加自己的特性。一旦库建立,就能提供默认值及特性定义。特性定义提供大量的特性描述,当修改元件时,将显示在编辑区域内。
10、报告
ISIS支持许多第三方网表格式,因此能为其他软件所使使用.设置元件清单后可以添加用户所需的元件属性,也可设置属性列以挑选一定数目的属性。ERC报告可列出可能的连线错误,如末连接的输入、矛盾的输出及未标注的网络标号。
sbit S2=P3^3;
uchar ZKB;//占空比
uchar flag;
void delay(uchar ms)
{uchar i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
ZKB=0;
TMOD=0X10;//定时器1设置为工作方式1
TH1=(65536-1000)/256;
参考文献
[1]《单片机原理及实用技术》高等教育出版社李刚民曹巧媛著
[2]《C语言程序设计》高等教育出版社何钦铭颜晖著
[3]《C程序设计》清华大学出版社谭浩强著
[4]《新该娘51单片机C语言教程》电子工业出版社郭天祥著
[5]《51单片机应用开发范例大全》人民邮电出版社宋戈黄鹤松等著
成绩:
delay(68);
EX0=1;
if(flag==1)
{
ZKB=ZKB+1;
}
}
void int1() interrupt 2//按键每按一次,占空比减1
{
EX1=0;
delay(68);
EX1=1;
if(flag==1)
{
ZKB--;
}
}
void time1() interrupt 3
{
uchar count;//中断次数
1.3MCS-51单片机系统简介
单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。
在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。
第三章综合测试
3.1仿真工具栏
仿真控制按钮
1*运行
2*单步运行
3*暂停
4*停止
3.2仿真结果
第四章总结鉴定
在Proteus 环境下输入源程序,把源代码
生成目标代码后,将其加载到电路中,设置单片机时钟频率为12Mhz,电路即可
开始工作。通过改变RV1 的阻值,可以看到ADC0808 的输出端OUT1-OUT8 相应位
在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管和LCD显示器。
if(k==20)
{
pwm=0;
k=0;
}
}
void int0() interrupt 1
{
if(n<20)
n++;
}
void int1() interrupt 2
{
if(n>0)
n--;
}
void time0() interrupt 1
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
《单片机》期末考查(课程设计)
论文题目:单片机直流电机控制系统的设计与仿真
学别:电气信息
班级:
姓名:
学号:1238230239
指导老师:
职称:
日期:2015年1月16日
第一章绪论
一个单片机应用系统从提出任务到正式投入运行的过程,称为单片机的开发。开发过程所用的设备即开发工具。一般用计算机来调试单片机,所用开发工具为仿真器和调试器,两者一起构成硬件平台。软件平台是指装入通用PC的软件开发调试系统,它的作用是编辑、汇编、编译、仿真与调试,称为WINDOWS下的集成开发环境。集成开发环境是单片机厂家为用户提供的产品开发环境,包括单片机的硬件平台和软件平台。20多年来,世界上出现过几种用于51系列单片机的开发软件,下面以伟福6000和Proteus为例。
第二章总体方案设计
单片机直流电机控制系统的设计与仿真
内容:设计一个直流电机驱动电路,可控制直流电机的旋转方向,采用PWM电源方式进行控制,电机的速度由模拟量输入给定。
目的、要求:掌握小型直流电机的基本原理和控制过程
2.1总体设计
总体步骤如下:
1、在PROTEUS中设计硬件
2、在WAVE6000中编写程序,编译、连接形成HEX文件。
1.1WAVE6000软件说明
这个软件是南京伟福公司的单片机开发软件,一般就是用在C51单片机,具备双工作模式和真正的集成调试环境。此软件可不需要购买仿真器,使用软件模拟仿真器即可,使用很方便。也配有硬件仿真设备,但需购买。它集成了编辑器、编译器、调试器,源程序编辑、编译、下载、调试全部可以在一个环境中完成。且伟福的多种仿真器及所支持各种CPU仿真全部集成在一个环境下。由于此软件风格统一,从而可节省用户的时间和精力。
3、自动走线
只要单击想要连接的两个引脚,就能简单地实现走线。在特殊的位置需要布线时,使用者只需在中间的角落单击。自动走线也能在元件移动的时候操作,自动解决相应连线。节点能够自动布置和移除。既节约了时间,又避免了其他可能的错误。
4、层次设计
ISIS支持层次图设计,模块可画成标准元件,特殊的元件能够定义为通过电路图表示的模块,能够任意设定层次,模块可画成标准元件,在使用中可放置和删除端口的子电路模块。
1.2PROTEUS软件说明
PROTEUS是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。
1.2.1软件的特点ห้องสมุดไป่ตู้
①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
当电位器阻值发生变化,ADC0808 输出的值也会变化,进而调节单片机输出的PWM
占空比,控制电动机的转速。
2.3.1PROTEUS硬件属性分配
RV1采集到的电压信息通过ADC0808转换为8位数字信号,
输入到单片机AT89C51。PWM信号由单片机产生,输出到电动机驱动电路,进而
驱动电动机转动。通过改变RV1可以改变PWM信号的占空比,从而控制电动机的
输出高低不同的电平。单片机接收到此数据后,控制输出端P3.7 输出PWM 信号。
RV1 的改变可以控制电动机转速。
课程设计心得体会
说起课程实训,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。因为只有都明白了,做最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性,在实训过程中要注意增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。
5、总线支持
ISIS提供的不仅是一根总线,还能用总线引脚定义元件和子电路。因此,一个连线在处理器和存储器之间的32位的处理器总线可以用单一的线表示,节省绘图的时间和空间。
6、元件库
ISIS的元件库包含8000个元件,有标准符号、三极管、二极管、热离子管、TTL
CMOS、ECL、微处理器,以及存储器元件、PLD、模拟Ic和运算放大器。
1、出版质量的原理图
ISIS提供给用户图形外观,包括线宽、填充类型、字符等的全部控制,使用尸能够生成如杂志上看到的精美的原理图,画完图可以以图形文件输出,画图的外形由风格模板定义。
2、良好的用户界面
ISIS有一个无连线方式,用户只需单击元件的引脚或者先前布好的线,就能实现布线。此外,摆放、编辑、移动和删除操作能够直接用鼠标实现.无需去单击菜单或图标。
③目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
1.2.2 ISIS智能原理图输入系统
ISIS是Proteus系统的中心,具有控制原理图画图的超强的设计环境。ISIS有以下特性:
k++;
if(k<=n)
pwm=1;
else
pwm=0;//
if(k==20)
{
k=0;
}
}
程序2
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit PWM=P2^0; //PWM输出波形
sbit S1=P3^2;
3、在PROTEUS中把HEX文件加载到单片机芯片上。
4、运行仿真看结果。
2.2硬件设计
硬件电路可通过Proteus软件进行设计。
2.2.1硬件设计电路
打开元件库,添加元件,使用单片机:AT89C51,BUTTON,DAC0832,METALFILM220R,MOTOR,OP1P,OPAMP.
2.2.2PROTEUS软件使用过程
TH1=(65536-20)/256;
TL1=(65536-20)%256;
count++;
if(count<=ZKB)//定时中断次数小于占空比,则P2.0输出高电平
{
flag=1;
PWM=1;
}
else
{
PWM=0;
}
}
2.3.3
新建工程,新建一个text文件,输入代码.将文件编译成C文件,在输出选项勾上产生HEX文件,点击确认.点击运行,输出HEX文件.
1)选择元器件
2)放置元器件
3)连线
4)添加程序
5)运行仿真
2.2.3元器件清单如下
单片机:AT89C51
按键:BUTTON
采样频率为八位的D/A转换器件:DAC0832
低值电阻:METALFILM220R
电动机:MOTOR
理想运放模型:OP1P
运算放大器:OPAMP
2.3软件设计
用电位器调节AT89C51 的PWM 占空比,将A/D 转换后的数据作为延时常数。
转速。
2.3.2
void main()
{
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA=1;
EX0=1;
ET0=1;
IT0=1;
IT1=1;
TR0=1;
EX1=1;
pwm=0;
while(1);
}
void pwmss()
{
if((k==n)&&(k<20))
TL1=(65536-1000)%256;
IP=0x80;
EA=1;//开CPU总中断
EX0=1;
EX1=1;
ET1=1;
TR1=1;
if(ZKB>100)
ZKB=0;
if(ZKB<0)
ZKB=100;
while(1);
}
void int0() interrupt 0//按键每按一次,占空比加1
{
EX0=0;
7、可视封装工具
原理图和PCB库元件的匹配是由封装工具简化的。在原理图部分的引脚旁边将显示PCB的封装,并允许每个引脚名对应文本和图形的引脚号码。
8、复合元件
ISIS的元件库表达方式有很多种,无论是单个元件、同态复合元件、异态复合元件,还是连接器,都可以在原理图上以独立引脚来表达,不用所有线都连到一个独立元件上。
9、元件特性
设计中的每个元件都有一定数日的属性或特性。某些特性控制软件的特定功能(如PCB封装或仿真)用户也可以添加自己的特性。一旦库建立,就能提供默认值及特性定义。特性定义提供大量的特性描述,当修改元件时,将显示在编辑区域内。
10、报告
ISIS支持许多第三方网表格式,因此能为其他软件所使使用.设置元件清单后可以添加用户所需的元件属性,也可设置属性列以挑选一定数目的属性。ERC报告可列出可能的连线错误,如末连接的输入、矛盾的输出及未标注的网络标号。
sbit S2=P3^3;
uchar ZKB;//占空比
uchar flag;
void delay(uchar ms)
{uchar i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
ZKB=0;
TMOD=0X10;//定时器1设置为工作方式1
TH1=(65536-1000)/256;
参考文献
[1]《单片机原理及实用技术》高等教育出版社李刚民曹巧媛著
[2]《C语言程序设计》高等教育出版社何钦铭颜晖著
[3]《C程序设计》清华大学出版社谭浩强著
[4]《新该娘51单片机C语言教程》电子工业出版社郭天祥著
[5]《51单片机应用开发范例大全》人民邮电出版社宋戈黄鹤松等著
成绩:
delay(68);
EX0=1;
if(flag==1)
{
ZKB=ZKB+1;
}
}
void int1() interrupt 2//按键每按一次,占空比减1
{
EX1=0;
delay(68);
EX1=1;
if(flag==1)
{
ZKB--;
}
}
void time1() interrupt 3
{
uchar count;//中断次数
1.3MCS-51单片机系统简介
单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。
在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。
第三章综合测试
3.1仿真工具栏
仿真控制按钮
1*运行
2*单步运行
3*暂停
4*停止
3.2仿真结果
第四章总结鉴定
在Proteus 环境下输入源程序,把源代码
生成目标代码后,将其加载到电路中,设置单片机时钟频率为12Mhz,电路即可
开始工作。通过改变RV1 的阻值,可以看到ADC0808 的输出端OUT1-OUT8 相应位
在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管和LCD显示器。