单片机篇1——单片机的基本组成
一、单片机介绍
1、什么是单片机?
将组成微型计算机的各功能部件:中央处理器、存储器、I/O接口电路及定时/计数器等制作在一块集成电路芯片中从而构成完整的微型计算机。故称作单晶片微型计算机,简称单片机(Single chip microcomputer)。或称微控制器(MCU:Microcontroller)
2、单片机用在什么地方?
机电一体化:电脑缝纫机
智能仪表:测量仪
实时控制:汽车
家电:智能控制
网络通信:通信协议集成其中
计算机外设:键盘、打印机
保健产品:按摩器
3、单片机应用有什么特点?
体积小:基本功能部件满足要求
可靠性高:BUS大多在内部;易采取电磁屏蔽
功能强:实时响应速度;I/O直接操作
使用方便:硬件设计简单;提供开发工具资料
性能价格比高:电路板小;接插件少
易产品化:研制周期短
4、下图为51单片机的一个简单应用开发板。
二、单片机基本功能结构
下面以MCS—51系列单片机的基本功能结构方框图来介绍单片机的基本组成
在一小块芯片上,集成了一个微型计算机的各个组成部分,每一片单片机包括:
①一个8位的微处理器CPU。
②片内数据存储器RAM(128B/256B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。
③片内程序存储器ROM/EPROM(4KB/8KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPBOM,如8031、8032、80C31等。
④四个8位并行I/O(输入/输出)接 口P0—P3,每个口可以用作输入,也可以用作输出。
⑤两个或三个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。
⑥五个中断源的中断控制系统。
⑦一个全双工UART(通用异步接收发送器)的串行I/O口,可实现单片机与单片机或其它微机之间串行通信。
⑧片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率为12MHz。
注:新型的单片机晶振可达24MHz, 甚至更高!
以上各个部分通过内部数据总线相连接。
三、单片机内部结构
8051/8751/8031芯片的外部引脚和指令系统完全兼容,其内部结构除ROM/EPROM不同外其余完全相同。 805l单片机内部结构如图所示。
一个完整的计算机应该由运算器、控制器、存储器(RoM及RAM)和I/O接口组成。一般微处理器(如Z80)只包括运算器和控制器两部分。和一般微处理器相比,805l增加了四个8位I/O口、一个串行口、4KB ROM、128B RAM和很多工作寄存器及特殊功能寄存器(SFR)。各部分的功能简述如下:
1.运算器
包括一个可进行8位算术运算和逻辑运算的ALU单元,8位的暂存器1、暂存器2、8位的累加器ACC,寄存器B和程序状态寄存器PSW等。
ALU:可对4位(半字节)、8位(一字节)和16位(双字节)数据进行操作。如能做加、减、乘、除、加1、减1、BCD数十进制调整及比较等算术运算和逻辑与、或、异或、求补及循环移位等逻辑操作。
ACC:累加器ACC,经常作为一个运算数经暂存器2进入ALU的一个输入端,与另一个进入暂存器l的运算数进行运算,运算结果又送回ACC。除此之外,ACC在8051内部经常作为数据传送的中转站,同一般微处理器一样,它是最繁忙的一个寄存器了。在指令中用助记符A来表示。
PSW:程序状态字寄存器,8位,用于标志指令执行后的信息状态,相当于一般微处理器的标志寄存器。PSW中各位状态供程序查询和判别用。详见特殊功能寄存器SFR中介绍。
B:8位寄存器,在乘、除运算时,B寄存器用来存放一个操作数;也用来存放运算后的一部分结果;若不作乘、除运算时,则可作为通用寄存器使用。
另外,805l片内还有一个布尔处理器,它以PSw中的进位标志位C为其累加器,专门用于处理位操作:可执行置位、位清0、位取反、位等于1转移、位等于0转移、位等于l转移并清0以及进位标志位C与其他可位寻址的空间之间进行信息传送等位操作,也能使C与其他可寻址位之间进行逻辑与、逻辑或操作,结果存放在进位标志位(位累加器)C中。
2.控制器
控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等。
程序计数器PC:它由两个8位的计数器PCH及PCL组成,共16位。PC实际上是程序的字节地址计数器,PC中的内容是将要执行的下一条指令的地址。改变PC中的内容就可改变程序执行的流向。PC可对64K的ROM(程序存储器)直接寻址,也可对8051片外RAM(数据存储器)寻址。
指令寄存器IR及指令译码器ID:由PC中的内容指定ROM地址,取出来的指令经指令寄存器IR送至指令译码器ID,由ID对指令译码并送PLA产生一定序列的控制信号,以执行指令所规定的操作。例如,控制ALU的操作、传送805l片内工作寄存器间数据,以及发出ACC与I/O口( P0口一F3口)或存储器之间通信的控制信号等等。
振荡器及定时电路:8051单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2—12MHz,该脉冲信号就作为8051工作的最基本节拍,即时间的最小单位。805l同其他计算机一样,在基本节拍的控制下协调地工作,就象一个乐队按着指挥的节拍演奏一样。
3.存储器
805l片内有ROM(程序存储器,只能读)和RAM(数据存储器,可读、可写)两类,它们有各自独立的存储地址空间,与一般微机的存储器配置方式很不相同。
(1) 程序存储器(ROM)
8051及875l的片内程序存储器容量为4K字节,地址从0000H开始,用于存放程序和表格常数。
(2) 数据存储器(RAM)
8051/8751/8031片内数据存储器均为128字节,地址为00H一7FH,用于存放运算的中间结果、数据暂存以及数据缓冲等。
在这128字节的RAM中,有32个字节单元可指定为工作寄存器,这同一般微处理器不同。8051的片内RAM和工作寄存器排在一个队列里统一编址。
8051单片机内部中还有SP、DPTR、PCON、…、IE、IP等特殊功能寄存器,它们也同128字节RAM在一个队列里编址,地址80H—FFH。在这128字节RAM单元中有21个特殊功能寄存器(SFR),这些特殊功能寄存器还包括P0—P3口锁存器。
如何使用RAM中的32个工作寄存器和特殊功能寄存器,后面将详细介绍。
4.I/O接口
8051有四个8位并行接口即P0—P3,它们都是双向端口,每个端口各有8条I/O线,均可输入/输出。P0—P3口四个锁存器同RAM统一编址,可以把I/O口当作一般特殊功能寄存器来寻址。