找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5526|回复: 0
收起左侧

STC8a8k64S单片机串口程序

[复制链接]
ID:270157 发表于 2018-5-8 16:05 | 显示全部楼层 |阅读模式
#include <STC8.h>
void ConfigUART(void);//波特率发生器设置函数定义

void main()   
{
        EA = 1;      //允许中断
        ConfigUART();  //调用函数
        while(1);              //死循环
}

void ConfigUART(void)
{
        PCON &= 0x7F;                //波特率不倍速
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x40;                //定时器1时钟为Fosc,即1T
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //清除定时器1模式位
        TMOD |= 0x20;                //设定定时器1为8位自动重装方式
        TL1 =0xB2;//256-(11059200/12/32)/baud;                //设定定时初值
        TH1 = TL1;                //设定定时器重装值
        ET1 = 0;                //禁止定时器1中断
        ES = 1;
        TR1 = 1;                //启动定时器1
}

void InterruptUART() interrupt 4
{
        if(RI)          //检测接收标志位是否为1
        {
                RI = 0;        //为1则清零
                SBUF = SBUF +1; //数据加1
        }
        if(TI)     //检测发送标志位是否为1
        {
                TI = 0;   //为1清零
        }
}

1.JPG
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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