单片机技术及应用
课程要求:应用MCS-51汇编语言进行软件设计。 应用MCS-51及有关芯片进 行硬件接口设计。
教 材:单片微型机原理、应用与实验 张友德等 复旦大学出版社
课程安排:
第一章:MCS-51系统结构 3学时
第三章: MCS-51 指令系统 12学时
第四章: MCS-51 定时器/计数器 2学时
第五章: MCS-51 中断系统 2学时
第六章: MCS-51 串行接口 3学时
第七章: MCS-51 系统扩展 5学时
第八章: MCS-51 数码显示器和键盘接口 8学时
单片机技术及应用
单片微机又称微控制器 Single-Chip Microcomputer
它在一块芯片上集成了CPU、存储器、I/O接口等各种功能部件,以构成一种最基本的微型计算机。
单片机具有集成度高、体积小、可靠性高、价格低、面向控制等特点,因而在工业控制、智能仪表和家用电器等领域得到了广泛的应用。
MCS-51系列单片机典型代表是8051、8751、8031
8051:内部含一个8位CPU,128个字节RAM,21个特殊功能寄存器,4K字节ROM,4个8位并行口,1个全双工串行口,2个16位定时器。它是一 个完整的计算机。 8751:它以4K字节的EPROM代替8051的4K字节ROM。
8031:它是内部无ROM的8051。
第一章 MCS-51系统结构
一、MCS-51的总体结构MCS-51的总体结构框图如图所示。
二、微处理器
微处理器由运算器和定时控制逻辑等部件构成,它是单片机内的核心部件。
1.运算器
由算术逻辑部件ALU、累加器A、寄存器B、暂存器、程序状态字PSW、十进制调整电路以及布尔处理器等组成。运算器用来实现数据的算术逻辑运算、位处理和数据传送等操作。 2.定时控制逻辑 定时控制逻辑用来产生操作时序信号,它是单片机的心脏。 A.时钟电路: MCS-51芯片内有一个由反向放大器所构成的振荡电路。XTAL1为振荡电路的输入端,XTAL2为输出端。通常晶振频率为1·2MHZ~12MHZ 。 pstl
B.时序:
a.机器周期
机器周期是指CPU与存储器进行一次通信所需的时间。MCS-51的每个机器周期由6个S状态组成,每个状态周期由2个P节拍组成,每个节拍持续一个振荡器周期。若采用6MHZ的晶体振荡器,则每个机器周期为2μS。机器周期频率为F晶/12。
b.指令周期
指令周期是指执行一条指令所需的时间。在MCS-51的指令系统中,指令长度为1~4字节,其中单/双字节指令的指令周期为1~2,3字节指令的指令周期为2个机器周期,乘除指令的指令周期为4个机器周期,若采用6MHZ晶体振荡器,则指令执行时间分别为2μS、4μS、8μS。
c.指令的取指和执行时序
指令的取指和执行时序如图所示。其中ALE信号为允许地址锁存信号。通常,每个机器周期ALE两次有效。但在访问外部数据存储器的机器周期内,ALE信号只一次有效,因此ALE的频率是不稳定的。为了得到一个频率稳定的信号,通常要将ALE与读写信号(RD/WR)相或。ALE信号频率为F晶/6。
3.复位和复位电路
变量泵A.复位
在复位输入端加上高电平,MCS-51将被初始化复位,此时有关寄存器状态如下:
PC:0000H
SP:07H
PO-P3:FFH
A.B.PSW.IP.IE:00H
TMOD.TCON.TH0.TL0.TH1.TL1.SCON:00H
DPTR:0000H
RES端由高变低后,MCS-51将退出复位,从0000H开始执行程序。
B.复位电路
上电复位电路,手动复位电路,系统复位电路(专用芯片有MAX708):
C.看门狗电路
看门狗电路是一个定时产生复位信号的电路。在正常工作情况下,软件不断产生复位定时器信号,看门狗电路无输出;一旦单片机由于干扰进入程序死循环后,看门狗电路将定时输出一RES信号,使系统复位,从而使程序脱离死循环。
电路分析:
软件通过P1.X定时产生脉冲,通过微分电路,定时使4060复位,从而Q14无输出,一旦程序跑非,则Q14有输出,使之产生RES复位信号。专用芯片有MAX691,24C021等。
三、存储器
单片机的程序存储器、内部数据存储器、外部数据存储器的空间是相互独立的。程序存
储器用于存放编好的程序和数据表格。数据存储器用来作为数据缓冲器、堆栈、工作寄存器以及软件标志等。
四、输入/输出(I/O)口
MCS-51有四个双向的8位I/O口P0-P3。
1.P1口
P1口为准双向口,每一位的结构如图所示。它可独 立地用作输入线或输出线,作为输入线,必须将1写入口锁存器,使T1截止。
2.P3口
P3口为准双向口,每一位的结构如图所示。P3
口为双功能口。
第一功能:第2输出功能控制线为高,功能与P1口相同。
第二功能:口线锁存器为“1”状态,口线功能定义如下:(第2输出功能线电平取决于输出信号的高低):
P3.0 RXD 串行输入口 P3.2 INTO 外中断入0
P3.1 TXD 串行输出口 P3.3 INT1 外中断入1
P3.4 T0 定时器0外入 P3.6 WR 外数据存储器写
P3.5 T1 定时器1外入 P3.7 RD 外数据存储器读
3.P2口
P2口为准双向口,每一位锁存器驱动的结构如图所示。 P2口可以作为I/O口使用,也可作为扩展系统的地址总线口使用,输出高8位地址。
4.P0口
P0口为三态双向口,每一位的结构如图所示。
对于8051/8751,它可作I/O口用,也可作地址、数据总线口;对于8031,它只能作地址、数据总线口。
五、MCS-51的引脚说明
MCS-51单片机采用40引脚双列直插方式封装,其引脚信号功能如下:
1.电源引脚
Vcc:(40)+5V Vss:(20)接地
2.外接晶体引脚
XTAL1(19) XTAL2(18)
3.I/O引脚
P0.0 - P0.7 (39-32)
P1.0 - P1.7 (1-8)
P2.0 - P2.7 (21-28)
P3.0 - P3.7 (10-17)
4.控制引脚
RST(9):复位信号,输入、高电平有效。
ALE(30):允许地址锁存信号,输出,高电平有效。用于锁存外存地址的低8位字节,它还可作为外输出的时钟,其频率约为振荡器晶振频率的1/6。
PSEN(29):外程序存储器读选通信号,输出,低电平有效。
EA(31):程序存储器内外选择信号,输入。
EA为高时:
PC值为0000~0FFFH:访内部程序存储器。
PC值为1000~FFFFH:访外部程序存储器
EA为低时:只访外部程序存储器
附:P0, P2口作为地址/数据总线口使用时,其总线结构如图所示:
第二章 MCS-51存储器组织
MCS-51系列单片机的存储器组织结构如图所示。
一、程序存储器
程序存储器空间为64K。扩充的外程序存储器与 MCS-51的连接电路如图所示。
二、内部数据存储器
MCS-51单片机内部有128个字节数据存储器,内部RAM的编址为00H-7FH。不同的地址区域,其功能不完全相同,功能结构如表所示。
7FH | 数据缓冲区 |
光触媒涂料30H |
2FH | 位寻址区00-7FH |
20H |
1FH | 工作寄存区3 R0-R7 |
18H |
17H | 工作寄存区2 R0-R7 |
10H |
0FH | 工作寄存区1 R0-R7 |
08H |
金属表面喷涂07H | 工作寄存区0 R0-R7 |
00H |
| |
1.寄存器区
工作寄存器和数据存储器统一编址。当前程序使用的工作寄存器是由程序状态字PSW的3、4位确定的。PSW的状态和工作寄存器区对应关系如表所示:CPU通过程序修改PSW中的3、4位状态,就能任选一个工作寄存区,这使单片机具有快速保护现场之功能。
2.位寻址区
内部RAM的20H-2FH为位寻址区,这16个单元的每一位有一个8位地址,其范围为00H-7FH.位寻址区的每一位都可视作软件触发器,可由程序直接进行位处理。同样,位寻址区的RAM单元也可作为一般存储单元使用。
3.堆栈区
MCS-51的堆栈原则上可设在RAM的任意区域内,但一般设在30H-7FH范围内。其栈底位置由SP指出。
4.数据缓冲区
内部RAM的30H-7FH单元可作为一般存储单元使用。
三、特殊功能寄存器
MCS-51的I/O锁存器、定时器、串行口数据缓冲器以及各种控制寄存器和状态寄存器都以
特殊功能寄存器形式出现。它们离散分布在80H-FFH地址空间,其特殊功能寄存器的地址如下表所示。
PSW.4 | PSW.3 | 当前使用0 的工作寄存器区 |
0 | 0 | 0 区 |
0 | 1 | 1 区 |
1 | 0 | 2 区 |
1 | 1 | 3 区 |
| | |
P0 | 80H | 口0 | P1 | 90H | 口1 |
SP | 81H | 栈指针 | SCON | 98H | 串行口控制寄存器 |
DPL | 82H | 数据指针低 | SBUF | 99H | 串行口数据寄存器 |
DPH | 83H | 数据指针高 | P2 | A0H 圆弧齿同步带 | 口2 |
PCON | 87H | 掉电控制寄 | IE | A8H | 中断使能控制寄 |
TCON | 88H | 定时器控制寄 | P3 | B0H | 口3 |
TMOD | 89H | 定时器方式寄 | IP | B8H | 中断优先级寄存器 |
TL0 | 8AH | 定时器 0低寄 | PSW | D0H | 程序状态字 |
TL1 | 8BH | 定时器 1低寄 | ACC | E0H | 累加器 |
TH0 | 8CH | 定时器 0高寄 | B | F0H | 寄存器(用于×÷中) |
地震的模拟实验TH1 | 8D | 定时器 1高寄 | | | |
| | | | | |