1.1单片机的概念与特点(基础知识)
单片机是一种典型的嵌入式计算机。单片微型计算机,简称单片机。
MCU:Microcontroller Unit微控制器
一个通用计算机系统应包含的基本部件:CPU、程序存储器ROM、数据存储器RAM、定时器/计时器、输入输出I/O口、外部通信接口、中断系统。
传统数字电路和单片机设计电路的区别:
传统数字电路设计是根据系统功能要求,通过组合各种独立的集成电路芯片,构成系统。一旦系统设计好后,功能需要更改时,需要重新设计电路。
而单片机设计电路当系统需要小范围修改时,硬件可以不改动,只需重新编写程序即可。
1.2单片机的发展和应用
4位单片机(依然存在)TMS-1000,8位单片机F8——低性能——高性能(1978-至今)——其他高性能单片机的发展(1982-至今)出现了16位、32位单片机,但8位单片机仍占市场的主要份额
常见51系列兼容单片机简介
美国Intel公司的MCS-51系列单片机
美国Atmel的89系列等等
计算机的位数代表的含义?
计算机内部以及CPU与外部设备间通信时,一次同时处理的二进制数据的位数,位数越多,表示计算机处理数据的能力越强。
单片机应用领域
- 工业自动化检测
- 智能仪表仪器:紫外测温
- 计算机外设和智能设备:商场移动售货机
- 家用电器和消费电子:数码电子产品
单片机系统开发流程
方案设计、原理图设计——PCB印刷电路板设计——电路板制作——软件调试
1.3有符号整数在计算机内的表示(8位机为例)
符号位(+0、+1)+数值位
注意:原码的0存在两个编码值,+0的编码为00000000,-0的编码为10000000.
8位原码的表示范围:-127~+127
+67:01000011B、+25:00011001B、+92:01011100B
-25:10011001
反码(符号位不需要取反)
+67反:01000011、-25反:11100110
注意:反码的0存在两个编码值,+0的编码为00000000,-0的编码为11111111.
补码
+67补:01000011、-25补:11100111
注意:补码的0只存在一个编码值,+0的编码为00000000,-0的编码为00000000.
8位补码的表示范围:-128~+127
2.1 MCS-51单片机的型号与组成
MCS-51系列单片机最早是美国Intel公司在1980年推出,包含51和52两个子系列。
51系列,主要有8031、8051、8751三种型号,指令系统与芯片引脚完全兼容,仅是片内的程序存储器容量有所不同。
52系列:片内数据存储器增至256个字节。
MCS-51单片机的中央处理器(CPU)
累加器ACC(Accumulator简称为A)是CPU中使用最频繁的寄存器。寄存器B称为辅助寄存器,是为乘法和除法指令而设置的。
标准寄存器PSW(Program Status Word)是一个8位的寄存器,用于保存指令执行结果的状态。
控制部件是单片机的控制中心,它包括定时和控制电路、指令寄存器等。
2.2 MCS-51单片机的存储器结构
程序存储器ROM和数据存储器RAM
存放单片机工作时的程序,没有ROM存储器,单片机不能工作。51单片机的程序存储器空间大小位64KB,最大地址从0000-FFFFH.
程序存储器(ROM)
从物理结构上分为:
片内程序存储器ROM:不同型号的容量不同
片外程序存储器ROM:64kB地址空间,外部通过总线访问
单片机EA引脚
单片机EA引脚表示存取程序代码之意,低电平动作,档次引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。EA引脚必须接低电平,因为其内部无程序存储器空间。
数据存储器(RAM)
存储单片机运行期间所需要的数据和临时生成的数据,能够快速读出和写入数据。此类数据掉电后,存储的数据会丢失,不能永久保存。
工作寄存器(通用寄存器)组区;位寻址区(20H-20FH),共16字节,128位;一般存储区;堆栈(先入后出,后入先出)区与堆栈指针。
片外数据存储器
单片机片内RAM存储器不够使用时,单片机可以通过外部总线扩展的片外数据存储器获得更大的存储空间,由于外部地址总线宽度位16位,所以片外RAM扩展
MCS-51单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以自洁为单位。
为实现堆栈的先入后出、后入先出的数据处理,专门设置了一个堆栈指针SP(Stack Pointer).
入栈(Push)时,SP指针的内容先自动加1,再把数据存入SP指针指向的单元;
出栈(Pop)时,先把SP指针指向的单元的数据取出,然后再把SP指针的内容自动减1.
特殊功能寄存器
51系列有18个特殊寄存器,52系列有21个特殊寄存器。