文档详情

PIC单片机485通信接收发送C语言源代码.pdf

发布:2017-09-21约2.71万字共22页下载文档
文本预览下载声明
1、PIC 单片机485通信接收——源代码 #includepic.h #includemath.h #includestdio.h #defineucharunsignedchar #defineuintunsignedint __CONFIG(WDTDIS HS PWRTDIS BORDIS);//设置配置位 //WDTDIS :disablewatchdogtimer //LVPDIS :lowvoltage programmingdisabled //HS :highspeedcrystal/resonator //PWRTDIS :disablepoweruptimer //BORDIS :disablebrownoutreset #definePORTAIT(adr,bit)((unsigned)(adr)*8+(bit)) //绝对位操作指令; staticbitDI@(PORTAIT(PORTB,0); staticbitCK @(PORTAIT(PORTB,1); staticbitLA@(PORTAIT(PORTB,2); staticbitOE @(PORTAIT(PORTB,3); #defineRE RC2 //接收允许控制位 #defineDERC3 //发送允许控制位 ucharredata; // voidUSART_Init(void); voidSEND_Byte(uchardat); voidSEND_DM114_DA(ucharDAT); voiddelay50us(ucharz); // voiddelay50us(ucharz) { uchari,j; for(j=0;jz;j++) for(i=0;i6;i++) ; } // voidSEND_Byte(uchardat) { if(dat==0) // DI= 0; RB0=0; else DI=1; //RB0= 1; } voidSEND_DM114_DA(ucharDAT) { uchari; OE=1; //RB3= 1; LA=0; //RB2= 0; for(i=0;i8;i++) { SEND_Byte(DAT0x80); DAT =1; CK=0; CK=1; //RB1= 0; //RB1= 1; } LA= 1; OE= 0; //RB2= 1; // RB3 =0; } // // voidUSART_Init(void) { SPBRG =77; //高速 波特率960012MHz SPBRG =0x4D //SPBRG=129;//高速 波特率960020MHz TXSTA=0x04; //TXSTA:CSRCTX9TXENSYNC -- BRGHTRMTTX9D // 0 0 0 0 1 0 0 RCSTA= 0x80; //RCSTA:SPEN RX9SREN CRENADDENFERR OERR RX9D // 1 0 0 0 0 0 0 0 RCIE =1; //开接收中断 TXEN=1; CREN =1; //接收使能 TRISC6= 1;//设置为输入状态 TRISC7= 1; // TXIE =1; //开发送中断 TRISC3= 0;//设置为输出状态 TRISC2= 0; RE=0; //SN75176开启接收 DE=0; // SN75176关闭发送 PEIE =1; //开外设中断 GIE=1; //开总中断 TRISB =0x00; //B口为输出 } // voidinterruptcom(void) { if(RCIERCIF) { redata=RCREG; RE=1; //SN75176关闭接收 DE=1; // SN75176开启发送 TXREG=red
显示全部
相似文档