发帖 回复
返回列表  提醒:不能用迅雷等P2P下载,否则下载失败标(二级)的板块,需二级才能下载,没二级不要购买,下载不了
  • 53阅读
  • 5回复

新唐M051学习之(1)-编程环境 [复制链接]

上一主题 下一主题
离线bfbm
 

性别:
人妖
发帖
45
金币
44
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看楼主 倒序阅读 使用道具 0楼 发表于: 11-21
从杂志上看到介绍新唐M051单片机的一篇文章,说M051是8位机的价格32位机的性能。从网上一查,一片M0516LBN仅售7元左右跟一片8位单片机价格差不多的。而且功能比单片机还多速度还快。于是从网上买了个Nu-Link 仿真器(用于往M051里烧写程序)和M0516LBN转51的开发板,就是把贴片的转换成直插模式并且引脚的排列顺序跟51单片机一样,据说如果你会51单片机,用这个开发板学习M051是很容易入门的。过了几天设备到手,迫不及待先试试。 q8HnPXV  
        首先安装编程环境,我用的是MDK5.0。MDK可以跟C51装到同一个目录,这样既可以写C51的程序也可以写M051程序了。 w&e3#p  
         第二步去新唐的官网下载 Nu-Link Driver for Keil RVMDK V1.24.6211.zip 仿真器的驱动,并安装好。 3"sXN)j  
         第三部下载M051 SeriesBSP_CMSIS_V2.01.002.zip  和 M051 SeriesBSP_DirectRegisterAccess_EN_V1.01.003.zip,这两个是M051的库文件。据说用CMSIS库就像ARM M3的编程方式差不多(我没用过M3),DirectRegisterAccess库是直接操作寄存器跟51单片机的编程方式差不多。问了问高手,他们建议用CMSIS,因为更简单方便。我两个都装上了。这两个文件直接解压C盘即可,路径要记住,要在mdk里面填写。 v3G$9 (NE;  
        打开MDK,新建一个项目,取名TEST,然后出现下图,点OK。 HA[7)T N1E  
//RD$e?h~  
出现选择CPU对话框,找到M0516LBN,点OK. 8A}<-?>  
 M%g2UP  
然后下面对话框点yes。 D]5j?X'  
[Zzztn+  
然后就进入MDK的主界面了。再新建一个空文档,并保存,取名为main.c +"1-W> HV  
在Source Group 1上点右键选择Add Existing Files to Group ,把main.c加进来。 @( 0O9L F  
     s< Fp17  
FlUO3rc|  
dn:\V?9  
点击工具栏上的  这个图标。做如下设置。 7#SfuZ0@  
Q#*R({)GH  
3sW!ya-VZ  
下图的include paths里面写上刚才解压的 M051 SeriesBSP_CMSIS_V2.01.002.zip的路径。我写的是: 1f'msy/  
C:\Keil\M051SeriesBSP_CMSIS_v2.01.002\M051SeriesBSP_CMSIS_v2.01.002\LibM051Series\CMSIS\CM0\DeviceSupport\Nuvoton\M051Series;C:\Keil\M051SeriesBSP_CMSIS_v2.01.002\M051SeriesBSP_CMSIS_v2.01.002\LibM051Series\StdDriver\inc @sW!g;\T  
H/Rzs$pnv  
下图在scatter file里写:--map --first='startup_M051Series.o(RESET)' --datacompressor=off --info=inline --entry Reset_Handler -%Rbd0gVH\  
>&k`NXS|V  
选择Nuvoton Nu-Link Debugger,然后点Settings按钮。 gf>GK/^HH  
$~VIx% h  
/8<c~  
然后在main.c里输入以下代码 hm k ~  
#include <M051Series.h> Rg+# (y  
void SystemInit(void) }%<_>b\  
{} jQ7-M4qO/  
int main(void) =-&h@mB;G  
{ 7\ZSXQy1W  
        //设置P2.0为强推挽输出 mNEh\4ai  
_GPIO_SET_PIN_MODE(P2, 0, GPIO_PMD_OUTPUT); nLC5FA7<  
    while(1) x34GRe!!  
    { g \ou+M#  
        //让P2.0交替输出高低电平。把LED灯的正极接到P2.0负极接地,LED就会一闪一闪的。 q~Al[`K  
P20 = 1; YW&`PJ9o  
SYS_SysTickDelay(500000); ^FVmP d*1  
P20 = 0; &49WfctT  
SYS_SysTickDelay(500000);       b'z\|jY  
    }   t* p%!xsH  
} *-uzsq.W  
|sl^4'Ghc  
然后按Ctrl+F5就可以单步调试程序了。如果你没有设置断点的话,这时候LED就会一闪一闪的。 _ n1:v~  
bI_MF/r''  
如果不想调试,想直接把程序烧入芯片做如下设置。 wA)n ryXV  
Oamz>Hplu  
SU6Aq?`@  
然后再点工具栏上的按钮。


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

一般

差劲
离线luchonghui74

性别:
人妖
发帖
2200
金币
1744
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 1楼 发表于: 11-21
谢谢分享!


离线清心如水

性别:
帅哥
发帖
1626
金币
3115
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 2楼 发表于: 11-21
    


离线rain-fine

性别:
帅哥
发帖
554
金币
436
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 3楼 发表于: 11-21
    


离线minghuang

性别:
帅哥
发帖
4534
金币
7233
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 4楼 发表于: 11-21
的顺丰都是


离线bidezhi7777

性别:
帅哥
发帖
7651
金币
181
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 5楼 发表于: 11-21
    


快速回复
限150 字节
 
上一个 下一个