MSP430C语言解析
- 格式:pptx
- 大小:1.06 MB
- 文档页数:39


MSP430与DS1302之1602显示 MSP430与DS1302之1602显示
#include ;
typedef unsigned char uchar;
typedef unsigned int uint;
/**************宏定义***************/
#define DataDir P4DIR
#define DataPort P4OUT
#define Busy 0x80
#define CtrlDir
P3DIR
#define CLR_RS P3OUT&=~BIT0;
//RS = P3.0
#define SET_RS P3OUT|=BIT0;
#define CLR_RW P3OUT&=~BIT1; //RW = P3.1
#define SET_RW P3OUT|=BIT1;
#define CLR_EN P3OUT&=~BIT2; //EN = P3.2
#define SET_EN P3OUT|=BIT2;
/**************宏定义***************/
#define DS_RST BIT7 //DS_RST = P2.7 #define DS_SCL BIT5 //DS_SCL = P2.5
#define DS_SDA BIT6 //DS_SDA = P2.6
#define DS_RST_IN P2DIR &= ~DS_RST
#define DS_RST_OUT P2DIR |= DS_RST
#define DS_RST0 P2OUT &= ~DS_RST
#define DS_RST1 P2OUT |= DS_RST
#define DS_SCL_IN P2DIR &= ~DS_SCL
#define DS_SCL_OUT P2DIR |= DS_SCL
#define DS_SCL0 P2OUT &= ~DS_SCL
2013年第1期 (总第123期) 信息通信
1NFORMATION&COMMUNICAT10NS 2O13 (Sum.No 123)
MSP430单片机C语言和汇编语言混合编程刍议
李悝 (山东工艺美术学院,山东济南250300)
摘要:主要结合c语言与汇编语言进行计算机程序编写设计中各自的特征优势,从C语言与汇编语言混合编程方法,以 及混合语言进行MSP430单片机编程设计的具体过程等方面,进行MSP430单片机C语言与汇编语言混合编程的分析
论述。 关键词:MSP430单片机;C语言;汇编语言;编程设计;软件开发;分析
中图分类号:TG84 文献标识码:A 文章编号;1673—1131(2013)01—0072—02
1 C语言和汇编语言的特点以及混合编程方法
1.1 C语言和汇编语言编程设计的特点
在进行计算机应用程序以及软件系统程序的编写设计应
用中,c语言与汇编语言都是比较常用的程序语言代码。其
中,使用汇编语言进行计算机编程设计应用,对于编写设计的 计算机程序软件的生成效率比较高,并且汇编语言编写的程
序命令执行速度比较快,但同时,使用汇编语言进行计算机程
序软件的编写设计过程中,同样还具有编写程序的可读性不
强的局限性;而使用c语言进行计算机应用程序以及软件的
编写设计过程中,C语言进行编程设计应用的可移植性以及可 读性特点,要比汇编语言编程设计中的可读性与可移植性高
出许多,并且C语言在进行大型程序软件编写设计中编程设
计周期也相对比较短,编程简单,但是C语言编程设计的时效
性特征却不够明显,尤其是进行具有高时效性的软件以及程 序编写设计中,c语言就不能对于编程设计的高时效性进行满
足。
1.2 C语言与汇编语言混合编程的方法
针对上述计算机程序与软件的开发设计中,C语言与汇编
语言各自的编程优势与局限性,进行计算机软件产品的开发
设计过程中,可以考虑将两种语言混合使用,进行软件产品的
msp430单片机驱动LCD1602 C语言程序
/*******************************************************************************/
1.msp430单片机C语言
/*************************************************************************/
#include"msp430f6638.h"
/*******************************************
P5.3----E
P57 P56 P55 P54 P53 P52 P51 P50
P5.4----RS
P5.5----RW
P57 P56 RW
RS
E
P52 P51 P50
P2OUT---wdata ********************************************/
#define uchar unsigned char;
#define uint unsigned int;
//*********显示字符串可将字符串放入数组,例如显示ancd efdg******/
/**定义一个数组**/
/**uchar code ttt[]="ancd efdg";//字符串用双引号引起来,空格计入字符串的元素
/*uchar code kkk[]="ffba ggddmm";//上句加空格9个元素,该句加两个空格12个元素
/**********************************元素个数在循环显示时要使用*****
/*********************为循环显示字符串还得定义一个变量**/
// uchar n;/定义变量n
msp430 的一些常用的 C 语言控制程序---RS232
//需要调试助手辅助才能观察到收或接的数据#include//void OSC_Init(void);
void USATR0_Init(void);//void main(){WDTCTL = WDTPW +
WDTHOLD;OSC_Init();USATR0_Init();_BIS_SR(GIE);//用调试助手可以检测,也
可以结合按键观察到数据的传输}//void OSC_Init(void){BSCTL1 &=
~XT2OFF;//XT2 振荡器开启 do //清 OSCFault 标志 { IFG1 &= ~OFIFG; for
(i=0xFF;i>0;i--); } while((IFG1&OFIFG));BSCTL2 |= (SELM_1 + SELS);//MCLK
= XT2CLK,SMCLK = XT2CLK}//void USATR0_Init(void){P3SEL |= (BIT4 +
BIT5);//选择端口的第二功能 ME1 |= (UTXE0 + URXE0);//工作模式 1,UART0
使能 UCTL0 |= CHAR ;//发送字长,八位 UTCTL0 |= (SSEL0 + SSEL1);//选择时钟
源,用于确定波特率发生器的时钟源,选择辅助时钟 ACLK,子系统时钟
SMCLKUBR00 = 0x9F;//波特率选择寄存器低位 UBR10 = 0x01;//波特率选择寄
存器高位 UMCTL0 = 0xB5;//波特率调整寄存器 UCTL0 &= ~SWRST;//USATR
状态机初始化复位 IE1 |= URXIE0;//允许 USATR 中断}#pragma
vector=UART0RX_VECTOR__interrupt void uart0_rx(void){while(!(IFG1 &