MSP430单片机GPIO实验教程

合集下载

msp430实验报告

msp430实验报告

msp430实验报告msp430实验报告引言:msp430是一种低功耗、高性能的微控制器,被广泛应用于嵌入式系统和物联网设备中。

本实验报告将介绍我对msp430微控制器进行的一系列实验,包括实验目的、实验过程、实验结果以及对实验的总结和展望。

实验目的:本次实验的主要目的是熟悉msp430微控制器的基本功能和使用方法,以及学习如何进行简单的控制程序设计。

通过实验,我希望能够掌握msp430的基本操作和编程技巧,并且能够运用所学知识解决实际问题。

实验过程:在实验开始之前,我首先对msp430微控制器进行了一些基本的了解。

我了解到,msp430具有低功耗、高性能和丰富的外设接口等特点,可以满足各种嵌入式系统的需求。

接着,我根据实验指导书的要求,准备好实验所需的硬件设备和软件工具。

第一部分实验是关于GPIO口的实验。

我按照实验指导书上的步骤,将msp430与LED灯连接起来,并编写了一个简单的程序,实现了对LED灯的控制。

通过这个实验,我学会了如何配置GPIO口和编写简单的控制程序。

第二部分实验是关于定时器的实验。

我学习了如何配置msp430的定时器,并编写了一个简单的程序,实现了定时闪烁LED灯的功能。

通过这个实验,我深入了解了定时器的工作原理和编程方法。

第三部分实验是关于ADC的实验。

我学习了如何配置msp430的ADC模块,并编写了一个简单的程序,实现了对外部模拟信号的采样和转换。

通过这个实验,我了解了ADC的基本原理和使用方法。

实验结果:通过一系列实验,我成功地掌握了msp430微控制器的基本功能和使用方法。

我能够独立完成GPIO口的配置和控制、定时器的配置和编程、ADC的配置和采样等任务。

实验结果表明,msp430具有强大的功能和灵活的编程能力,可以满足各种嵌入式系统的需求。

总结和展望:通过本次实验,我对msp430微控制器有了更深入的了解,并且掌握了一些基本的操作和编程技巧。

然而,由于实验时间和条件的限制,我还没有完全发挥出msp430的潜力。

一起来学MSP430F6638-基础篇之GPIO

一起来学MSP430F6638-基础篇之GPIO

(2)一起来学MSP430F6638——基础篇之GPIO提示: 接上篇一起来学MSP430F6638——IAR图文教程(1)。

基础篇里,我会站在一个刚接触msp430单片机的初学者的位置来写,所以可能会多啰嗦一些简单基础的东西。

拿到这个片子之后,首先接触到的就是它的引脚GPIO——通用输入输出口。

IO口作为芯片内部和外界沟通的桥梁,扮演着非常重要的角色。

所以我第一步学习的是GPIO。

那这个片子到底是什么样子的呢,如图1。

有关MSP430F6638的详细信息见第一篇的附件,MSP430F6638的数据手册。

图2是P1端口的所有寄存器。

F6638有P1,P2,P3,P4,P5,P6,P7,P8,P9,PJ这些端口。

其中的P1、P2、P3、P4端口具有中断能力,而一般的430单片机只有P1、P2端口具有中断能力,P1,P2差不多能作为430单片机IO口是最为复杂的两个端口。

其他端口没有中断能力,所以会少图中画 \ 的寄存器。

在这里,就主要研究P1端口,其他端口就不一一研究了。

下面来分别介绍介绍这10个寄存器对应的中文名,P1IN指P1输入寄存器、P1OUT输出寄存器、P1DIR方向寄存器、P1REN上下拉使能寄存器、P1DS驱动能力寄存器、P1SEL功能选择寄存器、P1IV中断向量寄存器、P1IES中断触发沿选择寄存器、P1IE中断使能寄存器、P1IFG中断标志寄存器。

和我以前接触的430单片机相比,明显,6638多了驱动能力寄存器和中断向量寄存器,为什么会多这两个,我得好好研究研究。

这些寄存器具体是做什么用的,还请参考上篇附件指导书英文版。

比如P1IN,图3中介绍说,数字IO口可以通过软件来配置。

PxIN的每一位(这里指二进制)的值反映了IO口输入信号的变化。

值为0时,表示输入为低电平;值为1时,表示输入为高电平。

一句代码告诉你怎么用P1IN,if(P1IN==0X01)P2OUT=0X02;图中有提示:当写这个动作激活时,向只读寄存器写值会增加电流的功耗。

基于MSP430的步进电机实验-IO口控制

