【CH554评测】第2篇 编译,软件开发环境评测
<div class='showpostmsg'> 本帖最后由 yang_alex 于 2017-10-6 17:54 编辑上篇说完CH554的硬件,这一篇来说说CH554的软件。沁恒毕竟是个小公司,开始做MCU没有多长时间。所以在软件方面的积累和投入比较少。
CH554是增强型51内核的MCU,所以他的开发环境当然是开发51MCU的首选软件KeilC51了。但是沁恒没有给Keil钱,所以Keil C51并没有直接支持沁恒的CH554。不过没关系,毕竟CH554是51内核,自己配置、自己增加相关文件后,还是可以利用Keil C51软件的。
沁恒在官网上提供了相关例子程序和相关原理图等资料。可以下载下来备用:http://www.wch.cn/download/CH554EVT_ZIP.html
首先是Keil C51软件的安装,自己可以到Keil的官网下载评估版软件,有其他需求就自己到网上搜索一下吧。
安装好Keil C51软件并打开后,先要创建新项目。
选择之前解压好的例子程序里的GPIO例子的文件夹。输入项目文件名 CH554-GPIO,并保存。
接下来会弹出一个对话框,选择对应器件型号。由于沁恒没有给Keil钱,所以你在列表里是不会找到沁恒的CH554的,我们随便选一个ROM和RAM大小接近的型号。
点击对话框中OK按键后,会弹出一个对话框,问是否加入一个启动文件,选择“是”按键。
接下来在建好的项目框架中增加沁恒的例子程序。
这里要着重提醒一下,一定要把沁恒提供的例子程序里Public下的CH554.INC和Debug.C也加入项目中(文件类型下拉框中注意选择“All files(*.*))。
加好文件后,我们记得要对项目进行配置。
在弹出的对话框中选择“Target”标签。把系统时钟频率改为24.0MHz(不改也没什么问题)。片上EEPROM和片上RAM也可以在标签页中设置,如果没用到,也可以不设置。“Device”标签页是用来选择器件型号的,我们在建立项目时已经选过了,这里不用管它。
接下来点击“Output”标签,在这里,一定要在“Greate Hex file”前面的小方框中打上勾。这个操作是编译时生成我们后续要下载或烧录到芯片中的HEX文件。
最后记得点对话框中的“OK"按键进行保存,否则前面就白设置了。
到此为止,项目设置全部完成。接下来就是相关代码的修改了。
项目文件中,有三个地方需要修改。
原来的Main.C文件
/********************************** (C) COPYRIGHT *******************************
* File Name : Main.C
* Author : WCH
* Version : V1.0
* Date : 2017/01/20
* Description : GPIO 设置与使用和GPIO中断使用示例
*******************************************************************************/
#include "..\Public\CH554.H"
#include "..\Public\Debug.H"
#include "GPIO.H"
#include "stdio.h"
#include <string.h>
#pragmaNOAREGS
void main( )
{
UINT16 j = 0;
CfgFsys( ); //CH554时钟选择配置
mDelaymS(20);
mInitSTDIO( ); //串口0初始化
printf("start ...\n");
#if GPIO_INTERRUPT
GPIOInterruptCfg(); //GPIO中断配置函数
EA = 1;
printf("Run");
while(1){
printf(".");
mDelaymS(50);
}
#endif
Port1Cfg(3,4); //P14设置成类51双向模式
while(1){
SCS = ~SCS;
mDelaymS(50);
}
}
首先,Main.C文件中,GPIO_INTERRUPT条件编译部分删除。
其次,Main.C文件中,Port1Cfg(3,4);改成 Port1Cfg(3,6); 使用P1.6,评估板上这个端口连接着一个LED.
最后,Main.C文件中,SCS改为RXD1也就是P1.6
更改后Main.C文件
/********************************** (C) COPYRIGHT *******************************
* File Name : Main.C
* Author : WCH
* Version : V1.0
* Date : 2017/01/20
* Description : GPIO ÉèÖÃÓëʹÓúÍGPIOÖжÏʹÓÃʾÀý
*******************************************************************************/
#include "..\Public\CH554.H"
#include "..\Public\Debug.H"
#include "GPIO.H"
#include "stdio.h"
#include <string.h>
#pragmaNOAREGS
void main( )
{
UINT16 j = 0;
CfgFsys( ); //CH554ʱÖÓÑ¡ÔñÅäÖÃ
mDelaymS(20);
mInitSTDIO( ); //´®¿Ú0³õʼ»¯
printf("start ...\n");
Port1Cfg(3,4); //P14ÉèÖóÉÀà51Ë«Ïòģʽ
while(1){
RXD1 = ~RXD1;
mDelaymS(50);
}
}
修改完成后,注意要保存文件。
接下来点击编译按钮进行编译。
确认编译成功,没有错误,并成功生成HEX文件。
到此,编译完成。下一篇,进行程序下载烧录的介绍。
此内容由EEWORLD论坛网友yang_alex原创,如需转载或用于商业用途需征得作者同意并注明出处
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> :):):):):):)
页:
[1]