单片机应用技能实训教案--项目9

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机应用技能实训教案一项目8项目9单片机双机通信电路制作

任务1项目相关基本知识学习

送或接收一进制数据的位数称为波特率,单位为b/s,即位/秒。串行口有四种工作方式,这四种工作方式对应三种波特率。

工作方式0 :波特率为=fsoc/12,不受SMOD位影响。

工作方式2:波特率=2SMOD X fsoc/64 (9-1 )

工作方式1和方式3:

波特率=2SMOD X( T1 溢出率)/32 (9-2 ) T1溢出率即为一次定时时间的倒数,即

T1 溢出率=M1(9-3 )

(2M x) 12 fsoc

其中x为定时初值,M由T1的工作方式决定,一般置T1 工作方式2, M=8将式9-3代入9-2,并整理后得:

o SMOD -

波特率- ----- 『■竺(6-4 )

384(2 x)

当已知晶振频率和所需的波特率时,可由式6-4计算定时器

的初值。

二、MCS-51单片机串行口工作方式1、2、3及应用

1、方式1

方式1是波特率可调的8位数据异步通信方式,发送或接收一帧信息为10位,其中包括1位起始位0, 8位数据位和1位停止位1。

方式1的发送是在T1-0的条件下,由任何一条以SBUF为目的地址的数据传送指令作为启动发送开始的。发送时,由硬件自动生成一位起始位0,接着发送8位数据位,之后自动生成停止位1,数据从TXD端(P3.1引脚)输出。当发送完一帧数据后,置中断标志TI为1。

串行口置为方式1,若RI=0 , REN=1时,允许串行口接收数据。串行口米样RXD ( P3.0引脚),当米样到由1到0跳变时,确认是起始位“ 0”,便开始接收一帧数据。方式1接收时,必

须同时满足以下两个条件:

(1)RI=0 ;

(2)停止位为1或SM2=0。

在满足以上两个条件后,8位数据存入SBUF,停止位进入串行口控制寄存器SCON的RB8位,同时置中断标志RI为1。若不满足这两个条件,接收到数据不能存入SBUF,此组数据丢失。

2、方式2

方式2是9位数据异步通信方式,发送一帧信息为11位,其

中一位起始位0、8位数据位、第9位数据位和一位停止位1。当通信需要进行波特率设置时,应采用方式1或方式3。此时要计算定时器T1初值,并常设为方式2以获得需要的波特率。

重点说明如何启动发送以及如何将接收到的数据进行保存。

由老师与 同学共同 进

行程序 编写。

根据流程图,编写参考程序如下:

ORG 0000H

AJMP START ;转移到初始化程序 START

ORG 0023H ;串行口中断入口

AJMP CKZD

;转移到串行口中断服务程序 CKZD

ORG 0030H

;初始化程序入口 START : MOV 40H ,#00H ;给发送数据单元送立即数 01H

MOV

SCON #50H

;串行口方式 1初始化

MOV TMOD , #21H

;定时器T1初始化

MOV

TL1,#0F4H ;串行口方式 1波特率为2400

MOV TH1,#0F4H

SETB EA ;开中断总允许

SETB ES ;开串行口中断

SETB TR1 ;开定时器T1 简明介绍 MAIN : SJMP $

;等待接收/发送完成 多机通信 CKZD: ;中断服务子程序

原理,只要 PUSH ACC

;保存现场数据

同学了解 JNB RI,CKZD1 ;不是接收中断则转移到 CKZD1

多机通信 MOV 40H,SBUF ;是接收中断,将收到数据送 40H 单元 的原理。

CLR RI ;清RI ,为下次接收准备 CLR TI

MOV

SBUF , 40H ;

(a)主程序流程图

中断返回

(b)中断服务程序流程图

任务2双机通信电路的硬件、软件设计

统和LED显示电路(用于输出显示)。

2、电路设计

根据电路构成方案设计,对各组成部分进行设计。

2、元件选择

(1 )复习晶振电路元件及复位电路元件的选择。

(2)复习发光二极管电路元件选择。

二、应用程序编写

1、指令复习

请将下面每条指令举个应用例子。

MOV A, @Ri ; A・((Ri))

PUSH direct ;将direct中的内容压入堆栈。

RL A ; 将A中数据循环左移1位

INC Rn ; Rn —(Rn )+1

CJNE Rn, #data,rel ;比较不相等则转移,相等则顺序执行

SETB bit ; bit —1

CLR bit ; bit —0

JNB bit , rel ; bit位为1则转移,为0则顺序执行

2、指令学习

(1 )数据传送类指令

①MOV @Ri,A ; (Ri) —(A)

②MOV direct,@Ri ; direct—((Ri))

③MOV @Ri,direct ; (Ri) —(direct)

举例:设(A ) =26H、( 30H) =66H、(R0) =31H、( R1) =32H 分析下列指令的执行结果。

MOV @R0, A

MOV 30H,@R0

MOV @R1,30H

执行后,(30H) =26H、(31H) =26H、(32H) =26H , A、R0、R1中内容不变。

[温馨提示:数据传送指令中,间接寻址指令比较难掌握,但应用程序中还是经常使用,希望同学们多加练习。]

3、乙机接收程序设计

根据项目要求,程序编写应分别编写甲机的发送程序和乙机和接收程序。乙机接收程序与例9.1类似,下面冋学们和我一起来编写接收程序。

乙机的接收采用中断方式,参考程序如下:

ORG 0000H 老师和同学共同在黑板上绘制电路原理图。

通过提问或讨论方式由同学进行使用练习。

对各条指令进行讲解并举应用例子。

由老师和同学一起编写。

在老师引导下由同学老师共同完成流

相关文档
最新文档