当前位置:网站首页>STC 32比特8051單片機開發實例教程 一 開發環境搭建
STC 32比特8051單片機開發實例教程 一 開發環境搭建
2022-06-23 05:30:00 【Bill66】
第一步 下載Keil C251,STC32G系列單片機的用戶手册中有Keil C251的下載鏈接,通過該鏈接可直接從官網下載。
第二歩 安裝Keil C251,安裝方法與步驟與安裝Keil C51差不多,這裏不詳細介紹。如果不想覆蓋掉已安裝的Keil C51,安裝時需選擇與Keil C51不同的盤符。我是把它安裝在MDK-ARM同一目錄下了,這並不影響MDK-ARM的運行。
第三歩 添加頭文件到開發環境Keil C251中。首先從STC的官網下載stc-isp-15xx-v6.89G.zip,這個目前是最新版本。然後解壓該壓縮文件,解壓後如下:

雙擊最後一個文件,運行 該程序文件,運行後界面如下:

點擊仿真設置,選擇單片機型號,如下:

點擊添加型號和頭文件到Keil中添加STC仿真器到Keil中按鈕,添加型號與同文件到keil中,如下:
然後指定Keil C251的安裝目錄,如下:

點擊“確定 ”按鈕,添加型號與頭文件完成。
第4歩 創建模版文件。創建一個模版文件,將需用到的庫文件,拷貝到該模版中,需要設置的先設置好,這樣可以節省開發時間。真沒必要,每個案子都從Project :New uVision Project開始。做一個新的案子,將模版文件Copy過去,略做修改即可。
首先新建Project將其存在STC 32G Template下,如下:

選擇STC MCU Database,如下:

然後,選擇STC32G12K128 Series,如下:

點擊OK,完成創建Project。
打開STC 32G Template文件夾,新建Lib、Manual、Output、User文件夾,如下:

删除Objects文件夾,並將STC 32G Template文件夾下的所有文件移入Proj中。結果如下:

退出Keil C251,將STC32G用戶手册Copy到Manual文件夾中。如下:

啟 Keil C251,打開STC 32G Template文件夾下Proj中的stc_32g template.uvproj。
點擊工具欄中圖標
,進入設置界面,如下:

點擊Books,如下:

點擊
,添加用戶手册,如下:

點擊OK後,回到先前界面,如下:

點擊OK,退出設置。
點擊右下角的Books,可以看到STC32.pdf出現在Books的列錶中,如下:

雙擊 STC32.pdf,即可打開,如下:

點擊右下角的Project,然後將鼠標指針移動到Target1上,再按鼠標右鍵,點擊彈出菜單中的“ManageProject Items”,如下:

進入Manage Project Items界面,如下:

首先將Target1改為Template,如下:

再將Source Group 1改為Lib,如下:

點擊OK退出設置。可以看到project中列錶,變成了如下模樣:

配置Project,點擊工具欄中的設置按鈕,如下:
![]()
進入配置界面,如下:

點擊Output,設置如下:

點擊Slect Folder for Object,設置輸出路徑,指向STC 32G Template文件夾中的Output文件夾, 如下:

點擊Listing,然後點擊Select Folder for Listings,設置 Listing文件存儲路徑

指向STC 32G Template文件夾中的Listings文件夾,如下:

點擊C251,添加包含路徑,如下:


![]()
![]()
點擊L251 Misc,添加REMOVEUNUSED,如下:

下載STC32G函數庫,STC為STC32G制作了簡單函數庫,可從其官網去下載。下載並解壓後,將其Copy到STC 32G Template文件夾下的Lib文件夾中,如下:

新建兩個myport.h, main.h, main.c,存於STC 32G Template文件夾下的User文件夾中,如下:

在myport.h中加入如下代碼:
/*myport.h
Designed by Bill Liu
Version 0.0
Modified last by Bill Liu on 06/22/2022
*/
#ifndef __MYPORT_H__
#define __MYPORT_H__
#include <STC32G.H>
#endif在main.h中加入如下代碼:
/*main.h
Designed by Bill Liu
Version 0.0
Modified last by Bill Liu on 06/22/2022
*/
#ifndef __MAIN_H__
#define __MAIN_H__
#include "myport.h"
#endif在main.c中加入如下代碼:
/*main.c
Designed by Bill Liu
Version 0.0
Modified last by Bill Liu on 06/22/2022
*/
#include "main.h"
void main()
{
}
//End of main()將main.c加入到Project中,操作如下:


加入後,Project列錶,如下:
試編譯看有無錯誤,編譯結果如下:

沒有錯誤。
查看生成的hex文件,打開STC 32G Template文件夾下的Output文件夾,可以看到生成了一個hex文件,說明編譯鏈接成功。如下:

模版文件創建完成,將在後面的例子中使用。為避免多處下載開發工具的麻煩,我已將該模版文件及本文提到的開發工具打包為STC 32G開發工具,上傳到CSDN,如有需要可去下載,
边栏推荐
- gis利器之Gdal(三)gdb数据读取
- C语言栈实现
- 架构师之路,从「存储选型」起步
- shutdown关机命令
- Laravel8 implementation of picture verification code
- STM32cube CMSIS_V2 freeRTOS Queue 队列使用
- MCS: discrete random variable
- Array The from method creates an undefined array of length n
- LeetCode-1757. 可回收且低脂的产品_SQL
- View of MySQL introductory learning (III)
猜你喜欢

MCS:连续随机变量——LogNormal分布

Missing essential plugin

云原生架构(04)-CNCF

GO语言-自定义error

VMware network connection error unit network service not found

Three implementation methods: left fixed and right adaptive (Flex, float + BFC, float margin left)

How to conduct exploratory data analysis

【opencv450】帧间差分法

H5 adaptive full screen

牛B程序员在“创建索引”时都会注意啥?
随机推荐
关于重放攻击和防御
C language stack implementation
The tiobe programming language ranking is an indicator of the popular trend of programming languages
计算欧式距离和余弦相似度
Today's sleep quality record 80 points
MCS: discrete random variable - uniform distribution
Missing essential plugin
PHP move_ uploaded_ File failed to upload mobile pictures
Win软件 - (Net-Framework)已处理证书链,但是在不受信任提供程序信任的根证书中终止
Mongodb sharding principle
App automated test appium advanced
架构师之路,从「存储选型」起步
App hangs~
面对新的挑战,成为更好的自己--进击的技术er
Laravel8 implementation of picture verification code
Design and implementation of spark offline development framework
Baidu PaddlePaddle's "universal gravitation" first stop in 2022 landed in Suzhou, comprehensively launching the SME empowerment plan
Konva series tutorial 1:what is konva?
Calculate Euclidean distance and cosine similarity
数据库连接异常:create connection error, url: jdbc:mysql://ip/数据库名, errorCode 0, state 08S01问题处理