加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于51單片機(jī)的語音播報(bào)酒精檢測(cè)儀設(shè)計(jì)

12/12 08:16
787
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

設(shè)計(jì)要求:

(1)數(shù)據(jù)采集系統(tǒng)以單片機(jī)為控制核心,外圍電路帶有LCD顯示以及鍵盤響應(yīng)電路,無需要其他計(jì)算機(jī),用戶就可以與之進(jìn)行交互工作,完成數(shù)據(jù)的采集、存儲(chǔ)、計(jì)算、分析等過程。

(2)系統(tǒng)具有低功耗、小型化、高性價(jià)比等特點(diǎn)。

(3)從便攜式的角度出發(fā),系統(tǒng)成功使用了液晶顯示器以及小鍵盤。由單片機(jī)系統(tǒng)控制鍵盤和LCD顯示來實(shí)現(xiàn)人機(jī)交互操作,界面友好。

include <reg52.h>
#include <intrins.h>
//顯示函數(shù)
#include <display.h>
#include <4004.h>

//宏定義
#define uint unsigned int 
#define uchar unsigned char
#define Data_ADC0809 P1
 
//管腳聲明
//sbit LED_R= P2^2; //紅指示燈
//sbit LED_G= P2^0; //綠色指示燈
//sbit FENG = P2^5; //蜂鳴器
//ADC0809
sbit ST=P3^3;
sbit EOC=P3^1;
sbit OE=P3^2;
//按鍵
sbit Key1=P2^5;	//設(shè)置按鍵
sbit Key2=P2^4; //加
sbit Key3=P2^3;	//減
sbit Key4=P2^2;

bit bdata flag;//指示燈和蜂鳴器閃爍報(bào)警標(biāo)志位
uchar set;	  //設(shè)置標(biāo)志位


//函數(shù)聲明
extern uchar ADC0809();
extern void Key();

//酒精含量變量
uchar temp=0;

uchar WARNING=25; // 初始報(bào)警值

void delay_2S(void)   //4S
{
    uchar a;
	uchar b,c;
    for(c=90;c>0;c--)
        for(b=171;b>0;b--)
            for(a=16;a>0;a--);
    _nop_();  //if Keil,require use intrins.h
}
//初始化函數(shù)
/*void init()	 
{
	TMOD=0x01; //定時(shí)器0方式1
 	TL0=0xb0;
 	TH0=0x3c;  //賦初值
 	EA=1;	//開總中斷
	ET0=1;	//允許定時(shí)器0中斷
 	TR0=1;	//定時(shí)器0開
}  */
 //主函數(shù)
void main()
{
	uchar p=0;
	uint sum;
	Init1602();	//1602初始化
//	init();	 //初始化函數(shù)
	while(1)//主循環(huán)
	{
		for(p=0;p<20;p++)
		{
			temp=ADC0809();	//讀取酒精值
			sum=sum+temp;
		}
		temp=sum/20;
		sum=0;
		
		if(set==0) //如果沒有按下設(shè)置(默認(rèn)set是0,就是正常顯示狀態(tài))
		Display_1602(temp,WARNING,Mode);	 //顯示酒精值
		//開始語音播報(bào)
	if(set==0)
	{
			//現(xiàn)在濃度
			playbit=1;
			playcout=1;
			playsound();
			delay_2S();
			delay_2S();
			DDstop();	
			//第一位
			playbit=1;
			playcout=(temp/100)+2;
			playsound();
			delay_2S();
			DDstop();	
			//第二位
			playbit=1;
			playcout=(temp%100/10)+2;
			playsound();
			delay_2S();
			DDstop();	
			//第三位
			playbit=1;
			playcout=(temp%100%10)+2;
			playsound();
			delay_2S();
			DDstop();
/*			//米
			playbit=1;
			playcout=12;
			playsound();
			delay_2S();
			DDstop();	*/

		if(temp<WARNING&&set==0)	//如果實(shí)際的酒精值小于報(bào)警值且在正常顯示狀態(tài)下
		{
//			flag=0;	 //執(zhí)行下面flag=0的(主要就是綠燈閃,關(guān)蜂鳴器和繼電器)
			//濃度正常
			playbit=1;
			playcout=12;
			playsound();
			delay_2S();
			delay_2S();
			DDstop();
		}
		else if(temp>WARNING&&set==0)  //如果實(shí)際的酒精值大于報(bào)警值且在正常顯示狀態(tài)下
		{
//			flag=1;	//執(zhí)行下面flag=1的(主要就是紅燈閃,開蜂鳴器和繼電器)
			//濃度超標(biāo)
			playbit=1;
			playcout=13;
			playsound();
			delay_2S();
			delay_2S();
			DDstop();
		}
		delay_2S();	
		//錄音鍵按下
		if(Key4==0)
		{
			Mode=1;
			while(Mode!=14)
			{
				//按鍵判斷
				if(Key4==0)
				{
					Mode++;
					Display_1602(0,0,Mode);
					while(Key4==0);
					//開始錄音
					playbit=0;
					recbit=1;
				//	playcout=Mode-1;
					

資料借鑒于此?紛傳

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

相關(guān)推薦

電子產(chǎn)業(yè)圖譜