单片机原理与应用_第1页
单片机原理与应用_第2页
单片机原理与应用_第3页
单片机原理与应用_第4页
单片机原理与应用_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与应用第1页,共137页,2023年,2月20日,星期一第1章

单片机概述第2章

MCS-51系列单片机结构第3章MSC-51指令系统第6章存储器与存储器扩展第4章

MCS-51汇编语言程序设计第7章

单片机接口技术第5章

MCS-51定时/计数器和中断系统第9章

MCS-51单片机应用系统设计单片机原理及应用第8章

串行口通信技术第2页,共137页,2023年,2月20日,星期一第1章

单片机概述本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。第3页,共137页,2023年,2月20日,星期一1.1单片机的发展历史我们可以把单片机的发展历史划分为四阶段:第一阶段(1976~1978年):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。主要用于工业领域。第二阶段(1978~1982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。第三阶段(1982~1990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。第四阶段(1990年~):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。第4页,共137页,2023年,2月20日,星期一硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。其中,运算器和控制器一般做在一个集成芯片上,统称中央处理单元(CentralProcessingUnit),简称CPU,是微机的核心部件。CPU配上存放程序和数据的存储器、输入/输出(Input/Output,简称I/O)接口电路以及外部设备即构成微机的硬件系统。1.2单片机的软硬件系统1.2.1单片机的硬件系统第5页,共137页,2023年,2月20日,星期一图1-1微型计算机硬件系统组成示意图第6页,共137页,2023年,2月20日,星期一下面把组成计算机的5个基本部件作简单说明。1)运算器运算器是计算机的运算部件,用于实现算术和逻辑运算。计算机的数据运算和处理都在这里进行。2)控制器控制器是计算机的指挥控制部件,它控制计算机各部分自动、协调地工作。运算器和控制器是计算机的核心部分,常把它们合在一起称之为中央处理器,简称CPU。第7页,共137页,2023年,2月20日,星期一3)存储器存储器是计算机的记忆部件,用于存放程序和数据。存储器又分为内存储器和外存储器。实训中使用的EPROM2764便是存贮器。4)输入设备输入设备用于将程序和数据输入到计算机中,如键盘等。5)输出设备输出设备用于把计算机数据计算或加工的结果,以用户需要的形式显示或打印出来,如显示器、打印机等。通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备,简称“外设”。第8页,共137页,2023年,2月20日,星期一单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(CentralProcessingUnit)、随机存取存储器RAM(RandomAccessMemory)、只读存储器ROM(Read-onlyMemory)、基本输入/输出(Input/Output)接口电路、定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。单片机内部结构示意图如图1-2所示。第9页,共137页,2023年,2月20日,星期一图1-2单片机内部结构示意图第10页,共137页,2023年,2月20日,星期一

软件系统是微机系统所使用的各种程序的总称。人们通过它对整机进行控制并与微机系统进行信息交换,使微机按照人的意图完成预定的任务。软件系统与硬件系统共同构成完整的微机系统,两者辅相成,缺一不可。微型计算机系统组成示意图如图所示。1.2.2单片机的软件系统第11页,共137页,2023年,2月20日,星期一微型计算机系统组成示意图第12页,共137页,2023年,2月20日,星期一1.3MCS-51系列单片机尽管各类单片机很多,但无论是从世界范围或是从全国范围来看,使用最为广泛的应属MCS-51单片机。

MCS-51单片机系列共有十几种芯片,如表1-1所示。第13页,共137页,2023年,2月20日,星期一表1-1MCS-51系列单片机分类表子系列片内ROM形式片内ROM容量片内RAM容量寻址范围I/O特性中断源无ROMEPROM计数器并行口串行口51子系列8031805187514KB128B2×64KB2×164×81580C3180C5187C514KB128B2×64KB2×164×81552子系统8032805287528KB256B2×64KB3×164×81680C3280C5287C528KB256B2×64KB3×164×816第14页,共137页,2023年,2月20日,星期一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.151子系列和52子系列第15页,共137页,2023年,2月20日,星期一MCS-51系列单片机采用两种半导体工艺生产。一种是HMOS工艺,即高速度、高密度、短沟道MOS工艺。另外一种是CHMOS工艺,即互补金属氧化物的HMOS工艺。表1.1中,芯片型号中带有字母“C”的,为CHMOS芯片,其余均为一般的HMOS芯片。

