单片机应用基础知识_51单片机基础知识总结

单片机应用基础知识_51单片机基础知识总结单片机——硬件基础知识宗旨:技术的学习是有限的,分享的精神是无限的。1、单片机内部资源STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源(1)Flash(硬盘)——程序存储空间——擦写10万次,断电数据不丢失,读写速度慢(2)RAM(内存)——数据存储空间——断电数据丢失

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

单片机——硬件基础知识


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


1、单片机内部资源

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

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

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

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

 

2、单片机最小系统

单片机应用基础知识_51单片机基础知识总结

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

三要素:

(1)、 电源电路:5V

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

(3)、 复位电路:

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

准双向口:

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

高阻态

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

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

 

3、硬件基础知识

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

(2)、去耦电容的使用

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

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

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

    控制应用

    驱动应用

 

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

单片机应用基础知识_51单片机基础知识总结

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

 

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

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

 

5C语言基础

(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 plain  
copy

 
print
?

  1. #include <reg52.h>   //包含特殊功能寄存器定义的头文件  
  2.   
  3. typedef unsigned int  uint;  
  4. typedef unsigned char uchar;  
  5.   
  6. int  main(void)  
  7. {  
  8.   uint i = 0; // 定义循环变量i,用于软件延时  
  9.   uchar j = 0; // 定义计数变量j,用于移位控制  
  10.   
  11.   while(1)  // 主循环,程序无限循环执行该循环体语句  
  12.   {  
  13.     P0 = ~(1 << j++); // P0等于1左移j位,控制8个LED  
  14.   
  15.     for(i = 0; i < 20000; ++i);  //软件延时  
  16.   
  17.     if(j >= 8)   //移位计数超过7后,再重新从0开始  
  18.     {  
  19.       j = 0;  
  20.     }  
  21.   }  
  22.   
  23.   return 0;  
  24. }  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196089.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java匿名对象_匿名对象概念和使用

    java匿名对象_匿名对象概念和使用在千峰“逆战”学习第14天Personperson=newPerson(“骚杰”,66,‘男’);Person类名person对象名newPerson(…)像内存的堆区申请空间,创建一个Person类对象使用的内存空间匿名对象没有名字的对象,没有对象名的对象格式:new构造方法(所需参数)用途1.提高开发效率,隐形眼镜日抛,一次性筷子匿名对象当前行使用…

    2022年9月6日
    5
  • 2021年超全中高级Java工程师面试题+答案「建议收藏」

    2021年超全中高级Java工程师面试题+答案「建议收藏」java缓存技术面试题1、memcache的分布式原理  memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。每个服务器都是完全独立和隔离的服务。memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。  2、memcache的内存分配机制  如何存放数据到memcached缓存中?(memcache内存分配机制)  SlabAllocator内存分配机制:预先将内存分配成数个slab仓库,

    2022年5月5日
    48
  • python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]

    python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]Python中的矩阵转置via需求:你需要转置一个二维数组,将行列互换.讨论:你需要确保该数组的行列数都是相同的.比如:arr=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]列表递推式提供了一个简便的矩阵转置的方法:print[[r[col]forrinarr]forcolinrange(len(arr[0]))][[1,4…

    2022年5月29日
    45
  • Android 代码混淆机制

    Android 代码混淆机制Android代码混淆机制由于Android项目大部分用的java语言,而java属于高层抽象语言,易于反编译、反汇编,其编译后的程序包包含了大量的源代码变量、函数名、数据结构等信息,根据其编译打包后的APK文件,可以非常容易的得到近乎源代码质量的反编译代码。如果不加混淆,相当于直接将源代码拱手送人,内容严密的app权限审核可以说是形同虚设。如果大家想避免源代码泄漏后重新修改策划而额外增加的工

    2022年5月30日
    75
  • 如何利用ipad随时随地开发代码

    如何利用ipad随时随地开发代码今天,我将向你们展示如何设置iPad,让它成为你们的开发环境。虽然我不建议你用它来执行非常大的项目,但我可以肯定地说,小项目也可以很容易地执行。您可以自己继续测试环境的限制。首先,我们将使用AppStore上的一款iPhone和iPad都可以使用的免费应用程序。该应用程序名为iSHshell,运行Linux操作系统。因此,如果您不习惯Linux命令,我建议您学习基础命令。我还建议您在继续学习本教程之前学习如何使用vim,因为我们将在iPad上使用vim作为我们的主要代码编辑器。Vim有一个陡峭的学.

    2022年5月24日
    36
  • Python绘制旭日图_python绘制散点图

    Python绘制旭日图_python绘制散点图参考链接:https://blog.csdn.net/m0_67790374/article/details/124137448源数据:jupyter无法显示图像:https://blog.csdn.net/Caiqiudan/article/details/125117824

    2022年9月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号