微型计算机和单片机简介
微型计算机的组成及其应用形态
-
微处理器(中央处理单元,简称CPU):将运算器,控制器,一些寄存器,集成在一个芯片上
-
存储器
-
I/O接口
应用形态:多板机,单板机,单片机
单片机的发展过程
- 单片机的组成:将微处理器,一定容量的RAM和ROM以及I/O接口,定时器/计数器、通信接口,中断系统等电路集成在一块芯片上,构成单片微型计算机
-单片机分类
分为通用型和专用型两大类。
通用型:内部资源可开发,编写相应的程序来实现其测控功能。
专用型:专门针对某些产品的特定用途制作,例如各种家用电器的控制器等。
-
单片机的外形封装:分为双列直插(DIP)和方形封装(PLCC或TQFP封装)
双列直插有40个引脚,方形封装有44个引脚。
-
系统机和单片机比较
- 系统机(桌面应用):主要用于数据处理,办公自动化及辅助设计
- 单片机(嵌入式应用):主要用于智能仪表及传感器,智能家电,智能办公设备,汽车及军事电子设备等系统。通常又把单片机称为微控制器、嵌入式控制器(EMCU)
-
单片机的发展过程
-
Intel推出的MCS-48系列单片机,组成:8位CPU,1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器
特点:存储器容量小,寻址范围小,不大于4K,五串行接口,指令系统功能不强。
-
Intel推出MCS-51系列单片机:8位CPU,4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器,寻址范围64K,并有控制功能较强的布尔处理器
特点:结构体系完善,性能已大大提高。
-
ATMEL推出的AT89S52:8位CPU,片内有8KB的Flash程序存储器ROM、256字节RAM、3个16位定时/计数器(比8051多出一个定时器,且具有捕捉功能)
-
单片机的特点
- 体积小、价格低,可靠性高
- 结构上突出控制功能:可直接操作I/O端口,位操作能力突出,CPU、存储器及I/O接口集成在同一芯片内,数据在传送时受干扰的影响小,且不易受环境条件的影响。
单片机的发展趋势
向高性能化,存储大容量,外围电路内装化等方面发展
- 存储器发展:片内存储器普遍采用Flash存储器,容量可达数十KB
- 片内I/O口的改进:增加了并行口驱动能力,设置了特殊的串行I/O功能
- 低功耗:CMOS工艺,功耗小,消耗电流仅在微安或纳安量级,便携
- 外围电路内装化:将外围电路装入片内,一片芯片就是一个测控系统
AT89S52单片机的片内硬件结构
熟悉AT89S52芯片内部结构
AT89S52单片机的硬件组成
-
单片机由总线连接,总线指的是能为多个部件服务的信息传送线,由导线组成
-
CPU:8位,起到运算和控制(位处理和位控)功能
CPU通过地址、数据和控制总线连接ROM和RAM
-
数据总线:传输发送接收数据
-
地址总线:传递一些地址信息,CPU将数据指令在存储器中的地址放到地址总线。
-
控制总线:传送一些控制信号和时序信号,CPU在控制总线上发送一个读或写的信号
- 读操作:从存储器指定位置读出数据并放在数据总线上
- 写操作:CPU将数据输出到数据总线上
-
-
内部RAM(随机存取存储器):256个RAM单元(每个单元8位)。用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。
- 用以存放可以读/写的数据,如运算的中间结果,最终结果以及欲显示的数据等
-
片内程序存储器ROM:8KB闪存
- 用以存放数据、一些原始数据和表格。但有些单片机内部不带ROM/EPROM,如8031、8032、80C31等
-
定时计数器:3个16位的定时计数器,
- 用来计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。
-
并行I/O口:4个8位的I/O口(输入/输出),P0,P1,P2,P3,共有32位接口。
-
P0口既可以作为数据的输入输出口,也可以作为1-8位地址的输出口,p0口也叫做数据和地址的分时复用口,在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。
-
P2口:数据I/O口,也是高八位地址的复用口。
-
P3口:有第二功能
-
-
全双工URAT串行I/O口:
-
全双工:可以同时(瞬时)进行信号的双向传输(A到B且B到A),如手机,电脑
-
半双工:也是双向,即(A到B且B到A)但不能够同时传输,如对讲机
-
单工:(A到B但B不能到A),如电视
-
-
中断控制系统:实时控制
-
6个中断源
- 外中断(信号来自单片机芯片的外部):2个
- 内部中断(信号来自单片机CPU的内部):定时计数中断3个,串行中断1个
-
有2级中断优先权(就是谁的中断优先级高,就先处理谁的中断请求)
-
-
时钟电路:分为时序逻辑电路(特点:工作过程必须要有时钟脉冲)和组合逻辑电路,可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ.
-
片内振荡器:需要外接晶振和电容
-
特殊功能寄存器(SFR):有32个特殊功能寄存器
- 用于CPU对片内各外设部件进行管理、控制和监视
- 掌握AT89S52的存储器配置及特点
-
一个看门狗定时器(WDT):当单片机由于干扰而使程序陷入死循环或跑飞状态时,可引起单片机复位,是程序恢复正常运行。
AT89S52与AT89C51单片机结构对比
- [x] CPU同
-
内部ROM:4kb掩膜ROM,存放程序,原始数据和表格。(固定不变的)
-
定时计数器:两个16位的定时计数器,实现定时或计数功能
-
中断控制系统:实时控制,5个中断源(外中断2个,定时计数中断2个,串行终断1)
AT89S52单片机的引脚功能
-
双列直插式(DIP)
-
电源线:VCC(+5V)、VSS(接地线)
-
按逆时针规律排列,有40个引脚
-
振荡电路:XTAL1(反相放大器输出)、XTAL2(反相放大器输入),通过电容接在18、19引脚
-
通常外接一个晶振和两个电容
-
-
复位引脚:RST(高电平有效),接在9角,使单片机处于初始的复位状态。
-
并行I/O口:P0,P1,P2,P3
- 准双向:当I/O口作为输入时,应先向此口锁存器写入全1,此时该口引脚浮空,可作高阻抗输入。
-
EA(非):内部ROM选择端,访问程序存储控制信号,因为程序存储器可能在单片机内部,也可能在单片机外部,这时候就由这个管脚的高低电平来选取内部或者外部的指令。
- EA(非):保持高电平时,先访问内ROM,但当PC(程序计数器)值超过8kb(1FFFH)时,将自动转向执行外ROM中的程序。
- EA(非):保持低电平时,则只访问外ROM,不管芯片内是否有内ROM。
- Vpp功能:片内有EPROM的芯片,在EPROM变成期间,施加编程电源Vpp(12-21V)
-
PSEN(非):外部ROM读选通信号,当单片机中的CPU需要从外部程序存储器中选取指令时,可以通过这个管脚做一个选通的控制信号
- 读控制端(OE非)低电平有效
-
ALE(PROG非):地址锁存控制信号和片内EPROM编程脉冲(片内有EPROM的芯片,在EPROM编程期间,在此引脚输入编程脉冲。
- 所存P0口送出的低8位地址
-
第二功能
-
P3口具有第二功能
-
P3 0:RXD,P3 1:TXD:既可以作为一般的输入输出的I/O口的控制端子,同时可以作为串行通信的两条线,P3 0是串行口输入,P3 1是串行口输出
-
P3 2:INT0非,P3 3:INT1非:既可以作为I/O口的控制端子,还可以作为外部中断的请求输入信号
- INT0:外部中断0请求输入端
- INT1:外部中断1请求输入端
-
P3 4:T0,P3 5:T1:既可以作为I/O口的控制端子,也可以作为定时计数器对外部世界进行计数的输入端子,P3 4 是定时器0的外部输入,P3 5是定时器1的外部输入
-
P3 6:WR非,P3 7:RD非:P3 6,P3 7既可以作为I/O口的控制端子,也可以作*单片机与外部的数据存储器进行数据传输时的选通控制信号
- WR非:片外数据存储器写选通,低电平有效(写选通控制输出)
- RD非:片外数据存储器读选通,低电平有效(读选通控制输出)
-
-
方形封装式(PLCC)
-
控制线:EA,ALE,PSFN,RST
AT89S52单片机的CPU
-
控制器:用于指挥和控制计算机工作的部件
-
分为程序计数器PC,数据指针DPTR
-
单片机有一个与16位地址线对应的16位寄存器,存放程序存储器的地址,成为程序计数器PC,具有自动加1的功能。
-
PC中存放的是下一条将要执行的指令的地址
-
AT89S52单片机共有16根地址线,有低八位地址总线(P0)和高八位地址总线(P2)。故最大空间为2^16=64kb
-
-
数据指针DPTR:指针指某存储单元或变量的地址,DPTR主要用于存放片外数据存储器的地址。
- 数据指针一边可以访问外部数据存储器的地址寄存器,存放数据地址,也可以访问外部程序存储器的基址寄存器,存放程序基地址。也可以做普通的16位寄存器使用,也可以做两个8位寄存器使用,高8位为DPH,低八位为DPL
-
PC访问程序存储器,DPTR访问数据存储器。
-
PC和DPTR都是16位寄存器,都与地址有关,只是PC只能存放程序存储器地址,而DPTR能存放程序,数据存储器地址。
-
DPTR和PC的寻址方式可以是变址寻址(机制寄存器+变址寄存器间接寻址)
-
变址寻址:以某个寄存器的内容为基地址,在这个基地址的基础上加上地址偏移量形成真正的操作数地址。
-
单片机中采用DPTR或PC为变址寄存器,A(累加器)的内容为地址偏移量。
-
变址寻址只能访问程序存储器,访问范围是64KB.
-
如题所示,move移动累加器和数据指针到这个累加器,DPTR和A相加就是程序存储器地址。本题0302H,再找到0302H对应的数据就是1EH,再把1EH送到累加器中去,最终的累加器的数据就是1EH,不是0302H,0302H是一个地址,不是数据
-
-
指令寄存器IR,指令译码器、控制逻辑
-
一条指令都会有对应的操作码和操作数,而在AT89S52单片机中共有三种指令长度。
-
指令寄存器IR:专门存放指令操作码的寄存器
-
指令译码器:分析操作码功能的寄存器
-
控制逻辑:根据译码结果发出一系列控制信号,控制单片机各个功能部件执行相应操作。
-
-
-
运算器
-
用于对数据进行算数运算和逻辑操作的执行部件。
-
分为累加器A,寄存器B,程序状态字PEW,算术逻辑运算单元ALU
-
累加器A,是最常用的8位寄存器,用于数据传送、运算、控制转移各类指令中。存放操作数和运算的最终结果。
-
寄存器B,可以进行乘法运算,除法运算和暂存器(作为数据的暂存)。
-
程序状态字PEW,8位寄存器,反映当前CPU工作状态和运算结果的状态。
-
CY表示进位状态,进位或借位标志位。可进行加减法运算,如FFH+01H=100H,00H-01H=1FFH(注:某些控制转移类指令影响CY,如CJNE指令。)
-
AC表示半进位状态,辅助进位或借位标志位加减法运算,如:00001111+00000001=00010000
-
OV表示溢出标志位:加减法运算(用于判断有符号数运算结果是否发生溢出),乘法运算:乘积>255,OV=1,除法运算:除数=0,OV=1
-
P表示奇偶校验位:判断累加器A内容的奇偶性,奇数个1则P=1
-
-
-
-
一些寄存器
掌握AT89S52的存储器配置及特点
-
存储器组织:分为两种结构,冯诺依曼结构和哈佛结构
-
冯诺依曼结构:特点:程序、数据、外设寄存器位于统一的存储空间,地址无重叠,结构简单。
-
哈佛结构:特点:1.程序、数据存储器独立分开编址,地址可能重叠,结构复杂。2.地址,数据总线独立,速度快。
注:AT89S52单片机不用哈佛结构
-
-
存储器结构,存储器组织有七种类型,分为程序存储器(CODE),外部数据存储器(XDATA/PDATA),内部存储区(DATA/IDATA/SFR/BIT)
- 存储器都是由0000到FFFF,最大64K。