单片机原理(1):基本结构

单片微型计算机(Single Chip Microcomputer)简称单片机,是把组成微型计算机的主要功能部件(CPU、RAM、ROM、I/O口、定时/计数器、串行口等)集成在一块芯片中,构成一个完整的微型计算机。

单片机主要面对测控对象,突出的是控制功能,所以它的芯片内集成了很多面向测控对象的接口电路,如ADC(Analog to Digital Converter,模数转换器)、DAC(Digital to Analog Converter,数模转换器)、高速I/O口、PWM(Pulse Width Modulator,脉冲宽度调制器)、WDT(Watch Dog Timer,监视定时器,俗称“看门狗”)等。这些接口电路已经突破了传统的微型计算机体系结构,所以单片机也称MCU(Micro-Controller Unit,微控制器)


单片机的种类十分广泛,现在市场上主流的有PIC系列、STM32系列、AVR等等。51系列单片机是对所有兼容Intel 8031指令系统的单片机的统称,它们都是Intel公司1981年制造8位MCU Intel 8051衍生兼容品,其指令集称为MCS-51。这里以此为例介绍单片机工作原理。

引脚及功能

51单片机引脚图

51单片机的通常采用的是40引脚的双列直插式封装(Dual In-line Package,DIP),引脚功能的定义如上图所示。
除去基本的电源引脚,其中:
* VSS:电源引脚,需要接地(GND)。
* XTAL1、XTAL2(External Crystal):时间引脚,在片内XTAL1是振荡器反相放大器和时钟发生器的输入端,XTAL2是振荡器反相放大器的输出。分别外接由两个电容与晶振的并联谐振时钟电路时,XTAL1接外部晶振和微调电容的一端,XTAL2接外部晶振和微调电容的另一端;使用外部时钟时,XTAL1接地或悬空,XTAL2引脚接外部时钟的输入。
* RST(Reset):复位引脚,出现持续两个机器周期的高电平将导致单片机复位。
* ALE/PROG(Address Latch Enable/):作ALE,为地址锁存允许控制,用于在访问外部存储器时锁存P0口输出的低8位地址,脉冲的频率大约为振荡器频率的1/6。作PROG,当内部程序存储器(EPROM)编程时,由此输入编程脉冲信号。
* PSEN(Programme Store Enable):外部程序存储器选通信号。
* EA/Vpp(External Enable):作EA功能,为外部程序存储器使能信号,低电平时,只能访问外部程序存储器。作Vpp,对EPROM编程时,用以施加编程电压。
* P0、P1、P2、P3:四个并行I/O口,每并行口8个引脚。

I/O口结构及功能

51单片机的32个I/O引脚,组成P0~P3四个8位的并行双向I/O口,内部的**特殊功能寄存器(Special Function Register,SFR)**P0~P3分别是它们的端口锁存器,此外每个口还分别包含一个输出驱动器和输入缓冲器。四个并行口可以按字节操作,也可以按位操作。

P0

可作一般I/O口使用,应用系统采用外部总线结构时,也可以分时复用作为双向数据总线(Data Bus)和低8位地址总线(Address Bus)

P0口

上图为P0口某一位的结构原理图。

当P0作I/O口时,CPU发出控制信号C=0,封锁与门,使场效应管V2截至,同时将下面的数据选择器(Multiplexer,MUX)拨到下方,将锁存器的 Q¯¯¯ 端与场效应管(Field Effect Transistor)V1的栅极接通。

输出数据时,内部总线数据经锁存器、MUX、V1输出到引脚;输入数据后,上下两个三态输入缓冲器用以内部的读操作,分别实现读引脚和读锁存器。

要注意的是,P0口作为I/O口输出时,由于输出级为漏极开路电路,需要外接上拉电阻,才能输出高电平;输入后读取数据时,V1导通将输入的高电平拉为低电平造成误读,所以在进行输入操作前,要先向端口输出锁存器写“1”

当P0口作地址/数据总线时,CPU发出控制信号C=1。由P0输出地址/数据信息时,与门打开,MUX将CPU内部地址/数据总线反向后与V1的栅极接通,V1和V2两个FET管构成推拉式输出电路,负载能力大大加强;输入数据时,是由下面的三态输入缓冲器进入内部数据的。

P1

四个I/O口中功能最简单,可做一般I/O口使用。其某一位的结构原理图如下。

P1口

其内部已有上拉电阻,可直接输出高电平,驱动拉电流负载。和P0一样,端口输入后读取数据时,要先向端口输出锁存器写“1”。

P2

可作一般I/O口使用,在应用系统采用外部总线结构时,仅用作高8位地址总线。其某一位的结构原理如下图:

P2口

MUX打向左边时,作一般I/O口使用,此时于前面介绍的I/O口工作原理基本一致。Q输出为0时V1导通,外部引脚输出低电平;输出1时V1截止,由于存在内部上拉电阻,外部引脚输出高电平。输入后也可分为读引脚状态和读锁存器状态。而且端口输入后读取数据时,要先向端口输出锁存器写“1”。

P3

可作一般I/O口使用外,每个引脚都具有第二功能。其某一位的结构原理如下图:

P3口

作一般I/O口用,原理同P2。使用引脚的第二功能时,对应的锁存器里必须为“1”,否则图中的与非门输出始终为1,V1导通,引脚始终在低电平,不能正常工作。

每个引脚的第二功能如下表:

引脚 第二功能 说明
P3.0 RXD(Receive External Data) 串行输入端
P3.1 TXD(Transmit External Data) 串行输出端
P3.2 INT0(Interrupt) 外部中断0
P3.3 INT1 外部中断1
P3.4 T0(Timer) 计数器0外部输入
P3.5 T1 计数器1外部输入
P3.6 WR(Write Enable) 外部数据存储器写选通
P3.7 RD(Read Enable) 外部数据存储器读选通

四个I/O口中,P1、P2、P3口可驱动4个LS TTL(Low-power Schottky TTL,低功耗肖特基TTL)负载,即输出电流不小于400uA; P0口的输出缓冲器可驱动8个LS TTL负载,作一般I/O使用时为开漏输出,需要外加上拉电阻,做数据/地址总线使用时不需要外加上拉电阻。

内部微体系结构

内部结构图

51系列单片机内部包含:

  • 运算器(包括逻辑运算器ALU(Arithmetic and Logic Unit)、累加器ACC(Accumulator)、寄存器B、程序状态字寄存器PSW(Program Status Word))、程序计数器PC(Program Counter)、指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)、数据指针DPTR(Data Pointer)等组成的8位CPU。
  • 4KB ROM 程序存储器、128B RAM 数据存储器
  • 可寻址64K
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值