技术热线: 4007-888-234
设计开发

专注差异化嵌入式产品解决方案 给智能产品定制注入灵魂给予生命

开发工具

提供开发工具、应用测试 完善的开发代码案例库分享

技术支持

从全面的产品导入到强大技术支援服务 全程贴心伴随服务,创造无限潜能!

新品推广

提供新的芯片及解决方案,提升客户产品竞争力

新闻中心

提供最新的单片机资讯,行业消息以及公司新闻动态

PIC16C73单片机的串口通讯

更新时间: 2019-03-23
阅读量:2462

十年专注单片机方案开发的方案公司英锐恩,分享PIC16C73单片机的串口通讯。英锐恩现提供服务产品涉及主控芯片:8位单片机、16位单片机、32位单片机及各类运算放大器等。

SPBRG=0x4d; //设置传输波特率为38400 SYNC=1; //选择同步模式 CSRC=1; //选择主控模式 TXEN=1; TXREG=98; TXEN=1; TXREG=101;

#include #define uchar unsigned char void interrupt R(void) { uchar x; if(RCIF) { x=RCREG; RB7=1; TXREG=x; //将x的值送到移位寄存器TXREG中,准备发送 TXEN=1; //使能发送 while(!TRMT); //等待发送完成 TXEN=0; RB7=0; }

} void init(void) { PORTA=0B11111110; TRISA=0B00000000; PORTB=0B11111110; TRISB=0B01100011; RB7=0; //RS-485的接受控制 SYNC=0; //0 = 异步模式 BRGH=0; //高速波特率使能位,0 = 低速 SPBRG=17; //使波特率=9600 SPEN=1; //1 = 允许串口工作( 把 RX/DT 和TX/CK 引脚配置为串口引脚 ) GIE=1; //开总中断 PEIE=1; //开外部中断 TXIE=0; //发送中断屏蔽 TX9=0; //0 = 选择8 位数据发送 RCIE=1; //接收中断使能 RX9=0; //0 = 选择8 位接收 CREN=1; //接受使能 } main() {uchar xx; init(); while(1) { } }