77范文网 - 专业文章范例文档资料分享平台

STC15F2K60S2系列串口1通信程序

来源:网络收集 时间:2020-05-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

#include #include \#include

#define FOSC 12000000L //系统频率 #define BAUD 9600 //串口波特率

#define S1_S0 0x40 //P_SW1.6 #define S1_S1 0x80 //P_SW1.7 unsigned char a,i=0;

unsigned char String[32];

bit busy;

/*************系统初始化****************/ void sys_init(void) { P20=1; P32=1; P33=1; //P_SW1=0x40; //P3.6/P3.7串口1 RXD/TXD //P_SW1=0x80; //P1.6/P1.7串口1 RXD/TXD }

/*************UART_1 初始化****************/

void UartInit(void) {

SCON = 0x50; //8位数据,可变波特率 T2L = (65536 - (FOSC/4/BAUD)); //设置波特率重装值 T2H = (65536 - (FOSC/4/BAUD))>>8;

AUXR = 0x14; //T2为1T模式, 并启动定时器2

AUXR |= 0x01; //选择定时器2为串口1的波特率发生器 ES = 1; //使能串口1中断 EA = 1; }

/*************发送字符****************/ void SendData(unsigned char dat) {

while (busy); //等待前面的数据发送完成 busy = 1;

SBUF = dat; //写数据到UART数据寄存器 }

/*************发送字符串****************/

void SendString(char *s) {

while (*s) //检测字符串结束标志 {

SendData(*s++); //发送当前字符 } }

/*************主函数****************/ void main() { sys_init(); UartInit(); while(1) { if(P33==0) { // P20=0; SendString(\ } if(P32==0) { // P20=1; //SendData(a); SendString(String); } } }

/*************UART_1 中断服务程序****************/ void Uart1() interrupt 4 using 1 {

if (RI) {

RI = 0; //清除RI位

String[i++]= SBUF; //P0显示串口数据 if(i>8) i=0;

} if (TI) {

TI = 0; //清除TI位 busy = 0; //清忙标志 } }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库STC15F2K60S2系列串口1通信程序在线全文阅读。

STC15F2K60S2系列串口1通信程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1035480.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: