中国矿业大学徐海学院2012届本科生毕业设计(论文)
达不到要求;选择功能过强的单片机,则会造成资源浪费,使产品的性能价格比下降。目前,市面上的单片机不仅种类繁多,而且在性能方面也各有不同。在实际应用中,针对不同的需求要选择合适的单片机,选择单片机时要注意下几点:
(1)单片机的基本性能参数; (2)单片机的增强功能; (3)单片机的存储介质; (4)芯片的封装形式; (5)芯片工作温度范围符合工业级、军品级还是商业级; (6)单片机的工作电压范围; (7)单片机的抗干扰性能好;
(8)单片机开发是否支持高级语言以及编程环境要好用易学;
根据上面的原则和本次系统设计的要求,我们选择了8051单片机作为主控模块的核心芯片。
3.3.2 8051单片机
8051单片机的特点 :
8051单片机可分为ROM型和无ROM型两种,无ROM型的芯片,必须外接EPROM才能应用(典型芯片为8031),ROM型芯片又分为EPROM型(典型芯片为8751)、FLASH型(典型芯片为89C51)、掩膜ROM型(典型芯片为8051 )、一次性可编程ROM(OTP)的芯片(典型芯片为97C51)。
8051单片机的基本组成
16
中国矿业大学徐海学院2012届本科生毕业设计(论文)
时钟源
T0 T1 时钟电路 SFR和RAM ROM 定时/计数器 CPU 系 统 总 线 并行端口 串行端口 中断系统 P0 P1 P2 P3 TXD RXD INT0 INT1
图 3.2 8051单片机的基本组成 一个8051单片机包含下列部件
(1)一个8位微处理器CPU。
(2)片内数据存储器RAM和特殊功能寄存器SFR。 (3)片内程序存储器ROM。
(4)两个定时/计数器T0、T1,可用作定时器,也可用以 对外部脉冲进行计数。
(5)四个8位可编程的并行I/O端口,每个端口既可作输 入,也可作输出。
(6)一个串行端口,用于数据的串行通信。 (7)中断控制系统。 (8)内部时钟电路。 8051单片机的内部结构
17
中国矿业大学徐海学院2012届本科生毕业设计(论文)
VCC (+5VRAM地址锁存) 器 GND 通道0驱动器 RAM 通道0锁通道2驱动器 通道2锁ROM/ EPRO程序地址寄存器 B寄存ACC 器 TMPTMP1 ALU 堆栈指针SP PCOSCOTMOTCOTH0 TL0 TH1 TL1 SBUF(TX/IE IP 中断、串行口和定时器缓冲器 PC递增器 PSEALE EA RST 定时和 控指指令 令 寄译存码PSW 程序计数器PC 数据指针DPTR 通道1锁存器 振荡器 通道1驱动器 P1.0~P1.7 通道3锁存器 通道3驱动器 P3.0~P3.7 XTAL1 XTAL2 图3.3 单片机的内部组成
8051单片机的CPU
CPU就是中央处理器,是单片机的核心部件,它完成各种运算和控制操作,CPU由运算器和控制器两部分组成。
(1)运算器
运算器以算术逻辑单元ALU为核心,加上累加器ACC、暂存寄存器TMP和程序状态字寄存器PSW等所组成。ALU主要用于完成二进制数据的算术和逻辑运算,并通过对运算结果的判断影响程序状态字寄存器PSW中有关
18
中国矿业大学徐海学院2012届本科生毕业设计(论文)
位的状态。
PSW: D7 D0
CY AC F0 RS1 RS0 OV _ P
*CY:进位标志。在进行加法或减法运算时,若运算结果的最
高位有进位或借位,CY=1,否则CY=0,在执行位操作指令时, CY作为位累加器。 *AC:辅助进位标志。在进行加法或减法运算时,若低半字节 向高半字有进位或借位,AC=1,否则AC=0,AC还作为BCD 码运算调整时的判别位。 *F0:用户标志。
*RS1和RS0:工作寄存器组选择,如下表所示。 表1 RE0,RE1选择 RS1 0 0 1 1 RS0 0 1 0 1 工作寄存器组 第0组 第1组 第2组 第3组 片内RAM地址 00H-07H 08H-0FH 10H-17H 18H-1FH
*OV:溢出标志。当两个带符号的单字节数进行运算,结果超出-128~ +127的范围时,OV=1,表示有溢出,否则 OV=0表示无溢出。
*PSW中的D1位为保留位,对于8051来说没有意义,对于 8052来说 为用户标志,与F0相同。
*P:奇偶校验标志。每条指令指行完毕后,都按照累加器A中“1”的 个数来决定P值,当“1”的个数为奇数时,P=1,否则P=0。
(2)控制器
控制器包括程序计数器PC、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以及定时与控制电路等。控制电路完成指挥控制工作,协调单片机各部分正常工作。
程序计数器PC:当一条指令按PC所指向的地址从程序存储器中取出之后,PC的值就会自动增量,即指向下一条指令。
堆栈指针SP:是用来指示堆栈的起始地址。80C51单片机的堆栈位于片
19
中国矿业大学徐海学院2012届本科生毕业设计(论文)
内RAM中,而且属于“上长型”堆栈,复位后SP被初始化为07H单元,使得堆栈实际上由08H单元开始。
指令译码器:当指令送入指令译码器后,由译码器对该指令进行译码,CPU根据译码器输出的电平信号使定时控制的电路产生执行该指令所需要的各种控制信号。
数据指针寄存器DRTR:它是一个16位的寄存器,由高位字节DPH和低位字节DPL组成,用来存放16位数据存储器的地址,便于对片外64kB的数据RAM区进行读写操作。
3.3.3 单片机的引脚简介
单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 1.电源:
(1) VCC - 芯片电源,接+5V; (2)VSS - 接地端;
2.时钟:
XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 3. 控制线:
控制线共有4根,
(1) ALE/PROG:地址锁存允许/片内EPROM编程脉冲。 ① ALE功能:用来锁存P0口送出的低8位地址。 ② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。 (2) PSEN:外ROM读选通信号。 (3) RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。 (4) EA/Vpp:内外ROM选择/片内EPROM编程电源。 ① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM
编程期间,施加编程电源Vpp。 4. I/O线 :
80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
20