CHMOS是CMOS和HMOS的结合,除保持了HMOS高速度和高密度的特点之外,还具有CMOS低功耗的特点。在便携式、手提式或野外作业仪器设备上,低功耗是非常有意义的,因此,在这些产品中必须使用CHMOS的单片机芯片。1.3.2单片机芯片半导体工艺第16页,共137页,2023年,2月20日,星期一MCS-51单片机片内程序存储器有三种配置形式,即掩膜ROM、EPROM和无ROM。这三种配置形式对应三种不同的单片机芯片,它们各有特点,也各有其适用场合,在使用时应根据需要进行选择。一般情况下,片内带掩膜型ROM适用于定型大批量应用产品的生产;片内带EPROM适合于研制产品样机;外接EPROM的方式适用于研制新产品。最近,Intel公司又推出片内带EEPROM型的单片机,可以在线写入程序。1.3.3片内ROM存储器配置形式第17页,共137页,2023年,2月20日,星期一

第2章

MCS-51单片机结构本章主要介绍MCS-51系列的8051的基本结构、工作原理、存储器结构、P0、P1、P2、P3四个I/O口的基本工作原理和操作特点。单片机的各种工作方式、单片机的时序等。第18页,共137页,2023年,2月20日,星期一2.1MCS-51单片机的内部组成及信号引脚MCS-51单片机的典型芯片是8031、8051、8751。8051内部有4KBROM,8751内部有4KBEPROM,8031内部无ROM;除此之外,三者的内部结构及引脚完全相同。因此,以8051为例,说明本系列单片机的内部组成及信号引脚。8051单片机的基本组成请参见图2-1。下面介绍各部分的基本情况。2.1.18051单片机的基本组成第19页,共137页,2023年,2月20日,星期一图2-1

MCS-51单片机结构框图第20页,共137页,2023年,2月20日,星期一1)中央处理器(CPU)

中央处理器是单片机的核心,完成运算和控制功能。MCS-51的CPU能处理8位二进制数或代码。2)内部数据存储器(内部RAM)8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。第21页,共137页,2023年,2月20日,星期一3)内部程序存储器(内部ROM)8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。4)定时/计数器8051共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。5)并行I/O口

MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。第22页,共137页,2023年,2月20日,星期一6)串行口

MCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。7)中断控制系统

MCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。8)时钟电路

MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6MHz和12MHz。第23页,共137页,2023年,2月20日,星期一

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.2MCS-51的信号引脚第24页,共137页,2023年,2月20日,星期一图2-2MCS-51引脚图第25页,共137页,2023年,2月20日,星期一表2‑1P3口的第二功能表2)信号引脚介绍第26页,共137页,2023年,2月20日,星期一2.28051的内部存储器图2-3片内RAM的配置2.2.1内部数据存储器低128单元第27页,共137页,2023年,2月20日,星期一字节地址位地址

2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20HD7D6D5D4D3D2D1D07FH7EH7DH7CH7BH7AH79H78H77H76H75H74H73H72H71H70H6FH6EH6DH6CH6BH6AH69H68H67H66H65H64H63H62H61H60H5FH5EH5DH5CH5BH5AH59H58H57H56H55H54H53H52H51H50H4FH4EH4DH4CH4BH4AH49H48H47H46H45H44H43H42H41H40H3FH3EH3DH3CH3BH3AH39H38H37H36H35H34H33H32H31H30H2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H1FH1EH1DH1CH1BH1AH19H18H17H16H15H14H13H12H11H10H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02H01H00H图2‑48051内部RAM位地址区表2‑2片内RAM位寻址区的位地址第28页,共137页,2023年,2月20日,星期一表格2‑2特殊功能寄存器表符号单元地址名称位地址符号地址*ACCE0H累加器ACC.7~ACC.0E7H~E0H*BF0H乘法寄存器B.7~B.0F7H~F0H*PSWD0H程序状态字PSW.7~PSW.0D7H~D0H

SP81H堆栈指针

