485-2.c
来自「PIC16F877c语言实现485收发一个字节的数据」· C语言 代码 · 共 109 行
C
109 行
#include <pic.h>
#include<pic1687x.h>
#define REDE RD2//TRISD2=0;
void Delay1Ms_2(unsigned int t);
unsigned char recdata;
unsigned char flag;
unsigned char i;
void send_serial(unsigned char count) //串口发送
{
TXEN=1; //发送使能发送功能
TXREG=count;
while(1)
{
if(TRMT==1) break;
}
TXEN=0;
}
//系统初始化函数*/
void initial()
{
INTCON=0x00;
ADCON1=0x07;
PIE1=0;
PIE2=0;
}
//串行通信初始化程序*/
void sciinitial()
{
TXSTA=0x04;
RCSTA=0x80;
TRISC=0x80;
SPBRG=0x33;
PIR1=0x00;
PIE1=PIE1|0x20;
CREN=1;
TXEN=1;
}
//485接收中断
void interrupt LOW_ISR()
{
if(RCIF==1)
{
RCIF=0;
recdata=RCREG;
flag=1;
}
}
void Delay1Ms_2(unsigned int t) //延时
{
unsigned char i;
for(;t>0;t--)
{
for (i=0;i<10;i++)
{
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
//asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
}
}
}
//主函数
main()
{
initial();
sciinitial();
TRISD2=0;
//RC2=0;
//RC4=1;
REDE=0;
flag=0;
INTCON=INTCON|0xc0;
while(1)
{
if(flag==1)
{
flag=0;
//RC2=1;
//RC4=0;
REDE=1;
send_serial(recdata);
for(i=0;i<50;i++);
//RC4=1;
//RC2=0;
REDE=0;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?