第2章流水灯控制系统(交流电机的转速设定)

上传人:tang****xu1 文档编号:149679587 上传时间:2020-10-29 格式:DOCX 页数:6 大小:82.21KB
返回 下载 相关 举报
第2章流水灯控制系统(交流电机的转速设定)_第1页
第1页 / 共6页
第2章流水灯控制系统(交流电机的转速设定)_第2页
第2页 / 共6页
第2章流水灯控制系统(交流电机的转速设定)_第3页
第3页 / 共6页
第2章流水灯控制系统(交流电机的转速设定)_第4页
第4页 / 共6页
第2章流水灯控制系统(交流电机的转速设定)_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《第2章流水灯控制系统(交流电机的转速设定)》由会员分享,可在线阅读,更多相关《第2章流水灯控制系统(交流电机的转速设定)(6页珍藏版)》请在金锄头文库上搜索。

1、第2章 交流电机的转速设定2.1交流电机的转速设定2.1.1交流电机的转速设定硬件组成11 BU no07图2.1交流电机的转速设定硬件组成2.1.2交流电机的转速设定过程2.2 74HC2732.2.1 74HC 273简介2.2.2 74HC 273的引脚与引脚功能74HC 273的引脚排列如图 2.2所示,每个 D触发器的引脚功能见表2.1。74HC273图2.2 74HC273的引脚图2.3 TMS320LF2407 数字输入、输出模块2.3.1 TMS320LF2407 数字输入、输出模块概述TMS320LF240XA 有41个通用、双向的数字I/O (GPIO)引脚,所有 GPIO

2、弓I脚的功能可通过两类寄存器控制:I/O复用控制寄存器( MCRx , x=A , B, C)。数据和方向控制寄存器(PxDATDIR , x=A , B , C, D, E, F)。2.3.2 TMS320LF2407 数字输入、输出模块寄存器1. I/O复用控制寄存器( MCRx , x=A , B , C)2. 数据和方向控制寄存器( PxDATDIR , x=A , B , C, D , E, F)2.4用C语言编写DSP应用程序2.4.1常用C语言语句1. if语句2. switch 语句3. for语句4. while 语句2.4.2用C语言实现端口位操作1. 指针(1) 指针变量

3、的定义(2) 指针变量的引用(3) 用指针变量取变量的值2. 位运算(1) 按位与&(2) 按位或|(3) 按位异或A(4) 按位取反(5) 按位左移3. 用C语言实现TMS320LF2407端口位操作2.4.3在C语言中嵌入汇编语言在C语言中嵌入单句汇编语言只需在C语言程序中用以下语句:asm (”);void initial ()(asm ( setc SXM ” ;)/SXM位置 1asm ( clrc OVM ;)/OVM位清asm ( clrc CNF ;)/CNF位清 02.5交流电机的转速设定程序12.5.1交流电机的转速设定C语言主程序1.所需的复位和中断向量定义文件vecto

4、rs.asm ”.title Vectors asm.ref_c_int0, _nothing.sect.vectors”reset:B_c_int0int1:B_nothingint2:B_nothingint3:B_nothingint4:B_nothingint5:B_nothingint6:B_nothing2.主程序Zssd.c# include register.h/初始化子程序asm (setc SXM);asm (clrc OVM);asm (clrc CNF);asm(setc INTM);initial()抑制符号位扩展/累加器中结果正常溢出/B0被配置为数据存储空间/禁止

5、所有中断*SCSR1=0x81FE;*WDCR=0x0E8;*IMR=0x0000;/ CLKIN=6M Hz , CLKOUT=4*CLKIN=24M Hz/不使能看门狗/禁止所有可屏蔽中断*IFR=0x0FFFF;*MCRA=*MCRA&0x0FF00;/清除全部中断标志,“写1清0”/IOPB端口配置为一般的 I/O功能*PBDATDIR=*PBDATDIR|0x0FF00;/IOPB端口设置为输出方式*MCRC=*MCRC&0x0C1FF;/把IOPF2IOPF6端口配置为一般 I/O端口此程序基于本章第 1节所给出的硬件电路,后叙每章均采用此安排,不再特别说明*PBDATDIR=*P

6、BDATDIR & 0X0FF00;/ 熄灭全部的 LED 灯*PFDATDIR=*PFDATDIR|0x0404; /IOPF2 设置为输出方式,且 IOPF2=1/IOPF3 IOPF6 设置为输入方式*PFDATDIR=*PFDATDIR & 0X0FFFB; /IOPF2=0/以上的操作产生一个脉冲,使LED全部熄灭/主程序main()int led;int i,k;initial();while(1)1ed=*PFDATDIR & 0x00078;/ 读入 IOPF3IOPF6 的值*PBDATDIR=*PBDATDIR & 0X0FF00; / IOPB 端口为输出方式*PBDAT

7、DIR=*PBDATDIR |led;/ IOPB的4根引脚输出IOPF3IOPF6的值*PFDATDIR=*PFDATDIR |0x0404;/ IOPF2 为输出方式,且 IOPF2=1*PFDATDIR=*PFDATDIR & 0x0FFFB; / IOPF2=0/以上的操作产生一个脉冲,LED发光for(k=0;k0x0ffff;k+)延时k=k;void interrupt nothing()return;22.5.2交流电机的转速设定程序分析TMS320LF2407 总共有 41根输入输出引脚,此程序使用IOPB的8根引脚和IOPF3IOPF6。程序的功能是将从键盘设定的输入值通过

8、LED显示出来。编写显示程序2此程序分析只给出主程序 Zssd.c”的有关说明,vectors.asm ”的介绍请参考第 6章6.46.6的相关 内容。时,通常先向IOPB端口传送需要显示的数据,再向 IOPF2送一个脉冲。(1) 该程序中所有与 DSP硬件有关的寄存器部用指针方式寻址,与文件register.h”中DSP寄存器的定义相对应;(2) SXM、OVM、CNF和INTM 等位位于 ST0或ST1寄存器中,而这两个寄存器 在数据存储器中无直接映射地址,所以对这些位的操作应该嵌入汇编语句。(3) 寄存器PBDATDIR的高8位是IOPB端口数据流动方向的设置。设置完成后一 般不再改变;低 8位是数据内容,该程序中要此内容随按键值改变,继而影响4位LED的显示状态。在程序中增设了一个变量led,其高8位为0,低8位存储按键的值。每次需要改变 LED 的显示内容时,用指令“ *PBDATDIR=*PBDATDIR&0x0FF00 ” 屏蔽掉其数据位,再用指令 “*PBDATDIR=*PBDATDIR|led”把需要显示的数据赋给IOPB端口。作业2.2 TMS320LF2407如何通过寄存器 PxDATDIR实现高、低电平的输入与输出?2.4 TMS320LF2407如何实现交流电机的转速设定?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号