资源预览内容
第1页 / 共67页
第2页 / 共67页
第3页 / 共67页
第4页 / 共67页
第5页 / 共67页
第6页 / 共67页
第7页 / 共67页
第8页 / 共67页
第9页 / 共67页
第10页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五部分 功能部件使用振荡器和 时序电路程序存储器 (4KB)数据存储器 (256B)两个16位 定时器/计数器80C51 CPU中断 控制64KB 总线 扩展控制器并行可编程 I/O可编程串行口外部中断 控制数据/地址RXD TXD外部事件计数外部时钟源内 部 中 断5.1 P0P3端口结构与应用80C51有四个8位的并行双向口P0、P1、P2、P3,计有32根输入输出线。各口的每一位均有锁存器、输出驱动器和输入缓冲器组成。由于它们在结构上存在一些差异,故各口的性质和功能也有差异。它们之间的区别如图。 P0口是一个多功能的8位口,可以字节访问,也 可以位访问,其字节地址为80H,位地址为8087H。 1、P0口的功能和特点: 做输入输出时,需加上拉电阻。 做地址/数据复用总线。输出地址总线的低8位(A7A0)和数据总线(D7D0) 。 能驱动8个TTL负载。 一、P0口 2、P0口的结构 做输入输出口时,P0要加上拉电阻。做输入时要 先输出1,将口设为输入状态。1、P1口是一个8位口可以字节访问也可位访问,其字节地址为90H,位地 址为90H97H。二、 P1口2、 P1口的特点1)无条件输出,输出带锁存;2) 输入缓冲,输入时有条件,即需要先输出1,将 口设为输入状态;P0、P1、P2、P3同样样具有上述两个特点。三、 P2口P2口是一个多功能的8位口,可以字节访问也可以位 访问,其字节地址位A0H,位访问地址为A0HA7H。在 做并行扩展时,作为地址线的高位(A8A15)。P3口是一个多功能8位口,可以访问字节也可访问位, 其字节访问地址为B0H,位访问地址为B0HB7H。四、P3口51最小应用系统P0P3口做普通的输入输出口。P0要加上拉电阻。 输入时有条件,要先输出1,将口设为输入状态。五、并行扩展举例三总线结构形成6116的地址空间为:0000H- 07FFH外中断15.2 定时器/计数器 定时器/计数器的核心是一个加1计数器,其基本 功能是加1功能。在单片机中,定时功能和计数功能的设置和控制 都是通过软件进行的。 80C51包含有两个16位的定时器/计数器:T0、T1;一、 定时器/计数器的结构和原理 1、定时器/计数器T0、T1的内部结构 计数器TH0、TL0和TH1、TL1; 特殊功能寄存器TMOD、TCON; 时钟分频器 输入引脚T0(P03.4)、T1(P03.5)/INT0 、/INT12、最短定时周期、最大计数频率定时:每一个机器周期,计数器加1;计数: 输入引脚T0(P03.4)、T1(P03.5)上的脉冲频率最大为时钟频率的1/24。3、定时器/计数器T0、T1的特殊功能寄存器(1)定时器/计数器T0、T1的方式寄存器TMOD方式寄存器TMOD是一个逐位定义的8位寄存器,是只 能字节寻址的寄存器,字节地址为89H。 当GATE=1时,T0、T1的启动受TRx和INTx控制,当 INTx为高电平时,TRx置位,才能启动。当GATE=0时,T0、T1的启动只受TRx控制, TRx =1 则启动,TRx=0则不启动。M0 M1 C/TGATE M0 M1 C/TGATED0 D1 D2 D3 D4 D5 D6 D7T1T0GATE C/T M1 M0 GATE C/T M1 M0M1,M0:工作方式 0 ,0:T0方式0 0 ,1:T0方式1 1 ,0:T0方式2 1 ,1:T0方式30:T0定时器模式 1:T0计数器模式0:T0启动与INT0无关 1:T0启动与INT0有关前4位控制T1 与后4位功能相同TMOD只能按字节寻址(2)定时器/计数器T0、T1的控制寄存器TCON 控制寄存器TCON是一个逐位定义的8位寄存器, 既可字节寻址也可以位寻址,字节地址为88H,位寻 址的地址为88H8FH。 位地址 8FH8EH8DH8CH8BH8AH89H88H位功能 TF1TR1TF0TR0 T1的溢 出标志T0的溢 出标志T1的运行 控制位T0的运行 控制位(3)定时器/计数器T0、T1的数据寄存器 TH1、 TL1,TH0、TL0。 T0、T1各有一个16位数据计数器,可分为高8位和 低8位。它们是读写寄存器,任何时候可以进行读写 。复位后清零。5、定时器/计数器T0、T1的工作方式 (1)方式0计数寄存器由13位组成,即TLx的高3位未用。计数时,TLx的低5位溢出后向THx进位,THx溢出后将TFx置位,并向CPU申请中断。当GATE1时,A点的电位由INTx决定,因而B点的 电位就由TRx和INTx决定,即定时器/计数器的启动/停 止由TRx和INTx两个条件决定。当GATE0时,A点为高电平,定时器/计数器的启 动/停止由TRx决定。TRx1,定时器/计数器启动; TRx0,定时器/计数器停止。(2)方式1计数寄存器由16位组成,其余与方式0相同。(3)方式2将16位计数寄存器分为两个8位寄存器,组成一个可 重装入的8位计数寄存器。 当TLx计数溢出时,一方面 将TFx置位,另一方面将THx的内容重新装入TLx,继 续计数。可重复装入。适合用于串行口波特率发生器(4) 方式3将T0分为一个8位定时器/计数器(TL0),一个8位 定时器(TH0)。当T0工作在方式3下,T1只能工作在方式0、1、2 下,且不能用中断。方式0:T = (213-初值)*时钟周期*12定时时间公式(T为定时时间):方式1:T = (216-初值)*时钟周期*12方式2:T = (28-初值)*时钟周期*121.写TMOD; 只能用字节寻址2.将初值(时间常数)写入THi和TLi。只能字节 寻址; 设置工作方式、功能选择、门控信号等二、 定时器/计数器的编程和使用 3.启动定时或计数;SETB TRi ;启动计数器 SETB TCON.4(T0)SETB TCON.6(T1)CLR TRi ;停止计数器 4.定时器中断开放或禁止,即写IE。 (IE.7(EA),IE.3(ET1),IE.1(ET0)SETB ETiSETB EACLR ETiCLR EA 四、定时器计数器的应用举例例1使用定时器计数器T1的方式0。在P1.1引 脚上产生周期为1ms的方波。晶振的频率为 fosc=6MHz。定时常数计算振荡器的频率fosc6MHZ,方式0计数器长度L13定时时间T500sT = (213-T0初值)*时钟周期*12T0=7942D=1111100000110B11111000 00000110B=F806HORG 2000HMOV TMOD,#00HMOV TH1,#0F8HMOV TL1,#06HSETB TR1LP1:JBC TF1,LP2AJMP LP1LP2:MOV TL1,#06HMOV TH1, #0F8HCPL P1.1AJMP LP1在80C51中有一个串行接口(serial port), 全双工的UART。80C51中的串行口是一个全双工的异 步串行通信接口,它可以作为UART(通用异步接收 和发送器)用,也可做同步移位寄存器用。 所谓全双工的异步串行通信接口,是说该接口 可以同时进行接收和发送数据。一、串行口结构与工作原理5.3 串行接口 可以通过访问特殊功能寄存器SBUF,来访问 接收缓冲器和发送缓冲器。在8051中,口内的接收缓冲器和发送缓冲器在 物理层上是隔离的,即是完全独立的。接收缓冲器还具有双缓冲的功能,即它在接收 第一个数据字节后,能接收第二个数据字节。 但是,在他完成接受第二个数据字节后,若第 一个字节仍未取走,那么该字节数据将丢失。 UART串行口的结构 UART串行口的结构如图所示。 二、串行口的特殊功能寄存器1、状态控制寄存器SCON是一个逐位定义的8位寄存器,由它控制串行通信 的方式选择、接收和发送、指示串行口的状态。位地址9FH9EH9DH9CH9BH9AH99H98H位功能SM0SM1SM2RENTB8RB8TIRI寄存器SCON既可字节寻址也可位寻址,字节地址为 98H,位地址为98H-9FH。 SM0 SM1 SM2 REN TB8 RB8 TI RI多机通信 0:单机对单机 1:多机通信接收控制 0:禁止接收 1:允许接收串口工 作方式发送数据第9位接收数据第9位发送中断标志接收中断标志2、控制寄存器PCON是一个逐位定义的8位寄存器,目前仅有几位有 定义,其中仅最高位SMOD与串行口控制有关,其他 位与掉电方式有关 。D7D6D5D4D3D2D1D0SMOD-GF1GF0PDIDL波特率选择位SMOD:特殊功能寄存器PCON(电源控制寄存器)中的第7位为波特率选择位SMOD。SMOD=1时,方式1、2、3的波特率加倍。复位时为0。3、串行数据寄存器SBUF包含在物理上是隔离的两个8位寄存器:发送数据和 接收数据寄存器,共用一个地址99H。D7D6D5D4D3D2D1D0SD7SD6SD5SD4SD3SD2SD1SD0写SBUF: MOV SBUF,A ; 发送 读SBUF: MOV A,SBUF ; 接收三、串行口的工作方式及多机通信方式 1、方式0当SM0=0、SM1=0时,串行口选择方式0。实质 上是一种同步移位寄存器方式 方式0的波特率为振荡频率的1/12。D0D1D2D3D4D5D6D72、方式1当SM0=0、SM1=1时,串行口选择方式1。 发送或者接收一幀信息为10位,格式如下 :起始D0D1D2D3D4D5D6D7停止3、方式2 (SM0=1、SM1=0)每帧包括:1位起始位(0),8位数据位(低位在先),1位可编程的第9位数据,1位停止位(1)。按方式2进行多机数据通讯时,不允许进行奇/偶校 验,第9位数据可作为数据/地址标志位 。当接收时,只有接收到第9位为1时才将串行口的中 断标志RI置“1”。4、方式3 SM0=1、SM1=1时,串行口选择方式3。数据帧格式 与方式2相同。各种工作方式的波特率: (1)方式0的波特率为振荡频率的1/12。(2)方式2的波特率:SMOD=0:波特率为振荡频率的1/64(复位)SMOD=1:波特率为振荡频率的1/32(3)方式1、3的波特率:由定时器1的溢出速率决定。波特率=2SMOD(定时器T1溢出率)/32波特率=2SMODfosc/64当用定时器1的方式2时,溢出周期为:T=12/fosc *(256-X)波特率=2SMOD*(定时器T1溢出率)/32波特率=2SMOD*fosc/12/32/(256-X)方式0的应用多处理机通信方式 在串行口控制寄存器SCON中,设有多处理机通信 位SM2。当串行口以方式2或3接收时,若SM2=1,如果 接收到的第九位数据为1,才将数据送入接收缓冲器 SBUF,并RI置1发中断,否则数据丢失;SM2=0,则无 论第九位是1还是0,都能将数据送入SBUF,并引发中 断。利用这一特性,变可以实现多机之间的通信。TXD从机1从机2从机3RXD主机TXDTXD RXDTXD RXDTXD RXD例3:编程把甲机片内RAM 50H - 5FH单元中的数据块从串 行口输出。用方式3发送,TB8作奇偶校验位。采用定时器1方 式2作波特率发生器,波特率为1200波特, fosc 11.0592MHz,预置值THl0E8H。编程使乙机从甲机接收16个字节数据块,并存入片外 3000H - 300FH单元。接收过程中要求判奇偶校验标志TB8 。若出错则置F0标志为1,若正确则置F0标志为0,然后返回。中断服务子程序主程序中断请求5.4 中断系统 8051系列单片机系列有5个
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号