MSP430单片机GPIO实验教程
- 格式:pdf
- 大小:721.93 KB
- 文档页数:8
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的潜力。
(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;图中有提示:当写这个动作激活时,向只读寄存器写值会增加电流的功耗。
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单片机大学计划黄争经理共同策划和审阅,在编写过程中,联合实验室老师和同学付出了辛勤的劳动,在此表示衷心的感谢。
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值,闪烁时间间隔改变。
实验一熟悉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是一款低功耗、高性能的微控制器,广泛应用于嵌入式系统开发领域。
本实验报告将介绍我对MSP430进行的一系列实验,包括基本的GPIO控制、定时器应用、模拟信号采集和通信接口应用等。
实验一:GPIO控制在本实验中,我使用MSP430的GPIO引脚控制LED灯的亮灭。
通过配置引脚的输入/输出模式以及设置引脚电平,我成功地实现了对LED灯的控制。
这为后续实验奠定了基础,也让我更加熟悉了MSP430的寄存器配置。
实验二:定时器应用在本实验中,我探索了MSP430的定时器功能。
通过配置定时器的时钟源和计数模式,我实现了定时器中断功能,并利用定时器中断实现了LED灯的闪烁。
这个实验让我更加深入地了解了MSP430的定时器模块,并学会了如何利用定时器进行时间控制。
实验三:模拟信号采集在本实验中,我使用MSP430的模拟信号输入引脚和模数转换模块,成功地将外部的模拟信号转换为数字信号。
通过配置ADC模块的采样速率和精度,我实现了对模拟信号的准确采集,并将采集到的数据通过串口输出。
这个实验让我对MSP430的模拟信号处理有了更深入的了解。
实验四:通信接口应用在本实验中,我使用MSP430的串口通信模块,实现了与外部设备的数据传输。
通过配置串口的波特率和数据格式,我成功地实现了与计算机的串口通信,并通过串口发送和接收数据。
这个实验让我掌握了MSP430与外部设备进行数据交互的方法。
结论:通过一系列的实验,我对MSP430的基本功能和应用有了更深入的了解。
MSP430作为一款低功耗、高性能的微控制器,具备丰富的外设和强大的处理能力,适用于各种嵌入式系统的开发。
通过学习和实践,我掌握了MSP430的GPIO控制、定时器应用、模拟信号采集和通信接口应用等基本技能,为以后的嵌入式系统开发打下了坚实的基础。
未来展望: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系列十六位超低功耗单片机是德州仪器公司(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.编写一个程序,实现通过串口发送字符串数据,并通过串口接收并显示接收到的数据。
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 按钮进行仿真调试,同时程序也下载进单片机中,如下图所示:
进入仿真之后就可以看到仿真界面,如下图所示:
点击全速云心按钮,运行程序,可以进行暂停或者停止操作,如下图所示:
第四节实验现象
完成第三节的操作之后,就会看到板子上的流水灯现象。
来源:疯壳(深圳)科技有限公司。