单片机原理与应用电子PPT课件_第1页
单片机原理与应用电子PPT课件_第2页
单片机原理与应用电子PPT课件_第3页
单片机原理与应用电子PPT课件_第4页
单片机原理与应用电子PPT课件_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、21世纪高职高专规划教材世纪高职高专规划教材 单片机原理与应用单片机原理与应用 电子教案电子教案 第1章单片机概述 第2章MCS-51系列单片机结构 第3章MSC-51指令系统 第6章存储器与存储器扩展 第4章MCS-51汇编语言程序设计 第7章单片机接口技术 第5章MCS-51定时/计数器和中断系统 第9章MCS-51单片机应用系统设计 单片机原理及应用单片机原理及应用 第8章串行口通信技术 第第1章章 单片机概述单片机概述 本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。 单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块

2、集成电路芯片上的微型 计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常 生活中最广泛使用的计算机。 11 单片机的发展历史 我们可以把单片机的发展历史划分为四阶段: 第一阶段(19761978年):低性能单片机的探索阶段。以Intel公司的MCS-48为 代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、 RAM和ROM等。主要用于工业领域。 第二阶段(19781982年):高性能单片机阶段,这一类单片机带有串行I/O口,8 位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系 统等。这类单片机的

3、应用范围较广,并在不断的改进和发展。 第三阶段(19821990年):16位单片机阶段。16位单片机除CPU为16位外,片内 RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如 Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断 处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。 第四阶段(1990年):微控制器的全面发展阶段,各公司的产品在尽量兼容的同 时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。 硬件系统是指构成微机系统的实体和装置,通常由运算器、 控制器、存储器、输入接口电路和输入设备、输出接口

4、电路和输 出设备等组成。 其中,运算器和控制器一般做在一个集成芯片上,统称中央 处理单元(CentralProcessingUnit),简称CPU,是微机的核心 部 件 。 C P U 配 上 存 放 程 序 和 数 据 的 存 储 器 、 输 入 / 输 出 (Input/Output,简称I/O)接口电路以及外部设备即构成微机的 硬件系统。 12 单片机的软硬件系统 1.2.1 单片机的硬件系统 图1-1 微型计算机硬件系统组成示意图 软 件 系 统 硬件系统 控 制 器 运 算 器 存 储 器 输 入 设 备 CPU 微型计算机系统 输 入 接 口 电 路 输 出 接 口 电 路 输 出

5、 设 备 下面把组成计算机的5个基本部件作简单说明。 1)运算器 运算器是计算机的运算部件,用于实现算术和逻辑运算。计算机的 数据运算和处理都在这里进行。 2)控制器 控制器是计算机的指挥控制部件,它控制计算机各部分自动、协调 地工作。运算器和控制器是计算机的核心部分,常把它们合在一起称之 为中央处理器,简称CPU。 3)存储器 存储器是计算机的记忆部件,用于存放程序和数据。存储器又 分为内存储器和外存储器。实训中使用的EPROM2764便是存贮器。 4)输入设备 输入设备用于将程序和数据输入到计算机中,如键盘等。 5)输出设备 输出设备用于把计算机数据计算或加工的结果,以用户需要的 形式显示

6、或打印出来,如显示器、打印机等。 通常把外存储器、输入设备和输出设备合在一起称之为计算机 的外部设备,简称“外设”。 单片微型计算机是指集成在一个芯片上的微型计算机, 也就是把组成微型计算机的各种功能部件,包括CPU(Central ProcessingUnit)、随机存取存储器RAM(RandomAccess Memory)、只读存储器ROM(Read-onlyMemory)、基本输 入/输出(Input/Output)接口电路、定时器/计数器等部件都制作 在一块集成芯片上,构成一个完整的微型计算机,从而实现微 型计算机的基本功能。单片机内部结构示意图如图1-2所示。 图1-2 单片机内部结

7、构示意图 CPU 存储器 并 行 I/O 接 口 定时器/计数器中断系统 P0 P3TXD RXD TINT 并 行 I/O 接 口 软件系统是微机系统所使用的各种程序的总称。人们通过它 对整机进行控制并与微机系统进行信息交换,使微机按照人的 意图完成预定的任务。 软件系统与硬件系统共同构成完整的微机系统,两者辅相成, 缺一不可。 微型计算机系统组成示意图如图所示。 1.2.2 单片机的软件系统 微型计算机系统组成示意图 软 件 系 统 硬件系统 控 制 器 运 算 器 存 储 器 输 入 设 备 CPU 微型计算机系统 输 入 接 口 电 路 输 出 接 口 电 路 输 出 设 备 1.3

8、MCS-51系列单片机 尽管各类单片机很多,但无论是从世界范围或是从全国范围来看,使用最为广泛的应属MCS-51单片机。 MCS-51单片机系列共有十几种芯片,如表1-1所示。 表1-1 MCS-51系列单片机分类表 子系 列 片内ROM形式 片内 ROM 容量 片内 RAM 容量 寻址 范围 I/O特性 中断源 无ROMEPROM计数器并行口串行口 51子 系列 8031805187514KB128B264KB2164815 80C3180C5187C514KB128B264KB2164815 52子 系统 8032805287528KB256B264KB3164816 80C3280C52

