直流电机驱动指导讲义.docx

上传人:b****6 文档编号:8064826 上传时间:2023-01-28 格式:DOCX 页数:23 大小:1.48MB
下载 相关 举报
直流电机驱动指导讲义.docx_第1页
第1页 / 共23页
直流电机驱动指导讲义.docx_第2页
第2页 / 共23页
直流电机驱动指导讲义.docx_第3页
第3页 / 共23页
直流电机驱动指导讲义.docx_第4页
第4页 / 共23页
直流电机驱动指导讲义.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

直流电机驱动指导讲义.docx

《直流电机驱动指导讲义.docx》由会员分享,可在线阅读,更多相关《直流电机驱动指导讲义.docx(23页珍藏版)》请在冰豆网上搜索。

直流电机驱动指导讲义.docx

直流电机驱动指导讲义

硬件课程设计讲义

一、设计题目:

基于MSP430单片机的小直流电机控制器设计2

二、MSP430F413单片机硬件结构及其程序设计方法2

1.MSP430F413单片机硬件结构2

⑴MSP430F413单片机硬件结构框图:

2

⑵MSP430F413单片机引脚图:

3

⑶16位CPU3

⑷片内存储器4

⑸MSP430F413单片机片内外设控制字4

2.MSP430F413最小系统的设计方法6

3.MSP430F413单片机寻址方式和指令7

⑴寻址方式7

⑵指令概述7

4.LCD驱动电路和显示程序8

⑴MSP430F413液晶显示驱动电路9

⑵液晶屏外形图及段位表9

⑶液晶屏七段译码表10

⑷液晶显示程序10

5.MSP430F413单片机程序设计方法11

三、直流小电机转向控制和转速控制方法12

1.直流小电机转向控制原理和电路设计12

2.小直流电机转向控制和转速控制原理和电路设计13

3.基于MSP430单片机的小直流电机控制器电路设计13

四、软件程序设计和调试14

1.建立MSP430汇编源文件和项目文件14

2.建立编译和连接路径17

3.MSP430开发工具连接方法19

4.编译和调试程序20

硬件课程设计讲义

自动化系电工电子教研室刘刚2005-11-6

一、设计题目:

基于MSP430单片机的小直流电机控制器设计

基于MSP430单片机的小直流电机控制器硬件结构框图:

二、MSP430F413单片机硬件结构及其程序设计方法

1.MSP430F413单片机硬件结构

⑴MSP430F413单片机硬件结构框图:

⑵MSP430F413单片机引脚图:

⑶16位CPU

MSP430CPU具有一个16位的精简指令计算机结构,对应用是高度透明的。

所有的操作,除了程序流程指令,都是通过源操作数的7种寻址模式和目标操作数的4种寻址模式的组合对寄存器操作进行的。

CPU集成了16个寄存器,减小了指令执行时间。

寄存器到寄存器操作的执行时间是一个CPU周期。

其中4个寄存器用作特殊用途:

一个是程序计数器,一个堆栈指针,一个状态寄存器和一个常数发生器。

其余寄存器都可以用作通用寄存器。

外围模块通过数据、地址和控制总线与CPU相连。

通过所有存储器操作指令对它们进行控制操作。

⑷片内存储器

⑸MSP430F413单片机片内外设控制字

例1:

看门狗定时器

看门狗定时器(WDT)的主要功能是在软件发生问题之后执行一次重启动。

使用时对WDT设置间隔定时时间,程序正常工作时,在间隔定时未到之前,清零WDT重新计时,无时间到的复位信号;程序发生问题时,无法清零WDT,间隔时间到后WDT产生复位信号。

MSP430看门狗定时器(WDT)是带有中断和复位功能的16位增计数器。

工作方式由WDTCTL寄存器内容决定。

MSP430看门狗定时器(WDT)模块用作定时器时(产生中断信号而不产生复位信号),WDT的控制寄存标号、地址和控制字如下所示:

/*************************************************************

#define WDTCTL_             0x0120 

sfrw    WDTCTL            = WDTCTL_;

/* ACLK=32.768KHz 定时器模式*/

#define WDT_ADLY_1000       WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL /* TACLK*2POWER15=1000ms  " */

#define WDT_ADLY_250        WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0          /* TACLK*2POWER13=250ms   " */

#define WDT_ADLY_16         WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1          /* TACLK*2POWER9=16ms    " */

