|
/******************************************
傳感器觸發(fā)測試
單片機(jī):STC89C52
波特率:9600
*****************************************/
#include <reg52.h>
unsigned char date;
#define uchar unsigned char
#define uint unsigned int
sbit key1=P0^1;
/* 函數(shù)申明 -----------------------------------------------*/
void delay(uint z);
void Initial_com(void);
//***********************************************************
/*
********************************************************************************
** 函數(shù)名稱 : delay(uint z)
** 函數(shù)功能 : 延時函數(shù)
********************************************************************************
*/
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
//******************************
//*****串口初始化函數(shù)***********
//******************************
void Initial_com(void)
{
EA=1; //開總中斷
ES=1; //允許串口中斷
ET1=1; //允許定時器T1的中斷
TMOD=0x20; //定時器T1,在方式2中斷產(chǎn)生波特率
PCON=0x00; //SMOD=0
SCON=0x50; // 方式1 由定時器控制
TH1=0xfd; //波特率設(shè)置為9600
TL1=0xfd;
TR1=1; //開定時器T1運(yùn)行控制位
}
//*************************
//**********主函數(shù)*********
//*************************
main()
{
Initial_com();
while(1)
{
if(key1==0)
{
delay(); //消抖動
if(key1==0) //確認(rèn)觸發(fā)
{
SBUF=0X01;
delay(200);
}
}
if(RI)
{
date=SBUF; //單片機(jī)接受
SBUF=date; //單片機(jī)發(fā)送
RI=0;
}
}
}
|
評分
-
查看全部評分
|