51单片机(STC8) -- 开发环境搭建(Keil C51)

文章目录

      • STC8H3K系列芯片概述
      • STC8H3K系列芯片选型
      • Keil C51简介
      • Keil C51安装
      • 添加C51芯片包
      • 工程创建与编译
      • 工程烧录

STC8H3K系列芯片概述

文章中所用的芯片选型为STC8H3K64S4,后续STC8案例均以该芯片展开
在这里插入图片描述

  • 内核
    • 超高速 8051 内核(1T),比传统 8051 约快 12 倍以上,指令代码完全兼容传统8051
    • 21个中断源,4 级中断优先级
    • 支持在线仿真

  • 工作电压
    • 1.9V~5.5V

  • 工作温度
    • -40℃~85℃

  • Flash 存储器
    • 最大64K 字节FLASH 程序存储器(ROM),用于存储用户代码
    • 支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达10万次以上
    • 支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器
    • 支持单芯片仿真,无需专用仿真器,理论断点个数无限制

  • SRAM
    • 128 字节内部直接访问 RAM(DATA)
    • 128 字节内部间接访问 RAM(IDATA)
    • 3072 字节内部扩展 RAM(内部 XDATA)

  • 时钟控制
    • 内部高精度IRC(4MHz~45MHz,ISP 编程时选择或手动输入,还可以用户软件分频到较低的频率工作, 如100KHz)
    – 误差±0.3%(常温下 25℃)
    – -1.35%~+1.30%温漂(全温度范围,-40℃~85℃))
    – -0.76%~+0.98%温漂(温度范围,-20℃~65℃)
    • 内部 32KHz 低速 IRC(误差较大)
    • 外部晶振(4MHz~45MHz)和外部时钟
    • 用户可自由选择上面的3种时钟源

  • 复位
    • 硬件复位
    – 上电复位(在芯片未使能低压复位功能时有效)
    – 复位脚复位(高电平复位),出厂时 P5.4 默认为 IO 口,ISP 下载时可将 P5.4 管脚设置为复位脚
    – 看门狗溢出复位
    – 低压检测复位,提供 4 级低压检测电压:2.2V、2.4V、2.7V、3.0V
    • 软件复位
    – 软件方式写复位触发寄存器

  • 中断
    • 提供21 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器0、定时器1、定时 器2、定时器3、定时器4、串口1、串口2、串口3、串口4、ADC 模数转换、LVD 低压检测、SPI、I2C、 比较器、PWMA、PWMB
    • 提供 4 级中断优先级
    • 时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、T2(P1.2)、T3(P0.4)、T4(P0.6)、RXD(P3.0/P3.6/P1.6/P4.3)、RXD2(P1.0/P4.6)、RXD3(P0.0/P5.0)、 RXD4(P0.2/P5.2)、I2C_SDA(P1.4/P2.4/P3.3)以及比较器中断、低压检测中断、掉电唤醒定时器唤醒。

  • 数字外设
    • 5 个16 位定时器:定时器0、定时器1、定时器2、定时器3、定时器4,其中定时器0 的模式3 具有NMI (不可屏蔽中断)功能,定时器0 和定时器1 的模式0 为16 位自动重载模式
    • 4个高速串口:串口1、串口2、串口3、串口4,波特率时钟源最快可为FOSC/4
    • 8 路/2 组高级PWM,可实现带死区的控制信号,并支持外部异常检测功能,另外还支持16 位定时器、8 个外部中断、8 路外部捕获测量脉宽等功能
    • SPI:支持主机模式和从机模式以及主机/从机自动切换
    • I2C:支持主机模式和从机模式
    • MDU16:硬件16 位乘除法器(支持32 位除以16 位、16 位除以16 位、16 位乘16 位、数据移位以及数 据规格化等运算)
    • I/O 口中断:所有的I/O 均支持中断,每组I/O 中断有独立的中断入口地址,所有的I/O 中断可支持4 种 中断模式:高电平中断、低电平中断、上升沿中断、下降沿中断

  • 模拟外设
    • 超高速ADC,支持12 位高精度12 通道(通道0~通道2、通道6~通道14,无P1.3/P1.4/P1.5 端口, 所以少了通道3~5)的模数转换,速度最快能达到800K(每秒进行80 万次ADC 转换)
    • ADC 的通道15 用于测试内部1.19V 参考信号源(芯片在出厂时,内部参考信号源已调整为1.19V)
    • 比较器,一组比较器(比较器的正端可选择CMP+端口和所有的ADC 输入端口,所以比较器可当作多路 比较器进行分时复用)
    • DAC:8 路高级PWM 定时器可当8 路DAC 使用

  • GPIO
    • 最多可达43 个GPIO:P0.0P0.7、P1.0 P1.2、P1.6~ P1.7、P2.0P2.7、P3.0P3.7、P4.0P4.7、P5.0P5.5
    • 所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式
    • 除P3.0和P3.1外,其余所有I/O口上电后的状态均为高阻输入状态,用户在使用I/O口时必须先设置I/O口模式
    • 另外每个I/O均可独立使能内部4K上拉电阻

  • 封装
    • LQFP48 (9mm9mm)、QFN48 (6mm6mm)、LQFP32 (9mm9mm)、QFN32 (4mm4mm)、TSSOP20 (6.5mm*6.5mm)

