查看: 980|回复: 0
打印 上一主题 下一主题

单片机间的RS232串行通信程序

[复制链接]
跳转到指定楼层
沙发
发表于 2015-4-23 20:10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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("*");                                                        // 发送字符
        }
}  


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表