模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

5938查看 | 22回复

[单片机课堂] 又调通一个串口程序分享一下方便大家学习

[复制链接]
发表于 2016-9-15 03:58:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
STC的范列程序太难理解了又长又丑 一怒之下
看了数据手册还是自己写吧
程序比较简单  很多关键的地方都做了详细的注释
可以当做 串口通信模板来用了
有需要的直接贴过去就OK
使用方法

在STC ISP串口助手上调试通过
硬件使用stc15w204s
下载好程序然后打开串口助手
然后打开串口选择对应的串口
在发送区输入要发送的数据就
可以在接收缓冲区看到发送的数据了
又调通一个串口程序分享一下方便大家学习 程序 作者:ldy7474 3737
                       

/*****************

                                stc15w204s
                             _______
                P1.2--1 |                | 16--P1.1
                P1.3--2 |                | 15--P1.0
                P1.4--3 |                | 14--P3.7--txd
                P1.5--4 |                | 13--P3.6--rxd
                P5.4--5 |                | 12--P3.3
                VCC --6 |                | 11--P3.2
                P5.5--7 |                | 10--P3.1--txd
                GND --8 |_______| 9 --P3.0--rxd
***/                          
//若无特别说明,工作频率一般为11.0592MHz
#include "reg51.h"
#include "intrins.h"

#define uint unsigned int
#define uchar unsigned char

#define FOSC 11059200L          //系统频率
#define BAUD 115200             //串口波特率
sfr P5          =   0xC8;   //xxxx,1111 端口5
sbit P50        =   P5^0;
sbit P51        =   P5^1;
sbit P52        =   P5^2;
sbit P53        =   P5^3;
sbit P54        =   P5^4;
sbit P55        =   P5^5;
sbit P56        =   P5^6;
sbit P57        =   P5^7;


sfr AUXR  = 0x8e;               //辅助寄存器
sfr T2H   = 0xd6;               //定时器2高8位
sfr T2L   = 0xd7;               //定时器2低8位

sfr P_SW1   = 0xA2;             //外设功能切换寄存器1

#define S1_S0 0x40              //P_SW1.6
#define S1_S1 0x80              //P_SW1.7

uchar flag ;
uint a;

sbit led = P5^5;

void main()
{       
        //a=1;
    ACC = P_SW1;
    ACC &= ~(S1_S0 | S1_S1);    //S1_S0=0 S1_S1=0
    P_SW1 = ACC;                //(P3.0/RxD, P3.1/TxD)
    SCON = 0x50;                //8位可变波特率
    SCON = 0xda;                //9位可变波特率,校验位初始为1
    SCON = 0xd2;                //9位可变波特率,校验位初始为0
    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;                                            //开总中断
        while(1)
        {
           if(flag==1)
                {
                        ES = 0;  //关串口中断开关
                        flag=0;//标志位清零
                        SBUF=a;//
                        //要发送什么数据就直接SBUF=你要发送的数据
                        //假设要发送ADC数据可以SBUF=ADC[];
                        while(!TI);//等待数据发送结束
                        TI=0;          //数据发送结束软件清零
                        ES = 1;  //开串口中断开关                               
                }               
        }               

}

/*----------------------------
UART 中断服务程序
-----------------------------*/
void Uart() interrupt 4
{               
                a=SBUF;//吧接收到的数据放到a这个变量中
                led=a;//
                RI=0;//软件清零清除串口接收中断标志位
                flag=1;//软件置1当做标志位到主函数里在清零               

}


又调通一个串口程序分享一下方便大家学习 程序 作者:ldy7474 1325
发表于 2016-9-15 07:15:43 | 显示全部楼层
路过帮顶
发表于 2016-9-15 08:09:11 | 显示全部楼层
水平杠杠滴
发表于 2016-9-15 09:26:07 | 显示全部楼层
好贴,顶起来……
发表于 2016-9-15 09:58:49 | 显示全部楼层
这是什么 看的不太明白?
发表于 2016-9-15 11:45:01 | 显示全部楼层
不用国产芯片
发表于 2016-9-15 13:54:07 | 显示全部楼层
祝大家中秋快乐,永不炸鸡
发表于 2016-9-15 19:22:14 | 显示全部楼层
哎呦不错哟,串口
发表于 2016-9-15 23:15:24 | 显示全部楼层
虽然看不懂但是感觉很厉害
发表于 2016-9-16 00:02:47 | 显示全部楼层
大神教程
发表于 2016-9-16 09:16:26 | 显示全部楼层
好贴,顶起来……
发表于 2016-9-16 09:45:10 | 显示全部楼层
学习一下
发表于 2016-9-16 15:02:19 来自手机 | 显示全部楼层
菜鸟飞过。。。顶。能再详细点吗?
发表于 2016-9-16 15:05:56 来自手机 | 显示全部楼层
没看仔细当我放屁咯
发表于 2016-9-16 21:44:56 | 显示全部楼层
帮顶                                                      
发表于 2016-9-18 09:00:57 | 显示全部楼层
好多都是“一怒之下 ”, “闲来无事”等等来做点什么。。。。。。。。。
发表于 2016-9-18 10:11:04 | 显示全部楼层
sbuf 是什么
发表于 2016-9-18 10:45:01 | 显示全部楼层
这是什么 看的不太明白?
发表于 2016-9-22 16:57:37 | 显示全部楼层
路过帮顶                    
发表于 2016-10-14 18:00:19 | 显示全部楼层
stc的手册也挺恶心的,不知道他们是什么审美观。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!