单片机原理与应用2

上传人:沈*** 文档编号:73849806 上传时间:2022-04-12 格式:PPT 页数:137 大小:5.88MB
返回 下载 相关 举报
单片机原理与应用2_第1页
第1页 / 共137页
单片机原理与应用2_第2页
第2页 / 共137页
单片机原理与应用2_第3页
第3页 / 共137页
点击查看更多>>
资源描述
本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心 单片机原理与应用单片机原理与应用电子教案电子教案 本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心第1章单片机概述第2章MCS-51系列单片机结构第3章MSC-51指令系统第6章存储器与存储器扩展第4章MCS-51汇编语言程序设计第7章单片机接口技术第5章MCS-51定时/计数器和中断系统第9章MCS-51单片机应用系统设计单片机原理及应用单片机原理及应用第8章串行口通信技术本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心第1章单片机概述n本章主要介绍单片机的发展,基本的结构和特点,单片机的应用模式和领域,单片机的供应状态等。n单片微型计算机就是将CPU、RAM、ROM、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此,一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心11 单片机的发展历史单片机的发展历史n我们可以把单片机的发展历史划分为四阶段:n第一阶段(19761978年):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。主要用于工业领域。n第二阶段(19781982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。n第三阶段(19821990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。n第四阶段(1990年):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。n其中,运算器和控制器一般做在一个集成芯片上,统称中央处理单元(CentralProcessingUnit),简称CPU,是微机的核心部件。CPU配上存放程序和数据的存储器、输入/输出(Input/Output,简称I/O)接口电路以及外部设备即构成微机的硬件系统。12 单片机的软硬件系统单片机的软硬件系统1.2.1 单片机的硬件系统单片机的硬件系统本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图图1-1 微型计算机微型计算机硬件硬件系统组成示意图系统组成示意图软件系统硬件系统控 制 器运 算 器存 储 器输入设备CPU微型计算机系统输入接口电路输出接口电路输出设备本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n下面把组成计算机的5个基本部件作简单说明。n1)运算器n运算器是计算机的运算部件,用于实现算术和逻辑运算。计算机的数据运算和处理都在这里进行。n2)控制器n控制器是计算机的指挥控制部件,它控制计算机各部分自动、协调地工作。运算器和控制器是计算机的核心部分,常把它们合在一起称之为中央处理器,简称CPU。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n3)存储器n存储器是计算机的记忆部件,用于存放程序和数据。存储器又分为内存储器和外存储器。实训中使用的EPROM2764便是存贮器。n4)输入设备n输入设备用于将程序和数据输入到计算机中,如键盘等。n5)输出设备n输出设备用于把计算机数据计算或加工的结果,以用户需要的形式显示或打印出来,如显示器、打印机等。n通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备,简称“外设”。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n单片微型计算机是指集成在一个芯片上的微型计算机,也就是把组成微型计算机的各种功能部件,包括CPU(CentralProcessingUnit)、随机存取存储器RAM(RandomAccessMemory)、只读存储器ROM(Read-onlyMemory)、基本输入/输出(Input/Output)接口电路、定时器/计数器等部件都制作在一块集成芯片上,构成一个完整的微型计算机,从而实现微型计算机的基本功能。单片机内部结构示意图如图1-2所示。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图图1-2 单片机内部结构示意图单片机内部结构示意图 CPU存储器并行I/O接口定时器 /计数器中断系统P0 P3TXDRXDTINT并行I/O接口本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n软件系统是微机系统所使用的各种程序的总称。人们通过它对整机进行控制并与微机系统进行信息交换,使微机按照人的意图完成预定的任务。n软件系统与硬件系统共同构成完整的微机系统,两者辅相成,缺一不可。n微型计算机系统组成示意图如图所示。1.2.2 单片机的软件系统单片机的软件系统本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心微型计算机系统组成示意图微型计算机系统组成示意图软件系统硬件系统控 制 器运 算 器存 储 器输入设备CPU微型计算机系统输入接口电路输出接口电路输出设备本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心1.3 MCS-51系列单片机系列单片机n尽管各类单片机很多,但无论是从世界范围或是从全国范围来看,使用最为广泛的应属MCS-51单片机。nMCS-51单片机系列共有十几种芯片,如表1-1所示。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心表表1-1 MCS-51系列单片机分类表系列单片机分类表子系列片内ROM形式片内ROM容量片内RAM容量寻址范围I/O特性中断源无ROMEPROM计数器并行口串行口51子系列8031805187514KB128B264KB216481580C3180C5187C514KB128B264KB216481552子系统8032805287528KB256B264KB316481680C3280C5287C528KB256B264KB3164816本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心nMCS-51系列又分为51和52两个子系列,并以芯片型号的最末位数字作为标志。其中,51子系列是基本型,而52子系列则属增强型。52子系列功能增强的具体方面,从表1-1所列内容中可以看出:n(1)片内ROM从4KB增加到8KB。n(2)片内RAM从128B增加到256B。n(3)定时/计数器从2个增加到3个。n(4)中断源从5个增加到6个。1.3.1 51子系列和子系列和52子系列子系列本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心nMCS-51系列单片机采用两种半导体工艺生产。一种是HMOS工艺,即高速度、高密度、短沟道MOS工艺。另外一种是CHMOS工艺,即互补金属氧化物的HMOS工艺。表1.1中,芯片型号中带有字母“C”的,为CHMOS芯片,其余均为一般的HMOS芯片。nCHMOS是CMOS和HMOS的结合,除保持了HMOS高速度和高密度的特点之外,还具有CMOS低功耗的特点。在便携式、手提式或野外作业仪器设备上,低功耗是非常有意义的,因此,在这些产品中必须使用CHMOS的单片机芯片。1.3.2 单片机芯片半导体工艺单片机芯片半导体工艺本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心nMCS-51单片机片内程序存储器有三种配置形式,即掩膜ROM、EPROM和无ROM。这三种配置形式对应三种不同的单片机芯片,它们各有特点,也各有其适用场合,在使用时应根据需要进行选择。一般情况下,片内带掩膜型ROM适用于定型大批量应用产品的生产;片内带EPROM适合于研制产品样机;外接EPROM的方式适用于研制新产品。最近,Intel公司又推出片内带EEPROM型的单片机,可以在线写入程序。1.3.3 片内片内ROM存储器配置形式存储器配置形式本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心第2章MCS-51单片机结构n本章主要介绍MCS-51系列的8051的基本结构、工作原理、存储器结构、P0、P1、P2、P3四个I/O口的基本工作原理和操作特点。单片机的各种工作方式、单片机的时序等。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2.1 MCS-51单片机的内部组成及信号引脚单片机的内部组成及信号引脚nMCS-51单片机的典型芯片是8031、8051、8751。8051内部有4KBROM,8751内部有4KBEPROM,8031内部无ROM;除此之外,三者的内部结构及引脚完全相同。因此,以8051为例,说明本系列单片机的内部组成及信号引脚。n8051单片机的基本组成请参见图2-1。下面介绍各部分的基本情况。2.1.1 8051单片机的基本组成单片机的基本组成本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图2-1MCS-51单片机结构框图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n1)中央处理器(CPU)n中央处理器是单片机的核心,完成运算和控制功能。MCS-51的CPU能处理8位二进制数或代码。n2)内部数据存储器(内部RAM)n8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n3)内部程序存储器(内部ROM)n8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。n4)定时/计数器n8051共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。n5)并行I/O口nMCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心n6)串行口nMCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。n7)中断控制系统nMCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。n8)时钟电路nMCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6MHz和12MHz。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心nMCS-51是标准的40引脚双列直插式集成电路芯片,引脚排列请参见图2-2。1)信号引脚介绍nP0.0P0.7:P0口8位双向口线。nP1.0P1.7:P1口8位双向口线。nP2.0P2.7:P2口8位双向口线。nP3.0P3.7:P3口8位双向口线。2.1.2 MCS-51的信号引脚的信号引脚本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图2-2MCS-51引脚图P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RXDP3.010TXDP3.111INT0P3.212INT1P3.313T0P3.414T1P3.515WRP3.616RDP3.717XTAL218XTAL119VSS20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40803180518751本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心表2 1P3口的第二功能表2)信号引脚介绍本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2.2 8051的内部存储器的内部存储器 图2-3片内RAM的配置2.2.1 内部数据存储器低内部数据存储器低128单元单元 本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心字节地址位地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20HD7D6D5D4D3D2D1D07FH7EH7DH7CH7BH7AH79H78H77H76H75H74H73H72H71H70H6FH6EH6DH6CH6BH6AH69H68H67H66H65H64H63H62H61H60H5FH5EH5DH5CH5BH5AH59H58H57H56H55H54H53H52H51H50H4FH4EH4DH4CH4BH4AH49H48H47H46H45H44H43H42H41H40H3FH3EH3DH3CH3BH3AH39H38H37H36H35H34H33H32H31H30H2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H1FH1EH1DH1CH1BH1AH19H18H17H16H15H14H13H12H11H10H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02H01H00H表2 2片内RAM位寻址区的位地址本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心符号单元地址名称位地址符号地址*ACCE0H累加器ACC.7ACC.0E7HE0H*BF0H乘法寄存器B.7B.0F7HF0H*PSWD0H程序状态字PSW.7PSW.0D7HD0HSP81H堆栈指针DPL82H数据存储器指针(低8位)DPH83H数据存储器指针(高8位)*IEA8H中断允许控制器IE.7IE.0AFHA8H*IPB8H中断优先控制器IP.7IP.0BFHB8H*P080H通道0P0.7P0.087H80H*P190H通道1P1.7P1.097H90H*P2A0H通道2P2.7P2.0A7HA0H*P3B0H通道3P3.7P3.0B7HB0HPCON87H电源控制及波特率选择*SCON98H串行口控制SCON.7SCON.09FH98HSBUF99H串行数据缓冲器*TCON88H定时控制TCON.7TCON.08FH88HTMOD89H定时器方式选择TL08AH定时器0低8位TL18BH定时器1低8位TH08CH定时器0高8位TH18DH定时器1高8位2.2.2 内部数据存储器高内部数据存储器高128单元单元 表2 3MCS-51专用寄存器一览表本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心P0.n锁存器P0.nQQD读锁存器写锁存器内部总线读引脚T1T2VCCMUX地址/数据控制图2 5P0口的口线逻辑电路图2.3.1 P0口口2.3 并行输入并行输入/输出口电路结构输出口电路结构本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2.3.2 P1口口P1.n锁存器P1.nQQD读锁存器写锁存器内部总线读引脚内部上拉电阻TVCC图2 6P1口的口线逻辑电路图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2.3.3 P2口口P2.n锁存器P2.nQQD读锁存器写锁存器内部总线读引脚TVCC地址控制内部上拉电阻MUX图2 7P2口的口线逻辑电路图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2.3.4 P3口口P3.n锁存器P3.nQQD读锁存器写锁存器内部总线读引脚TVCC第二输入功能第二输出功能内部上拉电阻图2 8P3口的口线逻辑电路图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2.4.1 时钟电路与时序时钟电路与时序S机器周期1取指令、译码指令周期机器周期2取操作数、执行基本定时时序关系基本定时时序关系24 MCS-51单片机的时序单片机的时序本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心1.时钟信号的产生时钟信号的产生TTL(a) 内部振荡器方式XTAL1R外部振荡器XTAL2VCCXTAL2XTAL1VSS(b) 8051外时钟源接法8051NC外部振荡器XTAL1XTAL2VSS(c) 80C51外时钟源接法80C51C1C2图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复位操作专用寄存器复位值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0P3FFHIPXXX00000BIE0XX00000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0XXX0000B2.4.2 单片机的复位电路单片机的复位电路本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2复位信号及其产生D1D2RST/VPDVCCVSSRAM斯密特触发器复位电路图2 12复位电路逻辑图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心3复位方式VCC8051VCCRST/VPDVSSR1kC22FVCC8051VCCRST/VPDVSSR11kC122FR21kC2 22FRESET(a) 上电复位(b) 按键脉冲复位VCC8051VCCRST/VPDVSSR1 200C22FR21kRESET(c) 按键电平复位图2 13各种复位电路本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心第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汇编语言程序设计过程A过程B是否入口出口条件满足?P2入口出口P1P3过程是否入口出口条件满足?(a) 顺序结构(b) 分支结构(c) 循环结构基本程序结构本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心4.1 汇编语言及汇编语言程序设计汇编语言及汇编语言程序设计机器语言(MachineLanguage)是指直接用机器码编写程序、能够为计算机直接执行的机器级语言。机器码是一串由二进制代码“0”和“1”组成的二进制数据,其执行速度快,但是可读性极差。机器语言一般只在简单的开发装置中使用,程序的设计、输入、修改和调试都很麻烦。汇编语言(AssemblyLanguage)是指用指令助记符代替机器码的编程语言。汇编语言程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言的缺点是可读性比较差,只有熟悉单片机的指令系统,并具有一定的程序设计经验,才能研制出功能复杂的应用程序。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心高级语言(High-LevelLanguage)是在汇编语言的基础上用自然语言的语句来编写程序,例如PL/M-51、FranklinC51、MBASIC51等,程序可读性强,通用性好,适用于不熟悉单片机指令系统的的用户。高级语言编写程序的缺点是实时性不高,结构不紧凑,编译后占用存储空间比较大,这一点在存储器有限的单片机应用系统中没有优势。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心4.1.3 简单程序设计简单程序设计简单程序也就是顺序程序,是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指令执行完毕为止。不管多么复杂的程序,总是由若干顺序程序段所组成的。【例4.1】双字节二进制数求补。本程序对R3(高)、R2(低)中的二进制定点数取反加1,便得到其补码,程序流程图如图4-1所示。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图4-1双字节二进制数求补程序流程图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心程序清单如下:BINPL:MOVA,R2CPLAADDA,#01HMOV R2,A;低位字节补码送R2MOV A,R3CPLAADDCA,#00H;高位加进位位MOV R3,A;高位字节补码送R3RET本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心4.1.4 分支程序设计分支程序设计在一个实际的应用程序中,程序不可能始终都是直线执行的。要用计算机解决某个实际问题,往往要求计算机能够做出一些判断,并根据不同的判断结果做出不同的处理,即产生不同的分支结构。分支结构程序可根据程序要求无条件或有条件地改变程序执行的顺序,选择新的程序流向。编写分支结构程序主要在于正确使用转移指令,即无条件转移和条件转移指令。【例4.2】设变量X存在VAR单元之中,函数值y存放在FUNC中,按以下的表达式给变量y赋值:本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图4-2分支程序流程图程序流程图如图4-2所示。本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心程序清单如下:VAREQU30HFUNC EQU31HSTART:MOVA,VARJZCOMPJNBACC.7,POSIMOV A,#0FFHSJMP COMPPOSI:MOV A,#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程序流程图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心程序清单如下:ORG0100HMOV R5,23H;R5NCLRA;A清零MOV R6,#00H;R6清零MOV R4,#01H;R4赋值LOOP:ADDA,R4;求和JNCNEXT;CY=0即总和小于256,则转移INCR6;总和高位加工NEXT:INC R4;修改指针DJNZ R5,LOOP;未完,重复加MOV 23H,R6;保存总和的高位MOV 24H,A;保存总和的低位END本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心【例4.4】延时10ms子程序(设晶振的频率为6MHz)。在知道系统的晶振频率之后,延时时间主要与两个因素有关:一是内循环中指令的执行时间;二是外循环时间常数(内循环的循环次数)的设置。在本例中,已知晶振频率为6MHz,则可得一个机器周期为0.5s,执行一条DJNZRn,rel的指令的时间为两个机器周期即1s,10ms的延时子程序设计如下:DELAY:MOV R5,#100DELAY0:MOVR4,#100DELAY1:DJNZR4,DELAY1DJNZR5,DELAY0RET本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心第5章MCS-51定时/计数器和中断系统51 MCS-51定时定时/计数器计数器5.1.1 8051单片机定时单片机定时/计数器的结构与工作原理计数器的结构与工作原理定时/计数器逻辑结构内部总线工作方式工作方式TH1TL1TH0TL0TCONTMODT1T0微处理器图 5 1 8051定时/计数器逻辑结构本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心5.1.2 定时定时/计数器方式寄存器和控制寄存器计数器方式寄存器和控制寄存器表 5 1 方式选择位意义M1M0工作方式功能说明00方式013位计数器01方式116位计数器10方式2自动再装入8位计数器11方式3定时器0:分成两个8位计数器定时器1:停止计数TMOD格式如下:本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心TCON的格式如下TCON8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0IE1IT1IE0IT0本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心5.1.3 定时定时/计数器的计数器的4种工作方式种工作方式1.方式0 当M1M0两位为00时,定时/计数器被选为工作方式0,其逻辑结构如图 5 2 所示。控制振荡器12TL0(5位)TF0中断T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)图 5 2 T0(或T1)方式0的逻辑电路结构本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心2.方式1控制振荡器12TL0(8位)TF0中断T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)T0(或T1)方式1的逻辑电路结构本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心3.方式2控制振荡器12TL0(8位)TF0中断T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)重新装入图 5 3 T0(或T1)方式2的逻辑电路结构本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心4.方式3控制振荡器12TL0(8位)TF0中断T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)1/ 12 fosc1/ 12 foscTF1中断1/ 12 foscTR1图 5 4 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计数循环初值MOVTMOD,#00H;设定时器1为方式0MOVTH1,#63H;置定时器初值MOVTL1,#18HSETBTR1;启动T1LP1:JBCTF1,LP2;查询计数溢出SJMPLP1;未到5ms继续计数LP2:MOVTH1,#63H;重新置定时器初值MOVTL1,#18HDJNZR0,LP1;未到1s继续循环RET;返回主程序本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心【例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;返回主程序本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心【例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:MOVR7,#40;置25ms计数循环初值MOVR6,#100;置250s计数循环初值MOVTMOD,#20H;设定时器1为方式2MOVTH1,#06H;置定时器初值MOVTL1,#06HSETBTR1;启动T1LP1: JBCTF1,LP2;查询计数溢出SJMPLP1;无溢出则继续计数LP2: DJNZR6,LP1;未到25ms继续循环MOVR6,#100DJNZR7,LP1;未到1s继续循环RET;返回主程序本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心5.2 MCS-51单片机的中断系统单片机的中断系统自然优先级矢量地址自然优先级矢量地址高级中断请求PCPC断请求低级中SCON中断标志IPPX01PT0110PX110PS100PT10IEEX0ET0EX1ET1ESTCONIE0TF0IE1TF1TIRIRXTXT1IT1=1INT1IT1=0T0INT0IT0=1IT0=0源允许总允许优先级硬件查询EA图 5-5 MCS-51中断系统内部结构示意图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心1、中断源及中断入口、中断源及中断入口中断源入口地址外部中断00003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断0023H本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心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开放中断。源程序如下:本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心MOV TMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEA当连接在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个扩展中断源的优先级顺序由软件查询顺序决定,即最先查询的优先级最高,最后查询的优先级最低。0INT0INT本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心中断服务程序如下: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的引脚定义及功能12345678910111213141516171819204039383736353433323130292827262524232221P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1VSSVCCP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EA/VPPALE/PROGPSENP2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8803180318051805187518751P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0PSENEAALERESET803180318051805187518751P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALEA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0G+5VVCCVSS锁锁存存器器数据总线(DB)地址总线(AB)控制总线(CB)用户I/OMCS-51的引脚图及功能分类图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图6- 1 单片机扩展构造总线结构框图 本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心62 程序存储器扩展技术程序存储器扩展技术外部程序存储器的扩展及取指过程EA8 80 03 31 1P2.7P2.0P0.7P0.0地址锁存器PSENOEA15A8CEA7A0D7D0外部程序存储器0K64K外部程序存储器一般连接方法本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心EPROM程序存储器扩展实例PSENP2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A8A9A10A11A12QOA0A1A2A3A4A5A6A7Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALED0D1D2D3D4D5D6D7OEGOE803127C64CEEA74HC373图6-8单片程序存储器扩展连接 本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心用译码法扩展多片E2PROM图6-10E2PROM程序存储器扩展电路连接图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心P3.7(RD)P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A8A9A10QOA7A6A5A4A3A2A1A0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALEI/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OEGOE80316116CEEAP3.6(WR)WE74HC373扩展2KB数据存储器的线路图63 数据存储器扩展技术数据存储器扩展技术本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心图6-12线选法扩展1片6264电路图本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心综合扩展实例D7Q7Q0D074HC373A12A11A10A9A8CEA7A0D7D0OEP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP0PSENWRRD80C51IC02764IC02764D0OECEA12A11A10A9A8A7A0D7IC02764D0OECEA12A11A10A9A8A7A0D7D0OECEA12A11A10A9A8A7A0D7A8A9A10A11A12A8A9A10A11A12A8A9A10A11A12A12A11A10A9A8IC12764D0D0D0D0D7D7D7D7OEOEOEOEA0A0A0A0A7A7A7A7A0A0A0A0A7A7A7A7A8A8A8A8A9A9A9A9A10A10A10A10OEOEOEOECECECECEA11A11A11A11A12A12A12A12A10A10A10A10A0A0A0A0OEOEOEOEA7A7A7A7A8A8A8A8A9A9A9A9A12A12A12A12A11A11A11A11CECECECECECECECEIC26264IC36264WEWED7-D0D7-D0GBAY2Y1Y074HC139扩展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内部结构及引脚 (a) 8155内部结构(b) 8155引脚配置图图7- 12 8155内部结构及引脚图 本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心表 7 3 8155口地址分布AD0AD7选选 中中 寄寄 存存 器器A7 A6 A5 A4 A3A2A1A0 000内部命令寄存器内部命令寄存器 001通用通用I/O口口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方式定时器输出波形00110101单方波连续方波单脉冲连续脉冲本书由天疯天疯上传于世界工厂网世界工厂网-下载中心下载中心表 7 2 8155的RAM和I/O口地址分配P2.4P2.3选择地址00RAME 7 0 0 H E 7 F F H(256B)01I/O口EF00H命令口/状态口EF01H通用I/O口AEF02H通用I/O口BEF03H口CEF04H计数值低8位EF05H计数值高8位和计数方式AD07CERDWRRESETALETIME INTIME OUTPCPBPAIO/M81558031RSTRDWRALEP2.3P2.4P0VCC图 7 15 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管
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!