9、87C528KB256B264KB3164816 MCS-51系列又分为51和52两个子系列,并以芯片型号 的最末位数字作为标志。其中,51子系列是基本型,而52子 系列则属增强型。52子系列功能增强的具体方面,从表1-1 所列内容中可以看出: (1)片内ROM从4KB增加到8KB。 (2)片内RAM从128B增加到256B。 (3)定时/计数器从2个增加到3个。 (4)中断源从5个增加到6个。 1.3.1 51子系列和52子系列 MCS-51系列单片机采用两种半导体工艺生产。一种是 HMOS工艺,即高速度、高密度、短沟道MOS工艺。另外一种 是CHMOS工艺,即互补金属氧化物的HMOS工艺。

10、表1.1中, 芯片型号中带有字母“C”的,为CHMOS芯片,其余均为一般 的HMOS芯片。 CHMOS是CMOS和HMOS的结合,除保持了HMOS高速度 和高密度的特点之外,还具有CMOS低功耗的特点。在便携式、 手提式或野外作业仪器设备上,低功耗是非常有意义的,因此, 在这些产品中必须使用CHMOS的单片机芯片。 1.3.2 单片机芯片半导体工艺 MCS-51单片机片内程序存储器有三种配置形式,即掩 膜ROM、EPROM和无ROM。这三种配置形式对应三种不 同的单片机芯片,它们各有特点,也各有其适用场合,在使 用时应根据需要进行选择。一般情况下,片内带掩膜型 ROM适用于定型大批量应用产品的

11、生产;片内带EPROM适 合于研制产品样机;外接EPROM的方式适用于研制新产品。 最近,Intel公司又推出片内带EEPROM型的单片机,可以 在线写入程序。 1.3.3 片内ROM存储器配置形式 第第2章章 MCS-51单片机结构单片机结构 本章主要介绍MCS-51系列的8051的基本结构、工作原理、存储器结构、P0、P1、P2、P3四个I/O口 的基本工作原理和操作特点。单片机的各种工作方式、单片机的时序等。 2.1 MCS-51单片机的内部组成及信号引脚单片机的内部组成及信号引脚 MCS-51单片机的典型芯片是8031、8051、8751。8051内 部有4KBROM,8751内部有4

12、KBEPROM,8031内部无ROM; 除此之外,三者的内部结构及引脚完全相同。因此,以8051为 例,说明本系列单片机的内部组成及信号引脚。 8051单片机的基本组成请参见图2-1。下面介绍各部分的基 本情况。 2.1.1 8051单片机的基本组成 图2-1 MCS-51 单片机结构框图 1)中央处理器(CPU) 中央处理器是单片机的核心,完成运算和控制功能。 MCS-51的CPU能处理8位二进制数或代码。 2)内部数据存储器(内部RAM) 8051芯片中共有256个RAM单元,但其中后128单元被专 用寄存器占用,能作为寄存器供用户使用的只是前128单元, 用于存放可读写的数据。因此通常所

13、说的内部数据存储器就是 指前128单元,简称内部RAM。 3)内部程序存储器(内部ROM) 8051共有4KB掩膜ROM,用于存放程序、原始数据或 表格,因此,称之为程序存储器,简称内部ROM。 4)定时/计数器 8051共有两个16位的定时/计数器,以实现定时或计数 功能,并以其定时或计数结果对计算机进行控制。 5)并行I/O口 MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以 实现数据的并行输入/输出。 6)串行口 MCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之 间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器 使用,也可作为同步移位器使用

14、。 7)中断控制系统 MCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5 个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中 断分为高级和低级共两个优先级别。 8)时钟电路 MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时 钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6MHz和 12MHz。 MCS-51是标准的40引脚双列直插式集成电路芯片,引脚排 列请参见图2-2。 1)信号引脚介绍 P0.0P0.7:P0口8位双向口线。 P1.0P1.7:P1口8位双向口线。 P2.0P2.7:P2口8位双向口线。 P3.0P3.7:P3口8

15、位双向口线。 2.1.2 MCS-51的信号引脚 图2-2MCS-51引脚图 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST/VPD 9 RXDP3.0 10 TXDP3.1 11 INT0P3.2 12 INT1P3.3 13 T0P3.4 14 T1P3.5 15 WRP3.6 16 RDP3.7 17 XTAL2 18 XTAL1 19 VSS 20 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 PSEN 29 ALE/PROG 30

16、EA/VPP 31 P0.7 32 P0.6 33 P0.5 34 P0.4 35 P0.3 36 P0.2 37 P0.1 38 P0.0 39 VCC 40 8 0 3 1 8 0 5 1 8 7 5 1 表2 1P3口的第二功能表 2)信号引脚介绍 2.2 8051的内部存储器的内部存储器 图2-3片内RAM的配置 2.2.1 内部数据存储器低128单元 字节地址位地址 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H D7D6D5D4D3D2D1D0 7FH7EH7DH7CH7BH7AH79H78H 77H7

