单片机测试程序
/******************************************
深圳市育松丰川电子有限公司
传感器触发测试
单片机:STC89C52
波特率:9600
产品用途:光线检测。
*****************************************/
#include <reg52.h>
unsigned char date;
#define uchar unsigned char
#define uint unsigned int
sbit key1=P0^1;
/* 函数申明 -----------------------------------------------*/
void delay(uint z);
void Initial_com(void);
//***********************************************************
/*
********************************************************************************
** 函数名称 : delay(uint z)
** 函数功能 : 延时函数
********************************************************************************
*/
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
//******************************
//*****串口初始化函数***********
//******************************
void Initial_com(void)
{
EA=1; //开总中断
ES=1; //允许串口中断
ET1=1; //允许定时器T1的中断
TMOD=0x20; //定时器T1,在方式2中断产生波特率
PCON=0x00; //SMOD=0
SCON=0x50; // 方式1 由定时器控制
TH1=0xfd; //波特率设置为9600
TL1=0xfd;
TR1=1; //开定时器T1运行控制位
}
//*************************
//**********主函数*********
//*************************
main()
{
Initial_com();
while(1)
{
if(key1==0)
{
delay(); //消抖动
if(key1==0) //确认触发
{
SBUF=0X01;
delay(200);
}
}
if(RI)
{
date=SBUF; //单片机接受
SBUF=date; //单片机发送
RI=0;
}
}
}