使用Simplicity Studio v3 系列(2)

作者: shaoziyang
上传时间为: 2015-06-11 01:27 PM
2015-06-11
阅读:

这里再介绍一下使用Simplicity Studio v3开发51程序,下面以C8051F930的LED Blink为例。

我们一般开发51时,最常用Keil C51。一个LED闪烁的程序是这样的:

#include "C8051F9xx.H"

sbit LED = P2^0;

void init()
{
  // disable WDT
  PCA0MD    &= ~0x40;
  PCA0MD    = 0x00;
  
  // P2.0
  P2MDOUT   = 0x01;
  XBR2      = 0x40;  
}

void delay(unsigned long n)
{
  while(n > 0)
  {
    n--;
  }
}

int main()
{
  init();
  
  while(1)
  {
    LED = !LED;
    delay(5000);
  }
  
  return 0;
}

使用Simplicity Studio后,可以象PSOC那样通过图形去配置参数,不用完全靠自己写代码了。这样更容易实现底层代码和用户层代码分离,移植性更好,也方便调试程序。


创建新项目,然后在右边Port I/O中,设置CrossBar为Enabled。


然后设置LED引脚(P2.0)为推挽输出。


然后切换到Default Mode Peripherals面板,选中PCA0,然后在属性中禁用看门狗。


然后打开src下的blink_main.c文件,加入delay函数,并在主循环中加入控制LED代码。再编译就可以了。底层驱动部分,基本不用自己写代码,只要设置好需要使用部分的属性,Simplicity Studio就会自动产生代码,类似CodeWarrior的PE那样,非常方便。在这个例子,底层驱动部分代码自动生成到文件InitDevice.c中,我们只要通过函数enter_DefaultMode_from_RESET();(这个函数也是系统自动生成并加入主程序)就可以完成前面设置的那些外设的初始化。不用在直接写寄存器,这样更符合现代化软件开发的思路,也方便项目管理。


下一步就是仿真和下载程序了。我们先设置一下仿真时连接的仿真器,我使用了Silabs公司自己的USB Toolstick,这是以前一个C8051F700开发板上带的,使用其它型号的C8051仿真器也是可以的,Simplicity Studio在兼容性上做的不错。在项目文件属性中,进入Run/Debug Settings,编辑默认选项。


切换到Connection,按下面的select按钮,选择仿真器。


正常情况下,Simplicity Studio可以自动识别出仿真器和连接的芯片型号,选中后确认。


设置完成后就可以按甲虫图标进入仿真状态了。后面就和其它软件差不多,设置断点、观察变量、修改变量....

18.jpg (124.47 KB, 下载次数: 0)

blink.zip

相关经验
全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示