keil软件中怎样添加STC系列单片机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil软件中怎样添加STC系列单片机相关的知识,希望对你有一定的参考价值。
3个方法: 【1】数据库替换法(STC官网方法): 先备份KEIL安装目录UV2(或者UV3)文件夹下面的UV2.CDB(或者UV3.CDB)文件,然后用STC官网提供的同名的CDB文件代替。 说明:这个方法最简单,但缺点是在器件选型时,只能选择STC单片机,原来的单片机都没了,让人不爽。 【2】新数据库添加法: 1、在Keil/C51/INC下新建目录"STC"文件夹, 把STC单片机的头文件拷贝到"STC"目录下。 2、下载的用于keil下的STC器件数据库更名为STC.CDB并拷贝到Keil/UV2目录下。(如果是Kile3则是UV3,Kile4则是UV4) 3、打开Keil文件夹下的TOOLS.ini文件,在[UV2]下面(也就是[C51]上方) 键入CDB0=UV2\STC.CDB("STC"),然后保存退出即添加完毕。(如果是Kile3则是UV3,Kile4则是UV4) 说明:另外增加一个单片机数据库,既可以选择STC单片机,又不影响原来数据库的使用。 使用:为目标设置选项时,点击Device页,在Database中选择“STC”。 新建工程时,在Select a CPU Date Base File中选择“STC”。 注意:关于数据库CDB文件, Kile4向下兼容,Kile4可以使用Kile2、Kile3的数据库CDB文件。 Kile2不向上兼容,Kile2无法使用Kile4的数据库CDB文件。 【3】原数据库添加法:(这个需要自己编辑数据,就不介绍了) 说明:只添加自己使用STC型号,简洁方便,可以选择STC单片机,又不影响原来数据库的使用。 参考技术A 不要添加了,添加也没啥意义,一是添加之后其它公司的单片机没有了,二是仿真时和编译跟单片机型号关系不大,用INTEL 8051 8052或ATMEL 89S51 89S52即可如果要用STC单片机的增强功能,用STC提供的头文件替换 REG51.H或REG52.H,就不用在程序开头去声明一些普通51片机没有的特殊功能寄存器 参考技术B keil软件中怎样添加STC系列单片机_百度经验
STC15系列单片机教程之一:OneLED
STC15系列单片机教程之一:OneLED
STC15系列单片机教程之一:OneLED
一、开发软件准备
二、STC15F2K60S单片机IO分配
三、程序编写
1.Keil 新建项目
2.编写程序
3. 程序的编译
四、固件下载
总结
本系列教程开始学习STC15系列单片机的C语言编程,读者需要有C语言的基础知识。
一、开发软件准备
1. 安装编程软件:Keil
2. 下载软件STC_Isp
3. 配置keil下的STC单片机编程环境
点击添加信号和头文件到Keil中,为 keil软件添加STC系列单片机器件的支持,以及后面要用到的仿真器。
二、STC15F2K60S单片机IO分配
如上图所示,STC15F2K60S 系列块单排及共有5组管脚:
管脚组名称 | 可用位数 |
P0 | 8bit (P0.0-P0.7) |
P1 | 8bit (P1.0-P1.7) |
P2 | 8bit (P2.0-P2.7) |
P3 | 8bit (P3.0-P3.7) |
P4 | 8bit (P3.0-P3.7) |
P5 | 2bit(P5.4-P5.5) |
STC15系列单片机每个管脚都有个IO口模式配置寄存器,可用配置任何一个管脚的输出模式。
每位管脚模式有以下四种: (默认为00,即准双向口)
三、程序编写
在了解了以上STC单片机的IO特性后,我们来尝试编写程序,控制开发板上的LED灯闪烁,其所在管脚为P5.5
1.Keil 新建项目
• 先在keil 的 Project 菜单下选择new uVision Project...创建新项目,并命名。
• Select a CPU Data Base File 中选择 STC MCU Database,创建STC系列单片机项目
• 根据板子类型,为项目选择CPU型号。我这选的是STC15F2K60S2
• 添加main.c文件
2.编写程序
程序代码如下:
//************************************
//STC_XGboard 51单片机学习板
//author:Kimiyang
//OneLEDFlash
//实现单个LED闪烁
//20170109
//************************************
// NAME Pin
// LED P55
#include <STC15F2k60S2.H> //单片机寄存器资源头文件
#include <intrins.h> //使用_nop_();空操作函数时必须包含此头文件
#define LED P55 //定义LED管脚号
void Delay1ms() //@11.0592MHz
{
unsigned char i, j;
_nop_();
_nop_();
_nop_();
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
}
//************************************
//*函数名称:delay
//*函数功能:延时函数
//*参 数:Dtime:延时时间mS
//*返 回 值:无
//************************************
void delay_nMs(unsigned int Dtime)
{
unsigned int i; //255
for(i=0;i<Dtime;i++) // 10us
{
Delay1ms(); //1s
}
}
//************************************
//*函数名称:main
//*函数功能:主函数,程序开机运行的第一个函数
//*参 数:无
//*返 回 值:无
//************************************
int main(void)
{
LED = 1; //灯灭
while(1) //重复执行下面大括号中的4行程序
{
LED = 0; //点亮LED
delay_nMs(500); //延时约为0.5s
LED = 1; //熄灭LED
delay_nMs(500);
}
}
3. 程序的编译
• 设置生成可下载文件-\'hex\'文件
• 使用Keil软件工具条上的Rebuild图标按钮对程序编译
• 编译后观察keil软件底下的Build output窗口,了解编译信息错误或警告: 0 Error,0 Warning
四、固件下载
• 编译成功后(0 Error,0 Warning),使用STC_isp软件,通过单片机的串口下载hex程序到单片机内,观察运行现象。
• 开发板运行效果
总结
• STC单片机头文件STC15F2K60S.h中对管脚的位定义为 管脚组名+管脚bit号,如P15代表的是P1口的第5位。
• #define LED P55 使用#define 定义P55名称为 LED,在下面程序中可用LED 代表P55管脚。对程序阅读比较有帮助。
以上是关于keil软件中怎样添加STC系列单片机的主要内容,如果未能解决你的问题,请参考以下文章