《单片机原理与应用》(金龙国)电子教案-3145_第1页
《单片机原理与应用》(金龙国)电子教案-3145_第2页
《单片机原理与应用》(金龙国)电子教案-3145_第3页
《单片机原理与应用》(金龙国)电子教案-3145_第4页
《单片机原理与应用》(金龙国)电子教案-3145_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

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

文档简介

21世纪高职高专规划教材单片机原理与应用电子教案,制 作:金龙国 陈萌中国水利水电出版社,第1章 单片机概述,第2章 MCS-51系列单片机结构,第3章 MSC-51指令系统,第6章 存储器与存储器扩展,第4章MCS-51汇编语言程序设计,第7章单片机接口技术,第5章MCS-51定时/计数器和中断系统,第9章MCS-51单片机应用系统设计,单片机原理及应用,第8章串行口通信技术,第1章单片机概述,本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。,11 单片机的发展历史,我们可以把单片机的发展历史划分为四阶段:第一阶段(19761978年):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。主要用于工业领域。第二阶段(19781982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。第三阶段(19821990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。第四阶段(1990年):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。,硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。 其中,运算器和控制器一般做在一个集成芯片上,统称中央处理单元(Central Processing Unit),简称CPU,是微机的核心部件。CPU配上存放程序和数据的存储器、输入/输出(Input/Output,简称I/O)接口电路以及外部设备即构成微机的硬件系统。,12 单片机的软硬件系统,1.2.1 单片机的硬件系统,图1-1 微型计算机硬件系统组成示意图,下面把组成计算机的5个基本部件作简单说明。1) 运算器 运算器是计算机的运算部件,用于实现算术和逻辑运算。计算机的数据运算和处理都在这里进行。2) 控制器 控制器是计算机的指挥控制部件,它控制计算机各部分自动、协调地工作。运算器和控制器是计算机的核心部分,常把它们合在一起称之为中央处理器,简称CPU。,3) 存储器 存储器是计算机的记忆部件,用于存放程序和数据。存储器又分为内存储器和外存储器。实训中使用的EPROM2764便是存贮器。4) 输入设备 输入设备用于将程序和数据输入到计算机中,如键盘等。5) 输出设备 输出设备用于把计算机数据计算或加工的结果,以用户需要的形式显示或打印出来,如显示器、打印机等。 通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备,简称“外设”。,单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output)接口电路、定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。单片机内部结构示意图如图1-2所示。,图1-2 单片机内部结构示意图,软件系统是微机系统所使用的各种程序的总称。人们通过它对整机进行控制并与微机系统进行信息交换,使微机按照人的意图完成预定的任务。 软件系统与硬件系统共同构成完整的微机系统,两者辅相成,缺一不可。 微型计算机系统组成示意图如图所示。,1.2.2 单片机的软件系统,微型计算机系统组成示意图,1.3 MCS-51系列单片机,尽管各类单片机很多,但无论是从世界范围或是从全国范围来看,使用最为广泛的应属MCS-51单片机。 MCS-51单片机系列共有十几种芯片,如表1-1所示。,表1-1 MCS-51系列单片机分类表,MCS-51系列又分为51和52两个子系列,并以芯片型号的最末位数字作为标志。其中,51子系列是基本型,而52子系列则属增强型。52子系列功能增强的具体方面,从表1-1所列内容中可以看出: (1) 片内ROM从4 KB增加到8 KB。 (2) 片内RAM从128 B增加到256 B。 (3) 定时/计数器从2个增加到3个。 (4) 中断源从5个增加到6个。,1.3.1 51子系列和52子系列,MCS-51系列单片机采用两种半导体工艺生产。一种是HMOS工艺,即高速度、高密度、短沟道MOS工艺。另外一种是CHMOS工艺,即互补金属氧化物的HMOS工艺。表1.1中,芯片型号中带有字母“C”的,为CHMOS芯片,其余均为一般的HMOS芯片。 CHMOS是CMOS和HMOS的结合,除保持了HMOS高速度和高密度的特点之外,还具有CMOS低功耗的特点。在便携式、手提式或野外作业仪器设备上,低功耗是非常有意义的,因此,在这些产品中必须使用CHMOS的单片机芯片。,1.3.2 单片机芯片半导体工艺,MCS-51单片机片内程序存储器有三种配置形式,即掩膜ROM、EPROM和无ROM。这三种配置形式对应三种不同的单片机芯片,它们各有特点,也各有其适用场合,在使用时应根据需要进行选择。一般情况下,片内带掩膜型ROM适用于定型大批量应用产品的生产;片内带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内部有4KB ROM,8751内部有4KB EPROM,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单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前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单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。 7) 中断控制系统 MCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。 8) 时钟电路 MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6 MHz和12 MHz。,MCS-51是标准的40引脚双列直插式集成电路芯片,引脚排列请参见图2-2。1) 信号引脚介绍 P0.0 P0.7: P0口8位双向口线。 P1.0 P1.7 :P1口8位双向口线。 P2.0 P2.7 :P2口8位双向口线。 P3.0 P3.7 :P3口8位双向口线。,2.1.2 MCS-51的信号引脚,图2-2 MCS-51引脚图,表21 P3口的第二功能表,2) 信号引脚介绍,2.2 8051的内部存储器,图2- 3 片内RAM的配置,2.2.1 内部数据存储器低128单元,图 24 8051内部RAM位地址区,表 22 片内RAM位寻址区的位地址,表格 22 特殊功能寄存器表,*:可位寻址的特殊功能寄存器,2.2.2 内部数据存储器高128单元,表 23 MCS-51专用寄存器一览表,图 25 P0口的口线逻辑电路图,2.3.1 P0口,2.3 并行输入/输出口电路结构,2.3.2 P1口,图 26 P1口的口线逻辑电路图,2.3.3 P2口,图 27 P2口的口线逻辑电路图,2.3.4 P3口,图 28 P3口的口线逻辑电路图,2.4.1 时钟电路与时序,基本定时时序关系,24 MCS-51单片机的时序,1.时钟信号的产生,图2-9 时钟振荡电路和图2-10 外部时钟源接法,(1)节拍与状态,图 211 MCS-51的取指/执行时序,(2)机器周期,4. MCS-51指令时序,(3)指令周期,1复位操作,表格 24 各专用寄存器的复位值,2.4.2 单片机的复位电路,2复位信号及其产生,图 212 复位电路逻辑图,3复位方式,图 213 各种复位电路,第3章 MSC-51指令系统,31 MCS-51指令系统概述,3.1.1 指令格式,汇编语言格式为:标号: 操作码助记符 目的操作数, 源操作数 ;注释,其中,标号是该语句的符号地址,可根据需要而设置。当汇编程序对汇编语言源程序进行汇编时,再以该指令所在的地址值来代替标号。在编程的过程中,适当的使用标号,使程序便于查询、修改以及转移指令的编程。标号通常用于转移指令所需的转移地址。标号一般由16个字符组成,但第一个字符必须是字母,其余的可以是字母也可以是其他符号或数字。标号和操作码之间用冒号“:”分开。,功能助记符又称为操作码。操作码和操作数(源操作数和目的操作数)是指令的核心部分。操作码使用MCS-51系列单片机所规定的助记符来表示,其功能在于告诉单片机的CPU做何种操作。操作数分为目的操作数和源操作数,采用符号(如寄存器、标号等)或者常量(如立即数、地址值等)表示。操作码和目的操作数之间用空格分隔,而目的操作数和源操作数之间用逗号“,”隔开。在某些指令中可以没有操作数。 注释是对指令的功能或作用的说明,但是注释不是一个指令的必要组成部分,可有可无。注释的主要作用是对程序段或者某条指令在整个程序中的作用进行解释和说明,以帮助阅读、理解和使用源程序。有无注释对源程序并无影响,但是如果使用注释的话,注释部分一定要用分号“;”隔开。,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汇编语言程序设计,基本程序结构,4.1 汇编语言及汇编语言程序设计,机器语言(Machine Language)是指直接用机器码编写程序、能够为计算机直接执行的机器级语言。机器码是一串由二进制代码“0”和“1”组成的二进制数据,其执行速度快,但是可读性极差。机器语言一般只在简单的开发装置中使用,程序的设计、输入、修改和调试都很麻烦。 汇编语言(Assembly Language)是指用指令助记符代替机器码的编程语言。汇编语言程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言的缺点是可读性比较差,只有熟悉单片机的指令系统,并具有一定的程序设计经验,才能研制出功能复杂的应用程序。,高级语言(High-Level Language)是在汇编语言的基础上用自然语言的语句来编写程序,例如PL/M-51、Franklin C51、MBASIC 51等,程序可读性强,通用性好,适用于不熟悉单片机指令系统的的用户。 高级语言编写程序的缺点是实时性不高,结构不紧凑,编译后占用存储空间比较大,这一点在存储器有限的单片机应用系统中没有优势。,4.1.3 简单程序设计,简单程序也就是顺序程序,是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。不管多么复杂的程序,总是由若干顺序程序段所组成的。 【例4.1】双字节二进制数求补。本程序对R3(高)、R2(低)中的二进制定点数取反加1,便得到其补码,程序流程图如图4- 1所示。,图4- 1 双字节二进制数求补程序流程图,程序清单如下:BINPL:MOVA,R2CPLAADDA,#01HMOVR2,A;低位字节补码送R2MOVA,R3CPLAADDC A,#00H;高位加进位位MOVR3,A;高位字节补码送R3RET,4.1.4 分支程序设计,在一个实际的应用程序中,程序不可能始终都是直线执行的。要用计算机解决某个实际问题,往往要求计算机能够做出一些判断,并根据不同的判断结果做出不同的处理,即产生不同的分支结构。分支结构程序可根据程序要求无条件或有条件地改变程序执行的顺序,选择新的程序流向。编写分支结构程序主要在于正确使用转移指令,即无条件转移和条件转移指令。 【例4.2】设变量X存在VAR单元之中,函数值y存放在FUNC中,按以下的表达式给变量y赋值:,图4- 2 分支程序流程图,程序流程图如图4- 2所示。,程序清单如下:VAREQU30HFUNCEQU31HSTART:MOVA,VARJZCOMPJNBACC.7,POSIMOVA,#0FFHSJMPCOMPPOSI:MOVA,#01HCOMP:MOVFUNC,A,在程序设计过程中,常常遇到反复执行某一段程序的情况,这种情况下采用循环程序结构,构,可以缩短程序代码的长度,提高程序的质量和运行效率。循环的这四个部分有两种情况,如图4- 3所示。,4.1.5 循环结构程序,图4- 3 循环结构程序流程图,循环结构程序一般包括以下几个部分:(1)置初值。置初值是设置用于循环过程工作单元的初始值,例如设置循环次数计数器、地址指针初值、存放变量的单元的初值。(2)循环体。重复执行的程序段。(3)循环修改。在单片机中,一般用一个工作寄存器Rn作为计数器,并给这个计数器赋初值作为循环的次数,运行程序时,每循环一次,则对该计数器进行修改。(4)循环控制。判断循环控制变量(保存循环次数的变量)是否满足终止值的条件,如果满足则结束循环,顺序执行循环短一些的程序;如果不满足,则继续重复执行循环的工作部分,直到达到循环结束条件(死循环除外)。,【例4.3】求1、2、3N之和(N256)。 这是一个简单的重复相加的问题。设R2为加数指针,R5为循环次数计数器,R6为加数总和的高位字节寄存器,N保存在内部RAM的23H当中,加数总和的高位字节和低位字节分别存入23H和24H中。程序流程图如图4- 4所示。,图4- 4 例4.3程序流程图,程序清单如下:ORG 0100HMOV R5,23H;R5NCLR A;A清零MOV R6,#00H;R6清零MOV R4,#01H;R4赋值LOOP:ADD A,R4;求和JNCNEXT;CY=0即总和小于256,则转移INCR6;总和高位加工NEXT:INCR4;修改指针DJNZR5,LOOP;未完,重复加MOV23H,R6;保存总和的高位MOV24H,A;保存总和的低位END,【例4.4】延时10ms子程序(设晶振的频率为6MHz)。在知道系统的晶振频率之后,延时时间主要与两个因素有关:一是内循环中指令的执行时间;二是外循环时间常数(内循环的循环次数)的设置。在本例中,已知晶振频率为6MHz,则可得一个机器周期为0.5s,执行一条 DJNZ Rn,rel的指令的时间为两个机器周期即1s,10ms的延时子程序设计如下:DELAY:MOVR5,#100DELAY0:MOVR4,#100DELAY1:DJNZR4,DELAY1DJNZR5,DELAY0RET,第5章 MCS-51定时/计数器和中断系统,51 MCS-51定时/计数器,5.1.1 8051单片机定时/计数器的结构与工作原理,定时/计数器逻辑结构,图 51 8051定时/计数器逻辑结构,5.1.2 定时/计数器方式寄存器和控制寄存器,表 51 方式选择位意义,TMOD格式如下:,TCON的格式如下,5.1.3 定时/计数器的4种工作方式,1.方式0 当M1M0两位为00时,定时/计数器被选为工作方式0,其逻辑结构如图 52 所示。,图 52 T0(或T1)方式0的逻辑电路结构,2.方式1,T0(或T1)方式1的逻辑电路结构,3. 方式2,图 53 T0(或T1)方式2的逻辑电路结构,4.方式3,图 54 T0方式3的逻辑电路结构和T1结构,由于定时/计数器是可编程的,因此在定时或计数之前要用程序初始化,初始化一般有以下几个步骤:(1)确定工作方式对方式寄存器TMOD赋值。(2)预置定时或计数初值,直接将初值写入TL0、TH0或TL1、TH1中。(3)根据需要对中断允许寄存器有关位赋值,以开放或禁止定时/计数器中断。(4)启动定时/计数器,使TCON中的TR1或TR0置“1”,计数器计按既定的工作方式和初值技术或定时。,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分频,即单片机机器周期。当晶振为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=FE0CH即将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=18H,又因采用方式0定时,故TMOD=00H。,1s延时子程序如下:DELAY:MOVR0,#200;置5ms计数循环初值MOV TMOD,#00H;设定时器1为方式0MOV TH1,#63H;置定时器初值MOV TL1,#18HSETB TR1 ;启动T1LP1:JBC TF1,LP2 ;查询计数溢出SJMP LP1 ;未到5ms继续计数LP2:MOV TH1,#63H ;重新置定时器初值MOV TL1,#18HDJNZ R0,LP1 ;未到1s继续循环RET ;返回主程序,【例5.3】用定时器1,方式1实现1s的延时。DELAY:MOV R0,#20;置50ms计数循环初值MOV TMOD,#10H;设定时器1为方式1MOV TH1,#3CH;置定时器初值MOV TL1,#0B0HSETB TR1;启动T1LP1:JBC TF1,LP2;查询计数溢出SJMP LP1;未到50ms继续计数LP2:MOV TH1,#3CH;重新置定时器初值MOV TL1,#0B0HDJNZ R0,LP1;未到1s继续循环RET;返回主程序,【例5.4】用定时器1,方式2实现1s的延时。解:因方式2是8位计数器,其最大定时时间为:256*1s=256s,为实现1s的延时,可选择定时时间为250s,再循环4000次。定时时间选定后,可确定计数值为250,则定时器1的初值为:X=M-计数值=256-250=6=6H。采用定时器1,方式2工作,因此,TMOD=20H。DELAY:MOV R7,#40;置25ms计数循环初值MOV R6,#100;置250s计数循环初值MOV TMOD,#20H;设定时器1为方式2MOV TH1,#06H;置定时器初值MOV TL1,#06HSETB TR1;启动T1LP1:JBC TF1,LP2;查询计数溢出SJMP LP1;无溢出则继续计数LP2:DJNZ R6,LP1;未到25ms继续循环MOV R6,#100DJNZ R7,LP1;未到1s继续循环RET;返回主程序,5.2 MCS-51单片机的中断系统,图 5-5 MCS-51中断系统内部结构示意图,1、中断源及中断入口,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脚作为外部中断请求输入线,而计数器的溢出中断作为外部中断请求标志。 【例5.5】将定时器0扩展为外部中断源n解:将定时器0设定为方式2(自动恢复计数初值),TH0和TFO的初值均设置为FFH,允许定时器0中断,CPU开放中断。源程序如下:,MOVTMOD,#06H MOVTH0,#0FFH MOVTL0,#0FFH SETBTR0 SETBET0 SETBEA 当连接在T0(P3.4)引脚上的外部中断请求输入线发生负跳变时,TL0加1溢出,TF0置1,向CPU发出中断申请,同时,TH0的内容自动送至TL0使TL0恢复初值。这样,T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断。此时,T0脚相当于边沿触发的外部中断源输入线。 同样,也可将定时器1扩展为外部中断源。,2.中断和查询相结合,图5- 8 一个外中断扩展成多个外中断的原理图,由图可知,4个外部扩展中断源通过 4个OC门电路组成线或取非后再与 (P3.2)相连;4个外部扩展中断源EXINT0EXINT3中有一个或几个出现高电平则输出为0,使 脚为低电平,从而发出中断请求。因此,这些扩充的外部中断源都是电平触发方式(高电平有效)。CPU执行中断服务程序时,先依次查询P1口的中断源输入状态,然后,转入到相应的中断服务程序,4个扩展中断源的优先级顺序由软件查询顺序决定,即最先查询的优先级最高,最后查询的优先级最低。,中断服务程序如下:ORG0003H;外部中断0入口AJMPINT0;转向中断服务程序入口INT0:PUSHPSW;保护现场PUSHACCJBP1.0,EXT0;中断源查询并转相应中断服务程序JBP1.1,EXT1JBP1.2,EXT2JBP1.3,EXT3EXIT:POPACC;恢复现场POPPSWRETIEXT0:;EXINT0中断服务程序AJMPEXITEXT1:;EXINT1中断服务程序AJMPEXITEXT2:;EXINT2中断服务程序AJMPEXITEXT3:;EXINT3中断服务程序AJMPEXIT同样,外部中断1也可作相应的扩展。,第6章存储器与存储器扩展,61 单片机存储器概述,8051的引脚定义及功能,MCS-51的引脚图及功能分类图,图6- 1 单片机扩展构造总线结构框图,62 程序存储器扩展技术,外部程序存储器的扩展及取指过程,外部程序存储器一般连接方法,EPROM程序存储器扩展实例,图6- 8 单片程序存储器扩展连接,用译码法扩展多片E2PROM,图6- 10 E2PROM程序存储器扩展电路连接图,扩展2KB数据存储器的线路图,63 数据存储器扩展技术,图6- 12 线选法扩展1片6264电路图,综合扩展实例,扩展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与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内部结构及引脚,8155内部结构(b) 8155引脚配置图图7- 12 8155内部结构及引脚图,表 73 8155口地址分布,2.8155的RAM和I/O口地址编码,3.8155的工作方式与基本操作,图7- 13 8155命令状态寄存器格式,表7- 4 8155定时器编程方式及相应的输出波形,图 715 8155和8031单片机接口,73 MCS-51单片机键盘接口技术,7.3.2 独立式按键,1.独立式按键结构,图7- 17 独立式键盘,图7- 18 独立键盘与单片机接口,7.3.3 矩阵键盘接口技术,1.矩阵式键盘的结构及工作原理,图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- 27 8279内部结构,2.8279引脚功能,图7- 28 8279管脚及引线功能,5.8279与单片机的接口,图7

温馨提示

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

评论

0/150

提交评论