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关键字对寄存器或者变量中的位进行定义。

运算符:

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

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

posted @ 2020-09-29 22:47  那个白熊  阅读(908)  评论(0编辑  收藏  举报