17、6H75H74H73H72H71H70H 6FH6EH6DH6CH6BH6AH69H68H 67H66H65H64H63H62H61H60H 5FH5EH5DH5CH5BH5AH59H58H 57H56H55H54H53H52H51H50H 4FH4EH4DH4CH4BH4AH49H48H 47H46H45H44H43H42H41H40H 3FH3EH3DH3CH3BH3AH39H38H 37H36H35H34H33H32H31H30H 2FH2EH2DH2CH2BH2AH29H28H 27H26H25H24H23H22H21H20H 1FH1EH1DH1CH1BH1AH19H18H 17H1

18、6H15H14H13H12H11H10H 0FH0EH0DH0CH0BH0AH09H08H 07H06H05H04H03H02H01H00H 表2 2片内RAM位寻址区的位地址 符号单元地址名称 位地址 符号地址 *ACC E0H 累加器 ACC.7ACC.0E7HE0H *B F0H 乘法寄存器 B.7B.0F7HF0H *PSW D0H 程序状态字 PSW.7PSW.0D7HD0H SP 81H 堆栈指针 DPL 82H 数据存储器指针(低8位) DPH 83H 数据存储器指针(高8位) *IE A8H 中断允许控制器 IE.7IE.0AFHA8H *IP B8H 中断优先控制器 IP.7

19、IP.0BFHB8H *P0 80H 通道0 P0.7P0.0 87H80H *P1 90H 通道1 P1.7P1.0 97H90H *P2 A0H 通道2 P2.7P2.0 A7HA0H *P3 B0H 通道3 P3.7P3.0 B7HB0H PCON 87H 电源控制及波特率选择 *SCON 98H 串行口控制 SCON.7SCON.09FH98H SBUF 99H 串行数据缓冲器 *TCON 88H 定时控制 TCON.7TCON.08FH88H TMOD 89H 定时器方式选择 TL0 8AH 定时器0低8位 TL1 8BH 定时器1低8位 TH0 8CH 定时器0高8位 TH1 8D

20、H 定时器1高8位 2.2.2 内部数据存储器高128单元 表2 3MCS-51专用寄存器一览表 P0.n 锁存器 P0.n Q QD 读锁存器 写锁存器 内部总线 读引脚 T1 T2 VCC MUX 地址/数据 控制 图2 5P0口的口线逻辑电路图 2.3.1 P0口 2.3 并行输入并行输入/输出口电路结构输出口电路结构 2.3.2 P1口 P1.n 锁存器 P1.n Q QD 读锁存器 写锁存器 内部总线 读引脚 内部上拉电阻 T VCC 图2 6P1口的口线逻辑电路图 2.3.3 P2口 P2.n 锁存器 P2.n Q QD 读锁存器 写锁存器 内部总线 读引脚 T VCC 地址控制

21、内部上拉电阻 MUX 图2 7P2口的口线逻辑电路图 2.3.4 P3口 P3.n 锁存器 P3.n Q QD 读锁存器 写锁存器 内部总线 读引脚 T VCC 第二输入功能 第二输出功能 内部上拉电阻 图2 8P3口的口线逻辑电路图 2.4.1 时钟电路与时序 S 机器周期1 取指令、译码 指令周期 机器周期2 取操作数、执行 基本定时时序关系 24 MCS-51单片机的时序单片机的时序 1.时钟信号的产生 TTL (a) 内部振荡器方式 XTAL1 R 外 部 振 荡 器 XTAL2 VCC XTAL2 XTAL1 VSS (b) 8051外时钟源接法 8051 NC 外 部 振 荡 器

22、XTAL1 XTAL2 VSS (c) 80C51外时钟源接法 80C51 C1C2 图2-9时钟振荡电路和图2-10外部时钟源接法 (1)节拍与状态 ALE 时钟 S1S4S6S5S3S2 读操作码读操作码(无效) (a) 1字节 1周期指令 读下一指令 S1S4S6S5S3S2 读操作码读第二字节 (b) 2字节 1周期指令 读下一指令 S1S4S6S5S3S2 读操作码读操作码(无效) (c) 1字节 2周期指令 读下一指令 S1S4S6S5S3S2 图2 11MCS-51的取指/执行时序 (2)机器周期 4. MCS-51指令时序 (3)指令周期 1复位操作 专用寄存器复位值 PC00

23、00H ACC00H B00H PSW00H SP07H DPTR0000H P0P3 FFH IPXXX00000B IE0XX00000B TMOD00H TCON00H TH000H TL000H TH100H TL100H SCON00H SBUF不定 PCON(CHMOS)0XXX0000B 2.4.2 单片机的复位电路 2复位信号及其产生 D 1 D2 RST/VPD VCC VSS RAM 斯密特触发器 复位电路 图2 12复位电路逻辑图 3复位方式 VCC 8051 VCC RST/VPD VSS R 1k C 22F VCC 8051 VCC RST/VPD VSS R1 1