DPL82H数据存储器指针(低8位)

DPH83H数据存储器指针(高8位)

*IEA8H中断允许控制器IE.7~IE.0AFH~A8H*IPB8H中断优先控制器IP.7~IP.0BFH~B8H*P080H通道0P0.7~P0.087H~80H*P190H通道1P1.7~P1.097H~90H*P2A0H通道2P2.7~P2.0A7H~A0H*P3B0H通道3P3.7~P3.0B7H~B0H

PCON87H电源控制及波特率选择

*SCON98H串行口控制SCON.7~SCON.09FH~98H

SBUF99H串行数据缓冲器

*TCON88H定时控制TCON.7~TCON.08FH~88H

TMOD89H定时器方式选择

TL08AH定时器0低8位

TL18BH定时器1低8位

TH08CH定时器0高8位

TH18DH定时器1高8位

*:可位寻址的特殊功能寄存器2.2.2内部数据存储器高128单元表2‑3MCS-51专用寄存器一览表第29页,共137页,2023年,2月20日,星期一图2‑5P0口的口线逻辑电路图2.3.1P0口2.3并行输入/输出口电路结构第30页,共137页,2023年,2月20日,星期一2.3.2P1口图2‑6P1口的口线逻辑电路图第31页,共137页,2023年,2月20日,星期一2.3.3P2口图2‑7P2口的口线逻辑电路图第32页,共137页,2023年,2月20日,星期一2.3.4P3口图2‑8P3口的口线逻辑电路图第33页,共137页,2023年,2月20日,星期一2.4.1时钟电路与时序基本定时时序关系2.4MCS-51单片机的时序第34页,共137页,2023年,2月20日,星期一1.时钟信号的产生图2-9时钟振荡电路和图2-10外部时钟源接法第35页,共137页,2023年,2月20日,星期一(1)节拍与状态图2‑11MCS-51的取指/执行时序(2)机器周期4.MCS-51指令时序(3)指令周期

第36页,共137页,2023年,2月20日,星期一1.复位操作

表格2‑4各专用寄存器的复位值专用寄存器复位值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P3FFHIPXXX00000BIE0XX00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0XXX0000B2.4.2单片机的复位电路第37页,共137页,2023年,2月20日,星期一2.复位信号及其产生图2‑12复位电路逻辑图第38页,共137页,2023年,2月20日,星期一3.复位方式图2‑13各种复位电路第39页,共137页,2023年,2月20日,星期一

第3章MSC-51指令系统3.1MCS-51指令系统概述3.1.1指令格式汇编语言格式为:[标号:]操作码助记符[目的操作数,][源操作数][;注释]其中,标号是该语句的符号地址,可根据需要而设置。当汇编程序对汇编语言源程序进行汇编时,再以该指令所在的地址值来代替标号。在编程的过程中,适当的使用标号,使程序便于查询、修改以及转移指令的编程。标号通常用于转移指令所需的转移地址。标号一般由1~6个字符组成,但第一个字符必须是字母,其余的可以是字母也可以是其他符号或数字。标号和操作码之间用冒号“:”分开。第40页,共137页,2023年,2月20日,星期一功能助记符又称为操作码。操作码和操作数(源操作数和目的操作数)是指令的核心部分。操作码使用MCS-51系列单片机所规定的助记符来表示,其功能在于告诉单片机的CPU做何种操作。操作数分为目的操作数和源操作数,采用符号(如寄存器、标号等)或者常量(如立即数、地址值等)表示。操作码和目的操作数之间用空格分隔,而目的操作数和源操作数之间用逗号“,”隔开。在某些指令中可以没有操作数。注释是对指令的功能或作用的说明,但是注释不是一个指令的必要组成部分,可有可无。注释的主要作用是对程序段或者某条指令在整个程序中的作用进行解释和说明,以帮助阅读、理解和使用源程序。有无注释对源程序并无影响,但是如果使用注释的话,注释部分一定要用分号“;”隔开。第41页,共137页,2023年,2月20日,星期一3.1.2寻址方式1.寄存器寻址2.直接寻址4.立即寻址3.寄存器间接寻址6.变址寻址7.相对寻址5.位寻址第42页,共137页,2023年,2月20日,星期一MSC-51单片机的指令系统按照指令的功能,可以把MSC-51的111条指令分成五类:l

