文档详情

第四章 80C51单片机的功能单元-修改.ppt

发布:2017-08-18约3.23万字共147页下载文档
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SM0 SM1 SM2 REN TB8 RB8 TI R1 SCON ? SM0,SM1:串行口工作方式选择位。 0 1 :方式1,8位UART(1+8+1位) ? REN:串行口接收允许位。 REN=1 允许接收 串行口控制寄存器SCON 0 1 0 1 0 0 0 0 ? TB8,RB8,TI,RI等位由运行中间的情况 决定,可先写成 “0” ? SM2:串行口多机通信控制位,作为方式2、3 的附加控制位,此处不用,可写成“0” MAIN: ORG 0023H MOV TMOD,#20H SBR1:JNB RI,SEND MOV TL1,#0F3H LCALL SIN MOV TH1,#0F3H SJMP NEXT SETB TR1 SEND:LCALL SOUT MOV SCON, #50H NEXT:RETI ………… SETB EA SIN: …… SETB ES RET LCALL SOUT SOUT:…… SJMP $ RET 例:串行通信方式1应用 用T1工作于定时工作方式2,产生波特率1200bps 发送子程序 接收子程序 SOUT: SIN: MOV A,@R0 MOV A,SBUF MOV C,P MOV C, P CPL C CPL C MOV ACC.7, C ANL A, #7FH INC R0 MOV @R1, A MOV SBUF, A INC R1 CLR TI CLR RI RET RET 例 (续) 删除 删除 通信方式实例 ① 甲机发送:将以片内RAM的78H及77H的内容为首地址、以76H及75H的内容为末地址数据块内容,通过串行口传至乙机。例如: (78H)=20H ;首地址高位 (77H)=00H (76H)=20H ;末地址高位 (75H)=20H 即要求程序将片外RAM的2000H~201FH中的内容输出到串行口。 ② 乙机接收: 接收的第一、二字节是数据块的首地址; 第三、四字节是数据块的末地址减1; 第五字节开始是数据,把数据依次存入数据块首地址开始的存储器中。 试编写甲、乙双机利用串行口方式1,并以定时器T1的方式1制定波特率的通信程序。 ③ 波特率的计算: 这里使用6 MHz晶振,以定时器T1的方式1制定波特率。此时定时器T1相当于一个16位的计数器。 溢出率 = fosc/12×1/(256-TC+X) X ——中断服务程序的机器周期数,在中断服务程序中重新对定时器置数。 CLR TR1 1 个机器周期 MOV TL1,#0AAH 2 个机器周期 MOV TH1,#0AAH 2 个机器周期 SERB TR1 1 个机器周期 从主程序转入中
显示全部
相似文档