1 / 23
文档名称:

主从单片机通讯实例.doc

格式:doc   大小:191KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

主从单片机通讯实例.doc

上传人:ttteee8 2020/6/29 文件大小:191 KB

下载得到文件列表

主从单片机通讯实例.doc

相关文档

文档介绍

文档介绍:1918a30KZ"T~>.<P15P1J5P1?pon^«£^?^ft13P2j6^^1$"P3"/RD-CL0C&11DS&211HZ 80251(甲地U2R1_S—1R422DtZk391113IT31617RESPJRCK5RP1REPACKS3736英市21五Z32<套CLOCK-11IK92UHZ 80251(丙Hl)>^D2XTAL2P0J^&^DTP2XW^.?mtSP1DP3IW?-1NTDP13P33nfJY「P1.<.?—15—9CLOCK-11D592UHZ 8851(5)25305i~D27TZ3919U312_107T-1113U1516-1L>.<^\^^ntd"P3^1NTTP3VTOP35/"K3631一R322122232125笏N331011-1113H1516_!L最近在开发一个单片机多机通信系统,主从式分布,请问如何给从机分配地址?主机发送广播询问地址时,从机如何校验地址?用C如何编写代码?以一主机,2从机为例单片机a,b,,be为从机。a上有一个外部中断0输入,按第一次a的两个LED亮500ms,再按一下,b机的两个LED灯亮500ms,第三次按下c机的两个LED灯亮500ms,然后周而复始。两个数码管分别显示0/1/2,和abc(be由从机反馈)/*主从通信基本步骤:主机从机初始化为方式2或者3,从机都置SM2=1,允许中断主机置TB8=1,发送从机地址所有从机均接收主机发送要寻址的从机地址被寻址的从机确认地址后,置本机SM2=0,向主机返回地址,供主机核对核对无误后,主机向被寻址的从机发送命令,通知从机接受或者发送数据。本次通信结束后,主从机重置SM2=1,主机可再对其他从机寻址*/******************************************************************主机a:******************************************************************include<>#defineucharunsignedchar#defineuintunsignedintucharleddata[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x00};ucharMode;sbitP10=P1A0;sbitP13=P1A3;sbitP17=P1A7;sbitP20=P2A0;sbitP21=P2A1;voidUARTJnit()(TMOD=0x20;TH1=Oxfd;TL1=Oxfd;TR1=1;SCON=OxdO;ES=1;EXO=1;ITO=1;//INTOT跳触发EA=1;Tl=0;}voidDelayMs(intms)(uchari;while(ms-)for(i=0;i<120;i++);voidputc_to_SerialPort(ucharc)(SBUF=c;while(TI==0);TI=0;}voidMasterControl(unsignedcharAddr,d)(TB8=1;putc_to_SerialPort(Addr);DelayMs(50);TB8=0;d);DelayMs(50);}ExOJnt(void)interrupt0(PO=leddata[Mode];P20=0;if(Mode==0)P2=leddata[10];P10=0;P13=0;DelayMs(500);P10=1;P13=1;// Ma