24、k C1 22F R2 1k C2 22F RESET (a) 上电复位 (b) 按键脉冲复位 VCC 8051 VCC RST/VPD VSS R1 200 C 22F R2 1k RESET (c) 按键电平复位 图2 13各种复位电路 第3章MSC-51指令系统 31 MCS-51指令系统概述指令系统概述 3.1.1 指令格式 汇编语言格式为: 标号:操作码助记符目的操作数,源操作数;注释 其中,标号是该语句的符号地址,可根据需要而设置。当汇编程序对汇编语言 源程序进行汇编时,再以该指令所在的地址值来代替标号。在编程的过程中,适当 的使用标号,使程序便于查询、修改以及转移指令的编程。标号

25、通常用于转移指令 所需的转移地址。标号一般由16个字符组成,但第一个字符必须是字母,其余的 可以是字母也可以是其他符号或数字。标号和操作码之间用冒号“:”分开。 功能助记符又称为操作码。操作码和操作数(源操作数和目的操作数 )是指令的核心部分。操作码使用MCS-51系列单片机所规定的助记符来表 示,其功能在于告诉单片机的CPU做何种操作。操作数分为目的操作数和源 操作数,采用符号(如寄存器、标号等)或者常量(如立即数、地址值等 )表示。操作码和目的操作数之间用空格分隔,而目的操作数和源操作数 之间用逗号“,”隔开。在某些指令中可以没有操作数。 注释是对指令的功能或作用的说明,但是注释不是一个指

26、令的必要组 成部分,可有可无。注释的主要作用是对程序段或者某条指令在整个程序 中的作用进行解释和说明,以帮助阅读、理解和使用源程序。有无注释对 源程序并无影响,但是如果使用注释的话,注释部分一定要用分号“;” 隔开。 3.1.2 寻址方式 1.寄存器寻址 2.直接寻址 4.立即寻址 3.寄存器间接寻址 6.变址寻址 7.相对寻址 5.位寻址 MSC-51单片机的指令系统 按照指令的功能,可以把MSC-51的111条指令分成五类: l数据传送类指令(29条) l算术运算类指令(24条) l逻辑操作类指令(24条) l控制转移类指令(17条) l位操作类指令 (17条) 第4章MCS-51汇编语言

27、程序设计 过程A过程B 是 否 入口 出口 条件满足? P2 入口 出口 P1 P3 过程 是 否 入口 出口 条件满足? (a) 顺序结构(b) 分支结构(c) 循环结构 基本程序结构 4.1 汇编语言及汇编语言程序设计 机器语言(MachineLanguage)是指直接用机器码编写程序、能够为计算机直接执行的机器级语言。机器 码是一串由二进制代码“0”和“1”组成的二进制数据,其执行速度快,但是可读性极差。机器语言一般只在 简单的开发装置中使用,程序的设计、输入、修改和调试都很麻烦。 汇编语言(AssemblyLanguage)是指用指令助记符代替机器码的编程语言。汇编语言程序结构简单,执

28、 行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言 的缺点是可读性比较差,只有熟悉单片机的指令系统,并具有一定的程序设计经验,才能研制出功能复杂的应 用程序。 高级语言(High-LevelLanguage)是在汇编语言的基础上用自然语言的语句来编写程序,例如 PL/M-51、FranklinC51、MBASIC51等,程序可读性强,通用性好,适用于不熟悉单片机指令系统的 的用户。 高级语言编写程序的缺点是实时性不高,结构不紧凑,编译后占用存储空间比较大,这一点在存 储器有限的单片机应用系统中没有优势。 4.1.3 简单程序设计简单程序设计 简单

29、程序也就是顺序程序,是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地 执行,直到全部指令执行完毕为止。不管多么复杂的程序,总是由若干顺序程序段所组成的。 【例4.1】双字节二进制数求补。 本程序对R3(高)、R2(低)中的二进制定点数取反加1,便得到其补码,程序流程图如图4-1所示。 图4-1双字节二进制数求补程序流程图 程序清单如下: BINPL:MOVA,R2 CPLA ADDA,#01H MOVR2,A;低位字节补码送R2 MOVA,R3 CPLA ADDCA,#00H;高位加进位位 MOVR3,A;高位字节补码送R3 RET 4.1.4 分支程序设计 在一个实际的应用程序中

30、,程序不可能始终都是直线执行的。要用计算机解决某个实际问题,往往要 求计算机能够做出一些判断,并根据不同的判断结果做出不同的处理,即产生不同的分支结构。分支结 构程序可根据程序要求无条件或有条件地改变程序执行的顺序,选择新的程序流向。编写分支结构程序 主要在于正确使用转移指令,即无条件转移和条件转移指令。 【例4.2】设变量X存在VAR单元之中,函数值y存放在FUNC中,按以下的表达式给变量y赋值: 图4-2分支程序流程图 程序流程图如图4-2所示。 程序清单如下: VAREQU30H FUNCEQU31H START:MOVA,VAR JZCOMP JNBACC.7,POSI MOVA,#0

