1.iar 怎么写程序进入cc2530 开发板◆ USB 高速下载,与IAR MCS-51开发环境无缝连接;
◆ C51编程,在线下载调试仿真,熟悉上手快;
◆ ISM 2.4GHz免费频段;
◆ 丰富的例程源代码,容易使用和开发;
◆ 提供ZigBee2004/2006/2007PRO协议栈;
◆ 开发方便、快捷、简单;
◆ 大量Zigbee技术相关资料;
◆ 灵活配置 。根据需求可选配多种扩展开发板;
◆ 硬件系统、软件代码程序自主设计,保证长期专业技术支持 。
2.关于第一次用IAR 写msp430 f149的程序,该如何开始我可以告诉你方法,但具体做还要靠你自己 。
430单片机的一个特点就是寄存器特别多,因此一开始一定要学会看每个寄存器的含义以及他们控制什么功能 。并且每个不同的模块都有自己相应的寄存器,你可以根据控制寄存器来选择自己想要实现的功能 。
你说的看不懂很可能就是因为程序中各种工作方式和端口的定义都是以寄存器关键字的方式实现的 。当你熟悉它的这种编程模式的话,就会感觉很好用 。
这里有个小程序你可以参考下,这是个通信程序,主要看它的寄存器定义的特点 。#includeunsigned char temp;unsigned int i,left,right,total;unsigned char timeflag,lowbits,highbits;void main(){ WDTCTL=WDTPW+WDTHOLD; //关闭看门狗,一定要有,否则程序会有意想不到的问题 BCSCTL1=0x00; //寄存器清零,XT2振荡器开启,LFTX1为低频,ACLK分频因子为1 BCSCTL2=0x00; do { IFG1 &= ~OFIFG; //Clear OSCFault flag for (i=0xFF;i>0;i--); //Time for flag to set }while((IFG1&OFIFG)); //OSCFault flag still set? BCSCTL2=SELM1+SELS; //时钟选择 P3SEL=0x30; //端口功能选择 P3DIR=0x10; //端口输入输出方向选择 P4SEL=0x06; P4DIR=0x00; //P4.1,P4.2为捕获输入 TACTL=TACLR+TASSEL_1+MC_1; //用于中断计时,使用辅助时钟 CCTL0=CCIE; CCR0=32768; TBCTL=TBCLR+TBSSEL_2+MC_2; //用于计算路程,使用主时钟 TBCCTL1=CM1+CCIS0+CAP+CCIE; TBCCTL2=CM1+CCIS0+CAP+CCIE; //分别用于左右轮捕获 ME1|=UTXE0+URXE0; UCTL0=CHAR; UTCTL0=SSEL1; UBR00=0x45; UBR10=0x00; UMCTL0=0xaa; UCTL0&=~SWRST; IE1|=URXIE0;_BIS_SR(LPM0_bits+GIE);} #pragma vector=UART0RX_VECTOR __interrupt void usart0_rx(void){ while(!(IFG1&UTXIFG0)); //TX or RX? temp=RXBUF0; for(i=1000;i>0;i--);i=0; if(temp==0xaa) TXBUF0=timeflag; else if(temp==0x55) TXBUF0=lowbits; else TXBUF0=highbits;}#pragma vector = TIMERB1_VECTOR__interrupt void Timer_B(void){ switch(TBIV) { case 2 :left++ ;total=(left+right)/2; break; case 4 :right++;lowbits=total&0xff;highbits=total>>8; break; default :break; }}#pragma vector = TIMERA0_VECTOR__interrupt void Timer_A(void){ timeflag++; //计数间隔为一秒} 。
3.IAR环境下 C语言中怎么嵌入汇编写延时程序(1)、C51语言中调用汇编语言程序;
C51语言调用汇编语言程序要注意以下几点:
1:在文件栏选中File Group和C51程序原文件,在配置文件选项中激活“产生汇编(SRC)文件,“编译(SRC)文件”和“创建工程(目标)时包含”三个选项 。
2:根据选择的编译模式,把相应的库文件(如SMALL模式,库文件为KEIL\C51\LIB\C51S.LIB)加入工程中 。
3:在C51语言中必须声明需要调用的函数为外部函数 。extern void DELAY(void);
4:在汇编语言程序中必须声明被调用子程序为公共子程序,在被调用的文件中还需要声明此文件是可从新定位的 。
PUBLIC DELAY,DEL
DELAYY SEGMENT CODE
RSEG DELAYY
实例如下:
C51语言文件:
#include "reg51.h"
extern void DELAY(void);
extern void DEL(void);
void main(void)
{
P1=0x00;
DELAY();
DEL();
P1=0xff;
}
汇编语言文件:
PUBLIC DELAY,DEL
DELAYY SEGMENT CODE
RSEG DELAYY
DELAY: MOV R2,#3H