数据传送类指令(29条)l

算术运算类指令(24条)l

逻辑操作类指令(24条)l

控制转移类指令(17条)l

位操作类指令(17条)第43页,共137页,2023年,2月20日,星期一第4章MCS-51汇编语言程序设计基本程序结构

第44页,共137页,2023年,2月20日,星期一4.1汇编语言及汇编语言程序设计机器语言(MachineLanguage)是指直接用机器码编写程序、能够为计算机直接执行的机器级语言。机器码是一串由二进制代码“0”和“1”组成的二进制数据,其执行速度快,但是可读性极差。机器语言一般只在简单的开发装置中使用,程序的设计、输入、修改和调试都很麻烦。汇编语言(AssemblyLanguage)是指用指令助记符代替机器码的编程语言。汇编语言程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言的缺点是可读性比较差,只有熟悉单片机的指令系统,并具有一定的程序设计经验,才能研制出功能复杂的应用程序。第45页,共137页,2023年,2月20日,星期一高级语言(High-LevelLanguage)是在汇编语言的基础上用自然语言的语句来编写程序,例如PL/M-51、FranklinC51、MBASIC51等,程序可读性强,通用性好,适用于不熟悉单片机指令系统的的用户。高级语言编写程序的缺点是实时性不高,结构不紧凑,编译后占用存储空间比较大,这一点在存储器有限的单片机应用系统中没有优势。第46页,共137页,2023年,2月20日,星期一4.1.3简单程序设计简单程序也就是顺序程序,是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。不管多么复杂的程序,总是由若干顺序程序段所组成的。

【例4.1】双字节二进制数求补。本程序对R3(高)、R2(低)中的二进制定点数取反加1,便得到其补码,程序流程图如图4-1所示。第47页,共137页,2023年,2月20日,星期一图4-1双字节二进制数求补程序流程图第48页,共137页,2023年,2月20日,星期一程序清单如下:BINPL:MOV A,R2 CPL A ADD A,#01H MOV R2,A ;低位字节补码送R2 MOV A,R3 CPL A ADDCA,#00H ;高位加进位位 MOV R3,A ;高位字节补码送R3 RET第49页,共137页,2023年,2月20日,星期一4.1.4分支程序设计在一个实际的应用程序中,程序不可能始终都是直线执行的。要用计算机解决某个实际问题,往往要求计算机能够做出一些判断,并根据不同的判断结果做出不同的处理,即产生不同的分支结构。分支结构程序可根据程序要求无条件或有条件地改变程序执行的顺序,选择新的程序流向。编写分支结构程序主要在于正确使用转移指令,即无条件转移和条件转移指令。【例4.2】设变量X存在VAR单元之中,函数值y存放在FUNC中,按以下的表达式给变量y赋值:

第50页,共137页,2023年,2月20日,星期一图4-2分支程序流程图程序流程图如图4-2所示。第51页,共137页,2023年,2月20日,星期一程序清单如下:VAR EQU 30HFUNC EQU 31HSTART:MOV A,VAR JZ COMP JNB ACC.7,POSI MOV A,#0FFH SJMP COMPPOSI: MOV A,#01HCOMP:MOV FUNC,A第52页,共137页,2023年,2月20日,星期一在程序设计过程中,常常遇到反复执行某一段程序的情况,这种情况下采用循环程序结构,构,可以缩短程序代码的长度,提高程序的质量和运行效率。循环的这四个部分有两种情况,如图4-3所示。4.1.5循环结构程序图4-3循环结构程序流程图第53页,共137页,2023年,2月20日,星期一循环结构程序一般包括以下几个部分:(1)置初值。置初值是设置用于循环过程工作单元的初始值,例如设置循环次数计数器、地址指针初值、存放变量的单元的初值。(2)循环体。重复执行的程序段。(3)循环修改。在单片机中,一般用一个工作寄存器Rn作为计数器,并给这个计数器赋初值作为循环的次数,运行程序时,每循环一次,则对该计数器进行修改。(4)循环控制。判断循环控制变量(保存循环次数的变量)是否满足终止值的条件,如果满足则结束循环,顺序执行循环短一些的程序;如果不满足,则继续重复执行循环的工作部分,直到达到循环结束条件(死循环除外)。第54页,共137页,2023年,2月20日,星期一【例4.3】求1、2、3…N之和(N<256)。这是一个简单的重复相加的问题。设R2为加数指针,R5为循环次数计数器,R6为加数总和的高位字节寄存器,N保存在内部RAM的23H当中,加数总和的高位字节和低位字节分别存入23H和24H中。程序流程图如图4-4所示。第55页,共137页,2023年,2月20日,星期一图4-4例4.3程序流程图第56页,共137页,2023年,2月20日,星期一程序清单如下: ORG 0100H MOV R5,23H ;R5←N CLR A ;A清零 MOV R6,#00H ;R6清零 MOV R4,#01H ;R4赋值LOOP:ADDA,@R4 ;求和 JNC NEXT ;CY=0即总和小于256,则转移 INC R6 ;总和高位加工NEXT:INC R4 ;修改指针 DJNZ R5,LOOP ;未完,重复加 MOV 23H,R6 ;保存总和的高位 MOV 24H,A ;保存总和的低位 END第57页,共137页,2023年,2月20日,星期一【例4.4】延时10ms子程序(设晶振的频率为6MHz)。在知道系统的晶振频率之后,延时时间主要与两个因素有关:一是内循环中指令的执行时间;二是外循环时间常数(内循环的循环次数)的设置。在本例中,已知晶振频率为6MHz,则可得一个机器周期为0.5μs,执行一条DJNZRn,rel的指令的时间为两个机器周期即1μs,10ms的延时子程序设计如下:DELAY: MOV R5,#100DELAY0: MOV R4,#100DELAY1: DJNZ R4,DELAY1 DJNZ R5,DELAY0 RET第58页,共137页,2023年,2月20日,星期一第5章MCS-51定时/计数器和中断系统5.1MCS-51定时/计数器5.1.18051单片机定时/计数器的结构与工作原理定时/计数器逻辑结构图5‑18051定时/计数器逻辑结构第59页,共137页,2023年,2月20日,星期一5.1.2定时/计数器方式寄存器和控制寄存器表5‑1方式选择位意义M1M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2自动再装入8位计数器11方式3定时器0:分成两个8位计数器定时器1:停止计数TMOD格式如下:第60页,共137页,2023年,2月20日,星期一TCON的格式如下