STC8H3K系列芯片选型

STC8H3K系列芯片选型表如下,Data Sheet可从官网下载:Data Sheet 下载
STC8H3K系列芯片

Keil C51简介

Keil C51是由美国Keil Software公司出品的专门用于51系列兼容单片机的C语言软件开发系统。它继承于C语言,主要运行于51内核的单片机平台,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因此易学易用。此外,Keil C51提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的全套开发工具。特别是其生成的目标代码效率非常高,多数语句生成的汇编代码紧凑且容易理解,这在开发大型软件时更能体现高级语言的优势。

Keil C51安装

Keil C51安装包可官网下载,目前最新版本9.61:Keil C51 下载
在这里插入图片描述
这里以9.60版本安装为例,小版本区别不大,不一定需要下载最新版本,可按个人需求进行版本安装,双击运行安装程序

在这里插入图片描述
Next
在这里插入图片描述

同意许可协议,Next
在这里插入图片描述

选择安装路径,可自定义路径,路径不要带中文,Next
在这里插入图片描述
填写用户信息,Next
在这里插入图片描述
等待安装
在这里插入图片描述
安装完成,Finish
在这里插入图片描述
管理员权限运行软件,工具激活 dddd
在这里插入图片描述

添加C51芯片包

傻瓜式安装51啥群欧协工具(STC-ISP),可官网直接下载 STC-ISP下载链接
在这里插入图片描述依次选择 keil仿真 👉 单片机型号 👉 添加型号和头文件 👉 选择keil安装路径 👉 确定
在这里插入图片描述添加芯片包后重启Keil
在这里插入图片描述

工程创建与编译

新建一个用于存放工程的文件夹(因为Keil不会给你的工程新建文件夹),如图新建工程
在这里插入图片描述
选择存放的路径(文件夹),工程命名,保存
在这里插入图片描述选择STC芯片包,在下拉芯片列表中找到芯片 STC8H3K64S4,OK
在这里插入图片描述
提示是否复制STARTUP.A51到工程目录中,否
在这里插入图片描述
右键选择工程,选择 Add New Item to Group…
在这里插入图片描述选择需要添加C File(.c),命名,Add
在这里插入图片描述
main.c写上代码框架,点魔术棒配置工程,勾选创建hex文件
在这里插入图片描述
工程编译生成hex文件
在这里插入图片描述

工程烧录

USB连接各自的51开发板和电脑,打开STC-ISP软件,选择芯片 👉 连接串口 👉 修改运行频率 👉 取消复位脚作为I/O 👉 选择烧写文件
在这里插入图片描述
打开工程生成的hex文件
在这里插入图片描述

点击下载/编程,STC-ISP工具开始往开发板中下载文件。状态提示窗口会显示正在检测目标单片机
在这里插入图片描述
单片机进行复位或断电重启。让STC-ISP工具可以检测到单片机并对其进行程序下载,等待程序烧写成功,配置都正确的话会出现如图的烧写成功提示
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/255061.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SearchWP WordPress高级网站内容搜索插件(包含所有专业扩展)

点击阅读SearchWP WordPress高级网站内容搜索插件(包含所有专业扩展)原文 SearchWP WordPress高级网站内容搜索插件是一个非常强大的工具,可以显着增强您网站的搜索功能。通过向网站访问者提供高度相关和精确的搜索结果,它可以有效地简化他们的搜索过程…

IP地址与实时位置之间的关系

在互联网的普及和信息技术的快速发展中,IP地址作为一种标识符,已经深入到我们的日常生活和工作中。然而,对于IP地址与实时位置的关系,许多人存在误解。本文将对此进行澄清,阐述IP地址与实时位置之间的关系。 首先&…

ORA-00257: 归档程序错误在释放之前仅限于内部连接

Oracle在windows服务器下异常断电或者长时间运行情况下,容易发生ORA-00257: 归档程序错误 “ORA-00257: 归档程序错误。在释放之前仅限于内部连接”错误由于由于归档日志占满了空间,此空间大小限制由参数:db_recovery_file_dest_size来指定…

双指针算法(二)

三数之和 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重…

【gojs】Invalid div id; div already has a Diagram associated with it

刷新gojs&#xff0c;控制台报错 <div id"myDiagramDiv"></div>import go from "gojs"; data() {return {myDiagram: null,} }, mounted() {this.drawTopo(); }, method() {drawTopo() {const $ go.GraphObject.make;this.myDiagram $(go.Di…

【C++】POCO学习总结(十九):哈希、URL、UUID、配置文件、日志配置、动态库加载

【C】郭老二博文之&#xff1a;C目录 1、哈希 1.1 说明 std::map和std::set 的性能是&#xff1a;O(log n) POCO哈希的性能比STL容器更好&#xff0c;大约快两&#xff1b; POCO中对应std::map的是&#xff1a;Poco::HashMap&#xff1b; POCO中对应std::set的是 Poco::Hash…

推荐几款值得收藏的3DMAX插件

推荐几款值得收藏的3DMAX插件 StairGenerator StairGenerator一键楼梯插件&#xff0c;不需要花费太多的时间&#xff0c;轻松从2D平面图生成3D楼梯模型&#xff0c;生成的楼梯模型细节丰富真实。 【主要功能】 1.简单&#xff1a;轻松实现2D到3D建模。 2.具有最详细三维结…

接口优化的常见方案实战经验

一、背景 针对老项目&#xff0c;去年做了许多降本增效的事情&#xff0c;其中发现最多的就是接口耗时过长的问题&#xff0c;就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案。 二、接口优化方案总结 1.批处理 批量思想&#xff1a;批量操作数据库…

css3实现动态心电图折线

css3实现动态心电图折线 M&#xff08;moveto&#xff09;&#xff1a;需要两个参数&#xff08;x轴和y轴坐标&#xff0c;移动到的点的x轴和y轴的坐标L&#xff08;lineto&#xff09;&#xff1a;需要两个参数&#xff08;x轴和y轴坐标&#xff09;&#xff0c;它会在当前位置…

Windows使用VNC Viewer远程桌面Ubuntu【内网穿透】

文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安装VNC viewer连接工具4. 内网穿透4.1 安装cpolar【支持使用一键脚本命令安装】4.2 创建隧道映射4.3 测试公网远程访问 5. 配置固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址5.3 测试…

LSTM ——作业

习题6-4 推导LSTM网络中参数的梯度&#xff0c; 并分析其避免梯度消失的效果 习题6-3P 编程实现下图LSTM运行过程 1. 使用Numpy实现LSTM算子 import numpy as np # 创建一个numpy数组x&#xff0c;它是一个4x4的矩阵&#xff0c;包含9个元素 x np.array([[1, 0, 0, 1],[3, …

python排序算法,冒泡排序和快排

对于排序算法中比较知名的两个算法&#xff0c;分别就是冒泡排序和快速排序&#xff0c;在日常学习和使用中都会听到这两种排序算法的名称&#xff0c;这里主要介绍如何使用python来实现这两种排序算法。 冒泡排序的实现&#xff1a;一是从集合第一个元素开始&#xff0c;每两…

14:00面试,14:05就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到12月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…

LINUX常用命令——gcc编译篇

LINUX常用命令——gcc编译篇 本文设计了LINUX一些基本命令的讲解包括基本命令ls,man;编译命令gcc以及相关参数说明&#xff0c;【练习&#xff1a;输出斐波那契数列】 文章目录 LINUX常用命令——gcc编译篇一、常用基本命令的讲解1.1 ls 列出目录内容1.2 man 查看命令手册 二、…

Linux shell编程学习笔记36:read命令

目录 0 前言1 read命令的功能、格式、返回值和注意 1.1 命令功能1.2 命令格式1.3 返回值1.4 注意事项2 命令应用实例 2.1 一次读入多个变量值2.2 不指定变量名2.3 测试read命令的返回值2.3 指定输入时限并进行相应处理2.4 -t 指定结束符2.5 -n 指定输入字符个数2.6 -N 指定输入…

存储:windows 10 硬盘盒 新盘 SSD分区

1.准备好绿联2.5英寸 2.准备好 SSD 磁盘 3.接入硬盘和盒子 4.win10 电脑 win x 然后选择磁盘管理 &#xff08;磁盘管理 K&#xff09; 5.它会提示需要初始化的一个新的磁盘&#xff0c;确定初始化 6.添加卷 7.命名盘符 8.检测是否识别到盘符 9.end

使用drawio绘制依赖关系图

使用drawio绘制依赖关系图 drawio是一款强大的图表绘制软件&#xff0c;支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用&#xff0c;则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能&#xff0c;并实现了云端存…

gitlab(gitlab-ce)下载,离线安装

目录 1.下载 2.安装 3.配置 4.启动 5.登录 参考&#xff1a; 1.下载 根据服务器操作系统版本&#xff0c;下载对应的RPM包。 gitlab官网&#xff1a; The DevSecOps Platform | GitLab rpm包官网下载地址: gitlab/gitlab-ce - Results in gitlab/gitlab-ce 国内镜像地…

Node.js多版本管理切换

nodejs多版本管理软件&#xff1a;https://github.com/coreybutler/nvm-windows 安装方法 https://www.jianshu.com/p/9ba4cd0706da

Spring Cloud Alibaba核心技术宝典,分布式系统中间件实战案例(百度云下载)

前言 《Spring Cloud Alibaba学习笔记》其实是阿里的微服务解决方案&#xff0c;是阿里巴巴结合自身微服务实践,开源的微服务全家桶&#xff0c;在Spring Cloud项目中孵化成为Spring Cloud的子项目。第一代的Spring Cloud标准中很多组件已经停更,如&#xff1a;Eureak,zuul等。…