1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 红外避障模块(红外对管)51单片机驱动源程序

红外避障模块(红外对管)51单片机驱动源程序

时间:2018-08-24 00:38:24

相关推荐

红外避障模块(红外对管)51单片机驱动源程序

避障传感器模块电路图

51单片机源程序:

/******************************************

传感器触发测试

单片机: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;

…………余下代码请下载附件…………

复制代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。