中科因仑“3+1”工程特种兵精英论坛

标题: 002、简单的发送程序 [打印本页]

作者: 张衍波    时间: 2015-5-5 17:12
标题: 002、简单的发送程序

/********************************************************************
                            汇诚科技

实现功能:此版配套测试程序
使用芯片:STC12C2052AD
晶振:11.0592MHZ
波特率:9600
编译环境:Keil
作者:zhangxinchunleo
网站:www.ourhc.cn
淘宝店:汇诚科技 http://shop36330473.taobao.com
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     

*********************************************************************/
#include<stc12c2052AD.h>                 //库文件
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int  //宏定义无符号整型
uchar dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容

sbit P14=P1^4;//数据发送按键

///////功能:串口初始化,波特率9600,方式1/////////
void Init_Com(void)
{
        PCON &= 0x7f;                //波特率不倍速
        SCON = 0x50;                //8位数据,可变波特率
        AUXR &= 0xbf;                //定时器1时钟为Fosc/12,即12T
        AUXR &= 0xfe;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0f;                //清除定时器1模式位
        TMOD |= 0x20;                //设定定时器1为8位自动重装方式
        TL1 = 0xFD;                //设定定时初值
        TH1 = 0xFD;                //设定定时器重装值
        ET1 = 0;                //禁止定时器1中断
        TR1 = 1;                //启动定时器1
}

/********************************************************************
                            主函数
*********************************************************************/
void main()
{
Init_Com();//串口初始化
while(1)
{
dat=0x10;  //要发送的数据
if(P14==0)//当按键按下时开始发送数据
{
while(!P14);//消隐

RI=0; //RI 清零。

SBUF = dat; //把数据发送出去
}
}
}
       
/********************************************************************
                              结束
*********************************************************************/
[attach]2707[/attach]






欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4