⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 stc15单片机测试程序V1.0版
💻 C
字号:
/***********************************************************
实验名称:串口
程序说明:本程序测试了串口
实验平台:stc15单片机开发板v1.0版
日期:2012-05-27
QQ:	259902530
www.stcstudy.com    61mcu.taobao.com  版权所有 
***********************************************************/
/*-------------------------------------
	UART1测试:使用波特率9600发送到单片机上
			   单片机将收到的程序发回PC。
			   可采用STC下载软件自带串口调试助手观察
---------------------------------------*/

#include "STC15F2K.h"
#include <intrins.H>

typedef unsigned char uchar;
typedef unsigned int  uint;


bit busy;
bit Flag;
uchar GetC;

void InitUART(void);
void SendData(uchar dat);
void SendString(uchar *s);

void main()
{
	P2=0x01;
	InitUART();
    SendString("IAP15F2K61S2\r\nUart Test !\r\n");
    while(1)
	{
	  if(Flag)
	  {
	     SendData(GetC);
		 Flag=0;
	  }
	}
}
/*----------------------------
    UART1初始化
-----------------------------*/
void InitUART(void)
{
    SCON = 0x50;                //8位可变波特率	
	AUXR1= AUXR1 & 0x3F; 
    AUXR = 0x40;                //定时器1为1T模式
    TMOD = 0x20;                //定时器1为模式2(8位自动重载)
    TL1 = 0xDC;   //设置波特率重装值
    TH1 = 0xDC;
    TR1 = 1;                    //定时器1开始工作
    ES = 1;                     //使能串口中断
    EA = 1;

}


/*----------------------------
UART 中断服务程序
-----------------------------*/
void Uart() interrupt 4 using 1
{
    if (RI)
    {
        RI = 0;                 //清除RI位
        GetC = SBUF;              //P0显示串口数据
		Flag=1;
    }
    if (TI)
    {
        TI = 0;                 //清除TI位
        busy = 0;               //清忙标志
    }
}

/*----------------------------
发送串口数据
----------------------------*/
void SendData(uchar dat)
{
    while (busy);               //等待前面的数据发送完成
    busy = 1;
    SBUF = dat;                 //写数据到UART数据寄存器
}

/*----------------------------
发送字符串
----------------------------*/
void SendString(uchar *s)
{
    while (*s)                  //检测字符串结束标志
    {
        SendData(*s++);         //发送当前字符
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -