MSP430F5529实验指导书(V1.0)
msp430f5529定时器实验
![msp430f5529定时器实验](https://img.taocdn.com/s3/m/2d42e1cee43a580216fc700abb68a98271feacfe.png)
定时器实验一、实验目的1、学习MSP430F5529定时器的使用。
2、学习MSP430F5529定时器相应的寄存器的使用。
二、实验任务LED灯的电路图如图*所示:图* LED灯的电路图任务:编程实现LED1 以1Hz频率闪烁。
三、程序流程图实现LED1 以1Hz频率闪烁的程序流程图如图*所示四、程序代码#includ#include<msp430.h>#define CPU_F ((double)1000000)#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) unsigned char count=0;int main(void){//定时器口中断控制函数WDTCTL = WDTPW | WDTHOLD; // stop watchdog timerP1DIR |= BIT0; //P1.0置为输出TA0CCTL0 = CCIE; //CCR0中断使能TA0CCR0 = 50000; //设定计数值TA0CTL =TASSEL_2+MC_1+TACLR;//SMCLK,增计数模式,清除TAR_bis_SR_register(LPM0_bits+GIE);//低功耗模式0,使能中断}#pragma vector=TIMER0_A0_VECTOR__interrupt void TIMER0_A0_ISR(void){count++;if(count==20){count=0;P1OUT ^= BIT0; //1s改变LED1灯状态 }}五、遇到的问题及解决办法无六、实验小结练习了单片机mspf5529的编程。
MSP430F5529实验指导书V1.0
![MSP430F5529实验指导书V1.0](https://img.taocdn.com/s3/m/cd52bad9e009581b6bd9eb4c.png)
MSP430F5529 实验指导书(V1.0)2014年10月27日东北林业大学机电工程学院“3+1”实验室实验一基础GPIO实验实验二键盘与液晶显示实验实验三时钟系统配置实验实验四看门狗与定时器实验实验五 AD/DA实验实验六比较器实验实验七 Flash实验实验八串行通信实验实验一基础GPIO实验【实验目的】1、熟悉CCS的基本使用方法;2、掌握MSP430系列单片机程序开发的基本步骤;3、掌握MSP430 IO口的基本功能。
【实验仪器】1、SEED-EXP430F5529v1.0开发板一套;2、PC机操作系统Windows XP或Windows 7,CCSv5.1集成开发环境。
【实验原理】CCS(Code Composer Studio)是 TI 公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。
CCSv5.1 为 CCS 软件的最新版本,功能更强大、性能更稳定、可用性更高,是 MSP430 软件开发的理想工具。
SEED-EXP430F5529v1.0开发板上的有8个可操作的LED灯,与MCU的IO口对应关系如图1-1所示:图1-1 LED与MCU的IO对应关系电路我们可以通过控制单片机IO口的输出电平状态来控制各个LED灯的亮灭。
开发板上还有2个可操作的按键S1,S2。
如图1-2所示。
图1-2 按键电路我们可以通过读取与按键相连的IO口的输入电平状态来执行相应的操作。
此外,S1,S2还可以作为外部中断源,触发中断。
【实验内容】1、用调用头文件的方法,使能MSP430F5529开发板上的8个LED灯依次按顺序循环点亮;2、用按键S1控制开发板上LED1的亮灭状态(查询法);3、用按键S2控制开发板上跑马灯的循环速度(中断方式)。
【实验步骤】内容1:使能开发板上的8个LED灯依次按顺序循环点亮1、打开CCSv5并确定工作区间,然后选择File-->New-->CCS Project 弹出图1-3对话框。
MSP430F5529测频法测量信号频率
![MSP430F5529测频法测量信号频率](https://img.taocdn.com/s3/m/d87aa6c7e45c3b3567ec8ba7.png)
MSP430F5529测量频率-----测频法信号变换电路过零比较器,lm393输出上拉电阻,两电阻分压程序#include <>#include ""//测频法,上限1Mhz//看门狗定时1s,开门狗中断处理程序开启捕获器,捕获1s中所有的上升脉冲,脉冲个数即为频率/*优化的反向可以将开门够定时1S使用定时器去定时1s**/long fre=0;char buf[60]="\0";void SetVcoreUp (unsigned int level){// Open PMM registers for writePMMCTL0_H = PMMPW_H;// Set SVS/SVM high side new levelSVSMHCTL = SVSHE + SVSHRVL0 * level + SVMHE + SVSMHRRL0 * level;// Set SVM low side to new levelSVSMLCTL = SVSLE + SVMLE + SVSMLRRL0 * level;// Wait till SVM is settledwhile ((PMMIFG & SVSMLDLYIFG) == 0);// Clear already set flagsPMMIFG &= ~(SVMLVLRIFG + SVMLIFG);// Set VCore to new levelPMMCTL0_L = PMMCOREV0 * level;// Wait till new level reachedif ((PMMIFG & SVMLIFG))while ((PMMIFG & SVMLVLRIFG) == 0);// Set SVS/SVM low side to new levelSVSMLCTL = SVSLE + SVSLRVL0 * level + SVMLE + SVSMLRRL0 * level;// Lock PMM registers for write accessPMMCTL0_H = 0x00;}void init_clock(){SetVcoreUp (0x01);SetVcoreUp (0x02);SetVcoreUp (0x03);UCSCTL3 = SELREF_2; // Set DCO FLL reference = REFOUCSCTL4 |= SELA_2; // Set ACLK = REFO__bis_SR_register(SCG0); // Disable the FLL control loopUCSCTL0 = 0x0000; // Set lowest possible DCOx, MODxUCSCTL1 = DCORSEL_7; // Select DCO range 50MHz operationUCSCTL2 = FLLD_0 + 609; // Set DCO Multiplier for 25MHz// (N + 1) * FLLRef = Fdco// (762 + 1) * 32768 = 25MHz// Set FLL Div = fDCOCLK/2__bic_SR_register(SCG0); // Enable the FLL control loop__delay_cycles(782000);do{UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);// Clear XT2,XT1,DCO fault flagsSFRIFG1 &= ~OFIFG; // Clear fault flags}while (SFRIFG1&OFIFG); // Test oscillator fault flag}void send_char(char sc){UCA0TXBUF=sc;while(!(UCA0IFG&UCTXIFG));}void send_string(char *s){while(*s!='\0'){send_char(*s++);}}init_uart(){P3SEL |= BIT3+BIT4; // ,4 = USCI_A0 TXD/RXDUCA0CTL1 |= UCSWRST; // **Put state machine in reset**UCA0CTL1 |= UCSSEL__SMCLK; // SMCLKUCA0BR0 = 173; // 1MHz 115200 (see User's Guide)UCA0BR1 = 0; // 1MHz 115200 UCA0MCTL |= UCBRS_5 + UCBRF_0; // Modulation UCBRSx=1, UCBRFx=0UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**// UCA0IE |= UCRXIE; // Enable USCI_A0 RX interruptsend_string("CLS(0);\r\n");}int main(void) {WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timerinit_clock();//初始化系统时钟为20 MHzinit_uart();//串口波特率为115200bpsWDTCTL=WDT_ADLY_1000 ;//开门狗定时1sP1DIR &= ~BIT2; // inP1SEL |= BIT2; //捕获输入SFRIE1|=WDTIE; //开看门狗定时器中断__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, enable interrupts__no_operation(); // For debugger return 0;}void measure_fre(){if(fre>=500)sprintf(buf,"DS16(0,60,'频率:% ',4);\r\n",fre*;if(fre<=52)sprintf(buf,"DS16(0,60,'频率:% ',4);\r\n",(fre)*;else if(fre<=208)sprintf(buf,"DS16(0,60,'频率:% ',4);\r\n",(fre+1)*;else if(fre<=496)sprintf(buf,"DS16(0,60,'频率:% ',4);\r\n",(fre+3)*;send_string( buf);fre=0;TA0CTL = TASSEL_2 + MC_2 + TACLR+TAIE; // SMCLK, 连续mode, clear TAR 8分频下限可以测到8Hz。
基于MSP430F5529实现的家用非法闯入检测报警器(何厚衡)
![基于MSP430F5529实现的家用非法闯入检测报警器(何厚衡)](https://img.taocdn.com/s3/m/782bab774b73f242336c5fb0.png)
}
进入while循环
}
}
PPT模板下载:/moban/ 节日PPT模板:/jieri/ PPT背景图片:/beijing/ 优秀PPT下载:/xiazai/ Word教程: /word/ 资料下载:/ziliao/ 范文下载:/fanwen/ 教案下载:/jiaoan/
while(1)
P2OUT|=BIT0;//P2.0变为1
{
delay_ms(500);//延迟
delay_ms(500);//延迟
P2IFG&=~BIT4;//清除P2.4的中断标志位
P2OUT|=BIT0; //P2.0恢复初始值
__bic_SR_register_on_exit(CPUOFF);//开启CPU,
void io_init(void)
{
P2DIR|=BIT0;//P2.0为输出
P2OUT|=BIT0;//P2.0初始值为1
P2IES&=~BIT4;//P2.4的中断是上升沿产生中断
P2IE|=BIT4;//P2.4是中断端口
}
void main(voiቤተ መጻሕፍቲ ባይዱ)
#pragma vector=PORT2_VECTOR
基于MSP430F5529实现的
家用非法闯入检测报警器
1 总体方案介绍 2 主要元件介绍 3 电路各模块的介绍 4 程序的介绍 5 总结
电源模块
单片机模块
报警模块
信号传输口
热释电红外模块
BIS0001信号放大模块
#include"msp430f5529.h"
#define CPU_F ((double)1000000) //时钟定义在1MHz
MSP430f5529中文手册
![MSP430f5529中文手册](https://img.taocdn.com/s3/m/cd991e2e482fb4daa58d4bd5.png)
一、先写一篇开个头:这样快速闯入 MSP430学习过程
进入各个电子产品公司的网站,招聘里面嵌入式:传统的什么51单片机、 MSP430称做嵌入式微控制器; ARM 是嵌入式微处理器;当然还有 DSP;FPGA。我们现在就不说别的,就说 MSP430单片机,多数想学 MSP430的童鞋,对89C51内核系列的单片机是很熟 悉的,为了加深对 MSP430 系列单片机的认识吗,迅速闯入 MSP430学习过程, 就必须彻底了解 MSP430单片机, 我们不妨将51单片机和 MSP430两者进行一下 比较。
以下几部分模块硬件资源是作为初学者必须要了解学习的。
①WDT 看门狗定时器: 新手们会看到很多编程实例中, 开头都有“WDTCTL = WDTPW + WDTHOLD;”语句。这是 CUP 执行关闭定时器的意思。在刚开始, 我们没必要关心这个, 可以跳过这章节, 只要大概地知道他的作用就好了。 看门狗定时器一般是用于防止程序失效而存在的, 一般是用于完整的程序 中使用。主程序中可不断地清除看门狗定时器的计数值,以防定时器的值 自动计满后使 CPU 复位而重新开始工作。当程序发生错误时,无法正常清 除看门狗的定时值时,则看门狗定时器计数溢出而产生 CPU 复位。
作为430新手, 首先看我们是否准备好以下几样硬件: 电脑(带有并口)1
台,MSP430FET 仿真器1套,MSP430开发实验板1套,和一些 MSP430教程或 电子教程资料等。
选用 MSP430仿真器。购买现成的 MSP430JTAG 仿真器如 TI-MSP430JTAG 选用 MSP430开发板或目标板是学习一个重要的工具,建议购买一个开
⑵.DCO,SMCLK,MCLK,ACLK 各个时钟有什么优点和点。 ⑶.4个时钟信号中,每个时钟的通常频率范围是多少。 ⑷.常规的时基控制寄存器设置和时钟如何从引脚输出等等。 ④TimaA 模块:⑴.初学者需要搞清 TimerA 的三个不同工作模式中 TA、 CCR1、CCR2与 CCR0之间的关系。⑵.搞清楚 TA、CCR1、CCR2与 CCR0之间的 中断向量关系。⑶.综合上面的理解,我们可以结合 TimerA 的例程来进行 相关验证, 只有通过亲自的操作才能有效地记住。 ⑷.利用 TimerA 实现 PWM 信号输出、利用捕获/比较功能实现捕获信号等等。
MSP430指导书
![MSP430指导书](https://img.taocdn.com/s3/m/7c85ee6b7e21af45b307a8c3.png)
目录目录 (I)实验一I/O端口控制实验 (1)实验二乘法器实验 (2)实验三PWM脉冲实验 (3)实验四LED数码显示实验 (4)实验五LCD段码屏显示实验 (6)实验六定时器实验 (8)实验七比较器实验 (10)实验八内部看门狗实验 (13)实验九电子时钟实验 (15)实验十独立键盘实验 (16)实验十一阵列键盘实验 (17)实验十二时钟模块FLL+操作实验 (18)实验十三 12位AD转换实验 (19)实验十四外部FLASH扩展实验 (20)实验十五I2C AT24C02实验 (22)实验十六 128×64点阵液晶显示实验(选配) (24)实验十七 RS-232通信实验 (25)IMSP430核心板的供电方式MSP430核心板有2种供电方式:1.由USB取提供,同时J0短路冒打在右边,J1短路冒打在左边,J6短路冒打在上方。
2.由外部5V的直流电源提供,把内正外负的5V电源插入JT9座,同时J0短路冒打在左边,J1短路冒打在右边,J6短路冒打在上方。
(注:5V电源用户选配)3.出厂程序为电子时钟程序,上电后自动运行电子时钟,数码管和段码LCD同时显示!II实验一 I/O端口控制实验一、实验目的1.掌握MSP430449一般IO口的应用2.掌握端口寄存器的组成和使用二、实验说明MSP430F1XX系列单片机最多有6个I/O口:P1~P6,每个端口有8个管脚。
每个管脚可以单独设置成输入或者输出方向,并且每个管脚都可以进行单独的读或者写。
P1口和P2口具有中断功能,P1口和P2口的每个管脚都可以单独设置成中断,并且可以设置成上升沿或者下降沿触发中断。
P1口的所有管脚共用一个中断向量,同样P2口的所有管脚也共用一个中断向量。
MSP430F1XX系列单片机的I/O口主要有以下特征:每个I/O口可以独立编程设置。
输入输出可以任意结合使用。
P1口和P2口的中断功能可以单独设置。
有独立的输入输出寄存器。
msp430实验指导书
![msp430实验指导书](https://img.taocdn.com/s3/m/3e82695aad02de80d4d840d7.png)
第一章简介1.1 MSP430F5529硬件资源简介1.低供电压1.8-3.6V。
2.低功耗●单片机处于运行模式200uA/MHZ●LPM3 RTC模式2.5uA●LPM4 1.6uA●LPM5 0.2uA3.从低功耗模式3 唤醒少于5us。
4.16 位精简指令集结构●可以扩展外部存储器●可以达到25MHZ 系统时钟。
5.灵活的电源管理系统(PMM)●由DVCC 在LDO 作用下产生Vcore 电源,供低电压模块使用。
●提供DVCC,Vcore Supervision,Monitoering,以及Brownout 监控。
6.一体化时钟系统●低功耗/低频率内部时钟源VLO●低频率内部时钟源REFO●XT1 32768HZ 晶振●XT2 高频晶振可以达到25MHZ7.16 位Timer0_A5有5个捕获/比较寄存器。
8.16 位Timer1_A3有3个捕获/比较寄存器。
9.16 位Timer2_A3有3个捕获/比较寄存器。
10.16 位Timer_B7有7个捕获/比较寄存器。
11.2组4个通用通信接口●内部UART,支持自动波特率检测。
●irDA 编码和解码。
●SPI 通信。
●I2 C 通信。
12.全速USB接口13.内置USB物理接口。
●内置3.3V/1.8VUSB 电源系统。
●内置USB-PLL 。
●8个输入、8个输出端点。
14.12位模数转换●内部参考电压。
●采样保持电路。
●12个外部通道,4个内部通道。
(F5529/F5527/F5525/F5521)●8个外部通道,4个内部通道。
(F5528/F5526/F5524/F5522)●自动扫描15.比较器B。
16.硬件乘法器支持32位操作数。
17.支持DMA18.RTC可以日历使用,也可以用作普通定时器。
19.F552x F551x系列包括:1.2MSP430F5529引脚及结构框图MSP430F5529的封装形式为IPN封装,其引脚图如图1-1所示,结构框图如图1-2所示。
MSP430实验讲义(2015)
![MSP430实验讲义(2015)](https://img.taocdn.com/s3/m/0aee18170740be1e640e9a01.png)
第一部分实验板简介一MSP-EXP430F5529开发板概述1.1 F5529特性:◆低工作电压:1.8V到3.6V;◆超低功耗:--活动模式(AM):所有系统时钟活动--待机模式(LPM3):--关闭模式(LPM4):--关断模式(LPM4.5):0.18μA在3.0V(典型)◆从待机模式下唤醒时间在3.5μs内(典型);◆16位RISC结构,可拓展内存,高达25-MHZ的系统时钟;◆灵活的电源管理系统:◆UCS统一时钟系统:◆具有五个捕获/比较寄存器的16位定时器TA0,Timer_A;◆具有三个捕获/比较寄存器的16位定时器TA1,Timer_A;◆具有三个捕获/比较寄存器的16位定时器TA2,Timer_A;◆具有七个捕获/比较映射寄存器的16位定时器TB0,Timer_B;◆两个通用串行通讯接口:--USCI_A0和USCI_A1,每个支持:增强UART、IrDA、同步SPI--USCI_B0和USCI_B1,每个支持:I2C、同步SPI◆全速USB:◆具有内部基准电压,采样和保持及自动扫描功能的12位ADC(MSP430F552X系列仅有);◆比较器;◆支持32位运算的硬件乘法器;◆串行系统编程,无需添加外部编程电压;◆三通道内部DMA;◆具有实时时钟功能的基本定时器。
1.2 MSP430F5529引脚图及结构框图图1.1 MSP430F5529引脚图图1.2 MSP430F5529结构框图注:其引脚具体功能请参考MSP430F5529数据手册1.3 MSP-EXP430F5529开发板硬件及软件资源概述1.3.1 MSP-EXP430F5529开发板硬件资源概述MSP430F5529开发板(MSP-EXP430F5529)是 MSP430F5529 器件的开发平台,为最新一代的具有集成 USB 的 MSP430 器件。
该开发板与 CC2520EMK 等众多 TI 低功耗射频无线评估模块兼容。
MSP430F5529制作的施工车辆信息监测系统.doc
![MSP430F5529制作的施工车辆信息监测系统.doc](https://img.taocdn.com/s3/m/74a489fd524de518964b7d9b.png)
MSP430F5529制作的施工车辆信息监测系统一,功能介绍:本系统主要用于监测施工车辆运行的速度,运行时路面的温度以及车辆的位置信息。
然后将这些这些信息借助移动的网络发送到服务器上去并将温度,速度,时间信息通过显示屏进行显示。
系统的控制核心选用的是TI的msp430F5529,考虑到整个系统用到的IO管脚比较多,所以选用了该款430。
一下是整个系统的方案选型:(1)测速系统采用的霍尔器件,430单片机对霍尔器件输出的脉冲进行输入捕获对其频率进行测量就可计算出车辆的速度;(2)测量车辆运行的路面温度系统我采用的是红外测温温度传感器,430通过smBUS总线方式读取温度传感器的数据,然后进行数据处理,显示在LCD屏上。
(3)计时系统我选用了的是DS1302时钟芯片,外加上一个3v的纽扣电池起到掉电时间保护左右,然后430负责读取时间进行显示。
(4)车辆定位系统我选用的GPS模块,430通过GPS读取到车辆的经纬度信息。
(5)数据发送装置我采用的GPRS模块将采集到速度,温度,时间,位置信息发送到我们自己建立的服务器上去(6)LCD屏,我选用的是240*128的LCD屏,这样尺寸的屏刚好满足我设计的要求。
(7) 考虑到有时没有移动信号,我们在电路上设计了SD卡,这样当GPRS 没有信号时,我们的数据可以自动的到存到我们的SD卡中二,系统框图上图就是我整个设计的框图。
(1)电源给整个系统供电,输入12v通过两种稳压芯片,分别稳压到5v和3.3v 给整个系统供电。
(2)测速,键盘, LCD我采用的都是IO进行和430单片机进行连接(3)GPS和GPRS采用的是UART和430进行连接(4) SD卡采用的是SPI接口和430进行连接三,系统原理图图2 电源图3 LCD和时钟芯片图4 430核心部分整个系统的原理图如图2,3,4所示。
图2是整个系统的电源部分,图3是lcd 显示屏,图4是整个430核心部分。
模数转换模块ADC12的设计MSP430F5529 片内温度传感器的方法和编程实现
![模数转换模块ADC12的设计MSP430F5529 片内温度传感器的方法和编程实现](https://img.taocdn.com/s3/m/2f5efe1ca66e58fafab069dc5022aaea998f41f9.png)
微机原理实验实验六模数转换模块(ADC12)的设计与应用一、实验目的1. 了解数模转换(ADC)的基本原理、转换过程及性能指标;2. 熟练掌握片内 ADC12 模块的 4 种工作模式;3. 熟练掌握片内 ADC12 模块的寄存器及其配置应用方法;4. 掌握应用 MSP430F5529 片内温度传感器的方法和编程实现方法;5. 了解 I2C 设备的应用方法及片外温度传感器的编程实现方法;二、实验内容1. ●编程实现并分析:采用单通道单次采样模式,选择A0 通道作为输入通道,模拟转换参考电压组合选择 ADC12 内部生成电压 1.5V 和 AVSS,转换结果存储在 ADC12MEM0 缓冲寄存器中。
(1)源程序#include<msp430.h>void main(){volatile unsigned int i;WDTCTL=WDTPW+WDTHOLD; //关闭看门狗P6SEL |= BIT0; //使能A0输入通道REFCTL0 &= ~REFMSTR; //复位控制位以控制ADC12参考电压控制寄存器ADC12CTL0=ADC12ON+ADC12SHT02+ADC12REFON;//打开ADC12,设置采样间隔,打开参考电压产生器,并设置参考电压为1.5V,ADC12CTL1=ADC12SHP; //采样保持触发信号选择采样定时器ADC12MCTL0=ADC12SREF_1; //Vr+=Vref+,Vr-=Avssfor(i=0;i<64;i++); //延迟以使参考电压稳定ADC12CTL0 |= ADC12ENC; //使能转换while (1){ADC12CTL0 |=ADC12SC; //开始转换while(!(ADC12IFG&BIT0));__no_operation(); //设置断点查看ADC12MEN0缓冲寄存器}}(2)写出配置ADC12模块转换时钟源ADC12CLK的控制寄存器和控制位;控制寄存器:ADC12CTL1控制位:ADC12DIVx:第5~7位,时钟分频控制位ADC12SSELx:第3~4位,参考时钟源选择控制位(3)写出上述实验要求下ADC12模块的默认时钟源及其频率;默认时钟源是MODCLK,由内部模块振荡器MODOSC产生,频率约为4.8MHZ.(4)写出配置ADC12模块参考电压的控制寄存器和控制位;控制寄存器:ADC12CTL0控制位:ADC12REF2_5V:第6位,内部参考电压的电压值选择控制位ADC12REFON:第5位, ADC12参考电压开关控制位控制寄存器:ADC12MCTL0控制位:ADC12SREFx:第4~6位,参考电压选择控制位(5)分析上述实验要求下ADC12模块配置的参考电压与转换量程的关系ADC模块是12位,表示的数值的取值范围是0~4095,参考电压(基准电压)为1.5V,则分辨率为 1.5V/212=0.366mV.(6)分析ADC12模块配置的时钟源与采样触发信号和转换信号是否有关?从寄存器的控制位可以看出,采样周期和ADC12CLK的个数有关,时钟源和采样触发信号无关。
电子科技大学MSP430f5529开发板的独立按键及显示屏标准实验报告
![电子科技大学MSP430f5529开发板的独立按键及显示屏标准实验报告](https://img.taocdn.com/s3/m/aa0a9f6014791711cc79178b.png)
电子科技大学实验报告学生姓名:学号:指导教师:邮箱:一、实验室名称:MSP430单片机实验室二、实验项目名称:使用MSP430f5529开发板的独立按键及显示屏三、实验原理:(1)通用功能I/OGPIO基本都是用于芯片与片外器件或设备的交互。
其作用包括:●检测数字输入,如键盘或开关信号;●驱动LED,蜂鸣器或LCD等其他指示器;●控制片外器件,较高级的使用可以用它们(通过程序)模拟很多器件的时序达到控制相应器件的目的,比如模拟SPI和模拟总线等;GPIO是MCU与外界交互的重要途径,它具有如下的特性:●可以独立控制每个GPIO口的方向(输入/输出模式);●可以独立设置每个GPIO的输出状态(高/低电平);●所有GPIO口在复位后都有个默认方向(或输入或输出)GPIO口都是按组规划,有的芯片是8个GPIO口一组,有的是16个或32个为一组。
一般每个GPIO口都需要做两个寄存器位:一是选择口线方向(输入输出)二是需要一个数据位(用于设置输出数据和读取输入数据)。
所以一组GPIO 口至少会有两个寄存器GPIOxDIR和GPIOxDATA。
如图1.1所示的GPIO口各模块构成。
GPIOxDIR:控制各个GPIO口的方向;GPIOxDATA:用于各个GPIO口的输入输出数据。
图1.1 GPIO口各模块构成MSP430各种端口有大量的控制寄存器供用户操作。
最大限度提供了输入/输出的灵活性。
其特点如下:●每个I/O口都可以独立编程●输入或输出可任意组合●P1和P2所有I/O口都具有边沿可选的输入中断功能●可以按字节输入输出,也可按位进行操作●可设置I/O口的上拉或下拉功能●可配置I/O驱动能力(高驱动强度或低驱动强度)MSP430端口的控制寄存器包括:(a)xDIR输入/输出方向寄存器相互独立的8位分别定义了8个引脚的输入/输出方向。
使用输入和输出功能时,应该先定义端口的方向。
PxDIR配置:Bit = 1: 将端口引脚设置为输出模式;Bit = 0: 将端口引脚设置为输入模式。
标准实验四MSP430F5529_PWM信号发生及测量
![标准实验四MSP430F5529_PWM信号发生及测量](https://img.taocdn.com/s3/m/0233771f561252d381eb6e55.png)
电子科技大学实验报告学生姓名:学号:指导教师:邮箱:一、实验室名称:MSP430单片机实验室二、实验项目名称:PWM波发生器及PWM波占空比测量三、实验原理:(1)PWM信号的产生PWM信号是一种具有固定周期不定占空比的数字信号,如下图4-1所示:图4-1 PWM信号波形如果Timer_A定时器的计数器工作在增计数方式,输出采用输出模式7(复位/置位模式),则可利用寄存器TAxCCR0控制PWM波形的周期,用某个寄存器TAxCCRx控制占空比。
这样Timer_A就可以产生出任意占空比的PWM波形。
如图4-2所示。
图4-2 利用Timer_A产生任意占空比的PWM信号可以随时间变化任意改变PWM信号的占空比,具体做法:保持CCR0值(周期不变),而改变CCRx值(改变占空比)。
如图4-3所示。
图4-3 通过配置CCR0和CCRx值调整PWM信号的占空比PWM不需要修改占空比和时间时,CPU在做完Timer_A初始化工作之后,Timer_A就能自动输出PWM,而不需利用中断维持PWM输出,此时CPU就可以进入低功耗状态。
(2)捕获/比较器Timer_A有多个相同的捕获/比较模块,为实时处理提供灵活的手段,每个模块都可用于捕获事件发生的时间或产生定时间隔。
通过TACCTLx中的CAP位选择模式,该模块既可用于捕获模式,也可用于比较模式。
当发生捕获事件或定时时间到都将引起中断。
捕获/比较模块的结构如图4-4所示。
图4-4 捕获/比较模块的逻辑结构捕获模式当TACCTLx中的CAP = 1,该模块工作在捕获模式。
每个捕获/比较寄存器可以用来记录时间事件,例如:▲测量软件程序所用时间▲测量硬件事件之间的时间▲测量系统频率用CM1和CM0 位选择捕获条件,可以选择禁止捕获、上升沿捕获、下降沿捕获或者上升沿下降沿都捕获。
当捕获完成后,定时器的值被复制到TAxCCRn 寄存器,并且中断标志CCIFG 置位。
如果总的中断允许位GIE允许,相应的中断允许位CCIE也允许,则将产生中断请求。
标准实验三MSP430F5529_传感器实验
![标准实验三MSP430F5529_传感器实验](https://img.taocdn.com/s3/m/761c79a33186bceb18e8bb4a.png)
电子科技大学实验报告学生姓名:学号:指导教师:邮箱:一、实验室名称:MSP430单片机实验室二、实验项目名称:基于I2C接口的数据采集三、实验原理:(1)I2C接口简介IIC(Inter-Integrated Circuit,常被称为I2C)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。
它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。
在CPU与被控IC之间、IC与IC之间进行双向传送,高速I2C总线一般可达400kbps以上。
I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。
●开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
●结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
●应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。
CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。
若未收到应答信号,由判断为受控单元出现故障。
这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。
I2C总线时序图如图3.1所示:图3.1 I2C总线时序图在MSP430系列单片机中,硬件I2C接口是通过通用串行通信接口(universalserialcommunicationinterface,USCI)来实现的,通用串行通信接口在一套硬件模块上支持多种串行通信模式,例如SPI接口、I2C接口、UART接口等。
配置通用串行通信接口的工作模式是通过为一系列寄存器赋值来实现的,接下来将介绍将通用串行通信接口配置为I2C模式涉及的一系列寄存器。
(2)MSP430F5529中的I2C接口MSP430F5529中USCI(Universal Serial Communication Interface)模块可提供多种串行通信模式。
《基于MSP430F5529的多功能电子》实验报告
![《基于MSP430F5529的多功能电子》实验报告](https://img.taocdn.com/s3/m/13d558f8f61fb7360b4c651a.png)
基于MSP430F5529的多功能电子琴章仕波1 吴晓庆2(1.杭州电子科技大学,通信工程卓越工程师计划 11081522;2.杭州电子科技大学,通信工程卓越工程师计划 11081428)摘要:本电子琴以MSP430为核心,用MSP430的launchpad为开发工具和以CCS5.1为开发环境,以YF017语言芯片控制喇叭发声,用MSP430的比较器实现电容按键作为琴键,液晶屏LCD5110显示菜单,6个按键开关操作菜单。
系统特色:1)声音与钢琴相似度高;2)人机交互良好,可以进行功能选择;3)有自由模式,能自由演奏曲子;4)试听模式,能欣赏多首曲子;5)学习模式,可以根据屏幕的提示学习演奏曲子。
关键词:电容按键、多功能0引言依据《单片机与嵌入式系统课程设计Ⅰ》以及指导老师要求,在一块型号为MSP430F5529的单片机板子上完成创意型的设计。
通过我们的头脑风暴和各类资料搜集,我们决定设计一个多功能的电子琴。
1设计想法实现电子琴的基本功能—演奏,为提高人机交互性,加入LCD屏幕能显示菜单;同时为了提高电子琴的功能性,加入欣赏功能、学习功能。
为了使琴键更加舒适,采用了当前流行的触摸按键实现。
2功能实现硬件部分分成发声部分、LCD显示部分、菜单按键部分、电容触摸琴键部分、MCU控制部分(采用现成的MSP430F5529的launchpad)。
2.1 发声部分:方案一:采用蜂鸣器发声,通过单片机IO口输出频率可由软件控制的PWM波。
主要优点是电路简单,成本低,可靠性好,占用单片机的引脚数少。
缺点是因为是PWM波驱动蜂鸣器的,所以声音没有钢琴的音色,声音不够悦耳。
要通过单片机的计时器实现PWM波。
方案二:采用语音芯片控制喇叭,实现动听的钢琴声。
主要优点是声音动听、音调准确、编程简单。
缺点是成本比方案一高,占用单片机IO口多,对声音的控制只能通过语音芯片来控制,控制响应速度、声音音域、声音延时等收到语音芯片的性能限制。
基于MSP430F5529的循迹壁障无线控制智能小车设计报告
![基于MSP430F5529的循迹壁障无线控制智能小车设计报告](https://img.taocdn.com/s3/m/036dd454e53a580217fcfe43.png)
华中科技大学电子与信息工程系2013年TI杯电子设计大赛项目总结报告项目名称:基于MSP430F5529的智能小车设计团队成员: 通信工程通信工程通信工程指导教师:2013 年7月3日课题名称:智能小车自动控制系统【摘要】本次课程设计以MSP430超低功耗单片机系列MSP430F5529为主控制器,附加电机、电池、传感控制模块等,完成二驱小车自由运动、检测黑白线实现沿轨道自动运行、能够避开障碍物、无线控制等功能,F5529的I/O口丰富,使得各个功能模块之间信息交流快捷方便。
在机械结构上,我们选购用一个万用轮代替两个前轮的小车,大幅度提高了小车的灵敏度。
利用单片机产生PWM波,控制小车速度,选用L298N驱动芯片驱动电路,使用三路红外对接管检测黑白线,使用一个超声波实现测距壁障功能,使小车能够自动左转避开障碍物,使用无线控制模块,可实时控制小车运动。
基于可靠的硬件设计和更加优化的软件算法,在实现本课设基本要求的基础上,可实现部分扩展功能。
【关键词】:MSP430F5529循迹无线控制超声波测距壁障ﻬAbstract This cu rriculum projectuses MSP430F5529, in the series of MSP430 ultra low power single chip microcomputer, as its main controller. In addition, the realization of the controller’s function can not leave motor, battery, sensing controltemplate and so on, for example, free movementof the two driv evehicle, and automatic operation along runway bytesti ng black and white lines, avoiding obstacles, wireless operatio nandother functions. The quick andeasy information exchanging among each functional template has tothank to the abundance of I/O of F5529. On mechanicalstructure, two front wheels of the mini car are replaced by a universal wheel, so asto improve its sensitivity by large margin. PWM is used to control motor and single chip microcomputerto make PWM wave, in orderto control its speed. The car can s top and turn left to avoid obstacles because L298N driving chip drives circuit, three infrared ray onpipes is used to test black and white lines, and an ultrasonic templateis chosen to realize ranging barrier function. With wireless operating template, movement of the mini car canreach real-timecontrol.Besidesfinishing basic requirement of this curriculum project, some broadening functi ons can also be achieved based on reliable hardware design and bettersoftware algorithm.Key words: MSP430F5529 tracking wireless control ultrasonic wav erangingcounterguardﻩﻬ目录1 概述 (3)2 设计目标 (3)3 团队组成与任务分工 (4)4 方案论证........................................................................44.1电机驱动模块.............................................................................44.2 循迹模块...................................................................................5 4.3无线模块...................................................................................5 4.4 测距壁障模块.. (5)5 系统总体设计 (7)5.1 总体设计思路...........................................................................7 5.2主要器件选择...........................................................................75.3主要元器件清单 (8)7 系统各模块设计与实现.....................................................157.1电机驱动模块.. (15)7.2循迹模块.................................................................................16 7.3 无线模块 (16)7.4超声波测距壁障模块………………………………………………………...179心得与总结 (2)610致谢 (27)11 参考文献……………………………………………………………2712 附录……………………………………………….………………...271.概述随着控制技术及计算机技术的发展,智能车系统将在未来工业生产和日常生活中扮演重要的角色。
Msp430f5529开发板测频率和ADC采样电压
![Msp430f5529开发板测频率和ADC采样电压](https://img.taocdn.com/s3/m/a8fab1370912a216147929a2.png)
UCSCTL6 &= ~XT2OFF; // Enable XT2
UCSCTL3 |= SELREF_2; // FLLref = REFO
// Since LFXT1 is not used,
// Set up LCD
Dogs102x6_init(); //初始化LCD
Dogs102x6_backlightInit(); //背光初始化
// Contrast not programed in Flash Yet
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
//****************************************************************************//
// 项目名称: MSP-EXP430F5529 交直流电压频率测试
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
// Basic GPIO initialization
Board_init(); //初始化GPIO
*设置时钟源
*
*
*
**************************************************************************************************/
v2; // SMCLK set out to pins
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MSP430F5529 实验指导书(V1.0)2014年10月27日东北林业大学机电工程学院“3+1”实验室实验一基础GPIO实验实验二键盘与液晶显示实验实验三时钟系统配置实验实验四看门狗与定时器实验实验五AD/DA实验实验六比较器实验实验七Flash实验实验八串行通信实验实验一基础GPIO实验【实验目的】1、熟悉CCS的基本使用方法;2、掌握MSP430系列单片机程序开发的基本步骤;3、掌握MSP430 IO口的基本功能。
【实验仪器】1、SEED-EXP430F5529v1.0开发板一套;2、PC机操作系统Windows XP或Windows 7,CCSv5.1集成开发环境。
【实验原理】CCS(Code Composer Studio)是TI 公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。
CCSv5.1 为CCS 软件的最新版本,功能更强大、性能更稳定、可用性更高,是MSP430 软件开发的理想工具。
SEED-EXP430F5529v1.0开发板上的有8个可操作的LED灯,与MCU的IO口对应关系如图1-1所示:图1-1 LED与MCU的IO对应关系电路我们可以通过控制单片机IO口的输出电平状态来控制各个LED灯的亮灭。
开发板上还有2个可操作的按键S1,S2。
如图1-2所示。
图1-2 按键电路我们可以通过读取与按键相连的IO口的输入电平状态来执行相应的操作。
此外,S1,S2还可以作为外部中断源,触发中断。
【实验内容】1、用调用头文件的方法,使能MSP430F5529开发板上的8个LED灯依次按顺序循环点亮;2、用按键S1控制开发板上LED1的亮灭状态(查询法);3、用按键S2控制开发板上跑马灯的循环速度(中断方式)。
【实验步骤】内容1:使能开发板上的8个LED灯依次按顺序循环点亮1、打开CCSv5并确定工作区间,然后选择File-->New-->CCS Project 弹出图1-3对话框。
图1-3 新建一个CCS工程2、在Project name 中输入新建工程的名称,在此输入lab1_1。
3、在Device 部分选择器件的型号:在此Family选择MSP430;Variant选择MSP430X5XX family,芯片选择MSP430F552;其余保持默认。
4、在左下角对话框中,选择Empty Projects下拉菜单下的Empty Project(空工程),单击Finish。
5、在新窗口中输入如下代码:#include<msp430f5529.h>void main(void){volatile unsigned int i;WDTCTL=WDTPW+WDTHOLD; // 关闭看门狗P1DIR |= BIT0; //配置P1.0为输出功能P8DIR |= BIT1 + BIT2; //配置P8.1,P8.2为输出功能P1DIR |= BIT1 + BIT2 + BIT3 +BIT4 +BIT5;while(1){P1OUT = BIT0;__delay_cycles(500000); //延时P1OUT &= ~BIT0;P8OUT = BIT1;__delay_cycles(500000); //延时P8OUT = BIT2;__delay_cycles(500000); //延时P8OUT &= ~BIT2;for(i=BIT1;i<=BIT5; i=i<<1){P1OUT = i;__delay_cycles(500000); //延时}}}6、保存程序后Bulid(单击菜单中,或快捷键Ctrl+B)编译程序。
7、调试程序(单击菜单中)自动进入调试界面并下载程序。
8、运行程序(单击菜单中)进行程序的运行、暂停、停止、单步运行等操作。
9、观察实验现象,回顾操作步骤。
内容2:用按键S1控制开发板上LED1的亮灭状态(查询法)1、关闭上一个工程(在Project Explorer窗口,右键Close Project)。
2、建立新工程,步骤同上,并命名为lab1_2。
3、在新建工程的编辑窗口输入如下代码:#include<msp430f5529.h>volatile unsigned int flag=0; //定义按键标志位void Keyscan(); //申明按键检测函数void main(void){WDTCTL=WDTPW+WDTHOLD; // 关闭看门狗P1DIR |= BIT0; //配置P1.0为输出功能P1OUT &= ~BIT0; //初始化禁止LED0亮/*按键初始化*///P1DIR &= ~BIT7;P1OUT |= BIT7;P1REN |= BIT7; //设置为内部上拉while(1){Keyscan(); //按键检测if(flag != 0)P1OUT |= BIT0;elseP1OUT &= ~BIT0;}}void Keyscan()//按键检测函数{if((P1IN & BIT7) == 0){__delay_cycles(10000); //延时10msif((P1IN & BIT7) == 0){while((P1IN & BIT7) == 0);//等待按键抬起flag = ~flag; //按键标志位取反}}}4、编译、调试并下载程序到开发板。
5、运行程序,观察现象。
内容3:用按键S2控制开发板上跑马灯的循环速度(中断方式)1、建立新工程,步骤同上,并命名为lab1_3。
2、在新建工程的编辑窗口输入如下代码:#include<msp430f5529.h>unsigned char flag = 0; //定义按键标志位void main(){WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗P1DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5;P1OUT &=~ (BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5);P8DIR |= BIT1 + BIT2;P8OUT &=~ (BIT1 + BIT2); //初始化LED/*按键中断初始化*/P1DIR &= ~BIT7; //配置P1.7为按键输入P1OUT |= BIT7;P1REN |= BIT7; //设置为内部上拉P1IE |= BIT7; //P1.7中断使能P1IFG &=~ BIT7; //清除P1.7的中断标志位P1IES |= BIT7; //置1,设置为下降沿触发__enable_interrupt();while(1){P1OUT |= BIT0;P1OUT &=~ BIT5;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);P8OUT |= BIT1;P1OUT &=~ BIT0;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);P8OUT |= BIT2 ;P8OUT &=~ BIT1;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);P1OUT |= BIT1;P8OUT &=~ BIT2;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);P1OUT |= BIT2;P1OUT &=~ BIT1;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);P1OUT |= BIT3;P1OUT &=~ BIT2;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);P1OUT |= BIT4;P1OUT &=~ BIT3;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);P1OUT |= BIT5;P1OUT &=~ BIT4;if(flag ==0)__delay_cycles(1000000);//闪烁else__delay_cycles(200000);}}#pragma vector = PORT1_VECTOR__interrupt void PORT_1(void){__delay_cycles(300);while((P1IE & BIT7) == 0); //等待按键释放if(flag==1)flag = 0;elseflag = 1;P1IFG &=~ BIT7; //清除中断标志}3、编译、调试并下载程序到开发板。
4、运行程序,观察现象。
【思考与分析】1、在实际应用当中,一般将未用的IO口设置为输出状态,为什么?试查阅资料加以研究。
2、在用查询法检测按键时,为什么要连续检测两次并在此期间加上10ms左右的延时?3、试编写程序,用开发板上的两个按键及8个LED灯设计一个可控的跑马灯系统。
其中,一个按键控制LED灯的流水速度(至少两种流水速度可调),另一个按键控制LED灯的流水方式(至少3种流水方式可调)。
实验二键盘与液晶显示实验【实验目的】1、学习键盘及液晶与MCU硬件电路的连接方法;2、掌握键盘控制芯片CH452的键盘检测方法;3、掌握TFT2.2真彩液晶屏的使用方法;4、了解SPI总线的通信模式和基本特点。
【实验仪器】1、MSP430G2553 Launch Pad一块,MSP430F5529 Mini Board 一块;2、TFT2.2_and_KEY键盘接口一块,TFT2.2液晶屏一块;3、PC机操作系统Windows XP或Windows 7,CCSv5.1集成开发环境。
【实验原理】1、液晶显示的基本原理TFT-LCD(Thin Film Transistor-Liquid Crystal Display),即薄膜晶体管液晶显示器,也就是大家常说的真彩液晶显示屏。
它可以“主动的”对屏幕上的各个独立的像素进行控制。