31、FFH SJMPCOMP POSI:MOVA,#01H COMP:MOVFUNC,A 在程序设计过程中,常常遇到反复执行某一段程序的情况,这种情况下采用循环程序结构,构, 可以缩短程序代码的长度,提高程序的质量和运行效率。循环的这四个部分有两种情况,如图4- 3所示。 4.1.5 循环结构程序 图4-3循环结构程序流程图 循环结构程序一般包括以下几个部分: (1)置初值。置初值是设置用于循环过程工作单元的初始值,例如 设置循环次数计数器、地址指针初值、存放变量的单元的初值。 (2)循环体。重复执行的程序段。 (3)循环修改。在单片机中,一般用一个工作寄存器Rn作为计数器 ,并给这个计数器赋初值

32、作为循环的次数,运行程序时,每循环一次, 则对该计数器进行修改。 (4)循环控制。判断循环控制变量(保存循环次数的变量)是否满 足终止值的条件,如果满足则结束循环,顺序执行循环短一些的程序; 如果不满足,则继续重复执行循环的工作部分,直到达到循环结束条件 (死循环除外)。 【例4.3】求1、2、3N之和(N256)。 这是一个简单的重复相加的问题。设R2为加数指针,R5为循环次数计数器,R6为加数总和的高位字 节寄存器,N保存在内部RAM的23H当中,加数总和的高位字节和低位字节分别存入23H和24H中。程序 流程图如图4-4所示。 图4-4例4.3程序流程图 程序清单如下: ORG0100H

33、 MOVR5,23H;R5N CLRA;A清零 MOVR6,#00H;R6清零 MOVR4,#01H;R4赋值 LOOP:ADDA,R4;求和 JNCNEXT;CY=0即总和小于256,则转移 INCR6;总和高位加工 NEXT:INCR4;修改指针 DJNZR5,LOOP;未完,重复加 MOV23H,R6;保存总和的高位 MOV24H,A;保存总和的低位 END 【例4.4】延时10ms子程序(设晶振的频率为6MHz)。 在知道系统的晶振频率之后,延时时间主要与两个因素有关:一是内 循环中指令的执行时间;二是外循环时间常数(内循环的循环次数)的 设置。在本例中,已知晶振频率为6MHz,则可得

34、一个机器周期为0.5s ,执行一条DJNZRn,rel的指令的时间为两个机器周期即1s,10ms的 延时子程序设计如下: DELAY:MOV R5,#100 DELAY0:MOVR4,#100 DELAY1:DJNZR4,DELAY1 DJNZR5,DELAY0 RET 第5章MCS-51定时/计数器和中断系统 51 MCS-51定时/计数器 5.1.1 8051单片机定时/计数器的结构与工作原理 定时/计数器逻辑结构 内部总线 工作 方式 工作 方式 TH1TL1TH0TL0 TCONTMOD T1 T0 微 处 理 器 图 5 1 8051定时/计数器逻辑结构 5.1.2 定时/计数器方式

35、寄存器和控制寄存器 表 5 1 方式选择位意义 M1M0 工作方式功能说明 00方式013位计数器 01方式116位计数器 10方式2自动再装入8位计数器 11方式3 定时器0:分成两个8位计数器 定时器1:停止计数 TMOD格式如下: TCON的格式如下 TCON 8FH8EH8DH8CH8BH8AH89H88H TF1TR1TF0TR0IE1IT1IE0IT0 5.1.3 定时/计数器的4种工作方式 1.方式0 当M1M0两位为00时,定时/计数器被选为工作方式0,其逻辑结构如图 5 2 所示。 控制 振荡器 12 TL0 (5位) TF0 中断 T0 端 C/ T = 0 C/ T =

36、1 + INT0 端 GATE TR0 TH0 (8位) 图 5 2 T0(或T1)方式0的逻辑电路结构 2.方式1 控制 振荡器 12 TL0 (8位) TF0 中断 T0 端 C/ T = 0 C/ T = 1 + INT0 端 GATE TR0 TH0 (8位) T0(或T1)方式1的逻辑电路结构 3.方式2 控制 振荡器 12 TL0 (8位) TF0 中断 T0 端 C/ T = 0 C/ T = 1 + INT0 端 GATE TR0 TH0 (8位) 重新装入 图 5 3 T0(或T1)方式2的逻辑电路结构 4.方式3 控制 振荡器12 TL0 (8位) TF0 中断 T0 端

