#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单片机程序不同能用吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)