C. RS-485 有关的芯片有:DS7517632站MAX184MAX485MAX1487128站MAX1487EDS3082256站 4.2 串行通讯的编程方法 (1).双机通讯 A. 甲机发送程序(设发送20H开始的10个字节)主程序中执行子程序调用:ACALLSEND SEND: MOVR0,#20H;指向首地址MOVR7,#0AH;计数器初始值 LOOP: MOVA,@R0;取一个字节INCR0;修改指针MOVSBUF,A;启动发送 WAIT: JBCTI,NEXT;等待发送结束并清除标志位AJMP WAIT;循环等待 NEXT: DJNZ R7,LOOP;判断是否发送完毕RET;子程序返回 B.乙机接收程序(设保存在20H开始的单元中) 乙机在串行中断中连续接收(请考虑,为什么?) 主程序片段(略去串口方式选择和波特率设定部分)ORG 0000HAJMP STARTORG0023HLJMP SIUBORG0030H START:MOVSP,#60H…… 中断接收程序: SIUB: PUSHA;保护现场PUSHPSWSETBRS0;切换工作寄存器MOVR0,#20H;存数据首地址MOVR7,#0AH;数据计数器 LOOP: JBCRI,NEXT;判是否有数据并清除标志位AJMP LOOP;循环等待 NEXT:
原创力文档

文档评论(0)