37、C/ T = 0 C/ T = 1 + INT0 端 GATE TR0 TH0 (8位) 1/ 12 fosc 1/ 12 fosc TF1 中断1/ 12 fosc TR1 图 5 4 T0方式3的逻辑电路结构和T1结构 由于定时/计数器是可编程的,因此在定时或计数之前要用程 序初始化,初始化一般有以下几个步骤: (1)确定工作方式对方式寄存器TMOD赋值。 (2)预置定时或计数初值,直接将初值写入TL0、TH0或TL1、 TH1中。 (3)根据需要对中断允许寄存器有关位赋值,以开放或禁止定 时/计数器中断。 (4)启动定时/计数器,使TCON中的TR1或TR0置“1”,计数 器计按既定的工

38、作方式和初值技术或定时。 5.定时/计数器的初始化 在初始化过程中,要置入定时或计数的初值,要做一点计算。由于计 数器是加“1”计数器,并在溢出时产生中断请求,因此不能直接将计数 初值置入计数器,而应送计数初值的补码数。 设计数器最大计数值为M,选择不同的工作方式最大计数值不同。 方式0:M=213=8192 方式1:M=216=65536 方式2:M=28=256 方式3:M=28=256 置入计数初值X可这样计算: 计数方式时:X=M-计数值(X即为计数值的补码) 定时方式时:(M-X)*T=定时值,故X=M-定时值/T 其中T为计数周期,是单片机时钟的12分频,即单片机机器周期。当晶振为

39、 6MHz时,t=2s;当晶振12MHz时,T=1s。 【例5.1】若单片机晶振为12MHz,要求产生500s的定时,试计算X的 初值。 解:由于T=1s,产生500s定时,则需要“+1”500次,定时器方能产生 溢出。 采用方式0: X=213-(500*10-6/10-6)=7692=1E0CH 但方式0的TL0高3位是不用的,都设为“0”,这1E0CH应写成: F00CH=1111000001100B 实际上,我们可以看出F00CH去掉了3个不用的位后,就是1E0CH,即将 F0H装入TH0,0CH装入TL0。 采用方式1: X=216-(500*10-6/10-6)=65536=FE0

40、CH 即将FEH装入TH1,0CH装入TL1。 【例5.2】用定时器1,方式0实现1s的延时。 解:因方式0采用13位计数器,其最大定时时间为:8192*1s=8192s,因此, 定时时间可选择为8ms,再循环125次;或者定时时间选择为5ms,再循环 200次。本例我们选择前者。定时时间选定后,再确定计数值为5000,则定 时器1的初值为 X=M-计数值=8192-5000=3192=C78H=0110001111000B 因13位计数器中TL1的高3位未用,应填写0,TH1占高8位,所以,X的实际 填写值应为 X=0110001100011000B=6318H 即TH1=63H,TL1=1

41、8H,又因采用方式0定时,故TMOD=00H。 1s延时子程序如下: DELAY:MOVR0,#200;置5ms计数循环初值 MOVTMOD,#00H;设定时器1为方式0 MOVTH1,#63H;置定时器初值 MOVTL1,#18H SETBTR1;启动T1 LP1:JBCTF1,LP2;查询计数溢出 SJMPLP1;未到5ms继续计数 LP2:MOVTH1,#63H;重新置定时器初值 MOVTL1,#18H DJNZR0,LP1;未到1s继续循环 RET;返回主程序 【例5.3】用定时器1,方式1实现1s的延时。 DELAY:MOVR0,#20;置50ms计数循环初值 MOVTMOD,#10

42、H;设定时器1为方式1 MOVTH1,#3CH;置定时器初值 MOVTL1,#0B0H SETBTR1;启动T1 LP1:JBCTF1,LP2;查询计数溢出 SJMPLP1;未到50ms继续计数 LP2:MOVTH1,#3CH;重新置定时器初值 MOVTL1,#0B0H DJNZR0,LP1;未到1s继续循环 RET;返回主程序 【例5.4】用定时器1,方式2实现1s的延时。 解:因方式2是8位计数器,其最大定时时间为:256*1s=256s,为实现1s的延时,可选择定 时时间为250s,再循环4000次。定时时间选定后,可确定计数值为250,则定时器1的初值为: X=M-计数值=256-25

43、0=6=6H。采用定时器1,方式2工作,因此,TMOD=20H。 DELAY:MOVR7,#40;置25ms计数循环初值 MOVR6,#100;置250s计数循环初值 MOVTMOD,#20H;设定时器1为方式2 MOVTH1,#06H;置定时器初值 MOVTL1,#06H SETBTR1;启动T1 LP1: JBCTF1,LP2;查询计数溢出 SJMPLP1;无溢出则继续计数 LP2: DJNZR6,LP1;未到25ms继续循环 MOVR6,#100 DJNZR7,LP1;未到1s继续循环 RET;返回主程序 5.2 MCS-51单片机的中断系统 自 然 优 先 级 矢 量 地 址 自 然

