求PIC单片机与上位机的485通讯程序

求PIC单片机与上位机的485通讯程序,第1张

#include <pich>

#define uchar unsigned char

unsigned char RC_data;

int hz=0;

void usart_init()

{

TRISC6=0; //RC6:TX为发送口

TRISC7=1; //RC7:RX为接收口

TXSTA=0x24; //使能发送,高波特率

RCSTA=0x90; //串口使能,连续接收

SPBRG=0x19; //设置波特率9600

TRISD=0x00; //D口为输出

PORTD=0xF0; //D口清零

// 中断设置

PIR1=0X00;

PIE1=0X00;

RCIE=1;

TXIE=0;

INTCON=0X00;

PEIE=1;

GIE=1;

}

void interrupt uart()

{

if(1==RCIF)

{

RCIF=0;

RC_data=RCREG;

TXREG=RC_data;

}

if(1==TXIF)

{

TXIF=0;

PORTD=0X0F;

}

}

main()

{

usart_init(); //初始化

while(1);

}

单片机编程,本身不区分RS232与RS485。如果你需要RS485通讯,可以用MAX488芯片实现485通讯。再用个RS232-485转换器,接到计算机上,用个串口调试工具就能用了。

如果你习惯用C语言写程序的话,先告诫你,PIC系列的8位单片机很少用汇编写程序的。微芯也没推出针对pic8位单片机的C语言编译器(PIC18除外)。所以要用到C的时候,要用PICC这个编译器(这软件最便宜的也要五六百,但网上有破解)。如果用pic18系列或者PIC的16位单片机的话,推荐用微芯出的C语言编译器。(比PICC还贵,但也有破解的)。

单片机的结构可以精划分为内核+外设;

即 “单片机内核+外设 = 单片机”,如果内核相同的两个单片机,相互之内是兼容的,虽不完全兼容,但是可以达到85%,比如说AT89S53和STC89系列的,都是51的内核,所以他们是85%兼容的,基本上AT89S53上内运行的,在STC89系列都能运行。

而你问的两种单片机,同属于一种内核,即8051内核,所以85%以上是能通用的,只有个别的寄存器可能需要小小改动一下。

以上就是关于求PIC单片机与上位机的485通讯程序全部的内容,包括:求PIC单片机与上位机的485通讯程序、pic单片机用什么开发软件(pic单片机开发环境)、pic单片机程序不同能用吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10102592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存