第十章 实验21 串行双向通信实验.doc
文本预览下载声明
实验21 串行双向通信实验
?????? 所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本。例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。????? 在简单的应用中, 只需要有3条线即可完成通信, 分别是 第二脚RXD , 第3脚TXD ,第5脚GND。串行通信与单片机之间的接口:由于串行通信的电平逻辑定义是+15V( 高电平1)-15V(低电平0) 而单片机中分别用5V ,0V 来表示1,0 它们之间必须通过电平转换才可以完成通信。 最常用的是美信的MAX232电路。
?? ? 相关原理:
?? 以下程序烧写通过后,关闭XLISP烧写软件,把XL2000的JP17(编程/仿真)按下到仿真状态。 打开配套光盘的工具软件sscomv20串口调试工具。选择通信串口号,波特率4800:
程序运行照片:
接线方法:
;1、按键接到P3口。用一条8PIN数据排线,把按键部份的JP48,接到CPU部份的P3口JP53.
;2、接8位数码管的数据线。将数码管部份的数据口 JP5接到CPU部份的P0口JP51.
;3、接8位数码管的显示位线。将数码管部份的显示位口 JP8接到CPU部份的P2口JP52.
??? 接收过程:在字符串输入框中输入1,然后点“发送”XL2000的数码管则显示1。输入2则显示2。
按键窗口接收到的四句话:
汇编语言参考程序:
AJMP main0
ORG 0080H
main0: MOV 20H,#00H ;设置串口工作方式
MOV TMOD,#22H
MOV SCON,#40H
MOV TH1,#0F3H ???? ;速率4800,(12M晶体)
MOV PCON,#80H
SETB TR1
SETB REN ???? ???????? ;允许接收
clr p2.6 ???? ???????? ;开数码管
ajmp start
start:
l1:jnb p3.3,l3???????? ??? ;如果P3.3按下则执行L3
jnb p3.4,l4
jnb p3.5,l5
JNB P3.2,L6
jbc ri,rec
mov p0,#0ffh
rec: mov a,sbuf???????? ;缓冲数据送到a
mov p1,a
CJNE A,,T00??? ??;比较接收到的数据
???? MOV P0,#07eH????????? ;数码管显示1
?mov p0,#0ffh
t00: CJNE A,,T2
???? MOV P0,#0A2H????????? ;数码管显示2
?mov p0,#0ffh
T2: CJNE A,,T3
???? MOV P0,#62H
T3: CJNE A,,T4
MOV P0,#74H
T4: CJNE A,,T5
???? MOV P0,#61H
T5: CJNE A,,T6
???? MOV P0,#21H
T6:? CJNE A,,T7
???? MOV P0,#7AH
T7:? CJNE A,,T8
???? MOV P0,#20H
T8:? CJNE A,,t9
???? MOV P0,#60H
T9: CJNE A,,t10
MOV P0,#28H
显示全部