基于MSP430的步进电机实验-IO口控制
二、实验内容:
1、实现步进电机开启、停止;
2、
3、实现步进电机正转、反转;;
4、实现步进电机调速。
三、实验原理:
1、步进电机控制原理:
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:
Speed_Update();
delay(m);
P3OUT=BIT2+BIT3;
Speed_Update();
delay(m);
a=P1IN&0X10;//更新转向控制值
b=P1IN&0X20;//更新启动控制值
}
}
else if((a!=0x10)&&(b==0X20))//反转时序
{
while((a!=0x10)&&(b==0X20))
(1)控制换相顺序即各个控制线通电顺序,这一过程称为脉冲分配。给步进电机一列脉冲并循环下去,那么步进电机会不停地转动。
(2)控制步进电机的转向,如果给定工作方式正序换相通电,步进电机正转;如果按反序通电换相,则电机就反转。
(3)控制步进电机的速度,如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。
{
while(tim--);
}
void Speed_Update(void)//延时选择子函数

MSP430G2系列单片机原理与实践教程

MSP430G2系列单片机原理与实践教程

MSP430G2系列单片机原理与实践教程完整版30 MSP-EXP430Launchpad实验指南前言MSP430G2系列是德州仪器近期推出的一款产品,在秉承MSP430超低功耗,高集成度的优点的同时,具有高性价比的特点。

该系列被称为ValueLine,旨在以8位单片机的价格实现16位单片机的性能。

MSP-EXP430Launchpad是TI推出的又一套用于MSP430和电路实验的开发板。

在该套不到名片大小的开发板上集成了一片超低功耗16位MSP430单片机,USB口仿真器电路以及各引脚接口等。

利用LaunchPad开发板,仅需一台笔记本电脑,就可以在基于图形界面的编程软件CCS上进行嵌入式软硬件系统的开发和调试,真正做到将实验室装进口袋里,让使用者可以随时随地,不受场地和设备的限制进行430的开发工作。

除了学生自主创新实践外,LaunchPad开发板还可以用于本科低年级课程,如嵌入式C语言,电子技术基础,微机原理,单片机等课程的自主实验环节以及课程设计。

该套开发板为单片机热爱者提供了一个很好的学习平台。

该实验指导书在Launchpad的基础上进行了功能模块的扩展,以期更好地进行实验教学和学习。

本书共有六章,分为两大部分。

第一部分为第1章至第3章,对MSP430G2系列单片机的外设进行介绍,CCSv5.1的安装和使用,同时给出了几个基于Launchpad的实际开发案例。

第二部分为第4章至第6章,对一体化实验系统以及各扩展模块的硬件电路进行了详细的介绍,在此基础上通过六个基础实验以及六个综合实验帮助读者更好地理解和掌握430的开发和应用。

由于时间和篇幅的原因,本书中第三章关于微控制器外设寄存器的更为详细的描述没有在此书中涉及,但包含在随书光盘的电子文档中,供有需要的读者阅读和参考。

该实验指导书、程序和相关教学材料由西安电子科技大学MSP430联合实验室赵建老师和TI单片机大学计划黄争经理共同策划和审阅,在编写过程中,联合实验室老师和同学付出了辛勤的劳动,在此表示衷心的感谢。

MSP430单片机基础实验手册

MSP430单片机基础实验手册

1、MSP430单片机基础实验1.1、IO口实验实验目的:学会MSP430单片机IO口的常规操作。

实验原理开发板上的3个LED灯和IO口的对应关系如下:POWER——P1.7 ISO14443A——P1.6 ISO15693——P1.4根据原理图分析,只需要将对应IO输出为低电平即可使其对应三极管导通,达到点亮对应LED的目的。

关键代码分析#include <msp430.h>volatile unsigned int i; // volatile to prevent optimizationint main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timerP1DIR |= 0x80; // Set P1.7 to output directionfor (;;){P1OUT ^= 0x80; // Toggle P1.7 using exclusive-ORi = 50000; // Delaydo (i--);while (i != 0);}}对应工程详见:\感知RF2实验光盘2013\RFID技术实验\1-MSP430单片机基础实验\io实验结果POWER对应的LED灯闪烁。

作业1、对其他连个灯进行对应操作;2、流水灯显示编程控制。

1.2、定时器实验实验目的:学会MSP430单片机定时器常规配置及中断操作。

实验原理采用定时器TA溢出中断对LED灯进行取反操作。

关键代码分析#include <msp430.h>int main(void){WDTCTL = WDTPW + WDTHOLD; // Stop WDTP1DIR |= 0x80; // P1.0 outputTACCTL0 = CCIE; // TACCR0 interrupt enabledTACCR0 = 50000;TACTL = TASSEL_2 + MC_2; // SMCLK, contmode__bis_SR_register(LPM0_bits + GIE); // Enter LPM0 w/ interrupt}// Timer A0 interrupt service routine#pragma vector=TIMERA0_VECTOR__interrupt void Timer_A (void){P1OUT ^= 0x80; // Toggle P1.7TACCR0 += 50000; // Add Offset to TACCR0}对应工程详见\感知RF2实验光盘2013\RFID技术实验\1-MSP430单片机基础实验\timer实验结果LED灯快速闪烁,改变TACCR0值,闪烁时间间隔改变。

单片机MSP4305299实验程序

单片机MSP4305299实验程序

实验一熟悉CCS 编译环境实验目的:熟悉 CCS 编译环境,学习CCS 中新建工程,编译调试程序,观察变量窗口,设置断点等实验内容与步骤:1. 在 CCSv5 中新建工程,指定MSP430F5529 芯片;2. 在中键入以下程序段3.#include <>void main(void){volatile unsigned int i;WDTCTL = WDTPW+WDTHOLD; 编译 Build 工程;5. 下载调试 Debug 工程;6. 在调试环境下选择全部运行,观察记录实验板上的现象;7. 选择单步运行,观察记录每条指令执行时的现象;8. 选择单步运行,观察寄存器 P1DIR,P1OUT 中数据的变化;9. 停止调试,返回到编辑环境,在程序中设置断点运行;实验二简单输入输出实验实验目的:学习MPS430 通用输入输出端口GPIO 的操作,掌握CCS 中建立工程编辑调试的过程。

实验内容与步骤:1. 端口输出点亮指定 LED 或闪烁(软件延时),按键控制交替点亮或熄灭LED 编写程序指定端口输出方向,控制指示灯LED1 或LED2 或LED3 闪烁#include <>void main(void){volatile unsigned int i;WDTCTL = WDTPW+WDTHOLD; 编写程序指定端口输出方向,控制指示灯LED4 或LED5 或LED6 交替点亮,如:LED4 亮,LED5和LED6 灭,然后LED5 亮,LED4 和LED6 灭,然后LED6 亮,LED4 和LED5 灭,按此顺序循#include<>void main(void){volatile unsigned int i;WDTCTL = WDTPW+WDTHOLD; 检测按键 S1,按键按下时产生输入中断,设置变量NUM 记录按键次数。

单步调试,观察变量NUM 数值的变化。

MSP430系列十六位超低功耗单片机教学实验系统实验教程

MSP430系列十六位超低功耗单片机教学实验系统实验教程
另外,MSP430 系列单片机采用矢量中断,支持十多个中断源,并可以任意嵌套。用中断请求将 CPU 唤醒只要 6us,通过合理编程,既以降低系统功耗,又可以对外部事件请求作出快速响应。
在这里.需要对低功耗问题作一些说明。 首先,对一个处理器而言,活动模式时的功耗必须与其性能一起来考察、衡量,忽略性能来看功耗是 片面的。在计算机体系结构中,是用 W/MIPS(瓦特/百万指令每秒)来衡量处理器的功耗与性能关系的, 这种标称方法是合理的。MSP430 系列单片机在活动模式时耗电 250uA/MIPS,这个指标是很高的(传统 的 Mcs51 单片机约为 10~20mA/MIPS)。 其次,作为一个应用系统,功耗是整个系统的功耗,而不 仅仅是处理器的功耗。比如,在一个有多个输入信号的应用系统中,处理器输入端口的漏电流对系统的耗 电影响就较大了。MSP430 单片机输入端口的漏电流最大为 50nA,远低于其他系列单片机(一般为 l~10uA)。 另外,处理器的功耗还要看它内部功能模块是否可以关闭.以及模块活动情况下的耗电.比如低电压 监测电路的耗电等。还要注意,有些单片机的某些参数指标中.虽然典型值可能很小,但最大值和典型值 相差数十倍,而设计时要考虑到最坏情况,就应该关心参数标称的最大值,而不是典型值。总体而言, MSP430 系列单片机堪称目前世界上功耗最低的单片机,其应用系统可以做到用一枚电池使用 10 年。
MSP430 系列单片机有独特的时钟系统设计,包括两个不同的时钟系统:基本时钟系统和锁频环(FLL 和 FLL+)时钟系统或 DCO 数字振荡器时钟系统。由时钟系统产生 CPU 和各功能模块所需的时钟,并且这 些时钟可以在指令的控制下打开或关闭,从而实现对总体功耗的控制。由于系统运行时使用的功能模块不 同,即采用不同的工作模式,芯片的功耗有明显的差异。在系统中共有种活动模式(AM)和 5 种低功耗模式 (LPM0~LPM4)。

msp430 实验报告

msp430 实验报告

msp430 实验报告MSP430 实验报告引言:MSP430是一款低功耗、高性能的微控制器,广泛应用于嵌入式系统开发领域。

本实验报告将介绍我对MSP430进行的一系列实验,包括基本的GPIO控制、定时器应用、模拟信号采集和通信接口应用等。

实验一:GPIO控制在本实验中,我使用MSP430的GPIO引脚控制LED灯的亮灭。

通过配置引脚的输入/输出模式以及设置引脚电平,我成功地实现了对LED灯的控制。

这为后续实验奠定了基础,也让我更加熟悉了MSP430的寄存器配置。

实验二:定时器应用在本实验中,我探索了MSP430的定时器功能。

通过配置定时器的时钟源和计数模式,我实现了定时器中断功能,并利用定时器中断实现了LED灯的闪烁。

这个实验让我更加深入地了解了MSP430的定时器模块,并学会了如何利用定时器进行时间控制。

实验三:模拟信号采集在本实验中,我使用MSP430的模拟信号输入引脚和模数转换模块,成功地将外部的模拟信号转换为数字信号。

通过配置ADC模块的采样速率和精度,我实现了对模拟信号的准确采集,并将采集到的数据通过串口输出。

这个实验让我对MSP430的模拟信号处理有了更深入的了解。

实验四:通信接口应用在本实验中,我使用MSP430的串口通信模块,实现了与外部设备的数据传输。

通过配置串口的波特率和数据格式,我成功地实现了与计算机的串口通信,并通过串口发送和接收数据。

这个实验让我掌握了MSP430与外部设备进行数据交互的方法。

结论:通过一系列的实验,我对MSP430的基本功能和应用有了更深入的了解。

MSP430作为一款低功耗、高性能的微控制器,具备丰富的外设和强大的处理能力,适用于各种嵌入式系统的开发。

通过学习和实践,我掌握了MSP430的GPIO控制、定时器应用、模拟信号采集和通信接口应用等基本技能,为以后的嵌入式系统开发打下了坚实的基础。

未来展望:MSP430作为一款成熟的微控制器,具备广阔的应用前景。

MSP430单片机 矩阵键盘与数码管实验(附原理图)

MSP430单片机 矩阵键盘与数码管实验(附原理图)

MSP430单片机矩阵键盘与数码管实验(附原理图)/************************************************************* *MSP430单片机矩阵键盘与数码管实验*功能:用共阳极数码管显示按键的键值*适用:MSP430各系列单片机*by:duyunfu1987*************************************************************/ #include "msp430x44x.h"#define ROW P2OUT //矩阵键盘的行宏定义#define COL P2IN //矩阵键盘的列宏定义#define DPYOUT P3OUT //数码管输出口宏定义unsigned char keyval; //键值//共“阳”极数码管的码表unsigned char LED7CA[] ={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D, ~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71,0xff};/********************************************************函数名称:keyscan()*功能:扫描4*3矩阵键盘,并返回键值*出口参数:若有按键则返回键值,若无按键返回15*4*3矩阵键盘:0 1 2 3* 4 5 6 7* 8 9 A b*******************************************************/ unsigned char keyscan(){int i=0;unsigned char key=0;ROW = 0x8f; //先置三行输出低电平if((COL & 0x0f)!= 0x0f) //是否有按键{do i++;while(i<3000); //消抖动延时ROW = 0xbf; //扫描第一行if((COL & 0x0f)== 0x0f){ ROW = 0xdf; //扫描第二行if((COL & 0x0f)== 0x0f){ ROW = 0xef; //扫描第三行if((COL & 0x0f)== 0x0f)key = 15;else key = ~((ROW & 0XF0)|(COL & 0X0F));}else key = ~((ROW & 0XF0)|(COL & 0X0F));}else key = ~((ROW & 0XF0)|(COL & 0X0F));if(key != 15)switch(key) //获取有效地键值{ case 0x48: key=0; break;case 0x44: key=1; break;case 0x42: key=2; break;case 0x41: key=3; break;case 0x28: key=4; break;case 0x24: key=5; break;case 0x22: key=6; break;case 0x21: key=7; break;case 0x18: key=8; break;case 0x14: key=9; break;case 0x12: key=10;break;case 0x11: key=11;break;default: key=15;}}else key = 15;keyval=key;return key;}void main( void ){// Stop watchdog timer to prevent time out resetWDTCTL = WDTPW + WDTHOLD;P3DIR |= 0xff;P3OUT = 0xff; //共阳极数码管输出口初始化P2DIR |= BIT4 +BIT5+BIT6; //先配置矩阵键盘的行(输出)//P2.6 第一行,P2.5 第二行,P2.4 第三行//P2.3 第一列,P2.2 第二列,P2.1 第三列,P2.0 第四列keyval=16;while(1){ keyscan();if(keyval != 15 && keyval<17)DPYOUT = LED7CA[keyval];//数码管显示键值}}。

MSP430系列十六位超低功耗单片机教学实验系统实验教程

MSP430系列十六位超低功耗单片机教学实验系统实验教程

MSP430系列十六位超低功耗单片机教学实验系统实验教程MSP430系列十六位超低功耗单片机是德州仪器公司(TI)推出的一款高性能单片机,被广泛应用于嵌入式系统及物联网领域。

为了帮助初学者快速上手MSP430系列单片机,TI公司推出了MSP430系列十六位超低功耗单片机教学实验系统及相应的实验教程。

以下为一份MSP430系列十六位超低功耗单片机教学实验系统实验教程。

实验一:基础实验实验内容:1.学习MSP430系列单片机的基本特性和功能。

4.学习如何使用MSP430系列单片机的GPIO口进行输入输出控制。

实验步骤:2.安装MSP430-GCC编译器,并将其配置到系统环境变量中。

3.编写一个简单的程序,实现将MSP430系列单片机的GPIO口配置为输出模式,并输出高电平或低电平信号。

5.通过观察开发板上的LED灯是否亮起来,判断GPIO的输出是否成功。

实验二:时钟系统实验实验内容:1.学习MSP430系列单片机的时钟系统和时钟源。

2.学习如何配置和使用MSP430系列单片机的时钟系统。

实验步骤:1.配置MSP430系列单片机的时钟系统,选择合适的时钟源和时钟频率。

2.编写一个程序,实现在不同时钟频率下,通过GPIO口控制LED灯的闪烁频率。

实验三:定时器实验实验内容:1.学习MSP430系列单片机的定时器及其相关功能。

2.学习如何配置和使用MSP430系列单片机的定时器。

实验步骤:1.配置MSP430系列单片机的定时器模块,设置定时时间和定时器模式。

2.编写一个程序,实现定时器中断,当定时时间到达时,通过GPIO口控制LED灯的闪烁。

实验四:串口通信实验实验内容:1.学习MSP430系列单片机的串口通信模块和相关配置。

2.学习如何配置和使用MSP430系列单片机的串口通信功能。

实验步骤:1.配置MSP430系列单片机的串口通信模块,设置波特率和数据位数。

2.编写一个程序,实现通过串口发送字符串数据,并通过串口接收并显示接收到的数据。

MSP430实验讲义(2015)

MSP430实验讲义(2015)

第一部分实验板简介一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 低功耗射频无线评估模块兼容。

MSP430单片机实验指导书

MSP430单片机实验指导书

试验一一、实验目的进一步熟悉IAR for MSP430编程软件和PROTEUS仿真软件的使用。

了解并熟悉单片机I/O 口和LED灯的电路结构,学会构建简单的流水灯电路。

掌握MSP430单片机I/O 口的编程方法和使用I/O 口进行输入输出的注意事项。

掌握PROTEUS仿真软件仿真MSP430单片机过程中的注意事项。

二、实验内容1、运用PROTEUS仿真软件绘制LED流水灯电路;2、运用IAR for MSP430编程软件编辑led流水灯程序,并且生成.hex或.d90文件,并且将生成的文件加载到单片机中,程序使用P1 或其它端口来演示跑马灯,输出低电平驱动。

三、实验器材电脑一台四、实验原理及介绍LED流水灯实际上是一个带有发光二极管的单片机最小系统,即由led灯、电阻、电容器、电源等电路和必要的软件组成的单个的单片机;如果要让接在P1或其它端口的LED灯亮起来,那么只需要将P1 或其它端口的电平变为低电平就可以了。

同理,将该端口电平变为高电平,LED灯就会熄灭。

五、程序流程图开始\7端口初始化LED顺序点亮结束六、实验步骤1、运用PROTEU仿真软件绘制电路图;2、运用IAR for MSP43C编写流水灯程序,并且生成.h'ex'或“ .d90”文件3、将.h'e x'或“.d90”文件软件加载到PROTEU仿真软件中;4、换一种流水灯的亮灭顺序,改变延时时间的大小,多次实验,灵活使用七、参考程序#i nclude "msp430f249.h"#defi ne uint un sig ned int/******************** -主^函^数 **************************/void mai n(void){Uint I;WDTCTL = WDTPW + WDTHOLD;P1DIR = ox0ff;while(1){PIOUT = 0x00;For(I = 0;I < 65565;I ++);PIOUT = 0x0ff;For(I = 0;I < 65565;I ++);}}八、心得体会(二页以上)实验二实验目的1. 掌握IAR for MSP430 软件与proteus 软件仿真调试的方法;2. 掌握LCD1602液晶模块显示西文的原理及使用方法;3. 掌握用8位数据模式驱动LCM1602液晶的C语言编程方法;4. 掌握用LCM1602液晶模块显示数字的C语言编程方法。

MSP430单片机按键实验教程

MSP430单片机按键实验教程

按键实验教程2015/7/24官网地址:http://www.fengke.club目录第一节矩阵键盘介绍 (2)第二节GPIO基础寄存器介绍 (3)第三节实验 (5)第四节实验现象 (7)第一节矩阵键盘介绍在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵键盘原理:先设置行线输入,列线输出低电平。

不断检测行线的输入电平,无按键时为高电平,当有按键按下则某个信号线为低电平。

进行延时消抖。

将行线设置为输出低电平,列线设置为输入,检测列线的输入电平,就可以确定哪个按键按下。

第二节GPIO基础寄存器介绍1.输入寄存器PxINPxIN:位7~0 数据输入,只读寄存器。

2.输出寄存器PxOUTPxOUT:位7~0 Px 口输出当IO 口配置为输出模式时:0,输出低电平;1,输出高电平;当IO 口配置为输入模式并且上拉/下拉使能时:0,下拉;1,上拉。

3.方向寄存器PxDIRPxDIR:位7~0 Px口的方向0,配置为输入;1,配置为输出。

4.上拉/下拉电阻使能寄存器PxRENPxREN:位7~0 Px上拉/下拉电阻使能。

当对应的端口配置为输入,设置该位将使能上拉或者下拉。

0,上拉或者下拉无效;1,上拉/下拉使能。

5.驱动能力寄存器PxDSPxDS:位7-0 Px口输出驱动能力0,减弱输出驱动能力1,全力输出驱动能力详细的寄存器介绍可以参考官方数据手册中的相关章节。

第三节实验键盘连接到单片机的P6口,如下图所示:开发接口连接可以参考《开发接口连接教程》,路径为:..\MSP430\0.从这里开始\2.快速上手。

实验指导书MSP430G2实验指导书

实验指导书MSP430G2实验指导书

MSP430G2 LanchPad 实验指导书实验一:基础GPIO实验实验目的:1、熟悉CCS的使用;2、掌握单片机编程思想;3、理解430单片机工作原理。

实验内容:1、点亮一盏LED;2、令LED闪烁;3、按键控制LED状态;实验步骤:内容一:点亮一盏LED1、打开CCS,选择workspace。

2、菜单,Project——New CCS Project——弹出如下界面。

3、需要修改红色标记。

即:文件名、文件位置、MCU系列型号、连接、工程类型,最后单击Finish。

4、在新窗口中输入如下代码:5、保存程序后Bulid(单击菜单中,或快捷键Ctrl+B)编译程序。

6、调试程序(单击菜单中)自动进入调试界面并下载程序。

7、运行程序(单击菜单中)进行程序的运行、暂停、停止、单步运行等操作。

8、观察实验现象,回顾操作步骤。

内容二:令LED闪烁1、关闭上一个工程(在Project Explorer窗口,右键Close Project)。

2、建立新工程,步骤同上。

3、根据要求编写相应程序。

4、编译,调试,运行程序。

5、部分函数参考代码。

延时函数:主函数部分:6、拓展:试着令LED2闪烁内容三:按键控制LED状态1、关闭上一个工程。

2、新建工程,步骤同上。

3、根据要求编写程序。

4、编译、调试、运行程序。

5、部分函数参考代码。

中断初始化:中断服务子程序:6、拓展,试着用非中断方式实现控制实验二:A/D实验实验目的:实验内容:实验步骤:实验三:定时器与看门狗实验实验目的:实验内容:实验步骤:实验四:Flash实验实验目的:实验内容:实验步骤:实验五:串行通信实验实验目的:实验内容:实验步骤:实验六:Flash实验实验目的:实验内容:实验步骤:实验七:比较器实验实验目的:实验内容:实验步骤:。

微机原理实验-GPIO 接口及其外部中断的应用(MSP430软件循环查询方法编程实现控制灯亮灭)

微机原理实验-GPIO 接口及其外部中断的应用(MSP430软件循环查询方法编程实现控制灯亮灭)

实验 GPIO 接口及其外部中断的应用一、实验目的1. 掌握MSP430 系列 CPU 芯片特点和超低功耗特性、模式及硬件编程实现方法;2. 掌握 MSP430 系列 GPIO 接口具备的功能、控制寄存器及软件配置方法和基本操作;3. 熟练掌握 GPIO 接口的查询操作方式和应用方法;4. 熟练掌握 GPIO 接口按键消抖的方法;5. 了解 MSP430 系列中断系统,熟练掌握 GPIO 接口外部中断的应用方法;6. 熟练掌握CCS 环境中开发应用程序的流程,以及软硬件联合调试的过程和方法。

二、实验内容1. ※●利用软件循环查询方法编程实现:扩展板上的按键S1 控制L1 亮灭,按键S2 控制L2 亮灭,要求按下并抬起后L1 或L2 改变亮灭状态。

(1) 源代码(2)实验现象当按下并抬起P2.1口的按键时,P1.0口的LED亮,再次按下并抬起P2.1的按键时,P1.0口LED灭。

当按下并抬起P1.1口的按键时,P4.7口的LED亮,再次按下并抬起P1.1的按键时,P4.7口LED灭。

2. ※●利用GPIO 接口外部中断方式,设置下降沿触发外部中断,使用变量NUM 记录中断次数,编程实现上题功能。

要求:利用外部中断方式检测按键是否按下;(1)源程序(2)实验现象当按下并抬起P2.1口的按键时,P1.0口的LED亮,再次按下并抬起P2.1的按键时,P1.0口LED灭。

当按下并抬起P1.1口的按键时,P4.7口的LED亮,再次按下并抬起P1.1的按键时,P4.7口LED灭。

3. 在实验中可能会出现按一次按键却会出现LED 指示灯闪一次或者是多次的情况,这是为什么?写出如何处理按键产生的毛刺、抖动现象?按键会出现高低电平的抖动,也称作毛刺,可以通过硬件消抖或者软件延时消抖。

4. 写出主程序中没有调用中断子程序,中断子程序却可以被执行的原因;中断程序不同于子程序,不需要主函数main调用就能执行。

中断服务程序只需要满足一定条件即可执行,比如定时器/计数器(在写入定时器中断服务程序的前提下)只需要计数“计满”即可触发中断服务程序;外部中断(在写入外部中断的服务程序的前提下)只需要触发外部中断引脚即可自动执行,不需要主函数调用。

MSP430F5529实验指导书(V1.0)

MSP430F5529实验指导书(V1.0)

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对话框。

单片机430应用操作实验方法

单片机430应用操作实验方法

1.文件工程建立及运行
(1)打开桌面图标IAR
(2)点击左上角Project –> Creat New Project.
弹出对话框选择C -> main,点击OK键
选择工程建立位置,每个工程建立在指定文件夹内
例如:ad采集,在自己的文件夹内建立ad文件夹,工程存放在ad中。

保存。

(3)参数修改
点击Project -> options弹出对话框
a.Device一栏找到右边按钮选择msp430Gxx中G2553
b.左边框中点击Debugger,Driver一栏中选择FET
c.左边框中点击FET,点击上方的Download,在第一个方框
Verify download那里打钩。

d. 点击右下方OK设置完毕。

(4)程序修改及下载运行
设计:点击左侧main.c,修改大框程序
编译:点击工具栏中make按钮,弹出对话框,键入工程名字,保存
下载:编译没有错误后,点击Download and Debug按钮,下载
运行:点击红色X左侧的GO,即开始执行
点击左侧红色标示break停止运行
结束工程点击X
(5)若打开已有文件运行调试修改
则点击Project -> add existing Project
点击左侧main.c,剩余步骤与上述相同。

2.每个实验调试均被烧写到芯片中,但芯片中仅保留1个程序。

S.D.Lu的MSP430入门学习笔记(2):GPIO

S.D.Lu的MSP430入门学习笔记(2):GPIO

本实验所用的硬件是TI的MSP-EXP430G2 LaunchPad 试验板。

原理图如下。

软件在一篇的基础上进行修改。

将main函数改为如下内容:编译完成后,点击下载调试按钮,将代码下载到实验板上。

P1.0和P1.6上的LED轮流点亮和熄灭。

代码解释:9~11行,对IO端口进行设置时,用到了BITx。

这是头文件中定义的,用于位操作的宏定义,比较方便的操作各个IO端口。

因为MSP430的IO是双向的,所以在使用之前需设置其方向。

15行,定义了一个变量i,在IAR环境下允许用户在程序段中间定义变量。

17行,将P1.0和P1.6的输出和(BIT0 + BIT6)进行异或,其结果相当于将P1.0和P1.6输出进行取反。

GPIO的一般操作如果不涉及片内外设,对GPIO的操作只涉及4个寄存器:PxDIR、PxOUT、PxIN、PxREN。

PxDIR用于设置GPIO的方向,PxOUT用于设置输出值,PxIN用于读取输入值。

PxREN用于GPIO内置的上拉/下拉电阻。

当PxREN.bit=1,上拉/下拉电阻被使能,PxOUT.bit=0为下拉,=1为上拉。

具体如何操作,可参考TI官方例程“msp430g2xx2_P1_01.c”、“msp430g2xx2_P1_03.c”两个程序运行的结果都是:P1.0的输出跟随P1.4的输入电平变化。

对于不使用的IO应避免设置成悬空输入。

P1、P2口的中断MSP430的P1、P2口每一个引脚都有中断的功能,P1的所有引脚的中断共用一个中断向量,P2口与P1口类似。

P1、P2口中断功能相关的寄存器有3个,PxIFG、PxIE和PxIES。

PxIFG是中断标志寄存器,用于指示哪一个IO上产生了中断。

PxIE是中断使能寄存器,PxIES 是中断边沿选择寄存器。

各个寄存器取值所对应的功能请参考《用户指南》。

P1、P2口中断功能的使用可参考TI官方例程“msp430g2xx2_P1_02.c”、“msp430g2xx2_P1_04.c”,这两个例程分别是在TI官方例程“msp430g2xx2_P1_01.c”、“msp430g2xx2_P1_03.c”基础上修改的,将IO输入识别功能用中断功能来实现。

单片机原理及应用第四讲Msp430单片机的GPIO实验报告

单片机原理及应用第四讲Msp430单片机的GPIO实验报告

单片机原理及应用第四讲Msp430单片机的GPIO实验报告报告人:实验内容1、实验1 数字IO控制led灯闪烁分别控制端口、、输出到对应的LED灯实现灯的闪烁2、实验2 动动手,用Key2控制绿色LED通过按下KEY2控制绿色LED的亮灭3、实验3 更进一步,提高程序可读性与实验2类似,都是实现按键控制灯的亮灭,只是这里通过宏定义使得程序更加易懂、实验步骤三个实验的步骤都差不多,只是代码部分有所差异,这里先作统一描述,然后附上关键代码:共同步骤:(1) 将PC 和板载仿真器通过USB 线相连;(2) 打开CCS 集成开发工具,选择样例工程或自己新建一个工程,修改代码;(3) 选择对该工程进行编译链接,生成.out 文件。

然后选择,将程序下载到实验板中。

程序下载完毕之后,可以选择全速运行程序,也可以选择单步调试程序,选择F3 查看具体函数。

也可以程序下载之后,按下,软件界面恢复到原编辑程序的画面。

再按下实验板的复位键,运行程序。

(调试方式下的全速运行和直接上电运行程序在时序有少许差别,建议上电运行程序)。

关键代码:实验1:#include <>int main(void){volatile unsigned int i;WDTCTL = WDTPW+WDTHOLD; // Stop WDTP4DIR |= BIT1; // set as outputwhile(1) // continuous loop{P4OUT ^= BIT1; // XORfor(i=50000;i>0;i‐‐); // Delay}}如需实现和端口的控制只需将P4DIR |= BIT1和P4OUT ^= BIT1中BIT1改为BIT2、BIT3实验2:int main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timerP4DIR |= BIT1; // Set to output directionP2REN |= BIT6; // 脚上下拉电阻使能P2OUT |= BIT6; // 脚使用上拉电阻while (1) // Test{if (P2IN & BIT6)P4OUT |= BIT1; // if set, setelseP4OUT &= ~BIT1; // else reset}}实验3:#define LED1_BIT BIT0#define LED1_DIR P1DIR#define LED1_OUT P1OUT#define LED1_ON (LED1_OUT |= LED1_BIT)#define LED1_OFF (LED1_OUT &= ~LED1_BIT)#define BUTTON_BIT BIT7#define BUTTON_OUT P1OUT#define BUTTON_DIR P1DIR#define BUTTON_IN P1IN#define BUTTON_REN P1RENint main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer LED1_DIR |= LED1_BIT; // Set to output direction BUTTON_REN |= BUTTON_BIT;BUTTON_OUT |= BUTTON_BIT;while (1) // Test{if (BUTTON_IN & BUTTON_BIT)LED1_OUT |= LED1_BIT; // if set, set elseLED1_OUT &= ~LED1_BIT; // else reset }}实验现象分析实验1:烧写完毕后对应LED灯闪烁实验2:按下指定按键LED灯亮实验3:按下指定按键LED灯亮实验中遇到的问题无。

MSP430单片机GPIO实验教程

MSP430单片机GPIO实验教程

GPIO实验教程2015/7/24官网地址:http://www.fengke.club目录第一节GPIO硬件介绍 (2)第二节GPIO寄存器介绍 (3)第三节实验 (5)第四节实验现象 (7)第一节GPIO硬件介绍MSP430F5438A单片机属于5系列单片机,该系列的单片机最多可以提供12路数字IO接口,P1~P11以及PJ。

大部分接口都有8个管脚,但是有些接口会少于8 个管脚。

可以参考说明文档中关于接口的章节。

每个I/O 管脚都可以独立的设置为输入或者输出方向,并且每个I/O 接线都可以被独立的读取或者写入。

所有接口的寄存器都可以被独立的置位或者清零,就像设置驱动能力一样。

P1和P2接口具中断功能。

从P1和P2接口的各个I/O管脚引入的中断可以独立的被使能并且设置为上升沿或者下降沿出发中断。

所有的P1接口的I/O管脚的中断都来源于同一个中断向量P1IV,并且P2接口的中断都来源于另外一个中断向量P2IV。

在一些MSP430x5xx单片机中,附加的接口也具有中断功能。

详细说明请查阅芯片的说明文档。

每个独立的接口可以作为字节长度端口访问或者结合起来作为字长度端口进行访问。

端口配对P1/P2、P3/P4、P5/P6、P7/P8 等联合起来分别叫做PA、PB、PC、PD 等。

当进行字操作写入PA 口时,所有的16 为都被写入这个端口。

利用字节操作写入PA 口的低字节时,高字节保持不变。

相似地,使用字节指令写入PA 口高字节时,低字节保持不变。

其它端口也是一样的,当写入的数据长度小于端口最大长度时,那些没有用到的位保持不变。

所有的端口寄存器都利用这个规则来命名,除了中断向量寄存器P1IV 和P2IV。

它们只能进行字节操作,并且PAIV 这个寄存器根本不存在。

利用字操作读取端口PA可以使所有16位数据传递到目的地。

利用字节操作读取端口PA(P1或者P2)的高字节或者低字节并且将它们存储到存储器时可以只把高字节或者低字节分别传递到目的地。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GPIO实验教程
2015/7/24
官网地址:http://www.fengke.club
目录
第一节GPIO硬件介绍 (2)
第二节GPIO寄存器介绍 (3)
第三节实验 (5)
第四节实验现象 (7)
第一节GPIO硬件介绍
MSP430F5438A单片机属于5系列单片机,该系列的单片机最多可以提供12路数字IO接口,P1~P11以及PJ。

大部分接口都有8个管脚,但是有些接口会少于8 个管脚。

可以参考说明文档中关于接口的章节。

每个I/O 管脚都可以独立的设置为输入或者输出方向,并且每个I/O 接线都可以被独立的读取或者写入。

所有接口的寄存器都可以被独立的置位或者清零,就像设置驱动能力一样。

P1和P2接口具中断功能。

从P1和P2接口的各个I/O管脚引入的中断可以独立的被使能并且设置为上升沿或者下降沿出发中断。

所有的P1接口的I/O管脚的中断都来源于同一个中断向量P1IV,并且P2接口的中断都来源于另外一个中断向量P2IV。

在一些MSP430x5xx单片机中,附加的接口也具有中断功能。

详细说明请查阅芯片的说明文档。

每个独立的接口可以作为字节长度端口访问或者结合起来作为字长度端口进行访问。

端口配对P1/P2、P3/P4、P5/P6、P7/P8 等联合起来分别叫做PA、PB、PC、PD 等。

当进行字操作写入PA 口时,所有的16 为都被写入这个端口。

利用字节操作写入PA 口的低字节时,高字节保持不变。

相似地,使用字节指令写入PA 口高字节时,低字节保持不变。

其它端口也是一样的,当写入的数据长度小于端口最大长度时,那些没有用到的位保持不变。

所有的端口寄存器都利用这个规则来命名,除了中断向量寄存器P1IV 和P2IV。

它们只能进行字节操作,并且PAIV 这个寄存器根本不存在。

利用字操作读取端口PA可以使所有16位数据传递到目的地。

利用字节操作读取端口PA(P1或者P2)的高字节或者低字节并且将它们存储到存储器时可以只把高字节或者低字节分别传递到目的地。

利用字节操作读取PA口数据并写入通用寄存器时整个字节都被写入寄存器中最不重要的字节。

寄存器中其它重要的字节会自动清零。

端口PB、PC、PD 和PE 都可以进行相同的操作。

当读入的数据长短小于端口最大长度时,那些没有用到的位被视零,PJ 口也是一样的。

数字I/O的主要特征有:
1、可以独立编程的独立I/O口;
2、可以任意的混合输入输出;
3、独立配置P1、P2口的中断;
4、独立的输入和输出数据寄存器;
5、独立配置上拉或下拉电阻。

第二节GPIO寄存器介绍
1.输入寄存器PxIN
PxIN:位7~0 数据输入,只读寄存器。

2.输出寄存器PxOUT
PxOUT:位7~0 Px 口输出
当IO 口配置为输出模式时:
0,输出低电平;
1,输出高电平;
当IO 口配置为输入模式并且上拉/下拉使能时:
0,下拉;
1,上拉。

3.方向寄存器PxDIR
PxDIR:位7~0 Px口的方向
0,配置为输入;
1,配置为输出。

4.上拉/下拉电阻使能寄存器PxREN
PxREN:位7~0 Px上拉/下拉电阻使能。

当对应的端口配置为输入,设置该位将使能上拉或者下拉。

0,上拉或者下拉无效;
1,上拉/下拉使能。

5.驱动能力寄存器PxDS
PxDS:位7-0 Px口输出驱动能力
0,减弱输出驱动能力
1,全力输出驱动能力
详细的寄存器介绍可以参考官方数据手册中的相关章节。

第三节实验
GPIO实验通过LED来实现流水灯的现象,LED串联电阻之后经过74HC573锁存器与MCU进行连接。

硬件电路如下图所示:
连接J5的短路帽给LED供电。

开发接口连接可以参考《开发接口连接教程》,路径为:..\MSP430\0.从这里开始\2.快速上手。

开发板供电可以参考《如何上电》教程,路径为:..\MSP430\0.从这里开始\0.开机测试。

下面打开GPIO实验工程文件GPIO.eww,路径为:..\MSP430\03 教程\01 GPIO。

如下图所示:
打开之后,点击编译按钮,下方出现编译完成并且没有错误之后,点击DEBUG 按钮进行仿真调试,同时程序也下载进单片机中,如下图所示:
进入仿真之后就可以看到仿真界面,如下图所示:
点击全速云心按钮,运行程序,可以进行暂停或者停止操作,如下图所示:
第四节实验现象
完成第三节的操作之后,就会看到板子上的流水灯现象。

来源:疯壳(深圳)科技有限公司。

相关文档
最新文档