STC 32位8051单片机开发实例教程 三 程序编译设置与下载

下面是一端程序STC32G的程序源代码:

/*main.cDesigned by Bill LiuVersion 0.0 Modified last by Bill Liu on 06/22/2022
*/#include "main.h"
#include "config.h"void main()
{STC32G_P7PinsInit(PIN3, BI_IO, 0, 0, 0, 0, 1, 1);//P73 = 0;STC32G_P0PinsInit(0xFF, BI_IO, 1, 0, 0, 0, 1, 1); //init to bidirectional I/O, pull up disable, pull down disable , dive ability enhance disable, //high speed disable, digital singal input enable, schmitt trigger enableSTC32G_P2PinsInit(0xFF, BI_IO, 0, 0, 0, 0, 1, 1);P0 = 0xAA;P2 = 0xFF;//P73 = 0;while(1){if(P2 == P0)P73 = 0;elseP73 = 1;}
}
//End of main()

Keil C251的Target项的设置如下:

 L251 Misc的设置如下:

 编译上面的程序,结果如下:

 修改Keil C251的Target项的设置如下:

 编译同一程序,结果如下:

出现了4个Warnings. 再将修改Keil C251的Target项的设置修改,如下:


 编译同一程序,结果如下:

 无Warning。再修改Keil C251的Target项的设置,如下:

 

 编译同一程序,结果如下:

 无Warning。再修改Keil C251的Target项的设置,如下:

  编译同一程序,结果如下:

 无Warning。再修改Keil C251的Target项的设置,如下:

  编译同一程序,结果如下:

  无Warning。再修改Keil C251的Target项的设置,如下:

 编译同一程序,结果如下:

 

 无Warning。再修改Keil C251的Target项的设置,如下:

 编译同一程序,结果如下:

 出现错误。再修改Keil C251的Target项的设置,如下:

 编译同一程序,结果如下:

 编译成功,无Warning。

从上面的示例可以看出,同一程序,选用不同的设置,在优化等级不做调整的情况下,编译后的程序code大小是不一样的。选用有些可能还会编译出错。

现在用下面的设置编译改程序:

 编译结果如下:

将编译后的得到的hex文件,下载 到单片机,正常情况红色LED应该亮起。下载后的结果如下:

红色LED确实亮起,说明程序没问题。再改变Keil C251的Target项的设置,如下:

编译程序,结果如下:

 编译通过,没有Warning。将编译后的得到的hex文件,下载 到单片机,正常情况红色LED应该亮起。下载后的结果如下:

 红色LED并未亮起。说明改设置编译得到的程序,不能正常运行。

STC 32G系列单片机依然可以像STC 8位 8051单片机一样通过用ch340 USB转串口模块实现ISP下载程序。我的下载工具如下:

一般情况下,不用理会STC 32G单片机的时钟设置,在下载时选择需要的工作频率即可STC_ISP下载工具软件会自动将其设置为自动追频模式。下载界面如下:

 

 

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部