直流电机驱动指导讲义Word文档格式.docx

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

直流电机驱动指导讲义Word文档格式.docx

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

直流电机驱动指导讲义Word文档格式.docx

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 

定时器模式*/

WDT_ADLY_1000 

WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL 

TACLK*2POWER15=1000ms 

"

*/

WDT_ADLY_250 

WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0 

TACLK*2POWER13=250ms 

WDT_ADLY_16 

WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1 

TACLK*2POWER9=16ms 

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*/中断标志寄存器。

没有中断申请;

1:

有中断申请。

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

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

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

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

禁止该位中断;

允许该位中断。

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

引脚为I/O功能:

引脚为外围模块功能。

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*/方向寄存器。

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

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)

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->

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->

DECD[.W];

DECD.Bdstdst-2->

DINT禁止中断----

EINT使能中断----

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

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

MOV[.W];

MOV.Bsrc,dstsrc->

NOP空操作----

POP[.W];

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

SP----

PUSH[.W];

PUSH.BsrcSP–2->

SP,src->

@SP----

RETI从中断返回

TOS->

SRSP+2->

SP

PCSP+2->

SZP----

RET从子程序返回

RLA[.W];

RLA.Bdst算术左移****

RLC[.W];

RLC.Bdst带进位位左移****

SUB[.W];

SUB.Bsrc,dstdst+.not.src+1->

SUBC[.W];

SUBC.Bsrc,dstdst+.not.src+C->

注状态位中*表示影响、-表示不影响、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;

0201h,r15;

0200h,r15;

ret;

display_b:

mov.br15,r13;

显示"

XX"

rra.br13;

and.b#0fh,r13;

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

mov.br15,r13;

display_a:

XX."

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

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的工作模式

中断定时,显示程序:

ORG0FC00h;

WDTint:

call#Display;

调显示程序

开中断

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