zoukankan      html  css  js  c++  java
  • 51单片机学习笔记

    一、基础知识

    1.1 名词解释

    比特(bit): 即一位二进制数,用小写b表示bit。二进制数字后面用Bb作后缀。
    字节(Byte): 由八位二进制数构成,一般用大写B表示。十六进制数后面用H作后缀,或0X0x作前缀。
    PROM(Programmable ROM): 可编程(烧写)只读存储器,内容断电可以维持。内容的存储过程称为固化烧录烧写。烧写(一次性)时需要加高电压。
    EPROM(Erasable PROM): 可擦除、可编程只读存储器,也需要高电压。存储器顶部有窗口,专用紫外线照射可擦除其内容。
    EEPROM( Electrical EPROM,E^2PROM): 电可擦除、可编程只读存储器。5v电压即可反复烧写。
    Harvard(哈佛)体系结构: 程序存储器和数据存储器是分开的。
    冯`诺依曼体系结构: 程序存储器和数据存储器为一个整体。

    编程器:用来将用户编写好的程序写到单片机中的一个设备,是硬件设备。
    仿真器:用户可以通过仿真器和配套的计算机软件,对编写好的程序进行调试,也是硬件设备。

    1.2 单片机体系结构

    8051 cpu: 完成运算和控制功能。
    8051 ram: 内部存储器,共有256个字节单元,高128字节被专用寄存器SFR用,低128字节供用户作寄存器用,地址范围是00H~7FH,简称内部 RAM
    8051 rom: 内部程序存储器,共有4KB ROM,地址范围是0000H~0FFFH,用于存放程序、原始数据或表格,简称内部ROM
    定时/计数器:8051共有2个16位的定时/计数器,供定时或计数结果实现控制功能。
    并行I/O口:8051共有4个8位并行的I/O口(P0,P1,P2,P3),以实现数据 的并行输入输出。
    串行口:8051单片机有一个全双工的串行口。
    中断控制系统:8051共有5个中断源,2外部中断,2定时/计数中断,1串行中断。分为高级和低级两个优先级别。
    时钟电路:8051内部有时钟电路,但石英晶体和微调电容需要外接。时钟电路为计算机产生时钟脉冲序列。系统允许频率一般为6MHz~12MHz。
    内部数据总线:内部数据总线8位宽。

    Vss(20脚):负电源端,接地,0v基准。
    Vcc(40脚):正电源端,+5v电源。
    外接晶振引脚为 XTAL1XTAL2,XTAL1(19脚)是内部振荡电路反相放大器的输入端,XTAL2(20脚)是...的输出端。
    RST/VPD(9脚)当单片机运行时,在此引脚上出现两个机器周期的高电平,将使单片机复位。

    P0(39脚~32脚)是一个8位漏极开路型双向并行IO口。
    P1(1脚~8脚)是一个带有内部提升电阻的8位双向并行IO口
    P2、P3 同P1

    P3口的第二功能:
    P3.0 RXD:串行输入
    P3.1 TXD:串行输出
    P3.2 INT0:外部中断0请求输入端
    P3.3 INT1:外部中断1请求输入端
    P3.4 T0:定时器/计数器0外部脉冲输入
    P3.5 T1:定时器/计数器1外部脉冲输入
    P3.6 WR:外部数据存储器写选信号输出
    P3.7 RD:外部数据存储器读选信号输入

    振荡周期:振荡周期与振荡频率互为倒数关系。
    状态周期:2个振荡周期为1用状态周期。
    机器周期:一个机器周期含有6个状态周期。指令执行的最小时间单位。
    指令周期:最大的时序定时单位,执行一条命令所需要的全部时间称为指令周期。不同的指令不同。8051通常分为单、双、四周期指令三种。

    程序存储器系统保留地址:
    0000H~0002H: 复位后初始化引导程序
    0003H~000AH: 外部中断0,EX0
    000BH~0012H: 定时器0溢出中断,ET0
    0013H~001AH: 外部中断1,EX1
    001BH~0022H: 定时器1溢出中断,ET1
    0023H~002AH: 串行口中断,ES

    中断允许寄存器IE各位分布:

    D7 D6 D5 D4 D3 D2 D1 D0
    EA - - ES ET1 Ex1 ET0 EX0

    复位时IE寄存器各位都被清0,即默认状态下所有中断源都被禁止。
    中断优先级由IP寄存器控制:

    D7 D6 D5 D4 D3 D2 D1 D0
    - - - PS PT1 PX1 PT0 PX0

    当该位为1时,定义为高优先级,否则为低优先级。
    高优先级可以中断低优先级,而同级不可互相中断。
    同时收到同一优先级中断时,按以下顺序响应:外部0,定时0,外部1,定时1,串口。

    1.3 51单片机中的c语言

    名称 长度 值域
    位型 bit 1 bit 0,1
    字符型 unsigned char, char 1 byte 0-255,-128~127
    整型 unsigned int, int 2 bytes 0-65526, -32768~32767
    长整型 unsigned long, long 4 bytes 0~4294967295, -2147483648~2147483647
    浮点型 float 4 bytes
    双精度浮点型 double 8 bytes

    数据存储空间关键字

    关键字 存储器对应关系
    data 直接寻址片内数据存储器(128B)
    bdata 片内位寻址存储空间(16B)
    idata 间接寻址片内数据存储空间,可以访问RAM全部内容
    pdata 分页寻址片外数据存储器(256B)
    xdata 片外数据存储器(64KB)
    code 代码存储器(64KB)

    c51语言支持使用关键字sfrsfr16来定义51单片机的片内寄存器,
    同时支持使用sbit关键字对寄存器或者变量中的位进行定义。

    运算符:

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

    位与& 位或| 位异或^ 位取反~ 位左移<< 位右移>>

    有了计划记得推动,不要原地踏步。
  • 相关阅读:
    CentOS 7 配置hadoop(二) 配置hdfs(伪分布)
    CentOS 7 配置hadoop(一) 安装虚拟机(伪分布)
    linux配置
    hive配置
    引用的layui框架在网页上时间显示object
    Spring常用的基本注解
    5W1H分析法
    项目在网页中字符编码问题
    eclipse项目上如何传到码云上!
    spring+springmvc+mybatis+Redis的配置文件
  • 原文地址:https://www.cnblogs.com/amnotgcs/p/13752304.html
Copyright © 2011-2022 走看看