TCON8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0第61页,共137页,2023年,2月20日,星期一5.1.3定时/计数器的4种工作方式1.方式0当M1M0两位为00时,定时/计数器被选为工作方式0,其逻辑结构如图5‑2所示。图5‑2T0(或T1)方式0的逻辑电路结构第62页,共137页,2023年,2月20日,星期一2.方式1T0(或T1)方式1的逻辑电路结构第63页,共137页,2023年,2月20日,星期一3.方式2图5‑3T0(或T1)方式2的逻辑电路结构第64页,共137页,2023年,2月20日,星期一4.方式3图5‑4T0方式3的逻辑电路结构和T1结构第65页,共137页,2023年,2月20日,星期一由于定时/计数器是可编程的,因此在定时或计数之前要用程序初始化,初始化一般有以下几个步骤:(1)确定工作方式—对方式寄存器TMOD赋值。(2)预置定时或计数初值,直接将初值写入TL0、TH0或TL1、TH1中。(3)根据需要对中断允许寄存器有关位赋值,以开放或禁止定时/计数器中断。(4)启动定时/计数器,使TCON中的TR1或TR0置“1”,计数器计按既定的工作方式和初值技术或定时。5.定时/计数器的初始化第66页,共137页,2023年,2月20日,星期一在初始化过程中,要置入定时或计数的初值,要做一点计算。由于计数器是加“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=2μs;当晶振12MHz时,T=1μs。第67页,共137页,2023年,2月20日,星期一【例5.1】若单片机晶振为12MHz,要求产生500μs的定时,试计算X的初值。解:由于T=1μs,产生500μs定时,则需要“+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。第68页,共137页,2023年,2月20日,星期一【例5.2】用定时器1,方式0实现1s的延时。解:因方式0采用13位计数器,其最大定时时间为:8192*1μs=8192μs,因此,定时时间可选择为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。第69页,共137页,2023年,2月20日,星期一1s延时子程序如下:DELAY:MOV R0,#200 ;置5ms计数循环初值MOVTMOD,#00H ;设定时器1为方式0MOVTH1,#63H ;置定时器初值MOVTL1,#18HSETBTR1 ;启动T1LP1: JBCTF1,LP2 ;查询计数溢出SJMPLP1 ;未到5ms继续计数LP2: MOVTH1,#63H ;重新置定时器初值MOVTL1,#18HDJNZR0,LP1 ;未到1s继续循环RET ;返回主程序第70页,共137页,2023年,2月20日,星期一【例5.3】用定时器1,方式1实现1s的延时。DELAY:MOVR0,#20 ;置50ms计数循环初值MOVTMOD,#10H ;设定时器1为方式1MOVTH1,#3CH ;置定时器初值MOVTL1,#0B0HSETBTR1 ;启动T1LP1: JBCTF1,LP2 ;查询计数溢出SJMPLP1 ;未到50ms继续计数LP2:MOVTH1,#3CH ;重新置定时器初值MOVTL1,#0B0HDJNZR0,LP1 ;未到1s继续循环RET ;返回主程序第71页,共137页,2023年,2月20日,星期一【例5.4】用定时器1,方式2实现1s的延时。解:因方式2是8位计数器,其最大定时时间为:256*1μs=256μs,为实现1s的延时,可选择定时时间为250μs,再循环4000次。定时时间选定后,可确定计数值为250,则定时器1的初值为:X=M-计数值=256-250=6=6H。采用定时器1,方式2工作,因此,TMOD=20H。DELAY:MOVR7,#40 ;置25ms计数循环初值MOVR6,#100 ;置250μs计数循环初值MOVTMOD,#20H ;设定时器1为方式2MOVTH1,#06H ;置定时器初值MOVTL1,#06HSETBTR1 ;启动T1LP1: JBCTF1,LP2 ;查询计数溢出SJMPLP1 ;无溢出则继续计数LP2: DJNZR6,LP1 ;未到25ms继续循环MOVR6,#100DJNZR7,LP1 ;未到1s继续循环RET ;返回主程序第72页,共137页,2023年,2月20日,星期一5.2MCS-51单片机的中断系统图5-5MCS-51中断系统内部结构示意图第73页,共137页,2023年,2月20日,星期一1、中断源及中断入口中断源入口地址外部中断00003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断0023H第74页,共137页,2023年,2月20日,星期一2、外部中断请求标志2.SCON的中断标志

1.TCON中的中断标志3、中断允许控制4、中断源优先级的设定5、中断响应处理过程2.中断处理1.中断响应的过程3.中断返回4.外部中断响应时间第75页,共137页,2023年,2月20日,星期一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开放中断。源程序如下:第76页,共137页,2023年,2月20日,星期一MOV TMOD,#06HMOV TH0,#0FFHMOV TL0,#0FFHSETB TR0SETB ET0SETB EA…当连接在T0(P3.4)引脚上的外部中断请求输入线发生负跳变时,TL0加1溢出,TF0置1,向CPU发出中断申请,同时,TH0的内容自动送至TL0使TL0恢复初值。这样,T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断。此时,T0脚相当于边沿触发的外部中断源输入线。同样,也可将定时器1扩展为外部中断源。第77页,共137页,2023年,2月20日,星期一2.中断和查询相结合图5-8一个外中断扩展成多个外中断的原理图

第78页,共137页,2023年,2月20日,星期一由图可知,4个外部扩展中断源通过4个OC门电路组成线或取非后再与(P3.2)相连;4个外部扩展中断源EXINT0~EXINT3中有一个或几个出现高电平则输出为0,使脚为低电平,从而发出中断请求。因此,这些扩充的外部中断源都是电平触发方式(高电平有效)。CPU执行中断服务程序时,先依次查询P1口的中断源输入状态,然后,转入到相应的中断服务程序,4个扩展中断源的优先级顺序由软件查询顺序决定,即最先查询的优先级最高,最后查询的优先级最低。第79页,共137页,2023年,2月20日,星期一中断服务程序如下:

ORG 0003H ;外部中断0入口

AJMP INT0 ;转向中断服务程序入口

INT0: PUSH PSW ;保护现场

PUSH ACC

JB P1.0,EXT0 ;中断源查询并转相应中断服务程序

JB P1.1,EXT1

JB P1.2,EXT2

JB P1.3,EXT3

EXIT: POP ACC ;恢复现场

POP PSW

RETI

EXT0: … ;EXINT0中断服务程序

AJMP EXIT

EXT1: … ;EXINT1中断服务程序

AJMP EXIT

EXT2: … ;EXINT2中断服务程序

AJMP EXIT

EXT3: … ;EXINT3中断服务程序

AJMP EXIT

同样,外部中断1也可作相应的扩展。第80页,共137页,2023年,2月20日,星期一第6章

存储器与存储器扩展6.1单片机存储器概述8051的引脚定义及功能MCS-51的引脚图及功能分类图第81页,共137页,2023年,2月20日,星期一图6-1单片机扩展构造总线结构框图第82页,共137页,2023年,2月20日,星期一6.2程序存储器扩展技术外部程序存储器的扩展及取指过程外部程序存储器一般连接方法第83页,共137页,2023年,2月20日,星期一EPROM程序存储器扩展实例图6-8单片程序存储器扩展连接

第84页,共137页,2023年,2月20日,星期一用译码法扩展多片E2PROM图6-10E2PROM程序存储器扩展电路连接图第85页,共137页,2023年,2月20日,星期一扩展2KB数据存储器的线路图6.3数据存储器扩展技术第86页,共137页,2023年,2月20日,星期一图6-12线选法扩展1片6264电路图第87页,共137页,2023年,2月20日,星期一综合扩展实例扩展16KBRAM和16KBEPROM第88页,共137页,2023年,2月20日,星期一7.2并行I/O口扩展7.2.1并行I/O口的简单扩展

第7章

