电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机自发自收串口通信实验

单片机自发自收串口通信实验_第1页
1/7
单片机自发自收串口通信实验_第2页
2/7
单片机自发自收串口通信实验_第3页
3/7
******************************************************************************* 实验十八 单片机自发自收串口通信实验 ******************************************************************************* 串口按全双工方式收、发数据,要求将内部RAM中30H单元开始的20个数据发送出去,同时自己接收该20个数据,并把它们存入内部RAM中50H开始的数据单元中,波特率为2400bps,fosc=11.0592M ,发送与接收数据采用中断方式进行。响应中断后,通过检测是RI置位还是TI置位来确定是进行数据发送或是接收数据。 ⑴ 自发自收汇编调试程序如下: ORG 0000H LJMP MAIN ORG 0023H AJMP SBS1 ;转至中断服务子程序 ORG 0050H MAIN: MOV SP,#60H MOV TMOD,#20H ;定时器 1 设为模式2 MOV TL1,#0FAH ; MOV TH1,#0FAH ;置定时器初值 SETB TR1 ;启动 T1 MOV SCON,#50H ;将串口设置为方式1,REN=1 MOV R0,#30H ;发送数据区首地址送R0 MOV R1,#50H ;接收数据区首地址送R1 MOV R2,#20H ;置发送数据个数送R2 LCALL SOUT ;调用发射子程序 SETB ES ; SETB EA ;开中断 LOOP: AJMP LOOP ;等待中断 ORG 0100H ;中断服务子程序 SBS1: JNB RI,SEND ;TI=1,为发送中断 ACALL SIN ;RI=1,为接收中断 SJMP NEXT SEND: ACALL SOUT ;调用发送子程序 NEXT: RETI SOUT: CLR TI ;清发送中断标志 DJNZ R2,LOOP1 ;数据未发送完,继续发送 SJMP RR1 ;发送完返回 LOOP1: MOV A,@R0 ;取发送数据到A MOV SBUF,A ;发送数据 INC R0 ;指向下一个数据 RR1: RET SIN: CLR RI ;清接收中断标志 MOV A,SBUF ;读接收数据 MOV @R1,A ;存入数据缓冲区 INC R1 ;指向下一个存储单元 RET ⑵ RS232 通信芯片的测试 该芯片把TTL 电平转换成为RS232 电平,或把RS232 电平转换成TTL 电平。 RS232 电平标准是:-12V∽-15V 为逻辑“1”, +12V∽+15V 为逻辑“0”。 在 15 米范围内,最大传输波特率为20KB/S。 为了看到RS232 芯片各相关引脚波形,在参考程序的SEND:ACALL SOUT 后应增加一条 AJMP SEND 指令,在该处循环发送数据,则 MAX232 芯片的11 脚上应能测到0V∽+5V的脉冲波,在 14脚上可看到-10V∽+10V的脉冲波。若 D型头 2∽3短接,在 MAX232芯片的13脚上可看到-10V∽+10V的脉冲,12脚上可看到0V∽+5V的脉冲波,并可一...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单片机自发自收串口通信实验

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部