#define WDT_ADLY_1_9        WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0   /* TACLK*2POWER6=1.9ms   " */

/*************************************************************

define定义一个在整个文件中都有效的值。

sfrw寄存器类型的字。

例2:

输入输出端口

①P1,P2输入输出端口

分别有7个寄存器控制端口操作(字节操作)。

控制寄存标号、地址和控制字如下所示:

/*************************************************************

P1IN(0x0020)/*Port1Input*/输入寄存器,只读。

P1OUT(0x0021)/*Port1Output*/输出缓存寄存器。

P1DIR(0x0022)/*Port1Direction*/方向寄存器。

0:

I/O引脚为输入;1:

I/O引脚为输出。

P1IFG(0x0023)/*Port1InterruptFlag*/中断标志寄存器。

0:

没有中断申请;1:

有中断申请。

P1IES(0x0024)/*Port1InterruptEdgeSelect*/中断触发沿选择寄存器。

0:

上升沿相应中断标志置位;1:

下降沿相应中断标志置位。

P1IE(0x0025)/*Port1InterruptEnable*/中断使能寄存器。

0:

禁止该位中断;1:

允许该位中断。

P1SEL(0x0026)/*Port1Selection*/端口选择寄存器。

0:

引脚为I/O功能:

1:

引脚为外围模块功能。

P2各寄存器定义与P1完全相同。

P2IN(0x0028)/*Port2Input*/

P2OUT(0x0029)/*Port2Output*/

P2DIR(0x002A)/*Port2Direction*/

P2IFG(0x002B)/*Port2InterruptFlag*/

P2IES(0x002C)/*Port2InterruptEdgeSelect*/

P2IE(0x002D)/*Port2InterruptEnable*/

P2SEL(0x002E)/*Port2Selection*/

/*************************************************************

②P3,P4,P5和P6分别由4个寄存器控制端口操作,不具备中断功能。

控制寄存标号、地址和控制字如下所示:

/*************************************************************

P3IN(0x0018)/*Port3Input*/输入寄存器,只读。

P3OUT(0x0019)/*Port3Output*/输出缓存寄存器。

/

P3DIR(0x001A)/*Port3Direction*/方向寄存器。

0:

I/O引脚为输入;1:

I/O引脚为输出。

P3SEL(0x001B)/*Port3Selection*/端口选择寄存器。

0:

引脚为I/O功能:

1:

引脚为外围模块功能。

P4,P5,和P6各寄存器定义与P3完全相同

P4IN(0x001C)/*Port4Input*/

P4OUT(0x001D)/*Port4Output*/

P4DIR(0x001E)/*Port4Direction*/

P4SEL(0x001F)/*Port4Selection*/

P5IN(0x0030)/*Port5Input*/

P5OUT(0x0031)/*Port5Output*/

P5DIR(0x0032)/*Port5Direction*/

P5SEL(0x0033)/*Port5Selection*/

P6IN(0x0034)/*Port6Input*/

P6OUT(0x0035)/*Port6Output*/

P6DIR(0x0036)/*Port6Direction*/

P6SEL_(0x0037)/*Port6Selection*/

/*************************************************************

例3:

基本定时器

具有定时功能,能向其他外围模块(如LCD控制)提供低频信号,控制寄存标号、地址和控制字如下所示:

/*************************************************************

BTCTL(0x0040)/*BasicTimerControl*/

BT_fLCD_DIV32(0x00)/*fLCD=fACLK:

32(default)*/

BT_fLCD_DIV64(BTFRFQ0)/*fLCD=fACLK:

64*/

BT_fLCD_DIV128(BTFRFQ1)/*fLCD=fACLK:

128*/

BT_fLCD_DIV256(BTFRFQ1+BTFRFQ0)/*fLCD=fACLK:

256*/

