MSP430F149_CONFIG.H(中文)
msp430f149技术资料
MSP430是德州公司新开发的一类具有16位总线的带FLASH的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器。
具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M的时钟。
由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化,MSP430系列将会得到越来越多人的喜爱。
第三章MSP430F149 资源的应用介绍及开发第一节中断介绍及存储器段介绍中断在MSP430中得以广泛的应用,它可以快速进入中断程序,之后返回中断前的状态,其时序为:PC执行程序中断允许置位SR中的GIE置位 EINT(中断开)中断到,中断标志位(IFG)置位从中断向量表中读取中断程序的入口地址,进入中断程序执行中断程序中断允许位复位 RETI中断返回回到原来地址。
具体应用将会在应用程序中的到应用。
有关中断源和中断优先级及中断允许位、中断标志位在参考资料1上有详细介绍。
MSP430单片机的片上存储器共为64K,表示为图:第三节 P 口MSP430F149有6个8位的P口,其中P1、P2口占两个中断向量,共可以接16 个中断源,还可以直接利用 P口的输入输出寄存器,直接对外进行通信。
MSP430F149中文资料--部分
基于MSP430F149的GPS
(芯片篇)
1、系统功能框图
2芯片资料:
MSP430F149:
低电源电压范围:1.8~3.6V
超低功耗:待机模式:1.6uA 关闭模式(RAM保持):0.1uA 活动模式:280uA at 1MHz,2.2V
5种省电模式
6us内从待机模式唤醒
16位RISC结构,125ns指令周期
带内部参考,采样保持和自动扫描特性的12位A/D转换器
有7个捕获/比较寄存器的16位定时器Timer_B 有3个捕获/比较寄存器的16位定时器Timer_A
片内集成比较器
串行在线编程,无需外部编程电压,安全熔丝可编程代码保护.
器件系列包括:–MSP430F133:8KB+256B闪速存储器,256B的RAM –MSP430F135:16KB+256B闪速存储器,512B的RAM –MSP430F147,MSP430F1471:32KB+256B闪速存储器,1KB的RAM –MSP430F148, MSP430F1481:48KB+256B闪速存储器,2KB的RAM –MSP430F149, MSP430F1491:60KB+256B闪速存储器,2KB的RAM
可用封装:64脚方形扁平封装(QFP).
功能框图。
基于MSP430F149单片机毕业论中英文对照资料外文翻译文献
毕业设计外文资料翻译基于MSP430F149单片机的最小系统设计及其应用摘要:单片机最小系统,或称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对于MSP430系列单片机来说,最小系统一般包括:单片机,电源模块,晶振模块,复位电路模块,JTAG接口电路。
本文介绍了MSP430F149单片机的特点及基于MSP430F149单片机的最小系统设计及其应用,并介绍了各模块的组成及功能。
包括数码管显示模块,LED灯显示模块,LCD液晶显示模块,8位独立键盘等电路模块及扩展应用。
该最小系统可进行在线下载,仿真和调试,经实验证明原理正确可靠,可以广泛应用于教学,科研和电子设计领域。
通过加载相应模块可以制作成实用的产品,具有很大的实用性。
关键词MSP430;最小系统;电路设计;仿真;调试随着现代电子技术和计算机技术的飞速发展,单片机技术已经渗透到人类生活的各个方面,在自动化装置、智能化仪器仪表、过程控制和家用电器等许多领域得到日益广泛的应用, 单片机家族也越来越庞大,品种越来越多,且在技术上各有特色, 美国德州仪器公司(TI公司)新推出的MSP430F149单片机功耗低, 功能强大, 为广大硬件设计师所青睐。
单片机芯片配以必要的外部器件,一般包括电源供入及电源开关、复位电路、晶振、输入输出电路等就能构成最小系统,结构简单。
MSP430F149芯片有60KB+256字节FLASH,2KBRAM,包括基本时钟模块、看门狗定时器、带3个捕获/比较寄存器和PWM输出的16位定时器、带7个捕获/比较寄存器和PWM输出的16位定时器、2个具有中断功能的8位并行端口、4个8位并行端口、模拟比较器、12位A/D转换器、2个串行通信接口等模块。
MSP430F149芯片具有如下特点: (1)功耗低:电压2.2V、时钟频率1MHz时,活动模式芯片电流为200μA,关闭模式时电流仅为0.1A;(2)高效16位RISC-CPU,27条指令,8MHz时钟频率时,指令周期时间为125ns,绝大多数指令在一个时钟周期完成;(3)低电压供电、宽工作电压范围:1.8~3.6V;(4)灵活的时钟系统:两个外部时钟和一个内部时钟;(5)低时钟频率可实现高速通信;(6)具有串行在线编程能力;(7)强大的中断功能;(8)唤醒时间短,从低功耗模式下唤醒仅需6μs;(9)ESD保护,抗干扰力强;(10)运行环境温度范围为-40~+85℃,适合于工业环境。
MSP430F149四路输出12864显示
#include <msp430f149.h>#define Num_of_Results 8#define BIT(x) (1 << (x))#define uchar unsigned char#define uint unsigned intuchar shuzi[] = {"0123456789."};const uchar *ptr[10];static uint results[Num_of_Results]; //保存ADC转换结果的数组static uint results1[Num_of_Results]; //保存ADC转换结果的数组static uint results2[Num_of_Results]; //保存ADC转换结果的数组static uint results3[Num_of_Results]; //保存ADC转换结果的数组void Trans_val(uint Hex_Val);void Trans_val1(uint Hex_V al);void Trans_val2(uint Hex_V al);void Trans_val3(uint Hex_V al);extern const unsigned char shuzi_table[];void Send(uchar type,uchar transdata);/**********液晶控制IO的宏定义*************/#define cyCS 0 //P3.0,片选信号#define cySID 1 //P3.1,串行数据#define cyCLK 2 //P3.2,同步时钟#define cyPORT P3OUT#define cyDDR P3DIR/*******************************************函数名称:delay_Nus功能:延时N个us的时间参数:n--延时长度返回值:无********************************************/void delay_Nus(uint n){uchar i;for(i = n;i > 0;i--)_NOP();}/*******************************************函数名称:delay_1ms功能:延时约1ms的时间参数:无返回值:无********************************************/void delay_1ms(void){uchar i;for(i = 150;i > 0;i--) _NOP();}/*******************************************函数名称:delay_Nms功能:延时N个ms的时间参数:无返回值:无********************************************/void delay_Nms(uint n){uint i = 0;for(i = n;i > 0;i--)delay_1ms();}/*******************************************函数名称:Ini_Lcd功能:初始化液晶模块参数:无返回值:无********************************************/void Ini_Lcd(void){cyDDR |= BIT(cyCLK) + BIT(cySID) + BIT(cyCS); //相应的位端口设置为输出delay_Nms(100); //延时等待液晶完成复位Send(0,0x30); /*功能设置:一次送8位数据,基本指令集*/delay_Nus(72);Send(0,0x02); /*DDRAM地址归位*/delay_Nus(72);Send(0,0x0c); /*显示设定:开显示,不显示光标,不做当前显示位反白闪动*/delay_Nus(72);Send(0,0x01); /*清屏,将DDRAM的位址计数器调整为“00H”*/delay_Nus(72);Send(0,0x06); /*功能设置,点设定:显示字符/光标从左到右移位,DDRAM地址加1*/ delay_Nus(72);}/*******************************************函数名称:Send功能:MCU向液晶模块发送1一个字节的数据参数:type--数据类型,0--控制命令,1--显示数据transdata--发送的数据返回值:无********************************************/void Send(uchar type,uchar transdata){uchar firstbyte = 0xf8;uchar temp;uchar i,j = 3;if(type) firstbyte |= 0x02;cyPORT |= BIT(cyCS);cyPORT &= ~BIT(cyCLK);while(j > 0){if(j == 3) temp = firstbyte;else if(j == 2) temp = transdata&0xf0;else temp = (transdata << 4) & 0xf0;for(i = 8;i > 0;i--){if(temp & 0x80) cyPORT |= BIT(cySID);else cyPORT &= ~BIT(cySID);cyPORT |= BIT(cyCLK);temp <<= 1;cyPORT &= ~BIT(cyCLK);}//三个字节之间一定要有足够的延时,否则易出现时序问题if(j == 3) delay_Nus(600);else delay_Nus(200);j--;}cyPORT &= ~BIT(cySID);cyPORT &= ~BIT(cyCS);}/*******************************************函数名称:Clear_GDRAM功能:清除液晶GDRAM内部的随机数据参数:无返回值:无********************************************/void Clear_GDRAM(void){uchar i,j,k;Send(0,0x34); //打开扩展指令集i = 0x80;for(j = 0;j < 32;j++){Send(0,i++);Send(0,0x80);for(k = 0;k < 16;k++){Send(1,0x00);}}i = 0x80;for(j = 0;j < 32;j++){Send(0,i++);Send(0,0x88);for(k = 0;k < 16;k++){Send(1,0x00);}}Send(0,0x30); //回到基本指令集}/*******************************************函数名称:Disp_HZ功能:显示汉字程序参数:addr--显示位置的首地址pt--指向显示数据的指针num--显示数据的个数返回值:无********************************************/void Disp_HZ(uchar addr,const uchar * pt,uchar num){uchar i;Send(0,addr);for(i = 0;i < (num*2);i++)Send(1,*(pt++));}/*********************************************************** *名称:LCD_pos()*功能:设置液晶的显示位置*入口参数:x:第几行,1~4对应第1行~第4行* y:第几列,0~15对应第1列~第16列*出口参数:无*范例:LCD_pos(2,3) //第二行,第四列***********************************************************/ void LCD_pos(uchar x,uchar y){uchar pos;switch(y){case 1:pos=0x80;break;case 2:pos=0x90;break;case 3:pos=0x88;break;case 4:pos=0x98;break;default:pos=0x80;}pos += x;Send(0,pos);}void Write_pos(uchar y,uchar x) //写地址等效LCD_pos(){LCD_pos(y,x);}void Set_pos(uchar y,uchar x) //按自然习惯设置行列位置{LCD_pos(y,x);}/*******************************************函数名称:Disp1Char功能:在某个位置显示一个字符参数:x--位置的列坐标y--位置的行坐标data--显示的字符数据返回值:无********************************************/void Disp1Char(uchar x,uchar y,uchar data){LCD_pos( x, y );Send( 1,data );}/************************主函数****************************/ void main(void){WDTCTL = WDTPW+WDTHOLD; //关闭看门狗/*下面六行程序关闭所有的IO口*/P1DIR = 0XFF;P1OUT = 0XFF;P2DIR = 0XFF;P2OUT = 0XFF;P3DIR = 0XFF;P3OUT = 0XFF;P4DIR = 0XFF;P4OUT = 0XFF;P5DIR = 0XFF;P5OUT = 0XFF;P6DIR = 0XFF;P6OUT = 0XFF;Ini_Lcd();delay_Nms(100);Clear_GDRAM();delay_Nms(100);P6SEL |= 0x0f; // 使能ADC通道ADC12CTL0 = ADC12ON+SHT0_8+MSC; // 打开ADC,设置采样时间ADC12CTL1 = SHP+CONSEQ_3; // 使用采样定时器ADC12MCTL0 = INCH_0;ADC12MCTL1 = INCH_1;ADC12MCTL2 = INCH_2;ADC12MCTL3 = INCH_3+EOS;ADC12IE = 0x08; // 使能ADC中断ADC12IFG = 0x08;ADC12CTL0 |= ENC; // 使能转换ADC12CTL0 |= ADC12SC; // 开始转换_EINT();_BIS_SR(LPM0_bits+GIE);}/*******************************************函数名称:ADC12ISR功能:ADC中断服务函数,在这里用多次平均的计算P6.0口的模拟电压数值参数:无返回值:无********************************************/#pragma vector=ADC_VECTOR__interrupt void ADC12ISR (void){static uint index = 0;results[index++] = ADC12MEM0; // Move resultsif(index == Num_of_Results){uchar i;unsigned long sum = 0;index = 0;for(i = 0; i < Num_of_Results; i++){sum += results[i];}sum >>= 3; //除以8Trans_val(sum);}static uint index1 = 0;results1[index1++] = ADC12MEM1; // Move results if(index1 == Num_of_Results){uchar i1;unsigned long sum1 = 0;index1 = 0;for(i1 = 0; i1 < Num_of_Results; i1++){sum1 += results1[i1];}sum1>>= 3; //除以8Trans_val1(sum1);}static uint index2 = 0;results2[index2++] = ADC12MEM2; // Move results if(index2 == Num_of_Results){uchar i2;unsigned long sum2 = 0;index2 = 0;for(i2 = 0; i2 < Num_of_Results; i2++){sum2 += results2[i2];}sum2>>= 3; //除以8Trans_val2(sum2);}static uint index3 = 0;results3[index3++] = ADC12MEM3; // Move resultsif(index3 == Num_of_Results){uchar i3;unsigned long sum3 = 0;index3 = 0;for(i3 = 0; i3 < Num_of_Results; i3++){sum3 += results3[i3];}sum3>>=3; //除以8Trans_val3(sum3);}}/*******************************************函数名称:Trans_val功能:将16进制ADC转换数据变换成三位10进制真实的模拟电压数据,并在液晶上显示参数:Hex_V al--16进制数据n--变换时的分母等于2的n次方返回值:无********************************************/void Trans_val(uint Hex_Val){unsigned long caltmp;uint Curr_Volt;uchar t,i;uchar ptr[4];caltmp = Hex_Val;caltmp = (caltmp << 5) + Hex_Val; //caltmp = Hex_V al * 33 caltmp = (caltmp << 3) + (caltmp << 1); //caltmp = caltmp * 10Curr_Volt = caltmp >> 12; //Curr_V olt = caltmp / 2^n ptr[0] = Curr_V olt / 100; //Hex->Dec变换t = Curr_V olt - (ptr[0] * 100);ptr[2] = t / 10;ptr[3] = t - (ptr[2] * 10);ptr[1] = 10; //shuzi表中第10位对应符号"."//在液晶上显示变换后的结果for(i = 0;i < 4;i++)Disp1Char((0+i),1,shuzi[ptr[i]]);}void Trans_val1(uint Hex_V al){unsigned long caltmp;uint Curr_Volt;uchar t1,i;uchar ptr[4];caltmp = Hex_Val;caltmp = (caltmp << 5) + Hex_Val; //caltmp = Hex_V al * 33caltmp = (caltmp << 3) + (caltmp << 1); //caltmp = caltmp * 10Curr_Volt = caltmp >> 12; //Curr_V olt = caltmp / 2^nptr[0] = Curr_V olt / 100; //Hex->Dec变换t1 = Curr_Volt - (ptr[0] * 100);ptr[2] = t1 / 10;ptr[3] = t1 - (ptr[2] * 10);ptr[1] = 10; //shuzi表中第10位对应符号"."//在液晶上显示变换后的结果for(i = 0;i < 4;i++)Disp1Char((0+i),2,shuzi[ptr[i]]);}void Trans_val2(uint Hex_V al){unsigned long caltmp;uint Curr_Volt;uchar t2,i;uchar ptr[4];caltmp = Hex_Val;caltmp = (caltmp << 5) + Hex_Val; //caltmp = Hex_V al * 33caltmp = (caltmp << 3) + (caltmp << 1); //caltmp = caltmp * 10Curr_Volt = caltmp >> 12; //Curr_V olt = caltmp / 2^nptr[0] = Curr_V olt / 100; //Hex->Dec变换t2 = Curr_Volt - (ptr[0] * 100);ptr[2] = t2 / 10;ptr[3] = t2 - (ptr[2] * 10);ptr[1] = 10; //shuzi表中第10位对应符号"."//在液晶上显示变换后的结果for(i = 0;i < 4;i++)Disp1Char((0+i),3,shuzi[ptr[i]]);}void Trans_val3(uint Hex_V al){unsigned long caltmp;uint Curr_Volt;uchar t3,i;uchar ptr[4];caltmp = Hex_Val;caltmp = (caltmp << 5) + Hex_Val; //caltmp = Hex_V al * 33caltmp = (caltmp << 3) + (caltmp << 1); //caltmp = caltmp * 10Curr_Volt = caltmp >> 12; //Curr_V olt = caltmp / 2^nptr[0] = Curr_V olt / 100; //Hex->Dec变换t3 = Curr_Volt - (ptr[0] * 100);ptr[2] = t3 / 10;ptr[3] = t3 - (ptr[2] * 10);ptr[1] = 10; //shuzi表中第10位对应符号"."//在液晶上显示变换后的结果for(i = 0;i < 4;i++)Disp1Char((0+i),4,shuzi[ptr[i]]);}。
基于MSP430F149的多功能电力监测仪的设计
摘 要: 介 绍了一种基于超低功耗单 片机 M S P 4 3 0 F 1 4 9 的多功能 电网参 数综合监测仪 , 系统采用电能计量 专用芯片 A T r 7 0 2 2 B 测 量三相 电网的各参数 , 并设计 了外围硬件 电路 , 包 括采 样调理 电路 、 人 机界面 、 实 时时钟 、 串行通信及 电源模块 等。本 设计 校表采用与触摸屏相结合 的软件校 表 , 不需与上位机 通信 , 在很 大程度上简化 了校表程序 , 校 表精度 也有 较大提高。 经实验测试 , 该监测仪具有高精度 、 低功耗 、 多功能和
C L C n u mb e r : T P 2 1 6 . 1
智能化等优点 。 关键词 : 电能质量监测 ; M S P 4 3 0 F 1 4 9 ; A T I ' 7 0 2 2 B ; 触摸屏 ; 软件校表 中图分类号 : T P 2 1 6 + . 1 文献标 识码 : B 文章编号 : 1 0 0 3 — 0 1 0 7 ( 2 0 1 3 ) 0 9 - 0 0 6 3 一 o 4
基于 M S P 4 3 0 F 1 4 9的多功能电力监测仪的设计
电子质量 ( 2 0 1 3 第0 9 期)
基 于 MS P 4 3 0 F 1 4 9的 多 功 能 电 力 监 测 仪 的 设 计
De s i g n o f M ul t i f u nc t i o n Po we r Mo n i t o r Ba s e d o n MS P43 0F 1 4 9
t h r e e—p h as e gr i d a n d d e s i gn s p er i p h e r a l h a r d wa r e c i r c u i t , i n cl u di n g: s a mpl i n g c o n di t i on i n g c i r c u i t s , HM I , r e -
msp430f149单片机
基于MSP430F149单片机的实验系统设计本课题在对MSP430F149单片机了解学习的基础上,研究了基于MSP430F149单片机的实验系统设计,包括单片机的外部接口电路硬件设计和软件开发。
本课题具体完成了以下几方面内容。
1.理论知识的学习。
学习MSP430F149单片机的内部结构、特点和应用,查阅相关芯片的数据手册,了解各模块电路芯片的工作原理。
2.设计MSP430F149单片机的各种接口电路。
确定各模块的外围接口电路,包括A/D转换、D/A转换、键盘接口、数码管显示、温度传感器、实时时钟、非易失性存储器、液晶显示、串行通信等。
3.学习并使用protel 99SE软件绘制电路原理图、PCB板,制作印制电路板。
学习MSP430单片机的集成开发环境,编写各模块的接口驱动程序。
4.下载调试各模块接口程序,完善各模块的功能。
系统硬件组成共包括九个模块,分别为MSP430F149单片机最小系统模块,4路A/D转换模块,D/A 转换模块,键盘数码管显示模块,温度传感器模块,实时时钟模块,非易失性存储器模块,液晶显示模块,2路串口通信接口模块。
系统软件组成为各个功能模块程序设计,包括七个部分,分别为A/D转换程序,温度传感器显示当前环境中的温度,用液晶来显示实时时钟,通过串口向单片机发送字符,单片机又发回字符给电脑,D/A输出方波,非易失性存储器的读写。
系统结构如图2-1所示。
图2-1 系统组成结构其中,本课题外接模块设计中具有I2C总线接口的电路有温度传感器模块、实时时钟/日历模块、非易失性存储器模块,组成结构如图2-2所示。
图2-2 I2C总线接口模块本课题设计的基于MSP430单片机的实验系统提供MSP430F149芯片,一路LED灯,I2C总线接口的温度传感器芯片LM75,实时/日历时钟芯片PCF8563,16384(16K)字节EEPROM的非易失性存储器芯片AT24C128,汉字图形点阵液晶显示模块RT12864,串行接口8位LED数码管及64键键盘智能控制芯片HD7279A,带有缓冲基准输入(高阻抗)的10位电压输出数字-模拟转换器芯片TLC5615,双串口电平转换芯片SP3223,JTAG并口仿真器。
MSP430F149中文资料
MSP430单片机的开发及应用设计人:陈小忠西安邮电学院电子信息工程系电子0002班西安邮电学院63# 7100612003年7月目录第一章概述第二章MSP430 F149语言介绍第一节开发环境及程序下载第二节语言介绍第三章MSP430F149 资源的应用介绍及开发第一节中断介绍及存储器段介绍第二节硬件乘法器第三节P口第四节定时器及数模转换第五节时钟模块第六节USART通信模块第七节比较器第八节模数转换第四章MSP430F149开发板的介绍及测试第一节模数转换模块第二节传感器模块第三节外存和实时时钟模块第四节485和232模块第五节电源管理模块及晶振模块第六节PWM波形滤波第一章概述MSP430是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART 通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH 型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化 ,MSP430系列将会得到越来越多人的喜爱.通过两过多月的毕业设计,我对MSP430有了初步了解,对内部的硬件资源和自身的汇编语法进行了实验,并开发了一个应用板,并进行了调试.鉴于时间和能力有限,没能对所有的应用一一实验.第二章 MSP430 F149语言介绍MSP430是德州公司的新产品,有独特的开发环境和自身语言,下面是我在毕业设计中对F149的开发环境熟悉中遇到的一些问题的处理和汇编语言的用法及程序中遇到的问题的体会.第一节开发环境及程序下载1.开发环境:在EW23环境下进行编程,汇编,连接,在C—SPY环境下进行调试,下载是在连接之后,调试之前,通过计算机的串口下载的.关于环境的操作,可以参考有关资料,其中可能遇到的问题及解决方法有:(1) .汇编是对源程序而言的,因此必须打开一个源文件才能汇编,而连接是对一个工程文件而言的,连接是对工程文件的所有源代码(包括多个源文件)和数据的定位,因此连接必须打开一个工程文件才能连接.(2) 连接中必须将库文件的路径改正确,且必须选定C—SPY的驱动方式,即在project中的options的xlink的include下修改(先选中)xcl的库路径为$TOOLKIT_DIR$\icc430\msp430F149A.xcl ,选择C—SPY 的驱动drive为simulator或FLASH EMULATION TOOL ,当没连接430片子时可以选simulator,当连接430片子时,选 FLASH EMULATION TOOL进行在线下载调试.(3) 由于430支持汇编语言和C语言两种语言,因此可以在一个工程文件中同时用两种语言,但建议用汇编语言,因为便于在调试时寻找逻辑和指令的联系及地址的定位正确与否.(4) 在在线的C—SPY 的调试中,单步需要将Control的Reatime前的勾取消才能进行单步测试.(5) 在线调试时,不能将58 管脚(复位/非屏蔽中断)外部变高,否则,会强制退出调试环境.2.程序下载原理及脱机工作原理:程序的在线调试是通过JATG口和F149片子的 RST、TCK、TDI、TDO、TMS引脚按一定的时序串行的传递程序代码和数据的,调试指令的命令传递都是通过这些数据线和控制线传递的,下载时序可参见资料1,其中的地址0FFFEH为复位向量的地址,它是程序遇到非屏蔽中断和程序启动的首要地址,地址中存放的是程序段开始的首地址,因此必须把程序段的首地址标号表示在中断向量中或程序伪指令的开头位置,否则,连接时将会出错,具体的表示方法在下一节中表示.程序的下载和在线调试的电源是通过计算机在JATG提供的,不须另外给加电源.脱机工作时,是将F149的电源线上电,此时的复位时序同下载后在线复位的时序一样,只是时钟是通过F149内部时钟DCO提供的,上电后,程序将复位向量0FFFE中的地址装入PC,PC开始从程序段的首地址开始执行.脱机工作启动不需要任何操作,只需上电即可,电压要大于1.8v,一般取3v左右,另外,在脱机工作时,可以给RST端口加一个低电平脉冲以复位从程序开始重新执行.第二节指令介绍MSP430有自身语言,汇编语言也不同于其他类型的单片机,伪指令也是变幻魔测,但又很重要,下面是我毕业设计的一些尝试、出问题的地方.也可参见资料。
MSP430F149数据手册
AVAILABLE OPTIONS PACKAGED DEVICES TA PLASTIC 64-PIN QFP (PM) MSP430F133IPM MSP430F135IPM MSP430F147IPM MSP430F1471IPM MSP430F148IPM MSP430F1481IPM MSP430F149IPM MSP430F1491IPM PLASTIC 64-PIN QFP (PAG) PLASTIC 64-PIN QFN (RTD) MSP430F133IRTD MSP430F135IRTD MSP430F147IRTD MSP430F1471IRTD MSP430F148IRTD MSP430F1481IRTD MSP430F149IRTD MSP430F1491IRTD
D Serial Communication Interface (USART),
Functions as Asynchronous UART or Synchronous SPI Interface − Two USARTs (USART0, USART1) — MSP430x14x(1) Devices − One USART (USART0) — MSP430x13x Devices Family Members Include: − MSP430F133: 8KB+256B Flash Memory, 256B RAM − MSP430F135: 16KB+256B Flash Memory, 512B RAM − MSP430F147, MSP430F1471†: 32KB+256B Flash Memory, 1KB RAM − MSP430F148, MSP430F1481†: 48KB+256B Flash Memory, 2KB RAM − MSP430F149, MSP430F1491†: 60KB+256B Flash Memory, 2KB RAM Available in 64-Pin Quad Flat Pack (QFP) and 64-pin QFN For Complete Module Descriptions, See the MSP430x1xx Family User’s Guide, Literature Number SLAU049
MSP430F149开发板套件用户手册
联系人:黄先生 电 话:13638654514 Q Q:50924175 E -- Mail: dr ago nhzw@163. co m
技术支持: 论 坛 : ht t p: // www. smar t - dz. cn/ bbs QQ 群:57829880
斯玛特精品电子工作室
目录
一、可选套件 ........................................................................................... 4 二、产品介绍 ........................................................................................... 7
斯玛特精品电子工作室
一、可选套件
图 1 MSP430F149 开发板和 LCD1602 字符液晶
斯玛特精品电子工作室
图 2 MSP430F149 开发板和 LCD12864 图形液晶
斯玛特精品电子工作室
15) 一个红外线遥控接口:红外线遥控解码实验;
16) 24C16 串行 EEPROM:可以进行 SPI EEPROM 读写实验;
17) 一个 DS1302 时钟芯片:实现实时时钟实验;
18) DS18B20 单总线数字温度传感器:可以用单片机控制它来测量温
度;
19) 一个 nRF905 接口;nRF905 通过 SPI 接口实现无线收发实验;
仿真器; 5) 复位按钮:用于手工复位单片机 6) IO 扩展口:两组 25*2 排针扩展口,引出单片机 P1~P5 全部 I/O 引
脚; 7) CR1220 3V 电池(开发板反面):为时钟芯片提供电源,保证掉电
MSP430F149头文件详解中文注释
#define BIT0 0x0001
#define BIT1 0x0002
#define BIT2 0x0004
#define BIT3 0x0008
#define BIT4 0x0010
#define BIT5 0x0020
#define BIT6 0x0040
#define BIT7 0x0080
#define IFG1_ 0x0002
sfrb IFG1 = IFG1_;
#define WDTIFG 0x01 /*看门狗中断标志*/
#define OFIFG 0x02 /*外部晶振故障中断标志*/
#define NMIIFG 0x10 /*非屏蔽中断标志*/
#define URXIFG0 0x40 /*串口0接收中断标志*/
************************************************************/
/*中断使能1*/
#define IE1_ 0x0000
sfrb IE1 = IE1_;
#define WDTIE 0x01 /*看门狗中断使能*/
#define OFIE 0x02 /*外部晶振故障中断使能*/
#define WDTNMI 0x0020 /*选择NMI/RST 引脚功能 0:为 RST; 1:为NMI*/
#define WDTNMIES 0x0040 /*WDTNMI=1时.选择触发延 0:为上升延 1:为下降延*/
#define WDTHOLD 0x0080 /*停止看门狗定时器工作 0:启动;1:停止*/
/* SMCLK=1MHz看门狗模式 */
MPS430F149单片机之_基于单片机的中文实验
for(i = 0;i < 32 - (256 - nTemp);i++)
{
DianZhen[i + 256 - nTemp] = ReadByte(1,i,nRow);
}
}
}
else
{
//不在同一页
for(i = nTemp;i < 512;i++)
{
DianZhen[i] = ReadByte(0,nTemp + i,nRow);
}
}
else
{
//在SM卡的第2区
for(i = nTemp;i < 256;i++)
{
DianZhen[i] = ReadByte(0,i,nRow);
}
}
else if((nTemp >= 256) && (nTmp < 256))
{
for(i = nTemp;i < 512;i++)
{
pBuf[i] = ReadByte(1,i,nRow);
}
for(i = 0;i < nTmp;i++)
{
DianZhen[i] = ReadByte(0,nTemp + i,nRow);
}
}
else if((nTmp > 255) && (nTmp < 512))
{
//在SM卡的第1区
if(nTemp < 256)
{
for(i = 0;i < 32;i++)
MSP430F149 学习板使用说明
MSP430F149 开发板使用说明2009年09月第一章新手入门1.1 MSP430F149 学习板特点:选用16 位超低功耗单片机MSP430F149,采用子母双板分离设计,MCU 子板与集成外设母板通过插针座连接,使用灵活方便。
ØMCU 的全部IO都用插针引出,便于二次开发提供电源指示灯和上电自动复位、手动复位电路。
2、蜂鸣器实验(1)蜂鸣器1:单频音(步进变音调)(2)蜂鸣器2:奏乐(祝你平安)3、数码管实验(1)数码管1(显示0123)(2)数码管2(动态显示0~F)4、4×1 独立按键实验(1)键盘1:扫描数码管显示5、1602 液晶实验(1)1602 液晶1:动态字符显示(2)1602 液晶2:静态字符显示(3)1602 液晶3:内部时钟显示6、RS232 接口实验(1)RS232 接口1:MCU 发送数据PC 机显示(2)RS232 接口2:按键控制MCU 发送数据PC 机显示(3)RS232 接口3:PC 机发送数据MCU 液晶显示(4)RS232 接口4:MCU 回发接收到的PC 机数据7、RS485 接口实验(1)RS485 接口1:发送程序8、PS2 接口实验(1)PS2 接口1:PS2 控制1602 显示9、12-Bit 高精度温度传感器实验(1)温度传感器1:DS18B20 在液晶显示10、RTC 实时时钟实验(1)实时时钟1:DS1302 测试(2)实时时钟2:DS1302 电子钟11、2k Bit EEPROM 实验(1)EEPROM1:AT24C02 测试(2)EEPROM2:读出数据通过串口在PC 机显示12、12-Bit 模数转换器(ADC)接口实验(1)模数转换器2:ADC 在1602 液晶在显示(2)模数转换器3:ADC 通过串口在PC 机显示13、12864 液晶实验(与12864 液晶配套)(1)12864 液晶并口1:字符显示(2)12864 液晶并口2:汉字显示(3)12864 液晶并口3:图形显示(4)12864 液晶并口4:综合演示(5)12864 液晶串口5:字符显示(6)12864 液晶串口6:汉字显示(7)12864 液晶串口7:图形显示(8)12864 液晶串口8:综合演示14、HS0038红外接口实验(1)红外遥控解码实验,在数码管上显示三、开发板综合程序1、温度时间综合实验(1)DS18B20 + DS1302 + 16022、SSCOM综合实验(1)PC发送接收字符第三章板上资源详解本章详细介绍了MSP430F149 学习板上各个功能模块的硬件电路原理、使用方法和注意事项,使用前请仔细阅读。
msp430f系列中文资料
超低功耗微控制器MSP430F40xi n de s i g n x31xLCD92x32xLCD84ADC14x33xLCD120Timer_A USART MPY8-bit T/Cx11x1Comp_AX12x USARTi n de s i g n F13xTimer_B ADC12USART Comp_AF14xTimer_B ADC122 USART MPY Comp_ANewNewF41xi n de s i g n F42xi n de s i g n F44xi n de s i g nUltra -low power design withM S P430August 00 / 11FLASH 型的时钟系统(F13x,F14x)2 个晶振, 1 个DCO, 适应不同频率需要采样/转换控制可编程参考源选择片内温度传感器Ultra -low power design withM S P430August 00 / 34F11x 应用实例)Floating Point Package)Starter Kit MSP-STK430X320TI 软件包仿真器评估板TI 软件库C-编译器编程器)TI Programming AdapterAugust 00 / 37New电源的高效率y电池缩减/ 电池寿命延长y电源电路简化/ 可远程供电硬件简化y外部元件极少y集成实时钟y集成LCD 驱动电路y集成ADC加速产品开发y用Flash 或OTP 型可快速制作样机y用Flash 型可作现场更新y容易学习和设计程序y代码效率高廉价的微控制器MSP430和开发工具FET/sc/docs/products/micro/msp430E-mail: lierda@ (wzptt)/sc/docs/products/micro/msp430E-mail: lierda@ (wzptt)。
MSP430F149多点无线数据采集系统设计
MSP430F149多点无线数据采集系统设计数据收集是与传感器、信号处理、计算机一起形成现代检测技术基础的信息科学的重要领域。
我设计了一个基于MSP430的无线数据收集系统,并实现了解决有线数据采集模式移动性差和现场环境的电缆铺设极限的问题。
由数据采集器和一些数据集中器构成的无线主从数据获取网络,易于调整和平衡每个节点的通信距离。
广泛应用于工业数据采集之中,当它被用于狭窄的环境(例如隧道、封闭的走廊等)时,它可以减少了散射波的干扰,大大提升数据传输的可靠性。
利用MSP430F149和NRF905设计的多点无线数据采集系统,通过MSP430F149单片机片上ADC模块实现对外界模拟信号的采集,并将采集的模拟电压值转换成数字电压值。
对片外nRF905无线模块的控制实现数据在不同单片机之间的传输,最终通过单片机的串口传输到PC上显示,说明了链路控制方案和实际应用中应考虑的问题,最终达到无线多点无线数据采集的目的。
本次设计主要涉及到MSP430对UART和SPI串口的配置,单片机对无线模块的命令控制和数据经NRF905向中心节点传输,中心节点将多节点接收的数据通过串口向PC机传输。
无线数据收集(Wireless data acquisition)是指利用无线数据收集模块或设备记录及传输输出电流或者电压电压,无线数据采集器大多为便携型,可以将现场采集的数据实时发送给电脑。
与普通的便携式数据采集器相比,无线数据采集器提高了计算机的工作效率。
操作人员将数据从原始本地检查移动到远程控制中,并实时发送。
无线数据收集器的通信数据是实时高效的。
随着通信技术的蓬勃发展,人们对更先进便捷的通信技术的需要日益增大,摆脱有线网络的束缚实现无线通信始终是大家关心的问题,当今无线通信研究越来越热,应用非常广泛,使人与人之间的通信更加方便快捷,更具有市场发展前景。
在科学研究领域,数据采集与监测已成为一项越来越重要的检测技术。
在许多工业测控机械、医疗仪器以及消费电子产品中,都对数据采集系统的效率和能量消耗提出了更高的要求:即在满足微功耗、微型化的总体设计原则的基础上,又要能准确及时地反映现场采集数据的变化。
MSP430F149中文资料.pdf
MSP430单片机的开发及应用设计人:陈小忠西安邮电学院电子信息工程系电子0002班西安邮电学院63# 7100612003年7月目录第一章概述第二章MSP430 F149语言介绍第一节开发环境及程序下载第二节语言介绍第三章MSP430F149 资源的应用介绍及开发第一节中断介绍及存储器段介绍第二节硬件乘法器第三节P口第四节定时器及数模转换第五节时钟模块第六节USART通信模块第七节比较器第八节模数转换第四章MSP430F149开发板的介绍及测试第一节模数转换模块第二节传感器模块第三节外存和实时时钟模块第四节485和232模块第五节电源管理模块及晶振模块第六节PWM波形滤波第一章概述MSP430是德州公司新开发的一类具有16位总线的带FLASH 的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART 通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M 的时钟.由于为FLASH 型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化 ,MSP430系列将会得到越来越多人的喜爱.通过两过多月的毕业设计,我对MSP430有了初步了解,对内部的硬件资源和自身的汇编语法进行了实验,并开发了一个应用板,并进行了调试.鉴于时间和能力有限,没能对所有的应用一一实验.第二章 MSP430 F149语言介绍MSP430是德州公司的新产品,有独特的开发环境和自身语言,下面是我在毕业设计中对F149的开发环境熟悉中遇到的一些问题的处理和汇编语言的用法及程序中遇到的问题的体会.第一节开发环境及程序下载1.开发环境:在EW23环境下进行编程,汇编,连接,在C—SPY环境下进行调试,下载是在连接之后,调试之前,通过计算机的串口下载的.关于环境的操作,可以参考有关资料,其中可能遇到的问题及解决方法有:(1) .汇编是对源程序而言的,因此必须打开一个源文件才能汇编,而连接是对一个工程文件而言的,连接是对工程文件的所有源代码(包括多个源文件)和数据的定位,因此连接必须打开一个工程文件才能连接.(2) 连接中必须将库文件的路径改正确,且必须选定C—SPY的驱动方式,即在project中的options的xlink的include下修改(先选中)xcl的库路径为$TOOLKIT_DIR$\icc430\msp430F149A.xcl ,选择C—SPY 的驱动drive为simulator或FLASH EMULATION TOOL ,当没连接430片子时可以选simulator,当连接430片子时,选 FLASH EMULATION TOOL进行在线下载调试.(3) 由于430支持汇编语言和C语言两种语言,因此可以在一个工程文件中同时用两种语言,但建议用汇编语言,因为便于在调试时寻找逻辑和指令的联系及地址的定位正确与否.(4) 在在线的C—SPY 的调试中,单步需要将Control的Reatime前的勾取消才能进行单步测试.(5) 在线调试时,不能将58 管脚(复位/非屏蔽中断)外部变高,否则,会强制退出调试环境.2.程序下载原理及脱机工作原理:程序的在线调试是通过JATG口和F149片子的 RST、TCK、TDI、TDO、TMS引脚按一定的时序串行的传递程序代码和数据的,调试指令的命令传递都是通过这些数据线和控制线传递的,下载时序可参见资料1,其中的地址0FFFEH为复位向量的地址,它是程序遇到非屏蔽中断和程序启动的首要地址,地址中存放的是程序段开始的首地址,因此必须把程序段的首地址标号表示在中断向量中或程序伪指令的开头位置,否则,连接时将会出错,具体的表示方法在下一节中表示.程序的下载和在线调试的电源是通过计算机在JATG提供的,不须另外给加电源.脱机工作时,是将F149的电源线上电,此时的复位时序同下载后在线复位的时序一样,只是时钟是通过F149内部时钟DCO提供的,上电后,程序将复位向量0FFFE中的地址装入PC,PC开始从程序段的首地址开始执行.脱机工作启动不需要任何操作,只需上电即可,电压要大于1.8v,一般取3v左右,另外,在脱机工作时,可以给RST端口加一个低电平脉冲以复位从程序开始重新执行.第二节指令介绍MSP430有自身语言,汇编语言也不同于其他类型的单片机,伪指令也是变幻魔测,但又很重要,下面是我毕业设计的一些尝试、出问题的地方.也可参见资料。
MSP430F149中文资料部分
基于MSP430F149的GPS
(芯片篇)
1、系统功能框图
2芯片资料:
MSP430F149:
低电源电压范围:1.8~3.6V
超低功耗:待机模式:1.6uA 关闭模式(RAM保持):0.1uA 活动模式:280uA at 1MHz,2.2V
5种省电模式
6us内从待机模式唤醒
16位RISC结构,125ns指令周期
带内部参考,采样保持和自动扫描特性的12位A/D转换器
有7个捕获/比较寄存器的16位定时器Timer_B 有3个捕获/比较寄存器的16位定时器Timer_A
片内集成比较器
串行在线编程,无需外部编程电压,安全熔丝可编程代码保护.
器件系列包括:–MSP430F133:8KB+256B闪速存储器,256B的RAM –MSP430F135:16KB+256B闪速存储器,512B的RAM –MSP430F147,MSP430F1471:32KB+256B闪速存储器,1KB的RAM –MSP430F148, MSP430F1481:48KB+256B闪速存储器,2KB的RAM –MSP430F149, MSP430F1491:60KB+256B闪速存储器,2KB的RAM
可用封装:64脚方形扁平封装(QFP).
功能框图。
msp430f149技术资料
MSP430是德州公司新开发的一类具有16位总线的带FLASH的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器。
具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M的时钟。
由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化,MSP430系列将会得到越来越多人的喜爱。
第三章MSP430F149 资源的应用介绍及开发第一节中断介绍及存储器段介绍中断在MSP430中得以广泛的应用,它可以快速进入中断程序,之后返回中断前的状态,其时序为:PC执行程序中断允许置位SR中的GIE置位 EINT(中断开)中断到,中断标志位(IFG)置位从中断向量表中读取中断程序的入口地址,进入中断程序执行中断程序中断允许位复位 RETI中断返回回到原来地址。
具体应用将会在应用程序中的到应用。
有关中断源和中断优先级及中断允许位、中断标志位在参考资料1上有详细介绍。
MSP430单片机的片上存储器共为64K,表示为图:第三节 P 口MSP430F149有6个8位的P口,其中P1、P2口占两个中断向量,共可以接16 个中断源,还可以直接利用 P口的输入输出寄存器,直接对外进行通信。
MSP430F149单片机在目标指示器设计中的应用
MSP430F149单片机在目标指示器设计中的应用针对目前我军侦察分队和射击指挥分队野外训练时,各种目标设置、显示费时费力、安全隐患大等诸多问题,本文提出基于MSP430F149单片机设计目标指示器,以满足部队野外训练时快速设置目标,并能根据不同的战术需要灵活显示目标和根据不同的射击法则显示炸点等,较好地解决部队野外训练的急需。
目标指示器的功能根据需要,目标指示器以灯光、烟火等方式显示目标或炸点。
每个指示器可以模拟显示如机枪火力点、坦克火力点、炮阵地等n类性质的目标,同时带有m个炸点显示器。
目标指示器主要完成GPS模块的数据采集、执行灯光显示和烟火显示等任务。
目标指示器硬件设计硬件设计方案目标指示器的设计是以单片机为核心的,集灯光显示、烟火显示、目标位置显示等功能于一体的显控装置。
设计的关键点包括:①要保证所设计的装置能适应环境的要求;②尽量降低单片机系统的功耗,使系统能长时间正常运行;③所设计出的软硬件必须能实现强大的功能,稳定可靠地运行,准确地完成控制命令的执行以及通讯等功能;④装置必须具备可操作和可维护性;⑤在此基础上还要考虑实现此装置的经济成本。
目标指示器主要用于实现目标显示功能,其显示形式包括灯光、烟火或爆音,它由控制芯片、带有自组网的无线模块、GPS定位模块、灯光显示模块、烟火显示模块及电源模块等组成,。
图1 目标指示器硬件组成图目标指示器的核心是一个MSP430F149微处理器,利用处理器自身带有的丰富的外围模块以及少量的外部芯片实现各种功能,它通过无线传输模块接收来自主控站发射的控制指令,经过控制电路转化为相应的控制信号。
灯光显示模块由来自主控站的控制信号实施多种模式的灯光显示方式(包括等时间间隔显示、不同颜色灯光轮流显示等),烟火显示模块则通过高低电平信号点燃或爆炸进行显示,GPS定位模块则实时向主控站提供各个目标的地理坐标和高程。
电源模块则提供目标指示器所需的电压。
微处理器简介目标指示器硬件部分的控制核心使用TI公司的16位高性能的MSP430F149单片机,用来控制指示器各个部分的工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page 3 of 21
#define URXIE1(0X10) #define UTXIE1(0X20)
#define IFG2_(0x0003u)/*中断标志*/ DEFC(IFG2,IFG2_) #define U1IFG IFG2 /* UART1中断标志寄存器*/ #define URXIFG1(0X10) #define UTXIFG1(0X20)
************************************************* ***************************** /
/*不推荐在新的项目中使用。 */ /*请使用的msp430.h的文件或设备的头文件*/ /************************************************* ***************************** /
( 0x0080u)
/*低功耗模式编码的位4-7在SR */
#ifndef __IAR_SYSTEMS_ICC__ /* Begin #define s for assembler */
#define LPM0
(CPUOFF)
#define LPM1
(SCG0+CPUOFF)
#define LPM2
************************************************** **********/ #define __MSP430_HAS_WDT__ /*define显示模块可*/
#define WDTCTL_
( 0x0120u) /* Watchdog Timer Control */
(CPUOFF)
Page 2 of 21
#define #define #define #define
LPM1_bits LPM2_bits LPM3_bits LPM4_bits
(SCG0+CPUOFF) (SCG1+CPUOFF) (SCG1+SCG0+CPUOFF) (SCG1+SCG0+OSCOFF+CPUOFF)
*
************************************************** ******************/
#ifndef __msp430x14x #define __msp430x14x
#ifdef __IAR_SYSTEMS_ICC__ #ifndef _SYSTEM_BUILD #pragma system_include #endif #endif
#define #define #define #define
DEFC(name, address) __no_init ; DEFW(name, address) __no_init ; DEFXC DEFXW
# ENDIF /* __IAR_SYSTEMS_ICC__*/
Page 1 of 21
/************************************************* *********** *状态寄存器位
************************************************** **********/
#define C
( 0x0001u)
#define LPM4
_BIS_SR(LPM4_bits)
#define LPM4_EXIT _BIC_SR_IRQ(LPM4_bits)
#endif /* End #define s for C */
/* 进入低功耗模式 0 */ /* 进入低功耗模式 0 */ /* 进入低功耗模式 1 */ /* 进入低功耗模式 1 */ /* 进入低功耗模式 2 */ /* 进入低功耗模式 2 */ /* 进入低功耗模式 3 */ /* 进入低功耗模式 3 */ /* 进入低功耗模式 4 */ /* 进入低功耗模式 4 */
BIT0 BIT1 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BIT8 BIT9 BITA BITB BITC BITD BITE BITF
( 0x0001u) ( 0x0002u) ( 0x0004u) ( 0x0008u) ( 0x0010u) ( 0x0020u) ( 0x0040u) ( 0x0080u) ( 0x0100u) ( 0x0200u) ( 0x0400u) ( 0x0800u) ( 0x1000u) ( 0x2000u) ( 0x4000u) ( 0x8000u)
#define IE1_(0x0000u)/*中断使能1 */ DEFC(IE1 IE1_) #define U0IE的IE1 /* UART0中断使能寄存器*/ WDTIE(0X01) OFIE(0X02) #define NMIIE(0X10) #define ACCVIE(0X20) #define URXIE0(0X40) #define UTXIE0(0X80)
#define ME2_(0x0005u)/*模块使能2 */ DEFC(ME2 ME2_) #define U1ME ME2 /* UART1模块使能寄存器*/ #define URXE1(0X10) #define UTXE1(0X20) #define USPIE1(0X10)
/************************************************* *********** *看门狗定时器
#define Z
( 0x0002u)
#define N
( 0x0004u)
#define V
( 0x0100u)
#define GIE
( 0x0008u)
#define CPUOFF
( 0x0010u)
#define OSCOFF
( 0x0020u)
#define SCG0
( 0x0040u)
#define SCG1
#define LPM1_EXIT _BIC_SR_IRQ(LPM1_bits)
#define LPM2
_BIS_SR(LPM2_bits)
#define LPM2_EXIT _BIC_SR_IRQ(LPM2_bits)
#define LPM3
_BIS_SR(LPM3_bits)
#define LPM3_EXIT _BIC_SR_IRQ(LPM3_bits)
/************************************************* ***************************
* *标准的寄存器和位define为德州仪器 * MSP430微控制器。
* *本文件汇编和C语言开发支持 * MSP430x14x 设备。
* *德州仪器(TI),2.4版 *版本. 1.2,额外的定时器B位。 *重新命名XTOFF XT2OFF 。 *版本. 1.3,去掉前导0,以____方式避免解释为八进制 *在C值 *版本1.4,修正LPMx_EXIT 引用新的内部_BIC_SR_IRQ *改变TAIV和TBIV是只读 *版本1.5,请将所有#define 语句用括号 *版本1.6,define向量USART(除了UART) *版本1.7,增加了USART特殊功能标签(UxME,UxIE,UxIFG的) * 2.1版,对齐define成为用户指南和版本号 * 2.2版,取代ADC10 ADC12 ADC12 位(固定式) 修订版2.3,移除未使用的高清的TASSEL2 / TBSSEL2 *版本2.4,增加了define中断向量二十四
************************************************** **********/
#define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define
#if (((__TID__>> 8) & 0x7F) != 0x2b)
/* 0x2b = 43 dec */
#error msp430x14x.h file for use with ICC430/A430 only
#endif
#ifdef __IAR_SYSTEMS_ICC__ #include "in430.h" #pragma language=extended
#endif /* __IAR_SYSTEMS_ASM__*/
#ifdef __cplusplus #define READ_ONLY #else #define READ_ONLY const #endif
/************************************************* *********** *标准BITS
#define IFG1_(0x0002u)/*中断标志位1 */ DEFC(IFG1,IFG1_) #define U0IFG IFG1 /* UART0中断标志寄存器*/ #define WDTIFG(0X01) OFIFG(0X02) #define NMIIFG(0X10) #define URXIFG0(0X40) #define UTXIFG0(0X80)
#define ME1_(0x0004u)/*模块使能1 */ DEFC(ME1 ME1_) #define U0ME ME1 /* UART0模块使能寄存器*/ #define URXE0(0X40) #define UTXE0(0X80) #define USPIE0(0X40)
#define IE2_(0x0001u)/ 2 * /*中断使能 DEFC(IE2 IE2_) #define U1IE IE2 /* UART1 中断使能寄存器*/