<meta name="keywords" content="必胜时时彩开户,keywords" /> 22课:单片机串行口通讯法式模范设计 联系我们

22课:单片机串行口通讯法式模范模范设计

1.串行口要领0应用编程 8051单片机串行口要领0为移位存放器要领,外接一个串入并出的移位存放器,便可以扩年夜一个并行口。


<单片机串行口通讯法式模范模范设计硬件毗连图>

   例:用8051单片机串行口外接CD4094扩年夜8位并行输出口,如图所示,8位并行口的列位都接一个发光二极管,请求发光管呈流水灯状态。 串行口要领0的数据传送可接纳中止要领,也可接纳查询要领,岂论哪一种要领,都要借助于TI或RI标志。串行发送时,能靠TI置位(发完一帧数据后)惹起中止请求,在中止服务法式模范模范中发送下一帧数据,或许经由历程查询TI的状态,只需TI为0就一连查询,TI为1就阻拦查询,发送下一帧数据。在串行吸收时,则由RI惹起中止或对RI查询来一定甚么时直吸收下一帧数据。岂论接纳甚么要领,在泉源通讯之前,都要先对控制存放器SCON阻拦初始化。在要领0中将,将00H送SCON便可以了。

-----------------单片机串行口通讯法式模范模范设计列子--------------------------

ORG 2000H

START: MOV SCON,#00H ;置串行口使命要领0

MOV A,#80H ;最高位灯先亮

CLR P1.0 ;关闭并行输入(避象传输历程当中,各LED的"暗红"情形)

OUT0: MOV SBUF,A ;泉源串行输入

OUT1: JNB TI,OUT1 ;输入完否

CLR TI ;完了,清TI标志,以备下次发送

SETB P1.0 ;掀开并行口输入

ACALL DELAY ;延时一段时间

RR A ;循环右移

CLR P1.0 ;关闭并行输入

JMP OUT0 ;循环

诠释:DELAY延时子法式模范模范能用前面我们讲P1口流水灯时用的延时子法式模范模范,这里就不给出了。

二、串行口异步通讯

org 0000H

AJMP START

ORG 30H

START:

mov SP,#5fh ;

mov TMOD,#20h ;T1: 使命形式2

mov PCON,#80h ;SMOD=1

mov TH1,#0FDH ;初始化波特率(参见表)

mov SCON,#50h ;Standard UART settings

MOV R0,#0AAH ;准备送出的数

SETB REN ;允许吸收

SETB TR1 ;T1泉源使命

WAIT:

MOV A,R0

CPL A

MOV R0,A

MOV SBUF,A

LCALL DELAY

JBC TI,WAIT1 ;假定TI即是1,则清TI并转WAIT1

AJMP WAIT

WAIT1: JBC RI,READ ;假定RI即是1,则清RI并转READ

AJMP WAIT1

READ:

MOV A,SBUF ;将取得的数送P1口

MOV P1,A

LJMP WAIT

DELAY: ;延时子法式模范模范

MOV R7,#0ffH

DJNZ R7,$

RET

END

    将法式模范模范编译经由历程,写入芯片,拔出实验板,用通读电缆将实验板与主机的串行口相连便可以实验了。下面的法式模范模范功效很质朴,就是每隔一段时间向主机轮替送数55H和AAH,并把主机送去的数送到P1口。能在PC端用串行口精灵来做实验。串行口精灵在我主页上有下载。运转串行口精灵后,按主界面上的“设置参数”按钮进入“设置参数”对话框,按下面的参数阻拦设置。重视,我的机械上用的是串行口2,假定你不是串行口2,请自行更改串行口的设置。

   设置完后,按一定前往主界面,重视左边有一个下拉列表,应被选中“按16进制”。然后按“泉源发送”、“泉源吸收”便可以了。按此设置,实验板上应当有两只灯亮,6只灯灭。年夜家能自行更改设置参数中的发送字符如55,00,FF等等,不雅不雅察灯的亮灭,并剖析启事,也能在主界面上更改下拉列表中的“按16进制”为“按10进制”或“按ASCII字符”来不雅不雅察情形,并仔细剖析。这关于年夜家明确16进制、10进制、ASCII字符也是很有利益的。法式模范模范自己很质朴,又有注释,这里就不详加说清晰了了。

三、上述法式模范模范的中止版本

org 0000H

AJMP START

org 0023h

AJMP SERIAL ;

ORG 30H

START:

mov SP,#5fh ;

mov TMOD,#20h ;T1: 使命形式2

mov PCON,#80h ;SMOD=1

mov TH1,#0FDH ;初始化波特率(参见表)

mov SCON,#50h ;Standard UART settings

MOV R0,#0AAH ;准备送出的数

SETB REN ;允许吸收

SETB TR1 ;T1泉源使命

SETB EA ;开总中止

SETB ES ;开串行口中止

SJMP $

SERIAL:

MOV A,SBUF

MOV P1,A

CLR RI

RETI

END

本法式模范模范没有写入发送法式模范模范,年夜家能自行添加。