/*************************************************************

2.MSP430F413最小系统的设计方法

MSP430F413最小系统电路图:

3.MSP430F413单片机寻址方式和指令

⑴寻址方式

MSP430指令的寻址方式包括:

寄存器寻址、索引(变址)寻址、符号寻址、绝对寻址、间接寻址、间接自动增量寻址和立即寻址。

这七种方式均可用于源操作数;而可用于目的操作数的寻址方式包括:

寄存器寻址、索引(变址)寻址、符号寻址和绝对寻址方式。

指令格式:

指令助记符源操作数,目标操作数;注解。

寄存器寻址:

MOVRs,Rd;寄存器内容是操作数。

索引(变址)寻址:

MOVx(Rn),y(Rm);(Rn+x)、y(Rm)指向操作数。

符号寻址:

MOVEDE,TON1;EDE,TON1指向操作数。

绝对寻址:

MOV&MEM,&TCDAT;MEM,TCDAT是操作数的绝对地址。

间接寻址:

MOV@Rn,y(Rm);Rn用作指向操作数的指针。

间接自动增量:

MOV@Rn+,Rm;Rn用作指向操作数的指针,其后Rn被增量

立即数寻址:

MOV#x,TON1;立即数x本身就是操作数。

Rn、Rm中n、m=4~15,Rs源寄存器,Rd目标寄存器。

寻址方式操作举例:

寄存器寻址:

MOVR10,R11;R10→R11

索引寻址:

MOV2(R5),6(R6);M(2+R5)→M(6+R6)

符号寻址:

MOVEDE,TON1;M(EDE)→M(TON1)

绝对寻址:

MOV&MEM,&TCDAT;M(MEM)→M(TCDAT)

间接寻址:

MOV@R10,Tab(R6);M(R10)→M(Tab+R6)

间接自动增量:

MOV@R10+,R11;M(R10)→R11,R10+2→R10

立即数寻址:

MOV#0AAH,TON1;#0AAH→M(TON1)

⑵指令概述

MSP430系列单片机共有51条指令汇编语言指令,概述如下:

状态位

操作码操作VNZC

ADD[.W];ADD.Bsrc,dstsrc+dst->dst****

AND[.W];AND.Bsrc,dstsrc.and.dst->dst0***

BIC[.W];BIC.Bsrc,dst.not.src.and.dst->dst----

BIS[.W];BIS.Bsrc,dstsrc.or.dst->dst----

BIT[.W];BIT.Bsrc,dstsrc.and.dst0***

CALL#dstPC+2->堆栈,dst->PC----

CLR[.W];CLR.Bdst清除目的操作数----

CMP[.W];CMP.Bdstdst–src****

DADD[.W];DADD.Bsrc,dstsrc+dst+C->dst(十进制)****

DEC[.W];DEC.Bdstdst-1->dst****

DECD[.W];DECD.Bdstdst-2->dst****

DINT禁止中断----

EINT使能中断----

JEQ/JZ标号零位被置时转移到标号语句----

JMP标号无条件转移到标号语句----

MOV[.W];MOV.Bsrc,dstsrc->dst----

NOP空操作----

POP[.W];POP.Bdst项目从堆栈弹出,SP+2->SP----

PUSH[.W];PUSH.BsrcSP–2->SP,src->@SP----

RETI从中断返回

TOS->SRSP+2->SP

TOS->PCSP+2->SZP----

RET从子程序返回

TOS->SRSP+2->SP----

RLA[.W];RLA.Bdst算术左移****

RLC[.W];RLC.Bdst带进位位左移****

SUB[.W];SUB.Bsrc,dstdst+.not.src+1->dst****

SUBC[.W];SUBC.Bsrc,dstdst+.not.src+C->dst****

注状态位中*表示影响、-表示不影响、0表示清零、1表示置位。

4.LCD驱动电路和显示程序

液晶驱动的基本原理:

反射环境光线,等效电容极板,驱动需加交流信号,功耗低。

采用4MUX驱动(1/4占空比,1/4偏压)时,使用4个引脚作为液晶的公共端(COM0—COM3)。

段码显示器引脚数与段数的关系是:

段数=(引脚数-4)×4

例:

24引脚液晶屏,可显示80段,10位带小数点的数字。

偏压由外接分压电阻R9、R10、R11产生。

⑴MSP430F413液晶显示驱动电路

⑵液晶屏外形图及段位表

⑶液晶屏七段译码表

ORG0FFC0h

Tablcd_1:

DB0d7h,06h,0e3h,0a7h;0,1,2,3的七段码

DB036h,0b5h,0f5h,07h;4,5,6,7的七段码

DB0f7h,0b7h,077h,0f4h;8,9,A,B的七段码

DB0d1h,0e6h,0f1h,071h;C,D,E,F的七段码

⑷液晶显示程序

Display:

mov.b#LCDM10,r14;清显示屏

mov.b#0ah,r5

display_7:

mov.b#00h,0(r14)

dec.br14

dec.br5

jnzdisplay_7

display_0:

;显示时分秒

mov.b&0202h,r15;

call#display_b;

dec.br14;

mov.b&0201h,r15;

call#display_b;

dec.br14;

mov.b&0200h,r15;

call#display_b;

ret;

display_b:

mov.br15,r13;显示"XX"

rra.br13;

rra.br13;

rra.br13;

rra.br13;

and.b#0fh,r13;

mov.bTablcd_1(r13),0(r14);

dec.br14;

mov.br15,r13;

and.b#0fh,r13;

mov.bTablcd_1(r13),0(r14);

dec.br14;

ret;

display_a:

mov.br15,r13;显示"XX."

rra.br13;

rra.br13;

rra.br13;

rra.br13;

and.b#0fh,r13;

mov.bTablcd_1(r13),0(r14);

dec.br14;

mov.br15,r13;

and.b#0fh,r13;

mov.bTablcd_2(r13),0(r14);

dec.br14;

ret;

5.MSP430F413单片机程序设计方法

最小监控程序实例:

#include"msp430x41x.h"

;主循环程序:

ORG0E000h;

Reset:

mov.w#0300h,SP;初始化堆栈指针

call#Setup;初始化设置

Mainloop:

bis.w#LPM3,SR;CPU进入低功耗模式3

jmpMainloop;再次进入省电模式

;_______________________________________________________________________

;初始化程序:

Setup:

mov.b#SCFQ_4M,&SCFQCTL;设置主时钟为4MHz

mov.w#WDT_ADLY_1000,&WDTCTL;初始化看门狗定时1000ms

bis.b#WDTIE,&IE1;允许看门狗中断

eint;开中断

mov.b#BT_fLCD_DIV32,&BTCTL;设置基本定时器

mov.b#0fch,&P5SEL;设置LCD的Rx和COMx输

mov.b#LCDON+LCD4MUX+LCDP1,&LCDCTL;设置LCD的工作模式

ret;

;中断定时,显示程序:

ORG0FC00h;

WDTint:

bis.b#WDTIE,&IE1;允许看门狗中断

call#Display;调显示程序

eint;开中断

reti;中断返回

;中断向量表:

RSEGINTVEC

DWWDTint;0FFF4h看门狗中断服务地址

DWReset;0FFFEh启动后第一条指令地址

三、直流小电机转向控制和转速控制方法

1.直流小电机转向控制原理和电路设计

2.小直流电机转向控制和转速控制原理和电路设计

3.基于MSP430单片机的小直流电机控制器电路设计

四、软件程序设计和调试

1.建立MSP430汇编源文件和项目文件

2.建立编译和连接路径

进入路竞选择窗口后,首先选择软件所在盘,接下来逐级选择打开如下所述文件夹:

Programfile>IARSystems>ew23>430>icc430,将会出现下图所示文件选择窗口,编译汇编语言选择msp430F413A;使用C语言选择msp430F413C。

选择仿真工具:

Simlator由系统机仿真;FlashEmulationTool下载到芯片仿真。

3.MSP430开发工具连接方法

采用隔离型仿真器将PC机与目标系统连接,如下图所示。

使用IARSystems软件将目标程序下载到目标系统中,或在PC机上仿真运行,或拔下仿真器让系统实时运行。

原理说明:

   隔离型仿真器内部是通过两片ISO150AU隔离连接器,来完成PC主机与MSP430目标系统板之间的供电系统的电隔离,以避免PC主机与MSP430目标系统板由于供电电平不一致而损坏仿真器,从而对主机和仿真器起到了安全保护作用。

该仿真器特别适用于用户开发的目标板采用220V交流供电系统供电、数据采集的产品开发、在线仿真、调试等工作。

仿真器(FET)的硬件安装:

   仿真器通过25-pin芯电缆线与计算机并口连接,PC并口COMS默认为ECP或EPP模式。

仿真器通过14-pin芯电缆线和目标板的JATG口连接。

注意:

目标系统必须外接电源,以完成对隔离型仿真器中ISO150AU的一端供电,否者该仿真器的一端因不会提供电源而无法正常进行仿真工作。

如出现仿真器(FET)连接不正常,请重新设置PC机的COMS,使PC机并口为EPP或ECP模式。

4.编译和调试程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1