44、优 先 级 矢 量 地 址 高级中 断请求 PC PC 断请求 低级中 SCON 中断标志 IP PX0 1 PT0 1 1 0 PX1 1 0 PS1 0 0 PT1 0 IE EX0 ET0 EX1 ET1 ES TCON IE0 TF0 IE1 TF1 TI RI RX TX T1 IT1=1 INT1 IT1=0 T0 INT0 IT0=1 IT0=0 源允许总允许优先级 硬件查询 EA 图 5-5 MCS-51中断系统内部结构示意图 1、中断源及中断入口 中断源入口地址 外部中断00003H 定时器T0中断 000BH 外部中断10013H 定时器T1中断 001BH 串行口中断00

45、23H 2、外部中断请求标志 2SCON的中断标志 1TCON中的中断标志 3、中断允许控制 4、中断源优先级的设定 5、中断响应处理过程 2中断处理 1中断响应的过程 3中断返回 4外部中断响应时间 5.2.4 外部中断源的扩展 1.用定时器作外部中断源 MCS-51单片机有两个定时器,具有两个内中断标志和外计数引脚, 如在某些应用中不被使用,则它们定时器中断可作为外部中断请 求使用。此时,可将定时器设置成计数方式,计数初值可设为满量 程,则它们的计数输入端T0(P3.4)或T1(P3.5)引脚上发生负跳 变时,计数器加1产生溢出甲断。利用此特性,可把T0脚或T1脚作 为外部中断请求输入线,

46、而计数器的溢出中断作为外部中断请求标 志。 【例5.5】将定时器0扩展为外部中断源n 解:将定时器0设定为方式2(自动恢复计数初值),TH0和TFO的 初值均设置为FFH,允许定时器0中断,CPU开放中断。源程序如下: MOV TMOD,#06H MOVTH0,#0FFH MOVTL0,#0FFH SETBTR0 SETBET0 SETBEA 当连接在T0(P3.4)引脚上的外部中断请求输入线发生负跳变时, TL0加1溢出,TF0置1,向CPU发出中断申请,同时,TH0的内容自动送 至TL0使TL0恢复初值。这样,T0引脚每输入一个负跳变,TF0都会置1, 向CPU请求中断。此时,T0脚相当于

47、边沿触发的外部中断源输入线。 同样,也可将定时器1扩展为外部中断源。 2.中断和查询相结合 图5- 8一个外中断扩展成多个外中断的原理图 由图可知,4个外部扩展中断源通过4个OC门电路组成线或取非后 再与(P3.2)相连;4个外部扩展中断源EXINT0EXINT3中 有一个或几个出现高电平则输出为0,使脚为低电平,从而发 出中断请求。因此,这些扩充的外部中断源都是电平触发方式 (高电平有效)。CPU执行中断服务程序时,先依次查询P1口的 中断源输入状态,然后,转入到相应的中断服务程序,4个扩展中 断源的优先级顺序由软件查询顺序决定,即最先查询的优先级最 高,最后查询的优先级最低。 0INT 0

48、INT 中断服务程序如下: ORG0003H;外部中断0入口 AJMPINT0;转向中断服务程序入口 INT0:PUSHPSW;保护现场 PUSHACC JBP1.0,EXT0;中断源查询并转相应中断服务程序 JBP1.1,EXT1 JBP1.2,EXT2 JBP1.3,EXT3 EXIT:POPACC;恢复现场 POPPSW RETI EXT0: ;EXINT0中断服务程序 AJMPEXIT EXT1: ;EXINT1中断服务程序 AJMPEXIT EXT2: ;EXINT2中断服务程序 AJMPEXIT EXT3: ;EXINT3中断服务程序 AJMPEXIT 同样,外部中断1也可作相应的

49、扩展。 第6章存储器与存储器扩展 61 单片机存储器概述 8051的引脚定义及功能 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 VSS VCC P0.0/AD0 P0.1

50、/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA/VPP ALE/PROG PSEN P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 8 80 03 31 1 8 80 05 51 1 8 87 75 51 1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 PSEN EA ALE RESET 80318031 8051

51、8051 87518751 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 ALE A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 G +5VVCC VSS 锁锁 存存 器器 数 据 总 线 (DB) 地 址 总 线 (AB) 控 制 总 线 (CB) 用 户 I/O MCS-51的引脚图及功能分类图 图6- 1 单片机扩展构造总线结构框图 62 程序存储器扩展技术 外部程序存

52、储器的扩展及取指过程 EA 8 80 03 31 1 P2.7 P2.0 P0.7 P0.0 地址 锁存器 PSENOE A15 A8 CE A7 A0 D7 D0 外部 程序 存储器 0K64K 外部程序存储器一般连接方法 EPROM程序存储器扩展实例 PSEN P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 A8 A9 A10 A11 A12 QOA0 A1 A2 A3 A4 A5 A6 A7 Q1 Q2 Q3 Q4 Q5 Q6 Q7 D0 D1 D2 D3 D4 D5 D6 D7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.

