单片机——硬件基础知识


宗旨:技术的学习是有限的,分享的精神是无限的。


1、单片机内部资源

STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源

(1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢

(2)RAM(内存)——数据存储空间 —— 断电数据丢失,读写速度快,无限次使用

(3)SFR  —— 特殊功能寄存器

2、单片机最小系统


最小系统:最少组件组成单片机可以工作的系统。

三要素:

(1)、 电源电路:5V

(2)、 晶振电路:11.0592MHZ、两个30PF

(3)、 复位电路:

P0:开漏输出,必须加上拉电阻

准双向口:

强推挽输出:电流驱动能力强

高阻态

上下拉电阻:上拉电路就是将不确定的信号通过一个电阻拉到高电平,同时限流作用。下拉电阻就是下拉到低电平。

上下拉电阻选取:从降低功耗方面考虑应该足够大,因为电阻越大,电流越小;驱动能力来看,小电阻

3、硬件基础知识

(1)、电磁干扰(EMI)——静电放电(ESD)、快速瞬间脉冲群(EFT)、浪涌(Surge)

(2)、去耦电容的使用

低频滤波电容,平常应用最多的事钽电容,电解电容,陶瓷电容,起到去除电源低频纹波,稳定电源的作用。

高频滤波电容,电容附近,通常用104电容来进行去除高频干扰。

(3)、三极管(PNP,NPN) b,c,e  --- 电压驱动

控制应用

驱动应用

4、LED发光二极管 ——电流驱动


通常红色贴片LED, 靠电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度有所变化,5mA以上亮度基本不变。

VCC 电压是 5V,发光二极管自
身压降大概是 2V,那么在右边 R34 这个电阻上承受的电压就是 3V。

R = U/I  —— 1~20mA —— R:150~3K

5、C语言基础

(1)、基本运算符

+  -   *   /   %   ++   --    =  ==   !=   +=   -=   <<   >>  &&   ||   !   &   |   ~   ^

(2)、循环(C语言以;表示一条语句)

for/while/do...while

for(表达式1;表达式2;表达式3)

{

语句;//可以为空

}

while(表达式)//表达式为真,执行语句

{

语句;//可以为空

}

do

{

语句;//可以为空

}while(表达式);

(3)、函数 (模块化的思想)

类型  函数名(参数类型 参数)

{

函数体;

}

(4)、数组

<1>、具有相同数据类型

<2>、具有相同的类型

<3>、在存储器中连续存储

(5)、51单片机常用延时办法——循环、定时器

(P0 = ~(1 << i++);)

5、流水灯

给IO口一个低电平即可点亮LED灯。

注:单片机对外设的操作其实就是对IO口电平的控制。

[cpp] view plaincopy print?
  1. #include <reg52.h>   //包含特殊功能寄存器定义的头文件
  2. typedef unsigned int  uint;
  3. typedef unsigned char uchar;
  4. int  main(void)
  5. {
  6. uint i = 0; // 定义循环变量i,用于软件延时
  7. uchar j = 0; // 定义计数变量j,用于移位控制
  8. while(1)  // 主循环,程序无限循环执行该循环体语句
  9. {
  10. P0 = ~(1 << j++); // P0等于1左移j位,控制8个LED
  11. for(i = 0; i < 20000; ++i);  //软件延时
  12. if(j >= 8)   //移位计数超过7后,再重新从0开始
  13. {
  14. j = 0;
  15. }
  16. }
  17. return 0;
  18. }

单片机——硬件基础知识相关推荐

  1. 手把手教你学习单片机-硬件基础知识

    去耦电容的应用 C16 和 C19 起到的作 用是一样的,C10 的作用和他们两个不一样. 容值比较大的电容,理论上可以理解成水缸或者水池子,同时,大家可以直接把电流理 解成水流. 作用一,缓冲作用. ...

  2. 51单片机——硬件基础

    单片机--硬件基础知识 宗旨:技术的学习是有限的,分享的精神是无限的. 1.单片机内部资源 STC89C52:8KFLASH.512字节RAM.32个IO口.3个定时器.1个UART.8个中断源 (1 ...

  3. 嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>

    嵌入式硬件基础 1,存储器 1.1 概念 1.2,存储器结构模型 1.3,存储器性能指标 1.4,嵌入式存储器类型 1.4.1,只读存储器 1.4.2,随机存储器 1.4.3,双端口RAM 1.4.4 ...

  4. Linux设备驱动开发详解【二】_设备驱动相关硬件基础知识

    本文简介 本文讲解底层驱动工程师必备的硬件基础,给出了嵌入式系统硬件原理及分析方法的全景视图.         2.1 节讲解微控制器.微处理器.数字信号处理器以及应用于特定领域的处理器各自的特点. ...

  5. 计算机硬件基础知识微盘,第1章 电脑硬件基础知识.pdf

    第1章 电脑硬件基础知识 企业级的 DIY与个人用户有所不同:它要求专业人员对硬件的了解更多,在 DIY过程中, 应该知晓每一种硬件的技术参数在实际工作中的应用价值:本章重点介绍电脑主机设备的主流 和 ...

  6. 《SAP入门经典(第4版•修订版)》——3.2 SAP硬件基础知识

    本节书摘来自异步社区<SAP入门经典(第4版•修订版)>一书中的第3章,第3.2节,作者:[美]George Anderson著,更多章节内容可以访问云栖社区"异步社区" ...

  7. 全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(一)计算机系统构成及硬件基础知识...

    全国计算机技术与软件专业技术资格(水平)考试 软件评测师--考试内容总结       By林雨辰2014.11.08 1.计算机系统构成及硬件基础知识 1.1计算机系统的构成 1.1.1设计电子数字计 ...

  8. 单片机原理与实践学习记录之51单片机硬件基础

    单片机原理与实践学习记录 第三课(更新时间:2021.9.6) 51单片机硬件基础 MCS-51是Intel公司生产的一个单片机系列的总称.在功能上,该系列单片机有基本型和增强型两大类,通常以芯片型号 ...

  9. 硬件基础知识---如何设计一个三极管放大电路

    硬件基础知识---如何设计一个三极管放大电路 设计步骤 1) 分析设计要求 电压增益可以用于计算电压放大倍数:最大输出电压可以用于设置电源电压 输出功率可以用于计算发射极电流:在选择晶体管时需要注意频 ...

最新文章

  1. win10打开本机telnet客户端
  2. 顺序三元组 java_三元组顺序结构实现稀疏矩阵相加,行序优先(Java语言描述)
  3. 【渝粤题库】陕西师范大学201371 国际法学作业
  4. android+图标+i_explore+无背景,Android Studio中Android Device Monitor中的File Explore不显示文...
  5. C# 各版本新增功能
  6. 判断类型是否继承_【Java学习 | Javase】继承与多态
  7. 2018阿里编程测验题:最短汉密尔顿回路
  8. java中改变文本字体和大小_Java实训——编写一个窗体程序,可以对文本区中的文字设置字体和大小。...
  9. java中session对象及其常用方法
  10. [IT新应用]无线投影技术
  11. mybatis查询出现索引越界异常
  12. PCI/PCIe接口卡Windows驱动程序(4)- 驱动程序代码(源文件)
  13. android开发隐藏图片,用美图看看安卓版教你如何隐藏私人图片(图文)
  14. VSCode查看gltf文件(glTF Tools插件)
  15. 【android studio】测试不同buf下flash的读写性能2
  16. Ubuntu LTS 18.04 双硬盘双系统安装以个人优化
  17. MMKV的简单实用一
  18. 计算机文秘,{办公文秘}文秘计算机专业(186页)-原创力文档
  19. 生产计划管理软件有哪些功能?如何解决企业管理难题?
  20. 面试第一个问题,请先做个自我介绍吧!

热门文章

  1. 数学建模-5.相关系数
  2. C#编程(五十四)----------Lookup类和有序字典
  3. 织梦5.7系统dede:likearticle标签使用教程|
  4. php到货通知设计,派代网-再转一个:用户体验之:B2C网站到货通知功能对比分析...
  5. 用vue做一个音乐播放器
  6. Python图片添加噪声
  7. 用python实现简单的火柴人游戏
  8. 访问网站显示php探针,虚拟主机如何获取绝对路径,php探针
  9. How Distance Transform Maps Boost Segmentation CNNs: An Empirical Study
  10. LabVIEW存储数据笔记——数据存储与读取