首页 单片机双机串口通讯

单片机双机串口通讯

举报
开通vip

单片机双机串口通讯单片机双机串口通讯 发送机程序: ORG 0000H LJMP MAIN ORG 0030H                ;主程序开始地址 MAIN:    MOV SCON,#0C0H            ;将串口设置为工作方式3 MOV TMOD,#20H            ;在串口方式3下波特率由定时器T1(方式2)设定 MOV TH1,#0FDH            ;波特率设定为9600bps,晶振为11.0592MHz MOV TL1,#0FDH            ; SETB TR1 ...

单片机双机串口通讯
单片机双机串口通讯 发送机程序: ORG 0000H LJMP MAIN ORG 0030H                ;主程序开始地址 MAIN:    MOV SCON,#0C0H            ;将串口设置为工作方式3 MOV TMOD,#20H            ;在串口方式3下波特率由定时器T1(方式2)设定 MOV TH1,#0FDH            ;波特率设定为9600bps,晶振为11.0592MHz MOV TL1,#0FDH            ; SETB TR1                    ;启动T1 LOOP2:    MOV R0,#0                ;给R0赋初值,从0开始显示 MOV DPTR,#TAB            ;给数据指针DPTR赋所查表格的首地址 LOOP1:    MOV A,R0                ;将R0里面的值赋给A MOVC A,@A+DPTR            ;查表得到的值赋给A MOV C,P                    ;取奇偶数 MOV TB8,C                ;将奇数或者偶数送到TB8,作为奇偶校验位 MOV SBUF,A                ;发送数据 WAIT:    JBC TI,NEXT                ;等待发送完毕,将发送标志位清0 LJMP WAIT                ;A里面的数据未发送完,继续等待 NEXT:    ACALL DELAY                ;发送完毕后等待0.5s让接收机显示0.5s,不然接收机上的显示一直是全亮 INC R0                    ;R0加1,显示要发送的下一位数 CJNE R0,#0AH,LOOP1        ;比较R0里面的10个数是否发送完毕,发送完毕后面向下执行程序 LJMP LOOP2                ;跳转到LOOP2继续从0到9显示 DELAY:    MOV R7,#250                ;0.5s延时程序(以12MHz计算的) D1:        MOV R5,#250 D2:        NOP NOP NOP NOP NOP NOP DJNZ R5,D2 DJNZ R7,D1 RET TAB:        DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH    ;共阴数码管显示0到9十个数 END 附: MOV A,@A+DPTR :DPTR相当于TAB,A里面值是0到9由R0赋值给A,当A为0时,就取TAB+0里的数据,下同 数据地址 TAB+0 TAB+1 TAB+2 TAB+3 TAB+4 TAB+5 TAB+6 TAB+7 TAB+8 TAB+9 数据 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH                       接收机程序: ORG 0000H LJMP MAIN ORG 0030H                ;主程序开始地址 MAIN:    MOV SCON,#0C0H            ;将串口设置为工作方式3 MOV TMOD,#20H            ;在串口方式3下波特率由定时器T1(方式2)设定 MOV TH1,#0FDH            ;波特率设定为9600bps,晶振为11.0592MHz MOV TL1,#0FDH            ; SETB TR1                    ;启动T1 WAIT:    JBC RI,LOOP                ;判断是否接收到数据,收到数据后将RI清0跳转到LOOP LJMP WAIT                ;没有收到数据,继续等待 LOOP:    MOV A,SBUF                ;将收到的从SBUF送到A中 JB P,NEXT                    ;如果P等于0向下执行程序,P等于1跳转到NEXT JB RB8,ERR                ;如果 RB8等于0向下执行程序,RB8等于1跳转到ERR LJMP RIGHT                ;跳转到RIGHT NEXT:    JNB RB8,ERR                ;如果RB8等于0跳转到ERR执行,RB8等于1向下执行程序 RIGHT:    SETB P1.0                    ;奇偶位检验正确,P1.0口灭 MOV P0,A                ;奇偶位检验正确,将数据送P0口显示 LJMP WAIT                ;跳转到WAIT,等待接收下一个要显示的数据 ERR:        CLR P1.0                    ;奇偶位校验错误,P1.0口亮 LJMP WAIT                ;跳转到WAIT继续接收下一个数据 END 将程序下载后,两个单片机连接好通上电就开始显示了 接收程序也可单独用作PC与单机串口调试用 本程序经过单片机实验通过,可用
本文档为【单片机双机串口通讯】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_668482
暂无简介~
格式:doc
大小:22KB
软件:Word
页数:0
分类:互联网
上传时间:2020-03-09
浏览量:6