PIC单片机(PIC16F877A)串行收发程序
2012-07-18 18:27
155 查看
#include<pic.h> #define uchar unsigned char uchar rtemp,sflag; void SerialInit(void) { TXSTA=0x24; //开启发射使能位、高波特率,TRMT初始值可0可1 RCSTA=0x90; //开启串口、连续接收、 SPBRG=0x19; //4M晶振,波特率9600,则SPBRG初值为25 RCIE=1; //开启串口接收完成中断 GIE=1; //开全局中断 PEIE=1; //开第一外设中断 } void interrupt SerialService(void) //接收中断 { if(RCIE&&RCIF) { RCIF=0; //清零接收完成标志位 rtemp=RCREG; //读接收缓冲区 sflag=1; } } void main(void) { SerialInit(); while(1) { if(sflag==1) { RCIE=0; //发送前关闭接收中断允许位 sflag=0; TXREG=rtemp; //数据送发送缓冲区 while(!TXIF); //等待发送完成,众想教程中查询的是TRMT,并且发完后未清零TRMT TXIF=0; //清零发送完成标志位 RCIE=1; //发送完成开启接收中断允许位 } } }
![](http://my.csdn.net/uploads/201207/18/1342607751_9477.jpg)
相关文章推荐
- PIC单片机(PIC16F877A)外部中断程序
- PIC单片机(PIC16F877A)DS1302芯片程序
- AVR单片机(ATMEGA16)串行收发程序
- 基于UDP的数据包收发程序(C#语言描述)
- 收发邮件Rcp程序笔记no.2
- MSP430F149串口收发程序详解
- 2440裸机程序——串口收发数据
- 【Python小程序】收发邮件并控制计算机
- PIC最简约的PWM波形产生程序(PIC16F877A)
- window QT 环境下编写网络程序(一)---简易的UDP收发程序
- window QT 环境下编写网络程序(二)---简易的UDP收发程序移植到Linux环境
- 一个简单的邮件收发程序
- 必须串行执行程序如何提高执行效率之队列方法
- STM32F030学习之串口收发程序
- SAP收发存报表程序
- VC在windows下编写用于串行通讯的程序
- 简单的串行通信程序
- 用Visual Basic设计手机短信收发程序
- 关于在网络中如何收发xml格式流的一种C#程序方法
- VC在windows下编写用于串行通讯的程序