最新版本的5.10.1对Vista的支持很好(到IAR网站注册后下载),破解(Crack)器下载网址:
http://www.61ic.com/code/viewthread.php?tid=26885
要注意的是,使用新版本的IAR,对于USB的MSP430UIF需要升级固件,方法:断开开发板,用跳线将TDO/TDI和RST/NMI 脚短路,然后再接到电脑上,运行IAR的debug会提示升级固件,按照提示进行就可以了
引脚排列:
有些厂商卖USB UIF时候提供的IAR for MSP430 3.42以及 4.20比较挑系统,特别是对于Vista的支持很不好,而厂家只为了赚钱,不能也不愿意提供好的服务。强烈建议升级到5.10.1。
IAR有一系列版本, for ARM/MSP430/Power PC/MCS51/AVR等等,界面类似,操作一样,特别要指出的是For MCS51,截止到2010年5月初,已经升级到5.71。对C8051F的支持很好,特别是对U-EC5/EC2等支持很好。不过要注意的是,在keil下成功运行的程序,需要更改一些配置,下面是一个C8051F330的程序,在keil下和IAR的对比。本程序测试成功。
IAR对51位的操作,网上一直说要打勾enable bit definition in io include,在5.71下并没有这个选项,而参考下面的程序,实现位操作还是非常容易的.
keil:
/*By Jiwm 2010.5
http://jiwm.blog.163.com
*/
#include<c8051f330.h>
#include<stdio.h>
sbit LED0=P1^0;
sbit LED1=P1^2;
void Delay(uint delay_time); //声明一个函数,函数的功能定义在Main 函数以后
main()
{
PCA0MD &= ~0x40;
PCA0MD = 0x00; //close WDT
OSCICN|=0x03; //时钟24.5M
RSTSRC=0x04 ;
//configure sysclk here
XBR0 = 0x00; // 未选择任何数字外设
XBR1 = 0x40; // 使能交叉开关和弱上拉
P1MDOUT |= 0x05; // 设P1.0,P1.2为输出端口,推挽方式
while(1)
{
led0=0;
led1=1;
Delay(50000);
Delay(50000);
Delay(50000);
Delay(50000);
led0=1;
led1=0;
Delay(50000);
Delay(50000);
Delay(50000);
Delay(50000);
led0=0;
led1=1;
}
}
void Delay(uint delay_time)
{
uint i;
for(i=0;i<delay_time;i++);
}
IAR:
/*By Jiwm 2010.5
http://jiwm.blog.163.com
*/
#include"ioC8051F330.h"
#define led0 P1_bit.P10
#define led1 P1_bit.P12
void Delay(uint delay_time); //声明一个函数,函数的功能定义在Main 函数以后
main()
{
PCA0MD &= ~0x40;
PCA0MD = 0x00; //close WDT
OSCICN|=0x03; //时钟24.5M
RSTSRC=0x04 ;
//configure sysclk here
XBR0 = 0x00; // 未选择任何数字外设
XBR1 = 0x40; // 使能交叉开关和弱上拉
P1MDOUT |= 0x05; // 设P1.0,P1.2为输出端口,推挽方式
while(1)
{
led0=0;
led1=1;
Delay(50000);
Delay(50000);
Delay(50000);
Delay(50000);
led0=1;
led1=0;
Delay(50000);
Delay(50000);
Delay(50000);
Delay(50000);
led0=0;
led1=1;
}
}
void Delay(uint delay_time)
{
uint i;
for(i=0;i<delay_time;i++);
}