当前位置: 首页 > news >正文

【蓝桥杯单片机入门记录】认识单片机

目录

单片机硬件平台

单片机的发展过程

单片机开发板

单片机基础知识

电平

数字电路中只有两种电平:高和低

二进制(8421码)

十六进制

二进制数的逻辑运算

“与”

“或”

“异或”

标准C与C51

如何学好单片机

端正学习的态度、培养自学能力、要有远大的目标

要有学习的恒心、面对挫折的准备

树立起学习勇气

要追求质量而非速度,基础部分知识量大而小且必须

无论简单还是复杂的程序,一定要自己写出

无论出现什么样的错误,一定要找到错在哪

多写、多练、多想

学习过程中遇到的问题解决思路


单片机硬件平台

单片机的发展过程

          • 单片机诞生于1971年,经历了SCM(SignalChipMachine)
          • MCU(MicrocontrollerUnitSoC(System on Chip)三大阶段。单片机名字的来历一直是延续最早的单片微型计算机,简称单片机。

          • 传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位SoC单片机主频已经超过300MHz.

          • 当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统型。

          • 8051单片机

            • 8051单片机最早由Intel公司推出的8位单片机,也是目前使用最多,最经典的一款单片机。其指令系统共有111条指令,属于复杂指令集系统(ComplexInstructionSetComputer,简称CISC)。内部采用冯·诺依曼结构,即数据总线和指令总线分时复用。

            • 随后lntel公司将80C51内核使用权以专利互换或出让给世界许多著名IC制造厂商,如PhilipsNEC、Atmel、AMD、Dallas、siemens、Fuiutsu、OKl、华邦、LG等。在保特与80C51单片机兼容的基础上,这些公司容入了自身的优势,扩展了针对满足不同测控对象要求的外围电路,如满足模拟量输入的A/D、满足伺服驱动的PWM、满足高速输入/输出控制的HSL/HSO满足串行扩展总线I2C、保证程序可靠运行的的WDT、引入使用方便且价廉的FlashROM等开发出上百种功能各异的新品种。这样80C51单片机就变成了众多芯片制造厂商支持的大家族,统称为80C51系列单片机。客观事实表明,80C51已成为8位单片机的主流,成了事实上的标准MCU芯片。

          • STC单片机

            • STC单片机是我国宏品科技公司(STCmicro)推出的51单片机兼容产品,该家族的单片机芯片,以扩展的功能强大、成本低廉、型号众多、开发方便等优势,迅速占领了中国市场。

            • 宏晶科技于2004/2005年推出第一款51内核的STC单片机,STC89C51RC/RD+系列,该系列的芯片片内具有高保密可编程10万次的Flash程序存储器、512字节到1280字节的数据存储器;6-8个中断源;3个16位定时/计数器;主频0~40M;具有ISP/IAP功能等等,这些功能都强于传统的51单片机芯片。

            • 2010年宏晶科技公司开始推出STC15系列的芯片。该系列芯片是目前的主流产品。其强大功能包括:1个机器周期仅包含1个系统时钟周期(即所谓1T技术),而传统的51单片机是1个机器周期包含12个时钟周期,仅此就在主频相同的情况下,将指令执行速度提高到原有的12倍(在指令时钟数相等的情况下):1/0口线可达44根,每个口线驱动能力最大可达20mA(当然芯片总的功耗不能超过120mA/90mA):片内新增CCP/PCA/PWM模块、SPI串行通信模块、ADC模/数转换模块、看门狗以及大容量的程序存储器Flash和数据存储器RAM,具备ISP/IAP工作模式,等等。所有这些功能,都远远超出了传统的51单片机所具有的能力。

单片机开发板

          • 发展背景简介

            • 单片机技术自发展以来已走过了近20年的发展路程。小到遥控电子玩具,大到航空航天技术 等电子行业都有单片机应用的影子。针对单片机技术在电子行业自动化方面的重要应用,为满足广大学生、爱好者、产品开发者迅速学会掌握单片机这门技术,于是产生单片机开发板也称单片机学习板、单片机实验板。

          • 单片机学习板的用途

            • 单片机开发板是用于学习51、STC、AVR型号的单片机实验设备。根据单片机使用的型号又有51单片机开发板、STC单片机开发板、AVR单片机开发板。

            • 除了包含单片机芯片以外,电路,便于初学者的学习。还集成有电子产片开发常用的LED、按键、数码管、AD转换等等

          • 蓝桥杯单片机开发板

            • 也是一款单片机开发板;但支持蓝桥杯单片机大赛;

            • 板载资源(支持学习的功能)属中上等,板子电路逻辑较为复杂(但初学者无需担心)

            • 有历年企业工程师及专家精心研制赛题(相当于小项目);

单片机基础知识

电平

          • 定义

            • 电平:就是指电路中两点或几点在相同阻抗下电压的相对比值;

          • 理解

            • 电平的测量实际上也是电压的测量,只是刻度不同而已;

数字电路中只有两种电平:高和低

          • 高、低代表1和0。数字电路只认1和0

二进制(8421码)

          • 数字电路中的两种电平的特性决定了使用二进制

十六进制

          • 十六进制是二进制的简短表示形式

            • 十进制中的0-15分别表示为十六进制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F;

          • 熟练掌握二进制与十六进制之间的转换

            • 转换规律:一般把四个二进制数放在一起转换成一个十六进制数,转换时先把二进制数转换成十进制数,再把十进制数转换成十六进制数;

            • 如0001B--->1--->1H (B表示为二进制,H为十六进制) 1001B --->9 --->9H 1010B ---> 10 --->AH

二进制数的逻辑运算

          • “与”

            • “与”运算是实现“必须都有,否则就没有”这种逻辑关系的一种运算。 运算符为“·”:,其运算规则如下: 0·0=0、0·1=1·0=0、1·1=1

            • 单片机C语言编程中运算符为“&”

          • “或”

            • “或”运算是实现“只要其中之一有, 就有”这种逻辑关系的一种运算,其运算符为“+“或”运算规则如下:0+0=0,0+1=1+0=1,1+1=1

            • 单片机C语言编程中运算符为“|”

          • “异或”

            • 异或”运算是实现“必须不同,否则就没有”这种逻辑的一种运算.

            • 单片机C语言编程中运算符为“^”

标准C与C51

如何学好单片机

端正学习的态度、培养自学能力、要有远大的目标

          • 单片机学习的目的,不仅仅是为了期末考试、获奖;

          • 主要是学习一门技术,为后续课程、为以后工作、生活做储备;

要有学习的恒心、面对挫折的准备

          • 这是一门以应用为主的专业课程(对很多同学来说可能是第一次)

          • 部分同学电脑基本操作不熟练,比如:打字、中英文切换、特殊符号等等:

          • 一项技术(技能)的学习,是一个简短而又漫长的过程;

树立起学习勇气

          • 就是因为不会,所在才要学习:

          • 就是因为基础差,所以更要努力;

          • 技术是靠不断的学习、积累和锻炼出来的,没有所谓的投机取巧;

要追求质量而非速度,基础部分知识量大而小且必须

          • 要有紧迫感的赶紧学习,但也不能过于急功近利;

          • 能够熟练写出课程中的每一个程序,熟记每一个知识点,按照要求去做,莫偷懒;

          • 九层妖塔,起于垒土:

          • 无论简单还是复杂的程序,一定要自己写出

无论简单还是复杂的程序,一定要自己写出

          • 抄写、默写、完全模仿、根据原理图自己写等;

          • 实践是检验真理的唯一标准;

无论出现什么样的错误,一定要找到错在哪

          • 程(教程)中演示没有问题的,一般就是没有问题的,自己耐心的找错、对错即可;

          • 根据错误提示、根据错误现象、重复看、逐行复制、使用代码对比工具等;

多写、多练、多想

          • 发散思维,自己变换题目花样、写出自己想要的程序;

学习过程中遇到的问题解决思路

          • 养成自主学习、独立解决问题的好习惯。能自己尝试的问题就先自己尝试,哪怕是从头再来一遍

相关文章:

【蓝桥杯单片机入门记录】认识单片机

目录 单片机硬件平台 单片机的发展过程 单片机开发板 单片机基础知识 电平 数字电路中只有两种电平:高和低 二进制(8421码) 十六进制 二进制数的逻辑运算 “与” “或” “异或” 标准C与C51 如何学好单片机 端正学习的态度、培…...

Rust 数据结构与算法:3栈:用栈实现符号匹配

1、符号匹配 如: (56)(78)/(43)、{ { ( [ ] [ ])}}、(ab)(c*d)func() 等各类语句的符号匹配。 这里我们关注的不是数字而是括号,因为括号更改了操作优先级,限定了语言的语义,这是非常重要的。如果括号不完整,那么整个…...

用ESP8266快速实现WIFI红外遥控器(SoC模式)

1,硬件结构图 主要使用了esp8266 wifi模块和红外串口通讯模块。有了红外串口通讯模块,省去了单片机的串口通讯和红外编码程序,大大缩短开发时间。因为红外通讯模块不支持3.3VTTL电平,所以两个模块之间加了一个2路电平转换模块&…...

微服务OAuth 2.1认证授权可行性方案(Spring Security 6)

文章目录 一、背景二、微服务架构介绍三、认证服务器1. 数据库创建2. 新建模块3. 导入依赖和配置4. 安全认证配置类 四、认证服务器测试1. AUTHORIZATION_CODE(授权码模式)1. 获取授权码2. 获取JWT 2. CLIENT_CREDENTIALS(客户端凭证模式) 五、Gateway1.…...

Maui blazor ios 按设备类型设置是否启用safeArea

需求&#xff0c;新做了个app&#xff0c; 使用的是maui blazor技术&#xff0c;里面用了渐变背景&#xff0c;在默认启用SafeArea情况下&#xff0c;底部背景很突兀 由于现版本maui在SafeArea有点bug&#xff0c;官方教程的<ContentPage SafeAreafalse不生效&#xff0c;于…...

C#系列-使用 Minio 做图片服务器实现图片上传 和下载(13)

1、Minio 服务器下载和安装 要在本地安装和运行 MinIO 服务器&#xff0c;你可以按照以下 步骤进行操作&#xff1a; 1. 访问 MinIO 的官方网站&#xff1a;https://min.io/&#xff0c;然后 点击页面上的”Download”按钮。 2. 在下载页面上&#xff0c;选择适合你操作系统的 …...

生活篇——华为手机去除负一屏

华为手机去除如下图的恶心负一屏 打开华为的应用市场app 进入&#xff1a;我的-设置-国家/地区&#xff08;改为俄罗斯&#xff09;-进入智慧助手检查更新并更新智慧助手。 然后重复开始的操作&#xff0c;将地区改回中国&#xff0c;这样就没有负一屏了。...

2024牛客寒假算法基础集训营2-c Tokitsukaze and Min-Max XOR

来源 题目 Tokitsukaze 有一个长度为 n 的序列 a1,a2,…,an和一个整数 k。 她想知道有多少种序列 b1,b2,…,bm满足&#xff1a; 其中 ⊕\oplus⊕ 为按位异或&#xff0c;具体参见 百度百科&#xff1a;异或 答案可能很大&#xff0c;请输出  mod1e97 后的结果。 输入描述…...

C语言:指针的基础详解

目录 1. 内存 2. 取地址& 3. 指针变量 4. 解引用 4.1 *解引用 4.2 []解引用 4.3 ->解引用 5. 指针变量的大小 5.1 结论 6. 指针运算 7. void* 指针 8. const修饰指针 8.1 const修饰变量 8.2 const修饰指针变量 8.3 结论 9. 野指针 9.1 为什么会出现野指…...

PHP+vue+mysql校园学生社团管理系统574cc

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin 前台功能&#xff1a; 首页&#xff1a;展示社团信息和活动…...

VS Code中主程序C文件引用了另一个.h头文件,编译时报错找不到函数

目录 一、问题描述二、问题原因三、解决方法四、扩展五、通过CMake进行配置 一、问题描述 VS Code中主程序C文件引用了另一个.h头文件&#xff0c;编译时报错找不到函数 主程序 main.c #include <stdio.h> #include "sumaa.h"int main(int, char**){printf(&q…...

边缘计算:重塑数字世界的未来

引言 随着物联网&#xff08;IoT&#xff09;设备的激增和5G网络的普及&#xff0c;我们正站在一个计算模式的新纪元门槛上——边缘计算。这一技术范式将数据处理和分析推向网络的边缘&#xff0c;即设备或终端&#xff0c;为实时性要求较高的应用提供了前所未有的可能性。 目…...

2024 前端面试题 附录3

这里记录的是昨天和今天原篇的知识点补充 原篇地址&#xff1a; 2024 前端面试题&#xff08;GPT回答 示例代码 解释&#xff09;No.41 - No.60 2024 前端面试题&#xff08;GPT回答 示例代码 解释&#xff09;No.61 - No.100 2024 前端面试题&#xff08;GPT回答 示例代…...

[Vue warn]: Duplicate keys detected: ‘1‘. This may cause an update error.

[Vue warn]: Duplicate keys detected: ‘1‘. This may cause an update error.——> Vue报错&#xff0c;key关键字不唯一&#xff1a; 解决办法&#xff1a;修改一下重复的id值&#xff01;&#xff01;&#xff01;...

Docker-Learn(二)保存、导入、使用Docker镜像

1.保存镜像 根据上一节内容&#xff0c;将创建好镜像进行保存&#xff0c;需要退出当前的已经在运行的docer命令行中断里面&#xff0c;可以通过在终端里面输入指令exit或者按下键盘上的 ctrlD建退出&#xff1a; 回到自己的终端里面&#xff0c;输入指令&#xff1a; docker…...

第三百一十五回

文章目录 1. 概念介绍2. 基本用法3. 补充用法4. 内容总结 我们在上一章回中介绍了"再谈ListView中的分隔线"&#xff0c;本章回中将介绍showMenu的用法.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在第一百六十三回中介绍了showMenu相关的内容…...

区块链(一): 以太坊基础知识

目录 什么是区块链&#xff1f;什么是以太坊&#xff1f;什么是加密货币&#xff1f;以太坊与比特币有什么不同&#xff1f;以太坊能做什么&#xff1f;什么是智能合约&#xff1f;以太坊社区以太坊白皮书 什么是区块链&#xff1f; 区块链是一个交易数据库&#xff0c;在网络…...

高级FPGA开发之基础协议PCIe

基础协议之PCIe部分 一、TLP包的包头 在PCIe的系统中&#xff0c;tlp包的包头的结构有许多部分是相似的&#xff0c;通过掌握这些常规的包头&#xff0c;能帮助理解在PCIe总线上各个设备之间如何进行数据的收发。 通用的字段 通用字段作用Fmt决定了包头是3DW还是3DW&#xff…...

Vue核心基础1:数据代理

1 回顾Object.defineProperty方法 let str hello const person {name: 张三,age: 18 } Object.defineProperty(person, sex, {// value: 男,// enumerable: true, // 控制属性是否可以枚举&#xff0c;默认值是false// writable: true, // 控制属性是否可以被修改&#xff0…...

12 ABC串口接收原理与思路

1. 串口接收原理 基本原理&#xff1a;通过数据起始位判断要是否要开始接收的数据&#xff0c;通过采样的方式确定每一位数据是0还是1。 如何判断数据起始位到来&#xff1a;通过边沿检测电路检测起始信号的下降沿 如何采样&#xff1a;一位数据采多次&#xff0c;统计得到高…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...