53、7 ALE D0 D1 D2 D3 D4 D5 D6 D7 OEG OE 8031 27C64 CE EA 74HC373 图6-8单片程序存储器扩展连接 用译码法扩展多片E2PROM 图6-10E2PROM程序存储器扩展电路连接图 P3.7(RD) P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 A8 A9 A10 QO A7 A6 A5 A4 A3 A2 A1 A0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 D0 D1 D2 D3 D4 D5 D6 D7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 ALE I/O0 I/O

54、1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 OEG OE 8031 6116 CE EA P3.6(WR) WE 74HC373 扩展2KB数据存储器的线路图 63 数据存储器扩展技术 图6-12线选法扩展1片6264电路图 综合扩展实例 D7 Q7 Q0 D0 74HC373 A12 A11 A10 A9 A8 CE A7 A0 D7D0OE P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 ALE P0 PSEN WR RD 80C51 IC02764IC02764 D0OE CE A12 A11 A10 A9 A8 A7 A0 D7 IC

55、02764 D0OE CE A12 A11 A10 A9 A8 A7 A0 D7D0OE CE A12 A11 A10 A9 A8 A7 A0 D7 A8 A9 A10 A11 A12 A8 A9 A10 A11 A12 A8 A9 A10 A11 A12A12 A11 A10 A9 A8 IC12764 D0D0D0D0D7D7D7D7OEOEOEOE A0A0A0A0 A7A7A7A7 A0A0A0A0 A7A7A7A7 A8A8A8A8 A9A9A9A9 A10A10A10A10 OEOEOEOE CECECECE A11A11A11A11 A12A12A12A12 A10A10A10A

56、10 A0A0A0A0 OEOEOEOE A7A7A7A7 A8A8A8A8 A9A9A9A9 A12A12A12A12 A11A11A11A11 CECECECECECECECE IC26264 IC36264 WEWE D7-D0 D7-D0 G B A Y2 Y1 Y0 74HC139 扩展16KB RAM和16KB EPROM 72 并行I/O口扩展 7.2.1 并行I/O口的简单扩展 第7章单片机接口技术 图7- 2 简单I/O口扩展 7.2.2 采用8255扩展I/O口 图7- 3 8255内部结构 1.8255的内部结构和引脚功能。 图7- 4 8255A引脚图 2.MCS-51

57、与8255A的连接方法 图7- 5 8031与8255A的连接方法 3.8255的方式控制字 图7- 6 8255A方式选择控制字 (1)方式选择控制字 图7- 7 C口 按位复位/置位控制寄存器 (2)C口按位复位/置位控制字 7.2.3 可编程RAM I/O接口芯片8155及其扩展I/O口技术 1.8155内部结构及引脚 (a) 8155内部结构(b) 8155引脚配置图 图7- 12 8155内部结构及引脚图 表 7 3 8155口地址分布 AD0AD7 选选 中中 寄寄 存存 器器 A7 A6 A5 A4 A3A2A1A0 000 内部命令寄存器内部命令寄存器 001 通用通用I/O口

58、口A寄存器寄存器 010 通用通用I/O口口B寄存器寄存器 011 口口C:通用通用I/O口或控制口口或控制口 100 定时定时/计数器的低计数器的低8位寄存器位寄存器 101 定时定时/计数器的高计数器的高8位寄存器位寄存器 2.8155的RAM和I/O口地址编码 3.8155的工作方式与基本操作 图7- 13 8155命令状态寄存器格式 表7- 4 8155定时器编程方式及相应的输出波形 M2M1 方式定时器输出波形 0 0 1 1 0 1 0 1 单方波 连续方波 单脉冲 连续脉冲 表 7 2 8155的RAM和I/O口地址分配 P2.4P2.3 选择地址 00RAM E700HE7FF

59、H(256B) 01I/O口 EF00H命令口/状态口 EF01H通用I/O口A EF02H通用I/O口B EF03H口C EF04H计数值低8位 EF05H计数值高8位和计数 方式 AD07 CE RD WR RESET ALE TIME IN TIME OUT PC PB PA IO/ M 81558031 RST RD WR ALE P2.3 P2.4 P0 VCC 图 7 15 8155和8031单片机接口 73 MCS-51单片机键盘接口技术 7.3.2 独立式按键 1.独立式按键结构 图7- 17 独立式键盘 图7- 18 独立键盘与单片机接口 7.3.3 矩阵键盘接口技术 1.矩

60、阵式键盘的结构及工作原理 图7- 19 矩阵键盘结构 2.矩阵键盘工作方式 图7- 20 定时键盘扫描程序框图 7.4.1 LED显示器的接口技术 7.4 MCS-51单片机显示器接口技术 (a)管脚图(b)共阴极(c) 共阳极 图7- 21 LED显示器与通用I/O口的连线 1.LED数码显示器结构和工作原理 图7- 22 通过8255A连接的3位LED静态显示器 3.静态LED显示器接口 4.动态LED显示器接口 图7- 23 通过8155连接的6位LED动态显示电路 图7- 24 动态显示子程序流程图 7.4.2 可编程键盘/显示器接口芯片Intel8279 1.8279的内部结构 图7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论