单片机接口技术图7-2简单I/O口扩展第89页,共137页,2023年,2月20日,星期一7.2.2采用8255扩展I/O口图7-38255内部结构1.8255的内部结构和引脚功能。第90页,共137页,2023年,2月20日,星期一图7-48255A引脚图第91页,共137页,2023年,2月20日,星期一2.MCS-51与8255A的连接方法图7-58031与8255A的连接方法第92页,共137页,2023年,2月20日,星期一3.8255的方式控制字图7-68255A方式选择控制字(1)方式选择控制字第93页,共137页,2023年,2月20日,星期一图7-7C口按位复位/置位控制寄存器(2)C口按位复位/置位控制字第94页,共137页,2023年,2月20日,星期一7.2.3可编程RAMI/O接口芯片8155及其扩展I/O口技术1.8155内部结构及引脚8155内部结构 (b)8155引脚配置图图7-128155内部结构及引脚图第95页,共137页,2023年,2月20日,星期一表7‑38155口地址分布AD0~AD7选中寄存器A7A6A5A4A3A2A1A0×××××000内部命令寄存器×××××001通用I/O口A寄存器×××××010通用I/O口B寄存器×××××011口C:通用I/O口或控制口×××××100定时/计数器的低8位寄存器×××××101定时/计数器的高8位寄存器2.8155的RAM和I/O口地址编码第96页,共137页,2023年,2月20日,星期一3.8155的工作方式与基本操作第97页,共137页,2023年,2月20日,星期一图7-138155命令状态寄存器格式第98页,共137页,2023年,2月20日,星期一表7-48155定时器编程方式及相应的输出波形M2M1方式定时器输出波形00110101单方波连续方波单脉冲连续脉冲第99页,共137页,2023年,2月20日,星期一表7‑28155的RAM和I/O口地址分配P2.4P2.3选择地址00RAME700H~E7FFH(256B)01I/O口EF00H命令口/状态口EF01H通用I/O口AEF02H通用I/O口BEF03H口CEF04H计数值低8位EF05H计数值高8位和计数方式图7‑158155和8031单片机接口第100页,共137页,2023年,2月20日,星期一7.3MCS-51单片机键盘接口技术7.3.2独立式按键1.独立式按键结构图7-17独立式键盘第101页,共137页,2023年,2月20日,星期一图7-18独立键盘与单片机接口第102页,共137页,2023年,2月20日,星期一7.3.3矩阵键盘接口技术1.矩阵式键盘的结构及工作原理图7-19矩阵键盘结构第103页,共137页,2023年,2月20日,星期一2.矩阵键盘工作方式图7-20定时键盘扫描程序框图第104页,共137页,2023年,2月20日,星期一7.4.1LED显示器的接口技术7.4MCS-51单片机显示器接口技术 (a)管脚图 (b)共阴极 (c)共阳极图7-21LED显示器与通用I/O口的连线1.LED数码显示器结构和工作原理第105页,共137页,2023年,2月20日,星期一图7-22通过8255A连接的3位LED静态显示器3.静态LED显示器接口第106页,共137页,2023年,2月20日,星期一4.动态LED显示器接口图7-23通过8155连接的6位LED动态显示电路第107页,共137页,2023年,2月20日,星期一图7-24动态显示子程序流程图第108页,共137页,2023年,2月20日,星期一7.4.2可编程键盘/显示器接口芯片Intel82791.8279的内部结构图7-278279内部结构第109页,共137页,2023年,2月20日,星期一2.8279引脚功能图7-288279管脚及引线功能第110页,共137页,2023年,2月20日,星期一5.8279与单片机的接口图7-298279键盘、显示器接口电路第111页,共137页,2023年,2月20日,星期一图7-308×8键盘的键值与键号第112页,共137页,2023年,2月20日,星期一7.5模/数(A/D)转换器与单片机接口及应用7.5.2常用A/D转换器及其接口设计图7-32ADC0809的逻辑框图第113页,共137页,2023年,2月20日,星期一图7-33ADC0809引脚图第114页,共137页,2023年,2月20日,星期一图7-348031与ADC0809的接口第115页,共137页,2023年,2月20日,星期一7.6.2常用D/A转换器DAC0832及其接口技术7.6数/模(D/A)转换器与单片机接口及应用图7-37DAC0832引脚图第116页,共137页,2023年,2月20日,星期一DAC0832的引脚排列 DAC0832结构图第117页,共137页,2023年,2月20日,星期一3.DAC0832与MCS-51的接口设计(1)单缓冲工作方式图7-38单极性单缓冲器电路接口图第118页,共137页,2023年,2月20日,星期一(2)双缓冲工作方式图7-40工作于双缓冲方式时DAC0832与8031的连接第119页,共137页,2023年,2月20日,星期一第8章

串行口通信技术8.1串行通信基础8.1.1串行通信的分类1.同步通信图8-2同步通信的格式第120页,共137页,2023年,2月20日,星期一2.异步通信图8-3异步通信的格式第121页,共137页,2023年,2月20日,星期一8.1.2串行通信的制式图8-4串行通信的数据传送方向第122页,共137页,2023年,2月20日,星期一8.2串行通信总线标准及其接口8.2.1RS-232C接口图8-5PC与外设的RS-232直接连接第123页,共137页,2023年,2月20日,星期一表8-1PC常用的RS-232C接口信号定义(9针)引脚号符号IO方向功能描述1DCDI数据载波检测2RXDI接收数据3TXDO发送数据4DTRO数据终端就绪5GNG-信号地6DSRI数据设备就绪7RTSO请求发送8CTSI允许发送9RII振铃指示第124页,共137页,2023年,2月20日,星期一表8-2PC常用的RS-232C接口信号定义(25针)引脚号符号IO方向功能描述2TXDO发送数据3RXDI接收数据4RTSO请求发送5CTSI允许发送6DSRI数据设备就绪7GND-信号地8DCDI数据载波检测20DTRO数据终端就绪22RII振铃指示第125页,共137页,2023年,2月20日,星期一8.2.2RS-449、RS-422、RS-423及RS-485接口表格7-4几种串行接口标准的比较特性参数RS-232CRS-423RS-422RS-4

温馨提示

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

评论

0/150

提交评论