单片机:简要介绍单片机和主要的硬件

微型计算机和单片机简介

微型计算机的组成及其应用形态

  • 微处理器(中央处理单元,简称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线和18位定时/计数器

      特点:存储器容量小,寻址范围小,不大于4K,五串行接口,指令系统功能不强。

    • Intel推出MCS-51系列单片机:8位CPU,4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器,寻址范围64K,并有控制功能较强的布尔处理器

      特点:结构体系完善,性能已大大提高。

    • ATMEL推出的AT89S52:8位CPU,片内有8KB的Flash程序存储器ROM256字节RAM、316位定时/计数器(比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同

  • 内部ROM4kb掩膜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。