单片微型计算机(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单片机的通常采用的是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个引脚。
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作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口使用。其某一位的结构原理图如下。
其内部已有上拉电阻,可直接输出高电平,驱动拉电流负载。和P0一样,端口输入后读取数据时,要先向端口输出锁存器写“1”。
P2可作一般I/O口使用,在应用系统采用外部总线结构时,仅用作高8位地址总线。其某一位的结构原理如下图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)