单片机编程-从电脑发送数据到单片机并控制灯闪烁


/****************************************************************
                                                              
程序名称:  程序自动接收电脑端发送过来的2位,如果发过来的
      字符是0-F,8盏灯会有相应的显示            
说明:使用本程序你必须把电脑端的串口调试软件上把显示方式设置为 "字符"
 波特率设置为9600,串口COM号设置为USB上的COM号,其他的默认
                                                                               
*****************************************************************/




#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char




void init() /* 串口定时器外部中断初始化 */
{
    TMOD = 0x21;
    TH1  = 0xfd;
    TL1  = 0xfd;  /* 9600 */
TR1  = 1;
    SCON = 0x50;  /* 工作在方式1*/
    TR0  = 1;     /*启动计数*/
    EA   = 1;     /*开总中断*/
    ET0  = 1;     /*开定时器0中断*/
}

/*———————————————–
显示部分程序,采用定时器0产生中断,1MS更新一次
————————————————*/
void SLED_Disp() interrupt 1 using 3
{

}


/*****************************************************
函数功能:主函数
***************************************************/
void main()
{
uchar temp;
init(); /*允许串口接收*/
while(1){
if(RI==1){ /*有串口数据过来*/
RI = 0;
temp = SBUF;
P0 = temp;
SBUF = temp; 
while(TI==0) TI=0; /*等待发送完成*/
}
}

}
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: