初识51单片机

##江科大51单片机学习

什么是单片机???

  1. 单片机,英文名,Micro Controller Unit,简称MCU(tips:有人会简称它为CPU,但不是如此,CPU其实被集成在MCU中)。
  2. 内部集成了CPU,RAM,ROM,定时器,中断系统,通讯接口等一系列电脑的常用硬件功能。
  3. 单片机的任务时信息采集(依靠传感器),处理(依靠CPU)和硬件设备(例如电机,LED等)的控制。
  4. 单片机跟计算机相比,单片机是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上,与计算机相差甚远,但单片机成本低,体积小,结构简单,在生活和工业控制领域大有所用。

单片机的应用领域:

1.智能仪表  2.实时工控  3.通讯设备   4.导航系统   5.家用电器   

在加上单片机之后,该设备由单片机控制,从而变的更加智能。

设备配置---普中51---实验板

  1. 单片机型号:STC89C52RC
  2. 所属系列为:51单片机系列
  3. 公司:STC公司
  4. 位数:8位(8bit)
  5. RAM(随机存储器):256字节  (性质:掉电就丢---工作中的工厂)  类似电脑的内存条
  6. ROM(只读存储器):64KB (Flash) 掉电不丢失---仓库   类似于电脑的硬盘
  7. 工作频率:12MHZ  (后面软件控制程序会用到)

所用到的软件程序:

1.Kell uVision5---用于底层代码编写

2.STC-ISP ---用于代码安装以及调试

对于MCU(单片机)上的标签解读

可以看到它整个为STC89C52RC 40I-PDIP 40 后面的为出厂编码

  1. 89:为系列 STC 12T/6T 8051
  2. C(这是第一个C) 工作电压 : 5.5V~3.8V
  3. 52:8K字节程序空间及512字节RAM空间
  4. 40:工作频率可达到40MHZ(赫兹)
  5. I:工作温度范围: 工业级: -40摄氏度-85摄氏度
  6. PDIP:封装类型  双电直插  插针
  7. 40:管脚数为40个

大体结构图:

具体细节图:

相关细节配件

  1. 中央处理器(CPU):CPU是8051体系结构的核心,主要负责执行程序指令,数据处理,中断处理等任务。程序的编写使用到C/C++语言或是汇编语言,通过编译器(Keil uVision)生成二进制可执行文件,然后通过下载工具(STC-ISP)将程序下载到STC89C52RC中。
  2. RAM:256字节的随机存储器。用来存储程序中的变量和中间结果。编程时,需要定义变量将器存储到RAM中,以便程序可以读写变量的值。
  3. ROM:64KB的Flash存储器,可以用来存储程序代码和数据。在编程时,需要将程序代码和数据存储到Flash中,使得单片机可以读取执行。
  4. 定时器/计时器(Timer):具有3个定时器/计数器;可以用来产生定时中断PWM波形输出等功能。在编程时,需要对定时器/计数器进行初始化配置,并编写中断服务程序来处理定时中断。
  5. 串口(UART):具有一个串口,可以用来进行与外部设备的通信,编程时,需要对串口进行初始化配置,并编写发送和接收函数来进行数据传输。
  6. I/O口:可以用来连接各种外部设备,如LED,LCD,按键,传感器等。在编程时,需要对I/O口进行初始化配置,并编写I/O口的读写函数来控制外部设备的状态。
  7. 中断控制器(INT):具有中断控制器;可以用来管理各种中断源和中断服务程序;编程时,需要对中断控制器进行初始化配置,并编写中断服务程序来处理中断事件。

STC89C52系列单片机最小应用系统

 

对此有:VCC为正极  Gnd为负极---这个图我们是要去记忆的 

我有一个记忆法:左为1,3往下增;右为 0,2--0下加,2上加。

在了解单片机的初始构造后,我们来进行第一次的编辑吧。

1-1 点亮一个LED:

首先,我们了解一下,何为LED?

LED是何物?

  1. 中文名:发光二级管
  2. 外文名:Light Emitting Diode--->即为LED
  3. 简称:LED
  4. 用途:照明,广告灯,指引灯,屏幕(优点:省电,亮度高)

  (画的图有点丑哈)

这里我们可以看到,中间的为D1-D8的LED灯就为下图所示

在左边我们可以看到,有P20-P27这些引脚,它们其实与MCU对应处相连接。

在LED灯左边的为VCC---正极。

那么,为何我要讲这个呢?

因为,LED其实是一个会发光的二极管,那么正极接正极时,负极接负极时则LED便可以发光;那么如果我们将一处接反了,则LED不可能再发光了。是的,这个就是我们的理论基础。

对单片机来说,是TTL型即 5V为正极 高电频  0V 为负极 低电频。

 MCU(单片机)里面有CPU(中央处理器)--->寄存器--->驱动器--->引脚

寄存器(8位)里面可以存储二进制数,1可以被驱动器为高电频,0可以被驱动器为低电频;寄存器控制驱动器,来增大驱动能力。那么,我们想要二极管发光,只需要在我们想要发光的二极管所对应的寄存器的对应空间来设置为0,即可让对应的二极管发光,其它的二极管设置为1即可为熄灭。

Tips:CPU通过控制配置寄存器,来控制硬件电路来执行我们想要完成的功能。

使用Keil uVision

首先在桌面创建一个文件夹称为Keilproject,然后再创建一个文件夹叫为1-1点亮一个LED。

具体细节,请观看Keil uVision的文件创建和使用

#include <REGX52.H>
//引入头文件,使得P2该寄存器被定义void main()
{P2=0xFE;// 1111 1110while(1){}
/*这里P2 的P大写,并且0x是16进制的前缀,不可省略。
FE 转化为二进制为 1111 1110 可以看到最后一个为0 
它对应着第一个LED灯,可以亮,其他是熄灭的状态。
}

只要while中()的不为0,其他整数都为真。

当我们码完了这些行代码,便可以进行下一步保存文件。

  1. 第一步:点击那个类似魔法棒的东西。
  2. 第二步:点击OutPut图标,来到现在此页面。
  3. 第三步:勾选住Creat Hex File---是为了创建HEX-80
  4. 第四步:点击OK,便创建成功。 

最后记得调试一下再下载给单片机。 

TC-ISP

这个软件是SCT公司针对其产品开发使用的。

那么,我们来具体使用。

后面,单片机可以的LED区的第一个灯便开始闪亮。至此,我们的第一个MCU(单片机)的第一次开发便成功了。

(Tips:一定要确定好型号,否则,单片机与我们的主机握手失败,单片机不能下载代码)

1-2 LED灯闪烁

基本创建流程和上图相同,便不再赘述。

我们来讲讲具体实现,相对于自己去写一个时缓代码,STC-ISP友好地提供了相应的代码,我们就不用再自己去造轮子了。

那么,我们来具体看看吧。

注意:8051指令集必须是STC-Y1,应为使用的型号适配这个。 

#include <REGX52.H>
#include <INTRINS.H> //引入该头文件,为的是nop()合法化
void Delay500ms()		//@12.000MHz
{unsigned char i, j, k;_nop_();i = 4;j = 205;k = 187;do{do{while (--k);} while (--j);} while (--i);
}void main(){while(1){P2=0xFE;Delay500ms();P2=0xFF;Delay500ms();}
}

最后,按照以上的顺序再次执行即可看到反复闪烁的LED灯了。

最后,感谢你的观看,谢谢。

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

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

相关文章

【牛客】【刷题节】美团2024届秋招笔试第二场编程真题

1.小美的加法【简单题】 题意理解&#xff1a; 给定一个数组做连加操作&#xff0c;其中只能将一个加号变成乘号 将哪个加号变成乘号&#xff0c;使式子最后的结果最大 解题思路&#xff1a; 只有将两个相邻且乘机最大的数之间变成乘号后&#xff0c;才能保证整个式子结果最大 …

微服务知识02

1、九大高并发解决方案 2、系统架构图​​​​​​​ 3、分布式事务 本地事务、分布式事务 操作不同服务器的数据库&#xff08;垂直分库&#xff09; 4、分布式事务解决方案&#xff08;没有seata之前&#xff09; &#xff08;1&#xff09;XA协议&#xff08;强一致性&a…

【Java程序员面试专栏 算法思维】三 高频面试算法题:搜索算法

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊搜索算法,以岛屿问题为切入点练习,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间岛屿数量网格搜索分别向上下左右四个方向探索,遇到海…

1分钟带你学会Python的pass关键字和range函数

1.pass 关键字 pass关键字在 python 中没有任何实际意义&#xff0c;主要是用来完成占位的操作&#xff0c;保证语句的完整性 age int(input(请输入您的年龄&#xff1a;))if age > 18: pass # pass 在此处没有任何意义&#xff0c;只是占位 print(欢迎光临。。。…

Pillow:一个超实用的Python图像处理库

目录 Pillow 引言 Pillow库简介 Pillow的主要功能 1. 图像打开、保存和格式转换 2. 图像增强 3. 几何变换 4. 色彩空间转换 5. 图像分析和处理 Pillow的应用场景 1. 网页图像处理 2. 图像编辑工具 3. 计算机视觉和机器学习

个人IP的核心竞争力是什么?

做个人IP最重要的一点就是学会展示&#xff01; 可以利用网络“链接关系”&#xff0c;通过内容大方分享自己的观点、知识、经验等&#xff0c;以利他思维获取用户信任&#xff0c;从而链接到用户群体。 为什么要展示&#xff1f; 1、吸引同频用户 2、低成本高效率获客 3、…

conda 导出/导出配置好的虚拟环境

一. 导出环境配置&#xff08;yml文件&#xff09; 1. 在主目录下激活虚拟环境&#xff08;UE4是我的虚拟环境名称&#xff0c;请根据你自己的名称进行修改&#xff09; conda activate UE4 2. 运行此代码 conda env export > environment.yml 二. 导入环境配置&#xf…

WSL2配置Linux、Docker、VS Code、zsh、oh my zsh(附Docker开机自启设置)

0. 写在前面 本篇笔记来自于UP主麦兜搞IT的合集视频Windows10开发环境搭建中的部分内容 1. 安装WSL2 按照微软官方文档进行操作&#xff0c;当然也可以直接wsl --install 也可以按照 旧版手动安装的步骤 来进行操作 选择安装的是Ubuntu 20.04 LTS 注&#xff1a;WSL默认安装…

“曲线图揭示收支秘密:让你的支出开销一目了然!“

在繁忙的现代生活中&#xff0c;我们每个人的支出开销都如同一部复杂的交响乐&#xff0c;需要细致入微的管理和分析。而曲线图作为一种直观、易懂的视觉工具&#xff0c;正是我们透视收支明细、洞察支出开销规律的得力助手。 首先&#xff0c;第一步&#xff0c;我们要进入晨…

如何在本地电脑部署HadSky论坛并发布至公网可远程访问【内网穿透】

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3 Cpolar稳定隧道&#xff08;本地设置&#xff09;2.4 公网访问测试 总结 前言 经过多年的基础…

【黑客VS程序员】哪个更厉害?

对于绝大部分程序员来讲写代码是一种职业&#xff0c;而对于黑客来讲写代码算是人生的一种情怀&#xff0c;准确来讲算是一种事业。 要成为一个黑客首先成为一个程序员&#xff0c;首先需要让自己能够像写代码&#xff0c;黑客其实就是程序员职业方向里面的安全方向&#xff0…

掌握项目管理秘籍!常见方法和工具推荐

项目管理的基本流程是由项目启动、项目规划、项目执行、项目监控和项目收尾组成。在这个过程中&#xff0c;我们可以运用到一些经典的项目管理方法&#xff0c;如瀑布法、敏捷方法、Scrum方法、看板方法、精益方法等。也会用到一些项目管理工具如Zoho Projects、Trello、Quickb…

Python实现DAS单点登录

❇️ 流程 进入登录页面 &#xff08;DAS验证的登录页面&#xff09; 获取验证码图像&#xff0c;百度OCR识别 登录 &#x1f3de;️ 环境 Windows 11 Python 3.12 PyCharm 2023 &#x1f9f5; 准备工作 安装必要依赖库 bs4 Jupyter 推荐安装 Jupyter&#xff08;Anaco…

OpenGL ES (OpenGL) Compute Shader 计算着色器是怎么用的?

OpenGL ES (OpenGL) Compute Shader 是怎么用的? Compute Shader 是 OpenGL ES(以及 OpenGL )中的一种 Shader 程序类型,用于在GPU上执行通用计算任务。与传统的顶点着色器和片段着色器不同,Compute Shader 被设计用于在 GPU 上执行各种通用计算任务,而不是仅仅处理图形…

【计算机网络】深度学习使用应用层的HTTP协议

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【计算机网络】深度学习使用应用层的HTTP协议 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 文章目录 一:HTTP是什么二:HTTP请求1.HTTP请求的组成2.HTTP请求的方法…

记录一些mac电脑重装mysql和pgsql的坑

为什么要重装,是想在mac电脑 创建data目录…同事误操作,导致电脑重启不了.然后重装系统后,.就连不上数据库了.mysql和pgsql两个都连不上.网上也查了很多资料.实在不行,.就重装了… 重装mysql. 1.官网下载 https://www.mysql.com/downloads/ 滑到最下面 选择 选择对应的芯片版本…

【深度学习:标记数据】为医生标记数据缓解疼痛

【深度学习&#xff1a;标记数据】为医生标记数据缓解疼痛 问题实验结果结论 我开始在物理学方面进行学术研究&#xff0c;但在第一年就退学了&#xff08;抱歉&#xff0c;休学了&#xff09;我的博士学位&#xff0c;并在定量金融领域做了很长一段时间。因此&#xff0c;在我…

【Android安全】Windows 环境下载 AOSP 源码

准备环境 安装 git 安装 Python 硬盘剩余容量最好大于 100G 打开 Git Bash&#xff0c;用 git 克隆源代码仓库 git clone https://android.googlesource.com/platform/manifest.git //没有梯子使用清华源 git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git…

异步框架Celery在Django中的运用

参考博客&#xff1a;https://www.cnblogs.com/pyedu/p/12461819.html 参考视频&#xff1a;01 celery的工作机制_哔哩哔哩_bilibili 定义&#xff1a;简单灵活、处理大量消息的分布式系统&#xff0c;专注于实时处理异步队列&#xff0c;支持任务调度 主要架构&#xff1a; …

万界星空科技商业开源MES

一、万界星空科技商业开源MES系统概述&#xff1a; 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES。 1.万界星空开源MES制造执行系统的Java开源版本。 开源mes系统包括系统管理&#xff0c;车间基础数据管理&#xff0c;计…