标题: 实验16 单片机串口与PC通信 [打印本页]

作者: 123fei    时间: 2016-3-29 19:39
标题: 实验16 单片机串口与PC通信
/*********************************************************************************
* 【Q      Q】: 348439350
* 【声    明】: 此程序仅用于学习与参考,引用请注明版权和作者信息!
* 【函数功能】: 串口中断程序实验——通过单片机向电脑发送数据,同时电脑将收到的数据发出                                                                                          
**********************************************************************************/


/*预处理命令*/
#include <reg52.h>                   //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
uchar num,a;

/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
********************************************************************************
*/
void main()
{
        TMOD=0x20;                   //用定时器设置串口波特率           9600
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
        REN=1;          //串口初始化
        SM0=0;
        SM1=1;
        EA=1;           //开启总中断
        ES=1;
        while(1)
        {
                if(num==1)    //判断是否有串口数据的传送
                {
                        ES=0;
                        num=0;
                        SBUF=a;                         //发送数据a到SBUF,即将单片机的数据发送到计算机
                        while(!TI);
                        TI=0;
                        ES=1;
                }
        }        
}
void ser() interrupt 4
{
        RI=0;
        P2=SBUF;                        //接收数据SBUF,即将计算机的数据接收。
        a=SBUF;
        num=1;
}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1