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

news2024/9/23 10:21:37

文章目录

      • 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工具可以检测到单片机并对其进行程序下载,等待程序烧写成功,配置都正确的话会出现如图的烧写成功提示
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023-12-14 使用Qt画一条曲线(AI辅助)

点击 <C 语言编程核心突破> 快速C语言入门 使用Qt画一条曲线 前言一、Qchart简介二、代码总结 前言 要解决问题: 有一个函数, 生成一些点, 想画一条曲线. 想到的思路: 这个用Qchart比较简单. 其它的补充: 需要稍许配置 一、Qchart简介 QChart是Qt中的一个图表控件&a…

流程图、泳道图的介绍和示例分享,以及自定义元件库的介绍

目录 一. 流程图介绍 二. Processon使用 新建一个流程图 图形的使用 三. 流程图示例 登录界面 门诊业务流程图 住院业务流程图 药房业务流程图 会议OA流程图 四. 泳道图介绍 五. 自定义元件库 5.1 新建一个元件库 5.2 创建元件 5.3 使用自定义元件库 一. 流程图介…

PythonStudio:一款国人写的python及窗口开发编辑IDE,可以替代pyqt designer等设计器了

本款软件只有十几兆&#xff0c;功能算是强大的&#xff0c;国人写的&#xff0c;很不错的python界面IDE.顶部有下载链接。下面有网盘下载链接&#xff0c;或者从官网直接下载。 目前产品免费&#xff0c;以后估计会有收费版本。主页链接&#xff1a;PythonStudio-硅量实验室 作…

智慧城市/一网统管建设:人员危险行为检测算法,为城市安全保驾护航

随着人们压力的不断增加&#xff0c;经常会看见在日常生活中由于小摩擦造成的大事故。如何在事故发生时进行及时告警&#xff0c;又如何在事故发生后进行证据搜索与事件溯源&#xff1f;旭帆科技智能视频监控人员危险行为/事件检测算法可以给出答案。 全程监控&#xff0c;有源…

Landsat7_C2_ST数据集2019年1月-2022年12月

简介&#xff1a; Landsat7_C2_ST数据集是经大气校正后的地表温度数据&#xff0c;属于Collection2的二级数据产品&#xff0c;以开尔文为单位测量地球表面温度&#xff0c;是全球能量平衡研究和水文模拟中的重要地球物理参数。地表温度数据还有助于监测作物和植被健康状况&am…

2023-12-14 二叉树的最大深度和二叉树的最小深度以及完全二叉树的节点个数

二叉树的最大深度和二叉树的最小深度以及完全二叉树的节点个数 104. 二叉树的最大深度 思想&#xff1a;可以使用迭代法或者递归&#xff01;使用递归更好&#xff0c;帮助理解递归思路&#xff01;明确递归三部曲–①确定参数以及返回参数 ②递归结束条件 ③单层逻辑是怎么样…

NSSCTF-Crypto靶场练习---41-46WP

文章目录 [CISCN 2022 西南]rsa[HDCTF 2023]爬过小山去看云[LitCTF 2023]md5的破解[CISCN 2023 初赛]Sign_in_passwd[CISCN 2021初赛]rsa[GWCTF 2019]babyRSA [CISCN 2022 西南]rsa 都是迷惑的东西&#xff0c;别看&#xff0c;注意关键的pow就好。 求 P-1 和 Q-1 的lcm 最小公…

路由器原理

目录 一.路由器 1.路由器的转发原理 2.路由器的工作原理 二.路由表 1.路由表的形成 2.路由表表头含义 直连&#xff1a; 非直连&#xff1a; 静态 静态路由的配置 负载均衡&#xff08;浮动路由&#xff09; 默认路由 动态 三.交换与路由对比 一.路由器 1.路由器…

Kubernetes 容器编排(1)

前言 知识扩展 早在 2015 年 5 月&#xff0c;Kubernetes 在 Google 上的搜索热度就已经超过了 Mesos 和 Docker Swarm&#xff0c;从那儿之后更是一路飙升&#xff0c;将对手甩开了十几条街,容器编排引擎领域的三足鼎立时代结束。 目前&#xff0c;AWS、Azure、Google、阿里云…

人工智能在大型复杂机械产品装配状态检测自动化中的应用

尊敬的读者们&#xff0c;本文主要围绕“大型复杂机械产品装配状态检测自动化方案”开展讨论&#xff0c;从这个领域存在的问题和难度&#xff0c;以及基于人工智能、数字图像处理、机器人控制、装配机理等技术的自动化设计与实践方案。文章提出了数字化建模和智能识别模型构建…

QT QIFW Linux下制作软件安装包

一、概述 和windows的操作步骤差不多&#xff0c;我们需要下装linux下的安装程序&#xff0c;然后修改config.xml、installscript.qs和package.xml文件。 QT QIFW Windows下制作安装包(一)-CSDN博客 一、下装QIFW 下装地址&#xff1a;/official_releases/qt-installer-fra…

Layui继续学习

1、简单评论区代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>社区评论区</title> <link rel"stylesheet" href"https://cdn.staticfile.org/layui/2.6.8/css/…

数据结构与算法之美学习笔记:35 | Trie树:如何实现搜索引擎的搜索关键词提示功能?

目录 前言什么是“Trie 树”&#xff1f;如何实现一棵 Trie 树&#xff1f;Trie 树真的很耗内存吗&#xff1f;Trie 树与散列表、红黑树的比较解答开篇内容小结 前言 本节课程思维导图&#xff1a; 搜索引擎的搜索关键词提示功能&#xff0c;我想你应该不陌生吧&#xff1f;为…

消息可靠性保证

回顾RabbitMQ的消息传递过程 如图所示&#xff0c;发生消息丢失的可能阶段也就是生产者发送消息&#xff0c;时rabbitmq存储消息时&#xff0c;消费者消费消息时。项目源码&#xff1a;gitee 生产者发送消息阶段 生产者发送消息时把交换机名写错生产者发送消息时把routingK…

行为树保姆级教程(以机器人的任务规划为例

行为树 目录 什么是行为树(behavior tree)&#xff1f;行为树的相关术语 行为节点和控制节点不同类型的控制结点&#xff1a; 顺序节点选择节点并行节点装饰结点 机器人的例子&#xff1a;物体搜索 1&#xff1a;如果只存在一个地点A&#xff0c;那么行为树很简单&#xff0…

实验:BGP配置

1.实验目的&#xff1a; 本实验旨在掌握BGP协议的基本概念和配置方法&#xff0c;以及使用Packet Tracer模拟网络环境进行BGP配置的方法。 2.实验要求&#xff1a; 理解BGP协议的基本概念和原理&#xff1b;掌握BGP协议的配置方法&#xff1b;能够使用Packet Tracer模拟网络…

MyBatisPlus使用时报错Invalid value type for attribute ‘factoryBeanObjectType‘

目录 问题 探索过程 总结 问题 今天在学习MyBatisPlus过程中突然报了个错&#xff0c;信息如下 Invalid value type for attribute factoryBeanObjectType: java.lang.String Caused by: java.lang.IllegalArgumentException: Invalid value type for attribute factoryB…

json Deserialization of Python Objects

openweathermap.json {"coord": {"lon": 114.0683, "lat":22.5455},"weather":[ {"id": 803, "main":"Clouds", "description":"多云", "icon":"04d"}],"…

MacOS多屏状态栏位置不固定,程序坞不小心跑到副屏

目录 方式一&#xff1a;通过系统设置方式二&#xff1a;鼠标切换 MacOS多屏状态栏位置不固定&#xff0c;程序坞不小心跑到副屏 方式一&#xff1a;通过系统设置 先切换到左边 再切换到底部 就能回到主屏了 方式二&#xff1a;鼠标切换 我的两个屏幕放置位置如下 鼠标在…

R语言【rgbif】——什么是多值传参?如何在rgbif中一次性传递多个值?多值传参时的要求有哪些?

rgbif版本&#xff1a;3.7.8.1 什么是多值传参&#xff1f; 您是否在使用rgbif时设想过&#xff0c;给某个参数一次性传递许多个值&#xff0c;它将根据这些值独立地进行请求&#xff0c;各自返回独立的结果。 rgbif支持这种工作模式&#xff0c;但是具体的细节需要进一步地…