- #include <reg52.h>
- #include<stdio.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code table[]="I get";
- bit flag;//外部接收数据标志位
- uchar a;//串口接收数据寄存
- send()
- {
- uint i;
- ES=0;
- for(i=0;i<6;i++)
- {
- SBUF=table[i];
- while(!TI);
- TI=0;
- }
- SBUF=a;
- while(!TI);
- TI=0;
- ES=1;
- flag=0;
- }
- Init_com()
- { P1=0XFF;
- TMOD=0x20; //定时器T1 PCON &= 0xef;
- SCON=0x50; //sm0=0,sm1=1为方式1;sm2=0;ren=1;
- TH1=0xfd; //波特率设置为9600
- TL1=0xfd;
- TR1=1; //开定时器T1运行控制位
- P1=0xff;//关闭led
- }
- main()
- {
- Init_com();
- while(1)
- {
- if(flag==1)//只有先收到来自电脑的信号后单片机才将数据发给电脑
- {
- send();
- }
-
- }
- }
- void ser() interrupt 4
- {
- RI=0;
- a=SBUF;
- flag=1;
- P1=0;//用来测试有收到电脑的信号
- }
|