单片机间的RS232串行通信程序
2008-09-07 18:58
246 查看
单片机间的RS232串行通信程序
#include<reg52.h>
#include <absacc.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
uchar FREQ; /*定时器计数变量*/
void main(void)
{
// 以下是设置中断和定时器
EA=1; PT0=1;
ET0=1;
IT0=1;IT1=1;
EX0=1;EX1=1;ET2=1;
T2CON=0x08;
TMOD=0x21;
// 定时器0为产生1ms的中断,定时器1为9600bit/s 的波特率发生器
TH0=-1000/256;
TL0=-1000%256;
TL1=0xfd;
TH1=0xfd;
SCON=0x50;
PCON=0x80;
// 开定时器
TR1=1;
TR0=1;
TI=1;
while(1){}
}
// 定时器0的中断服务程序,向串口发送姿态数据。
void intsvr1(void) interrupt 1
{
// 重新装入定时器0的初值;
TH0=-10000/256;
TL0=-10000%256;
FREQ=FREQ+1; // 定时器T0的低四位赋值
if (FREQ==1000) // 1秒判断
{
FREQ=0;
printf("*"); // 发送字符
}
}
#include<reg52.h>
#include <absacc.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
uchar FREQ; /*定时器计数变量*/
void main(void)
{
// 以下是设置中断和定时器
EA=1; PT0=1;
ET0=1;
IT0=1;IT1=1;
EX0=1;EX1=1;ET2=1;
T2CON=0x08;
TMOD=0x21;
// 定时器0为产生1ms的中断,定时器1为9600bit/s 的波特率发生器
TH0=-1000/256;
TL0=-1000%256;
TL1=0xfd;
TH1=0xfd;
SCON=0x50;
PCON=0x80;
// 开定时器
TR1=1;
TR0=1;
TI=1;
while(1){}
}
// 定时器0的中断服务程序,向串口发送姿态数据。
void intsvr1(void) interrupt 1
{
// 重新装入定时器0的初值;
TH0=-10000/256;
TL0=-10000%256;
FREQ=FREQ+1; // 定时器T0的低四位赋值
if (FREQ==1000) // 1秒判断
{
FREQ=0;
printf("*"); // 发送字符
}
}
相关文章推荐
- 单片机和PC之间的串行通信程序
- 简单的串行通信程序
- 两个80c51单片机之间怎样进行串行通信
- 两个80c51单片机之间怎样进行串行通信
- (转)串行通信与单片机串行口
- PIC16单片机端C语言serial bootloader和PC端C#语言bootloader串口通信程序
- PIC18单片机端C语言serial bootloader和PC端C#语言bootloader串口通信程序
- 基于STC15F2K08S2单片机和JDY-10蓝牙模块的串行通信
- Linux PC和51系列单片机串行通信的设计
- 51 单片机 C 语言串行双机通信的问题
- 基于STC15F2K08S2单片机和JDY-10蓝牙模块的串行通信
- 在VC++中用ActiveX控件实现与单片机的串行通信
- 串行通信总结(实现两个单片机之间的通信)(很好的例子,跟风进步)
- 在VC++中利用ActiveX控件开发串行通信程序
- 51 单片机 C 语言异步串行双机通信多字节传输
- 单片机RS485通信接口、控制线、原理图及程序实例
- 刚刚在看52单片机和GPS通信程序的时候,看到了一个函数,absacc.h,貌似从来没有遇到过,百度了一下,结合自己的理解,整理如下: http://blog.sina.com.cn/s/blog_4
- PIC单片机之EUSART串行通信接口
- 基于STC15F2K08S2单片机和JDY-10蓝牙模块的串行通信
- 用Pcomm Pro开发串行通信程序