• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的聲控?zé)粼O(shè)計(jì)【光照,聲音,紅外】(仿真)

2024/11/19
5530
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

有需要資料的可了解一下.docx

共1個(gè)文件

設(shè)計(jì)一個(gè)聲、光、紅外同時(shí)控制的門燈系統(tǒng):

1、光敏控制燈在白天不亮,只在晚上聲控檢測(cè)到聲音或者紅外檢測(cè)到人靠近時(shí)燈亮;

2、聲音消失或人離開(kāi)后延時(shí)30秒燈熄滅。

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

sbit ADCLK=	P1^0;//時(shí)鐘,初始狀態(tài)為0
sbit ADDI=	P1^1;//數(shù)據(jù)輸入
sbit ADDO =	P1^2; // 數(shù)據(jù)輸出
sbit ADCS=	P1^3;

sbit led=P3^3;//燈

sbit man=P3^2;//人體

sbit voice=P3^1;//聲音

uint miao=0;//計(jì)時(shí)

//將AD轉(zhuǎn)換來(lái)的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)
unsigned int zhuanhuan()  //AD轉(zhuǎn)換,返回結(jié)果
{
	unsigned char i = 0,channel=2;
	unsigned char j;
	unsigned int dat = 0;
	unsigned char ndat = 0;

	ADDI = 1;//輸入引腳拉高
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCS = 0;//片選
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 1;//拉高時(shí)鐘
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 0;//拉低時(shí)鐘
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 1;//拉高時(shí)鐘
	ADDI = channel & 0x1;
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 0;//拉低時(shí)鐘
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 1;//拉高時(shí)鐘
	ADDI = (channel >> 1) & 0x1;
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	ADCLK = 0;//拉低時(shí)鐘
	ADDI = 1;//輸出1
	_nop_();//延時(shí)1us
	_nop_();//延時(shí)1us
	dat = 0; //存儲(chǔ)清零
	for (i = 0; i < 8; i++)	//循環(huán)8次
	{
		dat |= ADDO;//讀取引腳
		ADCLK = 1; //拉高時(shí)鐘
		_nop_();//延時(shí)1us
		_nop_();//延時(shí)1us
		ADCLK = 0;//拉低時(shí)鐘
		_nop_();//延時(shí)1us
		_nop_();//延時(shí)1us
		dat <<= 1;//左移
		if (i == 7) dat |= ADDO;//讀取引腳
	}

?

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!