当前位置: 首页 > 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;统计得到高…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

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

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

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...