如何学习并使用MSP430单片机(入门)
430单片机学习
微控设计网原创主贴作者:DC---随想随打的,可能会有很多错字或语句不通,请指出---在我建立论坛以来,也认识了不少新手,新手们对MSP430单片机都很感兴趣、很有热情。
同时也通过了微控论坛与不同区的网友们进行了交流和互动;在此感谢他们对微控技术论坛的支持。
在论坛中经过和一大部分初学者接触一段时间以来,发现了一些初学者对MSP430的学习不知如何入手、如何才能有效地掌握好MSP430单片机的基础应用方面的问题。
所以,以我个人认为,我大概说说我对一些初学者的建议,有兴趣的初学网友们不防参考下。
希望能给你在MSP430入门路上作一个小小的指引。
首先,我认为在学习MSP430单片机之前要所准备一些“硬件设施”和你自身的“软件条件”。
在这里所谓的“硬件设施”是指一些可以用于实际操作的工具,因为不管你学习什么样的单片机都要实行动手性操作的。
这是必不可少的一部分。
而这些常备工具有:电脑一台、一个MSP430编译环境软件、一个MSP430的JTAG仿真器或自带仿真器的开发板、一个MSP430目标板或开发板和教程书本、一个技术互动平台等。
另外,需要说明的是在学习MSP430单片机是无需用到所谓的编程器的,因为单片机程序通过JTAG仿真器下载到MSP430单片机的flash后就可以保存程序的,就算掉电了下次上电时也可以运行。
关于入门工具方面作一个简述:1-电脑:带windows操作系统,带并行口。
如果你是高档的笔记本电脑不带并口时,也可以用USB接口的仿真器,如微控设计网销售USB接口仿真是一个不错的选择。
2-在选用MSP430仿真器有3个方案可选。
其一,你可以购买现成的MSP430JTAG仿真器如TI-MSP430 JTAG,微控设计网自制MSP430-JTAG,或冰河科技的USB接口JTAG仿真器等这些都是不错的选择。
其二,购买现成的开发板已带有JTAG仿真器,如本站EDB430A或随后的新出开发板。
其三,你可以自行自制,如果你有条件的话不防自行制作,因为电路也较为简单且是公开的。
MSP430教程1
MSP430教程1:MSP430 单片机系列简介1、MSP430 单片机的发展MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。
回忆 MSP430 系列单片机的发展过程,可以看出有这样三个阶段:开始阶段从 1996 年推出 MSP430 系列开始到 2000 年初,这个阶段首先推出有 33X 、32X 、 31X 等几个系列,而后于 2000 年初又推出了 11X 、 11X1 系列。
MSP430 的 33X 、 32X 、 31X 等系列具有 LCD 驱动模块,对提高系统的集成度较有利。
每一系列有 ROM 型( C )、 OTP 型( P )、和 EPROM 型( E )等芯片。
EPROM 型的价格昂贵,运行环境温度范围窄,主要用于样机开发。
这也表明了这几个系列的开发模式,即:用户可以用 EPROM 型开发样机;用 OTP 型进行小批量生产;而 ROM 型适应大批量生产的产品。
2000 年推出了 11X/11X1 系列。
这个系列采用 20 脚封装,内存容量、片上功能和 I/O 引脚数比较少,但是价格比较低廉。
这个时期的 MSP430 已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。
它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的 I/O 引脚等,只有33X 系列才具备。
33X 系列价格较高,比较适合于较为复杂的应用系统。
当用户设计需要更多考虑成本时, 33X 并不一定是最适合的。
而片内高精度 A/D 转换器又只有 32X 系列才有。
寻找突破,引入 Flash 技术随着 Flash 技术的迅速发展, TI 公司也将这一技术引入 M SP430 系列中。
在 2000 年 7 月推出 F13X/F14X 系列,在 2001 年 7 月到 2002 年又相继推出 F41X 、 F43X 、 F44X 这些全部是 Flash 型单片机。
MSP430单片机入门例程
MSP430单片机入门例程MSP430单片机是一款低功耗、高性能的16位单片机,广泛应用于各种嵌入式系统。
下面是一个简单的MSP430单片机入门例程,可以让大家初步了解MSP430单片机的基本使用方法。
所需材料:1、MSP430单片机开发板2、MSP430单片机编译器3、MSP430单片机调试器4、电脑和相关软件步骤:1、安装MSP430单片机编译器首先需要安装MSP430单片机的编译器,该编译器可以将C语言代码编译成MSP430单片机可以执行的机器码。
在安装编译器时,需要选择与您的单片机型号匹配的编译器。
2、编写程序下面是一个简单的MSP430单片机程序,可以让LED灯闪烁:c本文include <msp430.h>int main(void)本文P1DIR |= 0x01; //设置P1.0为输出while(1){P1OUT ^= 0x01; //反转P1.0的状态,LED闪烁__delay_cycles(); //延时一段时间,控制闪烁频率}本文上述程序中,首先定义了P1DIR寄存器,将P1.0设置为输出。
然后进入一个无限循环,在循环中反转P1.0的状态,使LED闪烁。
使用__delay_cycles()函数实现延时,控制LED闪烁频率。
3、编译程序使用MSP430单片机编译器将程序编译成机器码,生成可执行文件。
在编译时,需要注意选择正确的编译器选项和单片机型号。
4、调试程序使用MSP430单片机调试器将可执行文件下载到单片机中,并使用调试器进行调试。
在调试时,可以观察单片机的输出口状态和LED灯的闪烁情况,确保程序正常运行。
随着嵌入式系统的发展,MSP430单片机作为一种低功耗、高性能的微控制器,在各种应用领域中得到了广泛的应用。
为了更好地理解和应用MSP430单片机,我在学习过程中积累了一些经验,现在分享给大家。
MSP430单片机是一种超低功耗的微控制器,由德州仪器(Texas Instruments)推出。
第1章MSP430单片机入门第一例
第1章MSP430单片机入门第一例1.1单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器(MicroController Unit),常用缩写MCU表示单片机。
单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域。
目前,常用的单片机有Intel8051系列单片机;C8051F系列单片机;ATMEL 公司的AVR系列单片机;TI公司的MSP430系列单片机;Motorola单片机;PIC 系列单片机;飞思卡尔系列单片机;STM32系列单片机;ARM系列嵌入式等等。
单片机种类繁多,不同的单片机有着不同的硬件特性和软件特征,产品设计时单片机的选型是一项重要工作。
对于初学者来说千万不要贪多求全,最好的学习方法是选择一款单片机进行深入学习,学好这一款单片机后再触类旁通、举一反三选择最合适的单片机完成实际工程任务。
1.1.1超低功耗的MSP430单片机MSP430系列单片机是TI(Texas Instruments,美国德州仪器)公司近年来推出的一系列优秀的混合型微处理器产品。
MSP430单片机是一种基于RISC(精简指令集计算机)的16位混合信号处理器,专为满足超低功耗需求而精心设计,同时具备很好的数字/模拟信号处理能力,具有智能外设、易用性、低成本、业界最低功耗等优异特性,能满足仪器仪表、工业自动化、国防、家居智能化、医疗保健、智能农业等多方面的需求环境。
MSP430总体结构如图1.1所示,可分为八个部分:1)CPU:MSP430的CPU运行正交的精简指令集,采用16位的ALU(运算器)、指令控制逻辑和16个16位寄存器、27条内核指令及7种寻址模式。
1_第1章 MSP430单片机入门基础
• 在EW430调试状态下,View 菜单里面提供了功能丰富的 查看功能(见图1.2.6): • 1)在线查看变量。 2)通过菜单View->Watch打开观察窗。 3)通过菜单View->Register 打开寄存器窗。 4)通过菜单View->Disassembly打开反汇编窗。 5)通过菜单View->Call Stack打开调用关系窗。 6)通过菜单View->Stack打开堆栈窗。 7)通过菜单View->Memory打开内存窗。
1.3 MSP430单片机C语言基础
1.3.1 1.3.2 1.3.3 变量 数学运算 位操作
1.3.4 1.3.5 1.3.6
1.3.7
寄存器操作 中断 内部函数
库函数
1.3.1 变量
图1.3.1 C语言、编译器和机器码之间的关系
1.3.1 变量
表1.3.1 C430中变量类型
1.3.2 数学运算
1.6.4 1.6.5 1.6.6
风格一致性 注释 宏定义
1.6.1 变量命名规则
变量名尽量使用具有说明性的名称,避免使用a、 b、c、x、y、z等无意义字符。使用范围大的变 量,如全局变量,更应该有一个说明性的名称。 变量名尽量使用名词,长度控制在1~4个单词 最佳。
1.6.2 函数命名规则
和变量一样,函数名称也应具有说明性。函数 名应使用动词或具有动作性的名字,后面可以 跟名词说明操作对象。
MSP430单片机的CPU没有乘法、除法指令,乘 除操作会被编译器转换成移位和加法来实现。 如果乘除的数值刚好是2的幂,可以用移位直接 替代乘除法,运算速度会提高很多。
1.3.3 位操作
位操作指令大部分存在于早期速度不高的CISC处 理器上(以8051为代表),以提高执行效率,弥补 CPU运算速度的不足。目前几乎所有的RISC型处 理器都取消了位操作指令,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值,闪烁时间间隔改变。
MSP430单片机基础与实践
MSP430单片机基础与实践——March 3, 20111.部分英文缩写●UCLK:外部时钟2.MSP430单片机的选型●在芯片的选型上,主要需要考虑以下几个方面:①系统功耗资源要求;②芯片功耗要求(考虑引脚、体积);③系统存储器容量要求。
3.系统复位●上电复位信号:POR(Power On Reset)●上电清除信号:PUC(Power Up Clear)POR信号是器件的复位信号,此信号只有在以下事件发生时才会产生:1) 器件上电时;2) RST/NMI引脚配置为复位模式,当RST/NMI引脚产生低电平时。
当POR信号产生时,必然会产生PUC信号;而PUC信号产生时不会产生POR 信号。
会引起产生PUC信号的事件如下:1) POR信号发生时;2) 启动看门狗,看门狗定时器计满时;3) 向看门狗写入错误的安全参数值时;4) 向片内Flash写入错误的安全参数值时。
4.系统复位后器件的初始化当POR信号或PUC信号发生时引起器件复位后,器件的初始化状态为:1) RST/NMI引脚配置为复位模式;2) I/O引脚为输入模式;3) 状态寄存器复位;4) 程序计数器(PC)装入复位向量地址0FFFEH,CPU从此地址开始执行。
●下面介绍POR和PUC两者之间的关系。
POR信号的产生会导致系统复位并产生PUC信号,而PUC信号不会导致POR信号的产生。
无论是PUC或者是POR信号产生复位后,都会使MSP430从地址0FFFEH开始读取复位中断向量,程序从中断向量所指向的地址开始执行。
触发PUC信号复位的条件中,除了POR信号产生以外,其他都可以通过读取相应的中断向量来判断是什么原因引发了中断。
●系统在POR复位后的状态:1) RST/NMI引脚配置为复位模式;2) 所有I/O引脚被设置为输入;3) 外围模块被初始化,其寄存器为器件手册上的默认值;4) 状态寄存器SR复位;5) 看门狗激活,进入工作模式;6) 程序计数器PC装入0FFFEH处的地址,微处理器从此地址开始执行程序。
MSP430单片机应用笔记
MSP430单片机硬件知识(1)MSP430单片机是TI 公司1996年开始推向市场的超低功耗微处理器,另外他还集成了很多模块功能,从而使得用一片MSP430 芯片可以完成多片芯片才能完成的功能,大大缩小了产品的体积与成本。
如今,MSP430单片机已经用于各个领域,尤其是仪器仪表、监测、医疗器械以及汽车电子等领域。
下面来说一下它的主要特点:(1)低电源电压范围,1.8~3.6V 。
(2)超低功耗,拥有5种低功耗模式(以后会详细介绍)。
(3)灵活的时钟使用模式。
(4)高速的运算能力,16位RISC 架构,125ns 指令周期。
(5)丰富的功能模块,这些功能模块包括:A :多通道10-14位AD 转换器;B :双路12位DA 转换器;C :比较器;D :液晶驱动器;E :电源电压检测;F :串行口USART(UART/SPI );G :硬件乘法器;H :看门狗定时器,多个16位、8位定时器(可进行捕获,比较,PWM 输出);I :DMA 控制器。
(6)FLASH 存储器,不需要额外的高电压就在运行种由程序控制写擦欧哦和段的擦除;(7)MSP430芯片上包括JTAG 接口,仿真调试通过一个简单的JTAG 接口转换器就可以方便的实现如设置断点、单步执行、读写寄存器等调试;(8)快速灵活的变成方式,可通过JTAG 和BSL 两种方式向CPU 内装在程序。
关于他的内存器结构,在匠人的博客里已有详细的介绍,大家去看就是了。
在这里我主要说说MSP430单片机的复位吧。
MSP430的复位信号有2种:上电复位信号(POR )、上电清除信号(PUC )。
还有能够触发POR 和PUC 的信号:5种来在看门狗,1种来自复位管脚,1种来自写FLASH 键值出现错误所产生的信号。
POR 信号只在2种情况下发生:(1)微处理上电;(2)RST/NMI 管脚上产生低电平时系统复位。
PUC 信号产生的条件:(1)POR 信号产生;(2)看门狗有效时,看门狗定时器溢出;(3)写看门狗定时器安全键值出现错误;(4)写FLASH 存储器安全键值出现错误。
MSP430入门
MSP430入门硬件初步这只是我在学习TI公司生产的16位超的功耗单片机MSP430的随笔,希望能对其他朋友有所借鉴,不对之处还请多指教。
下面,开始430之旅。
讲解430的书现在也有很多了,不过大多数都是详细说明底层硬件结构的,看了不免有些空洞和枯燥,我认为了解一个MCU的操作首先要对其基础特性有所了解,然后再仔细研究各模块的功能。
1.首先你要知道msp430的存储器结构。
典型微处理器的结构有两种:冯。
诺依曼结构——程序存储器和数据存储器统一编码;哈佛结构——程序存储器和数据存储器;msp430系列单片机属于前者,而常用的mcs51系列属于后者。
0-0xf特殊功能寄存器;0x10-0x1ff外围模块寄存器;0x200-?根据不同型号地址从低向高扩展;0x1000-0x107f seg_b0x1080_0x10ff seg_a 供flash信息存储剩下的从0xffff开始向下扩展,根据不同容量,例如149为60KB,0xffff-0x11002.复位信号是MCU工作的起点,430的复位信号有两种:上电复位信号POR和上电清除信号PUC。
POR 信号只在上电和RST/NMI复位管脚被设置为复位功能,且低电平时系统复位。
而PUC信号是POR信号产生,以及其他如看门狗定时溢出、安全键值出现错误是产生。
但是,无论那种信号触发的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。
复位后的状态不写了,详见参考书,嘿嘿。
3.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。
430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ -8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。
(经验中发现,接XT2时,需要注意自己开启XT2,并延时50us等待XT2起振,然后手工清除IFG1中的OFIFG位,其操作顺序为:打开XT2->等待XT2稳定->切换系统时钟为XT2)430有三种时钟信号:MCLK系统主时钟,可分频1 2 4 8,供cpu使用,其他外围模块在有选择情况下也可使用;SMCLK系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK辅助时钟,只能由LFXT1产生,供外围模块。
MSP430单片机入门基础例程1
作者:DC 微控技术论坛原创 MSP430单片机入门基础例程若想了解MSP430单片机常用模块应用原理,请下载<<MSP430F常用模块应用原理>>/datasheet/msp430/msp430base/MSP430register_guide.pdf由于IO应用原理比较简单,所以我主要以MC430F14开发板的实例来讲解。
新手用户可以参与其应用思路。
计划推出几个有价值的参考例程:[1]直接IO按键检测处理程序(非低功耗方式)[2]IO口中断演示程序[3]利用IO中断方式实现按键检测程序(低功耗方式)实验制作如下图,新手用户轻松地在MC430F14开发板上实现。
例程[1]://MSP430F14-直接IO口按键检处理程序/*************************************************************************///以下是结合MC430F14开发板来实现的按键检处理程序实验.//分别使用了采个三个按键接到MSP430的通用IO口,按任意一个按键可以使板上的LED反转.//例程中,按键采用不断查询方式,以得到键值.并没有使用到低功耗.此程序结构比较适合//用在非手持设备或非电池供电的设计中.此程序结构比较通用,级用户可参与或套用修改. //应用目标板: MC430F14开发板/*************************************************************************/#include <msp430x14x.h>//初级用户要习惯采用宏定义,以方便的编写和修改#define keyio 0xf8 //定义按键IO口,Px0-Px2 IO口.#define key_1 0xfe //定义返回键值1#define key_2 0xfd //定义返回键值2#define key_3 0xfb //定义返回键值3//声明子程序unsigned char key_chcek(void);void display_update(unsigned char dta);void key_process_0(void);void key_process_1(void);void key_process_2(void);//*************************************************************************//将单片机初始化程序放在main()前面是方便查看单片机的初始化状态情况.void MCU_int(void){//默认MCLK主时钟频率为DCO=~800KP1OUT |= BIT1; //设置LED,上电为灭.电路可以查看MC430F14电路图.P1DIR |= BIT1; //P1.1设置为输出.//MSP430单片机IO口上电默认方向为输入,所以接按键的IO无需再设为输入.}//************************************************************************* void main (void){ unsigned char key_value; //定义键值全局变是WDTCTL = WDTPW + WDTHOLD; //关狗MCU_int(); //初始化单片机while(1) //主程序主循环{key_value=key_chcek(); //检测,有键按下并松开,返回一个键值.switch (key_value) //对键值进行处理.采switch语法结构查询{case key_1: key_process_0(); //调用键处理程序1break;case key_2: key_process_1(); //调用键处理程序2break;case key_3: key_process_2(); //调用键处理程序2break;default: ; //调用键处理程序4break;}display_update(key_value); //如果有需要可以在这里加上显示更新程序.key_value=0x00; //最后清除键值.将继续主循环.}}//*************************************************************************//按键检测程序//返回值: 无符号字符型键值unsigned char key_chcek(void){unsigned int i;unsigned char timp,active;active=0;while(!active){while(0xff ==( P2IN | keyio)); //一直等待有键按下timp = P2IN | 0xf8; //若有键接下了,则读入IO状态.for(i=0;i<7000;i++); //延时,是为了去按键抖动.if (timp ==(P2IN | 0xf8)) //经延时后,还是那键吗?{ active = 1; //是,则按键有效.while(0xff !=( P2IN | keyio)); //一直等待按键松开}else{ //去按键抖动后读入的键值与之前不同.则先效. active = 0; //再循环检测.}}return timp; //返回一个键值.}//************************************************************************* void key_process_0(void) //值处理,用户可以自己修改...{P1OUT ^= BIT1;}//*************************************************************************void key_process_1(void) //值处理,用户可以自己修改...{P1OUT ^= BIT1;}//************************************************************************* void key_process_2(void) //值处理,用户可以自己修改...{P1OUT ^= BIT1;}//************************************************************************* void display_update(unsigned char dta){; //用户可以根据需要来放置显示程序,如LCD,LED,Digital-LED....//灵活应用,}//************************************************************************* 例程[2]://MSP430F14-IO口中断演示程序/*************************************************************************/ //以下是结合MC430F14开发板来实现的按键检处理程序实验.//设置P2.0为中断口,通过对IO的下边沿触发,使其中断,并将板上的D2 LED取反. //应用目标板: MC430F14开发板/*************************************************************************/ #include <msp430x14x.h>void main(void){WDTCTL = WDTPW + WDTHOLD; // 停止看门狗P1DIR |= BIT1; // 设P1.1为输出P2IE |= BIT0; // P2.0中断使能P2IES |= BIT0; // P2.0 IO口边沿中断触发模式,下边沿有效 P2IFG &= ~BIT0; // P2.0 清IO中断标志位_EINT(); //开总中断允许LPM4; //进入低功耗模式4,此时单片机功耗最低.}//************************************************************************* // P2口中断服务程序#pragma vector=PORT2_VECTOR__interrupt void Port_2(void){P1OUT ^= BIT1; // P1.1取反P2IFG &= ~0x01; // P2.0清除相应中断标志位}//************************************************************************* //使IO中断时新手们要了解以下几点://1- MSP430的IO中,只有P1,P2才有IO中断功能.//2- P1,P2每组IO是多源中断源,P1IG0-P1IG7或P2IG0-P2IG7是共一个中断源的,用户可以//通过查房方式来得到是那个IO产生了中断.//3- 改变P1IES或P2IES中的位可能会引起相应中断标志位置位,与引脚电平有关.// PxIES.x PxIN.x PxIFG.x// 0->1 0 不变// 0->1 1 可能置位// 1->0 0 可能置位// 1->0 1 不变//所以,改变P1IES或P2IES后,根据需要清除相关的PxIG.x位.//4- PxIFG.x所有中断标志位在置位后是需要人为清除的.硬件不会自动清除该标位.DC,2007-01-27 02:47:12例程[3]://MSP430F14-利用IO中断方式实现按键检测程序/*************************************************************************///以下是结合MC430F14开发板来实现的按键检处理程序实验.//分别使用了采个三个按键接到MSP430的通用IO口,按任意一个按键可以使板上的LED反转.//例程中,单片机一直处于最低功耗状态,用户可以通过按下按键后唤醒单片机.单片机唤醒//后再进行去抖动动作.同时执行键处理程序.处理完后再次进入LPM4低功耗模式.//在本程序中用户可以灵活地修改程序来实现你相关的功能.//本程序适用在手持设备或电池供电的设计中.此程序结构比较通用,级用户可参与或套用修改.//应用目标板: MC430F14开发板/*************************************************************************/#include <msp430x14x.h>#define key1 0x01#define key2 0x02#define key3 0x04#define delay_small 200#define key_1 0xfe //定义返回键值1#define key_2 0xfd //定义返回键值2#define key_3 0xfb //定义返回键值3void key_process_0(void);void key_process_1(void);void key_process_2(void);void key_check (void);unsigned char key_value; //定义键值全局变是//************************************************************************* void main(void){WDTCTL = WDTPW + WDTHOLD; // 停止看门狗P1OUT |= BIT1; //关LEDP1DIR |= BIT1; // 设置P1.1为输出//以下设置是采用不同的编写方式,新手可以参考使用P2IE |= BIT0+BIT1+BIT2; // P2.0-P2.2 IO口中断使能P2IES |= 0x07; // P2.0-P2.2 IO口边沿触发中断方式设置 P2IFG &= ~(key1+key2+key3); // P2.0-P2.2 IO口中断标志位清除_EINT(); //中断允许// 或直接写成 _BIS_SR(LPM4_bits + GIE);LPM4; // 进入低功耗LPM4,此时单片机功耗最低while(1){P2IE &= ~(BIT0+BIT1+BIT2); // P2.0-P2.2 IO口关闭中断允许P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除key_check ();switch (key_value) //对键值进行处理.采switch语法结构查询 {case key_1: key_process_0(); //调用键处理程序1break;case key_2: key_process_1(); //调用键处理程序2break;case key_3: key_process_2(); //调用键处理程序2break;default: break;}key_value=0x00; //键值清除P2IE |= BIT0+BIT1+BIT2; // P2.0-P2.2 IO口中断使能P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除LPM4;}}//************************************************************************* //P2中断服务程序#pragma vector=PORT2_VECTOR__interrupt void Port_2(void){switch (P2IFG){case 0x01: key_value=0xfe;break;case 0x02: key_value=0xfd;break;case 0x04: key_value=0xfb;break;default: P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除break;}P2IFG &= ~0x07; // P2.0-P2.2 IO口中断标志位清除LPM4_EXIT;}//************************************************************************* void key_process_0(void) //值处理,用户可以自己修改...{P1OUT ^= BIT1;}//************************************************************************* void key_process_1(void) //值处理,用户可以自己修改...{P1OUT ^= BIT1;}//************************************************************************* void key_process_2(void) //值处理,用户可以自己修改...{P1OUT ^= BIT1;}//************************************************************************** void key_check (void){ unsigned int i;for(i=0;i<delay_small;i++); //延时去抖动if(0xff !=(P2IN & 0xf8)) //是否有键存在?{while(0xff !=( P2IN | 0xf8)); //一直等待按键松开}elsekey_value = 0x00; //延时去抖动无键按下,则清除键变量.}//**************************************************************************//如果在按键电路中加RC滤波电路,实现按键去抖动的效果会更显著此.DC,2007-01-30 00:37:31已更新!jdgxcu,2007-02-04 22:03:10顶,对初学很实用,不知怎么加入RC去抖DC,2007-02-04 22:39:45按键与IO之间加一个RC电路:IO口与按键之前加一个电阻,在IO口那端并一个电容下地。
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
[3]综合上面的理解,建议结合TimerA的例程来进行相关验证,只有通过亲自的操作才能有效地记住。
学习进阶:
如利用TimerA实现PWM信号输出、利用捕获/比较功能实现捕获信号等等。
【结束语】
非常新手只要经过上述四个单元有条理地认真学习的话,我相信基本对MSP430单片机入门已有一定感性认识了。有了这些基础,接下要继续学习其他相关的模块应用也不难了。只要你了解到尽多模块中,在你的实际中不一定能用上;就算用上了这些模块也未必能全部应用他的全部功能。那么你可以 按需而用,需要的你就要去理解他和应用他。不必要的可以暂时放下。
在上面的过程中,就是熟悉和撑握这些模块的过程。在这个“学”和“练”的过程中很多都是靠你个人的。当你请教前辈时,人家只会告诉你一些参考思路或方向;往往里面的内容都要自己亲身去验证的。学习当中会往往存在着很“乐事”和“苦事”,相信很多成功的工程师们都会有这样的体会。
当然,我们很欢迎将你的“学、练”过程中的苦与乐与我们在微控论坛中分享。
【WDT看门狗定时器】
很有趣,相信新手们会看到很例程中开头都有“WDTCTL = WDTPW + WDTHOLD;”语句。这是CUP执行关闭定时器的意思。在这里我建议非常新手暂时不要去理会这个定时器应用。在刚入门阶段,建议跳过这章节。此时你只要大概地知道他的作用就好了。看门狗定时器一般是用于防止程序失效而存在的,一般是用于完整的程序中使用。主程序中可不断地清除看门狗定时器的计数值,以防定时器的值自动计满后使CPU复位而重新开始工作。当程序发生错误时,无法正常清除看门狗的定时值时则看门狗定时器计数溢出而产生CUP复位。对于看门狗定时器的使用,建议在应用进阶阶段中学习。
MSP430初学者注意事项
元件自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。
自制实验电路板与自制FET一样,首先画电路图,然后买元件,再画电路板。
由于MSP430系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上松香水,在松香水未干的情况下,将芯片放在焊盘上,注意芯片第一引脚的位置,并使引脚与焊盘对齐,将擦干净的电烙铁(不能有任何焊锡)接触引脚,引脚只要一热,焊盘上的焊锡就自动将引脚焊住了,千万注意电烙铁上不能有焊锡,焊接时最好配备一个放大镜。
焊接电路板时,每一个元件都要核对参数,可以用万用表测量的元件一定要测量。
(4)从网上获得IA R软件到利尔达公司或TI公司的网站下载IA R软件,并安装到计算机上。
(5)调试FET和实验板将FET的一端与PC机的并行口相连,另一端连接实验板的JTAG接口,上电后,检查FET 芯片、实验板上的单片机芯片是否发热(用手模),PC机是否工作正常后,运行IA R软件,找个C语言或汇编语言的例子,编译成功后下载到单片机中,如果能够下载,说明一切成功。
否则还需要仔细研究,一般情况下,只要电路板上的电路正确,元件参数准确,没有不成功的。
(6)分步骤学习单片机学习使用单片机就是理解单片机硬件结构,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字I/O的使用使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
msp430单片机教程
msp430单片机教程MSP430单片机是一种经典的低功耗、高性能的微控制器,被广泛应用于嵌入式系统中。
它具有很多特点,比如低功耗、宽工作电压范围、快速启动速度等。
本文将介绍MSP430单片机的基本知识和使用方法。
首先,我们需要了解MSP430单片机的结构。
MSP430包括CPU、内存、I/O接口等多个部分。
CPU是控制单元,负责处理指令和数据。
内存是存储器,用于存储程序和数据。
I/O接口用于与外部设备进行通信。
MSP430单片机使用C语言进行编程。
编程的基本步骤包括初始化、读取输入、处理数据、输出结果等。
编程时,需要了解寄存器的使用方法和I/O接口的配置。
MSP430提供了丰富的库函数和工具,方便开发人员进行程序开发和调试。
MSP430单片机的应用范围广泛。
它可以用于物联网设备、传感器、控制器、无线通信等多个领域。
由于其低功耗的特点,MSP430单片机在电池供电设备中得到了广泛应用。
其性能优越和易用性也使得它成为嵌入式系统中的首选单片机。
MSP430单片机教程包括了一系列基础和高级的内容。
基础教程首先介绍了MSP430单片机的基本知识,包括硬件结构、编程环境和工具的使用等。
然后,通过一系列实践案例,教授学生如何编写简单的程序。
高级教程则深入讲解了MSP430单片机的一些高级特性和应用,如中断、定时器、串口通信等。
在学习MSP430单片机时,还需要学习如何使用开发板和调试工具。
开发板是连接MSP430单片机和计算机的桥梁,提供了丰富的外设接口。
通过合理配置开发板,可以实现多种外设的功能。
调试工具可以帮助开发人员进行程序的调试和性能优化,提高开发效率和质量。
总之,MSP430单片机是一种功能强大、易用且低功耗的微控制器。
学习MSP430单片机的教程可以帮助我们掌握嵌入式系统的开发和应用。
通过学习,我们可以深入了解MSP430单片机的原理和使用方法,为实际应用提供有力的支持。
MSP430单片机新手上路-资料篇
MSP430单片机新手上路-资料篇(转)MSP430基础介绍Q1. MSP430使用8M的时钟刷新320 * 240的LCD点阵,不能及时刷新,而改用ARM后可以?A1:以前的MSP430为8MIPS的速度,但是并非MSP430的指令都是一个CYC的,MSP430指令的执行时间依赖于指令形式,寻址方式。
对于I/O操作的指令来说,消耗的指令周期为3个CYC,所以相对于I/O操作的效率并没有达到8MIPS。
要解决这个问题,可以使用今后已经推出的2XX系列或即将推出的5XX系列,她们的频率最高分别可达到16M和25M。
Q2.MSP430直接操作FLASH,RAM,是否需要累加器作Buff?A2:不需要,MSP430的寻址采用的Atomic的形式,任何地址的访问都可以做到直接访问,有效地解决了累加器的瓶颈。
Q3. MSP430单片机中乘法器是如何使用的?A3:MSP430单片机中有很多带有硬件乘法器。
如MSP430F149 在汇编中使用硬件乘法器只需要将乘数与被乘数放入相应得寄存器,经过一个CPU时钟后在将结果从寄存器中取出即可。
可参考《MSP430X4XX Family User’s Guide》中的第七章。
在C语言中,乘法的运算会由编译器自动的放入乘法器完成,用户不用直接的去操作乘法器。
Q4. FW和FE的特点?A4:MSP430FW42X是在MSP430F415的基础上集成了一个Scan IF 模块。
Scan IF模块通过对LC传感器震荡幅值的检测来确定L所处的位置,经状态处理机和时间处理机得到物体运动的变化。
目前被广泛用于Giant magneto-resistive、Hall-effect等领域。
MSP430FE42X是在MSP430F42X的基础上集成了一个电能计量模块(ESP430CE1),利用这个模块,可以自动的算出电能表的常用参数如有功功率,无功功率,相位,频率,电压,电流等。
用户只需要直接的去相应得寄存器读取就可以了。
综合应用开发-MSP430单片机学习-第三课
02
在“Options”对话框中,选 择“Board”选项卡,根据所 使用的MSP430单片机型号选 择相应的配置。
03
确保配置正确的编译器、调试 器等选项,以便进行正确的开 发和调试。
创建MSP430单片机工程
在IAR Embedded Workbench中,选择“Project”菜单,选择“Create New Project”。
特点
可配置为输入或输出模式,具有上拉、下拉、开漏、推挽等输出方式。
GPIO寄存器配置
01
数据寄存器
用于存储GPIO的输入或输出数 据。
控器
用于配置GPIO的工作模式和控 制信号。
用于设置GPIO的输入/输出类型、 上拉/下拉电阻等参数。
GPIO基本操作
1 2
输入操作
读取数据寄存器的值,根据该值判断外部设备的 状态。
医疗设备
用于监测和记录患者的生理参数,如心电图、 血压等。
无线通信
用于无线传输数据和控制信号,如RFID、蓝 牙等。
工业自动化
用于控制和监测生产过程,如电机控制、传 感器数据采集等。
MSP430单片机的发展趋势
更低功耗
随着物联网和智能设备的普及,对低功耗单片机的需求越来越大, MSP430单片机将继续优化低功耗技术。
Timer_B等。
定时器功能
03
定时器的主要功能包括时间延迟、事件计数、脉冲生
成等。
定时器寄存器配置
定时器控制寄存器
用于设置定时器的模式、启动/停止等控制 功能。
定时器计数寄存器
用于存储定时器的计数值,可以设置初始值 和增量。
定时器比较寄存器
用于设置定时器的比较值,当计数值达到比 较值时触发相应的操作。
msp430单片机入门知识
PORT2_VECTOR (1 * 2u) /* 0xFFE2 P2 */ PORT1_VECTOR (4 * 2u) /* 0xFFE8 P1 */ TIMERA1_VECTOR (5 * 2u) /* 0xFFEA Timer A CCR1/2*/ TIMERA0_VECTOR (6 * 2u) /* 0xFFEC Timer A CCR0 */ USART0TX_VECTOR (8 * 2u) /* 0xFFF0 串口发送 */ USART0RX_VECTOR (9 * 2u) /* 0xFFF2 串口接收*/ WDT_VECTOR (10 * 2u) /* 0xFFF4 Watchdog Timer */ SD16_VECTOR (12 * 2u) /* 0xFFF8 16位ADC */ NMI_VECTOR (14 * 2u) /* 0xFFFC Non-maskable */ RESET_VECTOR (15 * 2u) /* 0xFFFE Reset */
20
中断的具体过程
1. 事先将中断服务程序入口地址装入中断 向量表。
2. 中断发生后,如果中断被允许(可屏蔽 中断),CPU将当前程序地址和CPU状 态寄存器SR压入堆栈。
3. 跳转到中断服务程序入口,备份寄存器 入堆栈。
4. 开始执行中断服务程序。 5. 退出中断前,恢复寄存器。CPU取回SR
寄存器,跳转回中断前主程序地址。
6
MSP430FE425A资源 1. 8M/s处理速度 2. 512RAM(数据)+16KB Flash(程序代码) 3. 内置Flash控制器,剩余Flash可存数据。 4. 内置时钟管理单元,可内部倍频 5. 3路同步采样、差分输入、32倍程控增益放大器的16位ADC 6. 温度传感器 7. 1.2V基准源和输出缓冲器 8. 128段LCD驱动器 9. 增强UART串口 10. 看门狗 11. BasicTimer定时器 12. 16位TimeA定时器,3路捕获和2路PWM 13. 内置BOR复位电路 14. 16个双向可中断IO口 15. 内置电能计量模块 16. 后缀带A的,比如FE425A带硬件乘法器
MSP430初学者教程(最详细)
如何学习MSP430单片机学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。
下面以MSP430系列单片机为例,解释一下学习单片机的过程。
(1)获取资料购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET 使用指导、MSP430 F1xx系列、F4xx系列的使用说明和具体单片机芯片的数据说明,可以找到仿真器FET的电路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。
英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。
(2)购买仿真器FET和实验电路板如果经济条件不错,可以直接购买。
(3)自制仿真器FET和实验电路板自制仿真器FET,首先要到网上找到FET电路图,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。
FET电路非常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画原理图,画完原理图后,就学习认识元件封装,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给电路板制作公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。
自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。
自制实验电路板与自制FET一样,首先画电路图,然后买元件,再画电路板。
由于MSP430系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上松香水,在松香水未干的情况下,将芯片放在焊盘上,注意芯片第一引脚的位置,并使引脚与焊盘对齐,将擦干净的电烙铁(不能有任何焊锡)接触引脚,引脚只要一热,焊盘上的焊锡就自动将引脚焊住了,千万注意电烙铁上不能有焊锡,焊接时最好配备一个放大镜。
MSP430开发入门基础 C语言编程起步
MSP430开发入门基础C语言编程起步讲解430的书现在也有很多了,不过大多数都是详细说明底层硬件结构的,看了不免有些空洞和枯燥,我认为了解一个MCU的操作首先要对其基础特性有所了解,然后再仔细研究各模块的功能。
1.首先你要知道msp430的存储器结构。
典型微处理器的结构有两种:冯。
诺依曼结构程序存储器和数据存储器统一编码;哈佛结构程序存储器和数据存储器;msp430系列单片机属于前者,而常用的mcs51系列属于后者。
0-0xf特殊功能寄存器;0x10-0x1ff外围模块寄存器;0x200-?根据不同型号地址从低向高扩展;0x1000-0x107f seg_b0x1080_0x10ff seg_a 供flash信息存储剩下的从0xffff开始向下扩展,根据不同容量,例如149为60KB,0xffff-0x11002.复位信号是MCU工作的起点,430的复位信号有两种:上电复位信号POR和上电清除信号PUC。
POR信号只在上电和RST/NMI复位管脚被设置为复位功能,且低电平时系统复位。
而PUC信号是POR信号产生,以及其他如看门狗定时溢出、安全键值出现错误是产生。
但是,无论那种信号触发的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。
复位后的状态不写了,详见参考书,嘿嘿。
3.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。
430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ-8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。
(经验中发现,接XT2时,需要注意自己开启XT2,并延时50us等待XT2起振,然后手工清除IFG1中的OFIFG位,其操作顺序为:打开XT2-》等待XT2稳定-》切换系统时钟为XT2)430有三种时钟信号:MCLK系统主时钟,可分频1 2 4 8,供cpu使用,其他外围模块在有选择情况下也可使用;SMCLK系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK辅助时钟,只能由LFXT1产生,供外围模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何学习MSP430单片机
如何学习MSP430单片机。
下面以MSP430系列单片机为例,解释一下学习单片机的过程。
(1)获取资料
购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET使用指导、MSP430 F1xx系列、F4xx系列的使用说明和具体单片机芯片的数据说明,可以找到仿真器FET的电路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。
英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。
(2)购买仿真器FET和实验电路板
如果经济条件不错,可以直接购买。
(3)自制仿真器FET和实验电路板
自制仿真器FET,首先要到网上找到FET电路图,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。
FET电路非常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画原理图,画完原理图后,就学习认识元件封装,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给电路板制作公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。
自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。
自制实验电路板与自制FET 一样,首先画电路图,然后买元件,再画电路板。
由于MSP430系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:
首先在焊盘上涂上松香水,在松香水未干的情况下,将芯片放在焊盘上,注意芯片第一引脚的位置,并使引脚与焊盘对齐,将擦干净的电烙铁(不能有任何焊锡)接触引脚,引脚只要一热,焊盘上的焊锡就自动将引脚焊住了,千万注意电烙铁上不能有焊锡,焊接时最好配备一个放大镜。
焊接电路板时,每一个元件都要核对参数,可以用万用表测量的元件一定要测量。
(4)从网上获得IAR软件
到利尔达公司或TI公司的网站下载IAR软件,并安装到计算机上。
(5)调试FET和实验板
将FET的一端与PC机的并行口相连,另一端连接实验板的JTAG接口,上电后,检查FET芯片、实验板上的单片机芯片是否发热(用手模),PC机是否工作正常后,运行IAR软件,找个C语言或汇编语言的例子,编译成功后下载到单片机中,如果能够下载,说明一切成功。
否则还需要仔细研究,一般情况下,只要电路板上的电路正确,元件参数准确,没有不成功的。
(6)分步骤学习单片机
学习使用单片机就是理解单片机硬件结构,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
第一步:数字I/O的使用
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。
每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
第二步:定时器的使用
学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。
数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控
制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。
定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。
第三步:中断
单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。
要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。
中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。
中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。
以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。
第四步:与PC机进行RS232通信
单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个U SART接口。
,USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。
USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。
正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。
试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!
第五步:学会A/D转换
MAP430单片机有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。
学习时注意模拟地与数字地、参
考电压、采样时间,转换速率,转换误差等概念。
使用A/D转换功能的简单的例子是设计一个电压表。
第六步:学会PCI、I2C接口和液晶显示器接口
这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。
第七步:学会比较、捕捉、PWM功能
这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。
如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。
第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计
学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。
到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。
即使如此,也算是单片机大虾了。
顺便说一句,MSP430单片机的技术支持是非常好的,负责任的工程师大虾会在关键时候,挺身而出,使你化险为夷。
6. 达到理想境界
达到理想境界是困难的,在知识爆炸的年代里,即使天天学习,也很难跟上科学技术的发展,更何况每天还要为找工作、提职称、写论文、搞科研经费、政治学习、买房、购车、柴、米、油、盐、酱、醋、茶等忙活,那么,还需要学习吗?回答是肯定的,人就是为兴趣而活,爱好单片机才能学会单片机,不为什么目的,只为学习的乐趣,当然要是兴趣也能赚钱,则是一举两得。
学会使用单片机其实是学会了使用工具,充其量是个补锅、锔碗的匠人。
如果再要进步,就需要在信号识别、控制理论、数字信号处理理论、通信理论等方面下工夫,只有这样,才能开发出高水平、高附加值、具有知识产权的产品,达到熟练运用降龙十八掌,打遍天下无敌手的至高境界。
单片机是DSP、嵌入式操作系统等高级硬件产品开发的基础。
如果想要进一步的发展,必须学会单片机的开发。
如果在学会单片机的基础之上,学会CPLD和FPGA的开发以及硬件描述语言,就可以在高速产品的开发方面获得一杯羹。