版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 MCS-51系列单片机的片内接口及中断,主要内容 并行I/O接口及其应用 定时器/计数器及其应用 中断系统及其应用 串行接口及其应用,MCS-51系列单片机内部有4个8位的并行I/O接口,分别命名为P0、P1、P2和P3。每个并行I/O接口的各位均可作为输入或输出。由于它们都属于地址号可被8整除的特殊功能寄存器,故可以通过位寻址或直接寻址方式对其进行按位或字节型的I/O操作。它们的映像位地址或字节地址见下表:,5.1 并行I/O接口及其应用 5.1.1 并行I/O接口的基本功能,1.P1口 准双向口 1) 功能 作为输入/输出口。 在增强型(52系列)和ISP(In System Pr
2、ogrme)型中有如下功能:,5.1.2 并行I/O接口的扩展功能及结构,2) 结构,可字节操作:,可位操作:,MOV P1,#10H ANL P1,#53H;读修改写指令,SETB P1.5;P1口第五位置1,2.P3口 双功能准双向口 1)功能 与P1口功能相同。 交替输入/出功能,借助P3口产生某些控制信号,其每位功能定义如下表所示:,2) 结构,3.P2口 双功能准双向口 1) 功能 与P1口功能相同。 高8位地址输出口(A8A15)-仅在访问 外部存储器时有效,2) 结构,4.P0口 双功能双向口 1) 功能 一般的I/O口(OC/OD输出),加上拉电阻才能 形成高电平输出 低8位地
3、址A0A7及数据D0D7的分时复用口 (仅在访问外部存储器时有效),2) 结构,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用。 四个口在作输入口使用时,均应先对其写“1”,以避免误读。 P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。 P2口某几根线作地址使用时,剩下的线不能作I/O口线使用。 P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。,归纳四个并行口使用的注意事项如下:,例1:设计一电路,监视某开关K,用发光二极管LED显示开 关状态,如果开关合上,LED 亮、开关断开,LED熄灭。,5.1.3 并行I/
4、O接口的应用,汇编程序如下: CLR P1.0 ;使发光二极管灭 AGA:SETB P1.1 ;先对P1口写入“1” JB P1.1,LIG ;开关断,转LIG SETB P1.0 ;开关合,二极管亮 SJMP AGA LIG:CLR P1.0 ;开关断,二极管灭 SJMP AGA,C51参考程序如下: sfr P1= 0 x90 sbit P1_0=0 x90; sbit P1_1=0 x91; void main( ) volatile bit k; P1_0=0; P1_1=1; while(1) k=P1_1; P1_0=k; ,例2:用P1.0输出1KHz和500Hz的音频信号驱动扬
5、声器,作报警信号,要求1KHz信号响100ms ,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上报警信号打开,当开关断开报警信号停止,试编程实现。,500Hz信号周期为2ms,信号电平为每1ms变反1次。1KHz的信号周期为1ms,信号电平 每500S变反1次,编一个延时500S子程序,延时1ms只需调用2次。用R2控制音响时间长短,A作音响频率的交换控制的标志。A=0时产生1KHz信号,A=FF时产生500Hz信号。,分析:,ORG 0000H LJMP MAIN ORG 0100H MAIN: CLR A ;A作1KHz,500Hz 转换控制 SETB P1.7
6、 BEG: JB P1.7, ;检测P1.7的开关状态 MOV R2, #200 ;开关闭合报警,R2控制音响时间 DV: CPL P1.0 CJNE A, #0FFH, N1 ;AFFH,延时500S ACALL D500 ;A=FFH ; 延时1ms P1.0变反 N1: ACALL D500 DJNZ R2,DV CPL A SJMP BEG D500: MOV R7, #250 ;延时500 S子程序 DJNZ R7, RET END,小 结,1. 四个并行口均可作为输入输出接口使用,但又有各自的特点。因PO口是数据线和低八位的地址线,因此不用它作输入/输出接口,而是用它传输数据和低八
7、位的地址信息,除非在不接其他外围芯片的情况下才作I/O接口使用,此时由于内部漏极开路,需外接上拉电阻。四个口的使用特点是本章的重点。 2. 当并行口作为输入口使用时,应对所用的口线写“1”,使其内部的驱动场效应管截止 ,防止误读。写“1”以后不影响读引脚指令,因为读入的信息是经缓冲器进入CPU的,而不是读的锁存器。 3. 在应用设计中应理解,计算机内由数字电路组成只存在两种TTL电平。 TTL(5V):输出 L(0):0.8V H(1):2.4V 输入输出噪声容限0.4V 输入 L(0):1.2V H(1):2.0V 外设的状态要通过电路转换成高、低电平,计算机才能识别(如开关电路)。计算机输
8、出的数据也要转换成相应的电平电压 ,根据外设需要的电平要求 输出“1”或“0”数据,这就是程序控制外设的本质。,5.2 定时器/计数器及其应用5.2.1 定时器/计数器的结构和工作原理,1)方式0和方式1,区别:计数器位数不同,启动方式两种,TRi直接启动,条件GATE=0,方式0:THi高8位,TLi低5位;方式1:16位,5.2.2 定时器/计数器的工作方式,2)方式2,特点:能自动重装计数初值,3)方式3,只允许T0使用,此时T1可工作在其他方式,1.工作模式寄存器TMOD(89H),TMOD用于控制T0和T1的操作模式。其各位的定义如下:,定时器T0,定时器T1,5.2.3 定时器/计
9、数器的编程,GATE:门控信号 GATE=0,TRi=1时即可启动定时器工作 ; GATE=1, TRi=1 INTi=1才可启动定时器工作。 C/T:定时器/计数器选择位 C/T=1,为计数器方式; C/T=0,为定时器方式。 M1 M0 工作模式选择位 M1M0=00 工作方式0(13位方式)。 M1M0=01 工作方式1(16位方式)。 M1M0=10 工作方式2(8位自动再装入方式)。 M1M0=11 工作方式3(T0为2个8位方式)。,2.控制寄存器TCON(88H),TR1:T1运行控制位。 TR1=1,启动T1工作。 TR1=0,停止T1工作。,TR0:T0运行控制位。 TR0=
10、1,启动T0工作。 TR0=0,停止T0工作。,3. 计数初值,定时: (2N-计数初值TC)时钟周期=延时时间,计数: 2N-要求计数的次数=TC,不同的工作方式其N取值不同: 方式: 0 1 2 3 N: 13 16 8 8,4. 定时时间到的查询与中断,方式0( 13位方式): TC=213-100=2000H64H=1F9CH 1F9CH0001 1111 1001 1100B 用指令装入计数初值: MOV TH0,#0FCH; MOV TL0,#1CH;,1.计数初值初始化,例:要计100个脉冲的计数初值,5.2.4 定时/计数器应用,方式2(8位自动再装入方式): TC=28100
11、=100H64H=9CH 初值既要装入TH0,也要装入TL0: 用指令装入计数初值: MOV TH0,#9CH MOV TL0,#9CH,方式1(16位方式): TC=216-100=10000H-64H=FF9CH 用指令装入计数初值: MOV TH0,#0FFH MOV TL0,#9CH,例1:如图所示,P1中接有 八个发光二极管,要求八 个管轮流点亮,每个管亮 100ms,设晶振为6MHz。 试编程实现。,2.应用举例,若利用T1工作于方式1定时100ms有:,TC=2N-定时时间/机器周期 因为:机器周期=2s,N=16 故有:TC=65536-100ms/2s =65536-5000
12、0 =15536=3CB0H,ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV A,#01H ;置第一个LED亮 MOV TMOD,#10H ;T1工作于定时方式1 NEXT:MOV P1,A MOV TH1,#3CH MOV TL1,#0B0H ;定时100ms SETB TR1 AGAI: JBC TF1,SHI; 100ms到转SHI,并清TF1 SJMP AGAI SHI: RL A SJMP NEXT,BACK1:JB P3.2,BACK1 ;等待INT0变低 SETB TR0 ;为T0的启动作准备 BACK2:JNB P3.2,BACK2 ;等待INT0
13、引脚变高 BACK3:JB P3.2,BACK3 ;等待INT0变低T0停止工作 CLR TR0 MOV 70H,TL0 MOV 71H,TH0 ;存放结果 SJMP $ END,ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV TMOD,#09H MOV TH0,#00H MOV TL0,#00H,例3:利用T0、T1测某脉冲频率 fosc=6MHZ,RUTL EQU 70H RUTH EQU 71H CONT EQU 72H ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV TMOD,#15H MOV TH0,#00H MOV TL
14、0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV CONT,#10 SETB TR1 SETB TR0,BACK1:JNB TF1,BACK1 ;等待100ms到 CLR TF1 ;溢出标志清0 MOV TH1,#3CH MOV TL1,#0B0H ;重装时间常数 DEC CONT ;计数初值减1 MOV A,CONT JNZ BACK1 ;延时1秒等待 CLR TR0 ;1秒时间到,T0停止计数 MOV RUTH,TH0 MOV RUTL,TL0 ;存结果 SJMP $ END,小 结,51系列单片机既有两个16位的定时计数器,有四种不同的工作方式,归纳于下表: 定
15、时和计数实质都是对脉冲的计数,只是被计脉冲的来源不同,定时方式的被计脉冲来源于时钟,计数方式的被计脉冲来源于外部,定时方式的计数初值和被计脉冲周期有关,计数方式的和被计脉冲的个数有关。 无论定时还是计数,当计满规定的 脉冲个数产生溢出(计数初值寄存器回零),置位TFx , 可以通过程序查询,如果允许中断,会产生中断。 本章应重点掌握定时计数器的应用设计,5.3 中断系统及其应用5.3.1 中断系统结构,1、中断源与中断向量地址,51系列单片机有5个中断源,52系列有6个中断源,2个在片外,其余的中断源在片内。 在程序存贮器中有固定的中断入口地址,当CPU响应中断时,硬件自动形成这些地址,由此进
16、入中断服务程序。 5个中断源有两级中断优先级,可实现中断嵌套。,(1)中断请求标志及外部中断方式选择寄存器TCON,2、中断控制的有关寄存器,IT0和IT1若选下降沿触发则相应位置1;若选低电平触发,IT相应位置0。 某中断源有中断请求,该中断标志置1,无中断请求,该中断标志置0 TR0 和 TR1 为定时器T0和T1 工作启动和停止控制。,TCON,(2)中断控制寄存器IE 中断的允许和禁止 1 允许中断; 0 禁止中断。,IE,EA:中断允许/禁止; ET0、ET1:定时器0和1 中断允许/禁止; ES:串行口中断允许/禁止; EX0、EX1:外中断INT0和INT1 中断允许禁止;,TI
17、发送中断标志,RI接收中断标志,SCON,IP,(3)中断优先级管理寄存器IP 51/52系列单片机只有两级中断优先级,对应位为1,则该中断源为高优先级,为0则为低优先级。 优先级相同时,则优先响应先查询的中断请求。CPU查询顺序为: INT0 T0 INT1 T1 TI/RI,MCS-51系列单片机的中断结构图,5.3.2 中断响应过程,51单片机在每个机器周期采样中断源,在第二个机器周期轮询上一机器周期的采样值。如果发现有标志为“1”,则中断系统会生成一个远调用LCALL,调用相应的服务程序。,1、中断响应的条件 a.CPU开中断且未响应中断或正在响应低级中断; b.现行机器周期为正在执行
18、指令的最后一个周期; c.没执行RET、RETI,也未访问IE、IP; 执行这些操作后,至少执行一条其他指令后才会响应中断。,2、中断响应过程 CPU响应中断请求时,将PC压栈,将中断服务程序入口地址送入PC,程序转向相应的中断服务程序。 51/52系列单片机响应中断后,不会自动保护标志寄存器PSW,不会自动保护现场,不会自动关中断,不会自动发中断响应信号。 执行RETI指令从中断服务程序返回主程序。RETI清除响应中断时被置位的优先级状态触发器。,3、中断请求的撤除 响应中断后,应撤除该中断请求标志,否则会再次中断。 a.定时计数器T0、T1的溢出中断 响应中断后,硬件自动清除中断请求标志T
19、F0、TF1。 b.串行口中断 响应中断后,必须用软件清除清除中断请求标志TI、RI,这是在编串行通信中断服务程序中应该注意的。,c.边沿触发的外部中断INT1和INT0 CPU响应中断后,硬件自动清除中断请求标志IE0和IE1。 d.电平触发的外部中断INT1和INT0 CPU在响应中断时不会自动清除中断标志,因此,在CPU响应中断后,应立即撤除INT1或INT0的低电平信号,否则会错误地再一次引起中断过程。,外部电平中断请求的撤除 对于电平触发的外部中断,由于CPU对引脚没有控制作用,也没有相应的中断请求标志位,需要外接电路来撤除中断请求标志,如下图。中断服务程序中用两条指令: ANLP1
20、,#0FEH ORLP1,#01H,5.3.3 中断的应用,用户对中断的控制和管理,实际是对4个与中断有关的寄存器IE、TCON、IP、SCON进行控制 或管理。这几个寄存器在单片机复位时是清零的,因此必须根据需要对这几个寄存器的有关 位进行预置。在中断程序的编制中应注意: 开中断总控开关EA,置位中断源的中断允许位。 对外部中断INT0、INT1应选择中断触发方式。 多个中断源中断,应设定中断优先级,预置IP。 编写中断服务程序,并注意用保护现场和恢复现场,以免中断返回时,丢失原寄存器、累加器中的信息。 若要在执行当前中断程序时禁止更高优先级中断,可以采 用软件关CPU中断或禁止某中断源中断
21、,在中断返回前再开放中断。,例1 如图所示,欲使与P1.0引脚相连的LED以2秒为周期闪烁,试编程实现。设fosc=6MHz。,T0方式1定时50ms,在P1.3输出周期100ms方波,T1方式2对方波计数10次为1S,然后在P1.0输出周期2S的方波驱动LED。 定时器T0的时间常数40536即9E58H。定时器T1的时间常数为246即F6H。 T0、T1均允许中断,TMOD=01100001B。,ORG 0000H LJMP MAIN ORG 000BH LIMP INTT0 ORG 001BH LJMP INTT1 ORG 0100H MAIN:CLR P1.0 ;给LED一个初态 SE
22、TB P1.3 ;P1.3输出高电平 MOV TMOD,#61H ;T0、T1方式初始 MOV TH1,#0F6H ;设置T1计数初值 MOV TL1,#0F6H MOV TH0,#9EH ;设置T0计数初值 MOV TL0,#58H SETB TR0 ;启动T0 SETB TR1 ;启动T1 SETB PT0 ;设T0为高优先级 CLR PT1 ;设T1为低优先级 SETB ET0 ;开放T0中断 SETB ET1 ;开放T1中断 SETB EA ;开放CPU的中断 SJMP $ ;等待中断,ORG 0400H INTT0:MOV TH0,#9EH MOV TL0,#58H CPL P1.3
23、 RETI ORG 0500H INTT1:CPL P1.0 RETI,BACK1:JB P3.2,BACK1 ;等待INT0变低 SETB TR0 ;为T0的启动作准备 SETB IT0 ;为T0的启动作准备 SETB EX0 ;为T0的启动作准备 SETB EA ;为T0的启动作准备 SJMP $ ;等待中断 ORG 0200H INT0: CLR TR0 MOV 70H,TL0 MOV 71H,TH0 RETI,ORG 0000H LJMP MAIN ORG 0003H LJMP INT0 ORG 0100H MAIN:MOV TMOD,#09H MOV TH0,#00H MOV TL0
24、,#00H,例3:利用T0、T1测某脉冲频率 fosc=6MHZ,RUTL EQU 70H RUTH EQU 71H CONT EQU 72H ORG 0000H LJMP MAIN ORG 001BH LJMP INTT1,ORG 0200H INITT1:MOV TH1,#3CH MOV TL1,#0B0H DEC CONT MOV A,CONT JNZ EXIT CLR TR0 MOV RUTH,TH0 MOV RUTL,TL0 EXIT: RETI,ORG 0100H MAIN: MOV TMOD,#15H MOV TH0,#00H MOV TL0,#00H MOV TH1,#3CH
25、MOV TL1,#0B0H MOV CONT,#10 SETB TR1 SETB TR0 SETB ET1 SETB EA SJMP $,0070 1 RUTL EQU 70H 0071 2 RUTH EQU 71H 0072 3 CONT EQU 72H 0000 4 ORG 0000H 0000 020100 5 LJMP MAIN 001B 6 ORG 001BH 001B 020200 7 LJMP INTT1 0100 8 ORG 0100H 0100 758915 9 MAIN: MOV TMOD,#15H 0103 758C00 10 MOV TH0,#00H 0106 758A
26、00 11 MOV TL0,#00H 0109 758D3C 12 MOV TH1,#3CH 010C 758BB0 13 MOV TL1,#0B0H 010F 75720A 14 MOV CONT,#10 0112 D28E 15 SETB TR1 0114 D28C 16 SETB TR0 0116 D2AB 17 SETB ET1 0118 D2AF 18 SETB EA 011A 80FE 19 SJMP $,0200 21 ORG 0200H 0200 758D3C 22 INTT1: MOV TH1,#3CH 0203 758BB0 23 MOV TL1,#0B0H 0206 15
27、72 24 DEC CONT 0208 E572 25 MOV A,CONT 020A 7008 26 JNZ EXIT 020C C28C 27 CLR TR0 020E 858C71 28 MOV RUTH,TH0 0211 858A70 29 MOV RUTL,TL0 0214 32 30 EXIT: RETI,小 结,(1)中断技术是实时控制中的常用技术,51系列单片机有三个内部中断,二个外部中断。所谓 外部中断就是在外部引脚上有产生中断所需要的信号。每个中断源有固定的中断服务程序的入口地址(称矢量地址或向量地址)。当CPU响应中断以 后单片机内部硬件保证它能自动的跳转到该地址。 (2
28、)单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器IE,中断优先权寄存器IP ,必须在CPU开中断即开全局中断开关EA,开各中断源的中断开关,CPU才能响应该中断源的 中断请求,其中缺一不可。 (3)从程序表面看来,主程序和中断服务程序好象是没有关连的,只有掌握中断响应的过程, 才能理解中断的发生和返回,看得懂中断程序,并能编写高质量中断程序。 (4)本章重点应掌握中断的基本概念,并能熟练编制中断程序。,5.4 串行接口及其应用,单片机应用于数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性。如图所示。
29、,1.串行口的内部结构,5.4.1 串行口的结构,串行控制寄存器SCON 用以存放串行口的控制和状态信息。8XX51串行口正是通过对上述专用寄存器的设置、检测与读取 来管理串行通信的。 波特率发生器 定时器T1作波特率发生器,改变计数初值就可以改变串行通信的速率,称为可变波特率。 以内部时钟的分频器作波特率发生器,因内部时钟频率一定,称为固定波特率。,2.串行通信的传送过程, 甲、乙方的移位时钟频率应相同,即应具有相同的 波特率,否则会造成数据丢失。 发送方是先发数据再查标志,接收方是先查标志再 收数据。, CPU通过指令和SBUF并行交换数据,并不能控制数 据的串行移位,它只能查询标志位来确
30、定数据的移 位是否完成。,51单片机串行口是一个可编程接口,对它的编程 只用两个控制字分别写入特殊功能寄存器: 串行口控制寄存器 SCON(98H) 电源控制寄存器 PCON(87H),3.串行口的控制寄存器,1.工作方式 根据串行通信数据格式和波特率的不同, 51系列单片机的串行通信有四种工作方式,即方式0、方式1、方式2、方式3。 (1)方式0 移位寄存器输入/输出方式 其时序如图:,5.2.3 串行口的工作方式,移位寄位器方式多用于接口的扩展,当用单片机 构成系统时,往往感到并行口不够用,此时可通过外接 串入并出移位寄存器扩展输出接口;通过外接并入串 出移位寄存器扩展输入接口,方式0 也
31、可应用于短距 离的单片机之间的通信。,(2)方式1 10位异步通信方式,每帧数据由1个起始位“0”.八个数据位和1个停止位“1”共10位构成.其中起始位和停止位在发送时是自动插入的.,以TXD为串行数据的发送端,RXD为数据的接收端,由定时器T1提供移位时钟,是波特率可变方式,波特率=(2SMOD/32)(T1的溢出率) =(2SMOD/32)(fosc/12(256-N) 根据给定的波特率,可以计算T1的计数初值X。,(3) 方式2、3 11位异步通讯方式,每帧数据由有一个起始位“0”,9个数据位和1个 停止位“1”组成.发送时九个数据位,由SCON寄存器的 TB8位提供,接收到的第九位数据
32、存放在SCON寄存器的RB8位.第九位数据可作为检验位,也可用于多机通信中识别传送的是地址还是数据的特征位。,波特率固定为(2SMOD/64)fosc.,方式3数据格式同方式2,所不同的是波特率可变,计算方式同方式 1。,1.与串行口有关的特殊功能寄存器, SBUF,SBUF为串行口接收/发送数据缓冲器。接收数据 时,它是一个串入并出移位寄存器,执行一条读SBUF 的指令,可读得接收到的8位数据;发送数据时,它是 一个并入串出移位寄存器,由指令写入SBUF的数据将 转换为串行数据发送出去。通过SBUF寄存器可实现对 串行数据的输入/输出操作。,5.4.3 串行口的使用,SCON是串行口控制寄存
33、器,专门用以设定串行口的工作方式、接收/发送控制以及设置状态标志。其格式及各位功能如下:, SCON,SM2作用: 1.在方式2和3中,发送方SM2=1(程序设置)。接收方SM2=1,若RB8=1,激活RI,引起接收中断;RB8=0,不激活RI,不引起中断。若SM2=0,无论RB8=0还是RB8=1,均激活RI,引起接收中断。这是51单片机多机通讯的基础。 2.在方式1中,当接收时,SM2=1,则只有收到有效停止位才激活RI。 3.在方式0中,SM2应置为0。,PCON的字节地址为87H,无位地址, 只能字节寻址,初始化时SMOD=0.,PCON,87H,PCON是电源控制寄存器,串行通信只用
34、其中的最高位SMOD,其格式如下图所示,SMOD:波特率加倍位。在计算串行方式 1、 2、 3 的波特率时, SMOD0-不加倍; SMOD1-加倍, PCON,2.串行口波特率的选择,方式0下,波特率= fosc/12, fosc612MHz,方式2下,波特率=(2SMOD/64)fosc,方式1、3下,波特率=(2SMOD/32)定时器T1的溢出率,定时器T1的溢出率:单位时间秒内的溢出次数,= fosc/12(256-N),为方便,定时器T1工作方式一般设置为方式2,自动重装计数常数。,3.串行通信结束的查询与中断,串行通信中发送一个数据后是否可以发送下一 个数据,以及此时是否可以开始接
35、收一个数据等的 操作可采用查询方式或中断方式来完成。, 查询方式,方式1和方式3查询方式的发送/接收流程图分别如图所示。,查询方式发送流程图为:,查询方式接收流程图为:, 中断方式,中断方式下,对T1和SCON的初始化与查询方式下相同法,但需增加中断逻辑初始化部分,即:要置位EA(中断总开关),置位ES(允许串行中断),中断方式的发送和接收的流程如图所示。,中断方式发送流程图,中断服务程序,主程序,中断方式接收流程图,中断服务程序,主程序,5.4.4 串行口的应用,1.利用方式0扩展并行I/O口,51单片机的串行口工作在方式0时外接一个串入并出的移位寄存器,就可以扩展一个并行输出口;外接一个并
36、入串出的移位寄存器,就可以扩展一个并行输入口。利用移位寄存器来扩展并行口,其电路简单,扩展个数受传输速度的制约。,例1:利用51单片机的串行口外接74LS164扩展8位并行输出口。如图所示,8位并行输出口的各位分别接一个发光二极管,要求发光二极管按从左到右的顺序,以一定的时间间隔轮流依次循环发光,试编程实现。,ORG 0000H LJMP MAIN ORG 2000H MAIN: CLR P1.0 ;对74LS164清0 MOV SCON,#00H ;设定串行口工作在方式0 SETB P1.0 ;允许数据串行移位 MOV A,#80H ;预置发光二极管初态 BACK1:MOV SBUF,A ;
37、启动串行口发送 BACK2:JNB TI,BACK2 ;等待一帧发送结束 CLR TI ;清发送中断标志 LCALL DELAY ;延时一段时间 RR A ;为发光二极管的下一次显示做准备 SJMP BACK1,例2. 利用51单片机的串行口外接74LS165扩展8位并行输入口。如图5.23所示,要求通过该8位输入口读入一个字节数据存入R2中。,ORG 0000H LJMP MAIN ORG 2000H MAIN: CLR P1.0 ;允许并行置入数据 SETB P1.0 ;允许串行移位 BACK: MOV SCON,#10H ;设串行口方式0并启动接收 BACK1:JNB RI,BACK1;
38、等待接收一帧数据 CLR RI ;清接收中断标志 MOV A,SBUF ;读取缓冲器接收的数据 MOV R2,A ;存结果 SJMP $,2.利用方式1实现点对点的异步通信,点对点的异步通信也称双机通信,用于单片机与单片机之间的交换信息,也常用于单片机与通用微机间的信息交换。如果通信间的两个单片机应用系统相距很近,则可将它们的串口直接相连,以实现双机通信,如图所示。,美国电子工业协会(EIA)公布的一种异步通信 标准。标准为电气和机械两方面。 电气标准: (1) 信号线的条数、定义; 基本数据传送线 TXD:数据发送 RXD:数据接收 GND:信号地线 握手信号 RTS:请求发送信号 CTS:
39、清除传送,是对RTS的响应信号 DCD:数据载波检测(输入) DSR:数据通信准备就绪(输入) DTR:数据终端就绪,表明计算机已做好接收准备 (输出),RS232C,(2) 电气特性; 设备之间通信的距离不大于15米 最大传输速率20KB/S 采用负逻辑:“1” -5V -15V “0” +5V +15V 噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1” 不带负载时输出电平:25V +25V 输出短路电流: 0.5A 最大负载电容: 2500pF 机械标准: 包括几何尺寸、材料、强度等,MAX232内部具有电压提升电路,并有两路接收器和发送
40、器。其连线如图,RS232C电平转换, A机先发一个AAH呼叫B机;B机收到AAH后,回答A机一个BBH信号,表示同意接收。 A机向B机发送数据,数据包括: a、数据个数b、数据本身,x1,x2,x3,xn c、数据校验和=x1x2 x3 x4 xn B机收到数据后,判断数据是否有错,若有错回答FFH,无错回答00H 数据格式,例2:约定:A机向B机发送一组数据,波特率为2400(fosc=6MHz),设置: (1)串行口按方式1允许接收 (2)定时器T1按方式2工作,若取SMOD=0,则由公式: 波特率= , 有: N=256(6106)/(2400384)=249.49 故:计数初值为F9H。,1、初始化部分 a、T1的初始化,T1工作在定时方式2,不中断,TC=F3H MOVTMOD,#20H MOVTH1,#0F9H MOVTL1,#0F9H SETBTR1 b、串口初始化,选方式1,SMOD=0 MOVPCON,#0 MOVSCON,#50H,2、发送部分(用查询方式),A机软件,FS:MOVSBUF,#0AAH FS0:JBCTI,FS1;AA发送完转,且清TI SJMPFS0 FS1:JBCRI,FS2;等B机回答 SJMPFS1 FS2:MOVA,SBUF;读B机回答信号 XRLA,#0BBH JNZFS;B机未发BB转 FS3:MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我国引进保单贴现的法律困境与破局之路
- 我国开放式基金基金经理表现与基金业绩贡献度的深度剖析
- (2025年)《三国演义》知识竞赛题和答案解析
- 2026福建泉州石狮国有投资发展集团有限责任公司招聘工作人员的2人备考题库及答案详解参考
- 小学实验教学资金申请流程及制度规范
- 2026浙江省新华书店集团招聘45人备考题库(含答案详解)
- 2026浙江嵊泗县融媒体中心招聘3人备考题库有答案详解
- 2026黑龙江绥化市中医医院招聘38人备考题库完整答案详解
- 2026福建海峡人才网络资讯有限公司前端开发人员招聘1人备考题库及一套参考答案详解
- 2026河南郑州医药健康职业学院招聘备考题库及答案详解(易错题)
- 安全生产目标及考核制度
- (2026版)患者十大安全目标(2篇)
- 2026年北大拉丁语标准考试试题
- 售楼部水电布线施工方案
- 临床护理操作流程礼仪规范
- 2025年酒店总经理年度工作总结暨战略规划
- 空气栓塞课件教学
- 非遗文化妈祖祭典文化知识
- Charter开发与立项流程(CDP)
- JTGT F20-2015 公路路面基层施工技术细则
- 七年级下册《6.1 第3课时 平方根》课件
评论
0/150
提交评论