freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的酒精濃度測(cè)試的設(shè)計(jì)與研究_畢業(yè)設(shè)計(jì)-閱讀頁(yè)

2025-07-25 16:06本頁(yè)面
  

【正文】 0LED 是英文 light emitting diode(發(fā)光二極管)的縮寫,它的基本結(jié)構(gòu)是一塊電致發(fā)光的半導(dǎo)體材料,置于一個(gè)有引線的架子上,然后四周用環(huán)氧樹脂密封,起到保護(hù)內(nèi)部電路的效果,所以 LED 的抗震性能很好。在某些半導(dǎo)體材料 的 PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時(shí)會(huì)把多余的能量以光的形式釋放出來(lái),從而把電能直接轉(zhuǎn)換為光能。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱 LED。 按鍵圖 14 聲光報(bào)警電路 本設(shè)計(jì)中采用的是聲光同事報(bào)警,在采集到的酒精濃度的值超過(guò)報(bào)警值時(shí),電路同事發(fā)出聲光報(bào)警信號(hào)。三極管選擇9012 型三極管,它的發(fā)射極直接連接 +5V 電源,基極通過(guò) 1K 的電阻和單片機(jī)的 引腳相連,集電極連接蜂鳴器的正極,蜂鳴器的負(fù)極接地。工作過(guò)程為:當(dāng)酒精濃度值大于設(shè)定的上限值,程序會(huì)將對(duì)應(yīng)三極管基極連接的單片機(jī)引腳置為低電平,這樣三極管就可以驅(qū)動(dòng)蜂鳴器和發(fā)光二極管工作,發(fā)出聲光報(bào)警。隨著 計(jì)算機(jī)技術(shù)的不斷進(jìn)步,計(jì)算機(jī)程序設(shè)計(jì)也在不斷向前發(fā)展,用來(lái)描述 程序 的語(yǔ)言也在不斷地進(jìn)步完善, 程序設(shè)計(jì)語(yǔ)言也從初期的機(jī)器語(yǔ)言到用符號(hào)表示的匯編語(yǔ)言以至發(fā)展到高級(jí)語(yǔ)言。 本設(shè)計(jì)使用 Keil 軟件開發(fā)平臺(tái)。 Keil 軟件介紹 隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展, Keil C51 軟件是一個(gè)基于 32 位 Windows環(huán)境的應(yīng)用程序,支持 C 語(yǔ)言和匯編語(yǔ)言編程,其 以上的版本將編譯和仿真軟件統(tǒng)一為 uVision2 (通常稱為 uV2)。 利用 Keil 軟件編程流程: (1)建立一個(gè)新工程:?jiǎn)螕?Project 菜單,在彈出的下拉菜單中選中 New Project 選項(xiàng) ; (2)選擇單片機(jī)的型號(hào) ,根據(jù)所使用的單片機(jī)來(lái)選擇 ,本設(shè)計(jì)所使用的是 STC89C52, 選擇 STC89C52 之后 ,然后點(diǎn)擊確定 設(shè)置工程的配置參數(shù) , 選中創(chuàng)建 HEX 文件 ; (3)打開 /建立程序文件。在進(jìn)行編譯和鏈接前,需要將創(chuàng)建的源代碼文件添加到工程中,在 Source Group1 處單擊右鍵然后點(diǎn) add group..; (5)糾正程序中的書寫和語(yǔ)法錯(cuò)誤并重新編譯連接。 系統(tǒng)軟件設(shè)計(jì) 系統(tǒng)的軟件設(shè)計(jì) 分為 C 語(yǔ)言程序。 主程序流程圖 本設(shè)計(jì) 發(fā)送端與接收端 分別使用一個(gè)單片機(jī)作為控制芯片,發(fā)送端主程序包括酒精濃度檢測(cè)子程序、顯示子程序、無(wú)線通信子程序的初始化聲明,以及將各子程序聯(lián)系起來(lái)共同完成發(fā)送端的所有功能;接收端主程序包括無(wú)線接收子程 16 序、按鍵設(shè)定上 限值、串口子程序的初始化聲明及各子程序聯(lián)系。首先對(duì) AD 轉(zhuǎn)換器進(jìn)行初始化 ,然后將其 0通道輸入的 05V 的模擬信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)字量 OOHFFH,然后將對(duì)應(yīng)數(shù)值存儲(chǔ)到 3FH 內(nèi)存單元。在對(duì) LCD1602編程時(shí),首 先需要對(duì)其初始化,測(cè)試 LCD1602 是否處在忙碌狀態(tài),若忙碌則等待到空閑時(shí)間,檢測(cè)到空閑時(shí)對(duì)其進(jìn)行寫控制指令。由于 LCD1602 自帶字母字符庫(kù)和數(shù)字字符庫(kù),因此可以直接可以在程序中寫字母和數(shù)字字符。 // LCD_WriteCmd(CMD_CLEAR_SCREEN)。 LCD_WriteCmd(CMD_WORK_MODE)。 // LCD_WriteCmd(CMD_HOME)。 LCD_WriteCmd(CMD_INPUT_MODE3)。 LCD_WriteCmd(CMD_DISPLAY_MODE1)。 LCD_WriteCmd(CMD_DDRAM_ADDR)。而且所要報(bào)警的手機(jī)號(hào) 碼可以通過(guò)發(fā)送短信的方式進(jìn)行更改。 unsigned char ct=0。 void delay_ms(unsigned char ms) { unsigned int j。ms0。j0。 } void clear_buffer() { unsigned char i。i120。 ct=0。 // uart1_init()。 delay_ms(500)。 clear_buffer()。 } else { clear_buffer()。 if(time==MAX_TIME) return 0。 } unsigned char gsm_init() { if(init_mand(AT\r)==0) return AT_ERROR。 19 if(init_mand(AT+CNMI=1,1,2\r)==0) return CNMI_ERROR。 return 0。 delay_ms(500)。 delay_ms(500)。 delay_ms(500)。 uart1_sendstring(num)。\r39。 delay_ms(500)。 uart1_send(0x1a)。 clear_buffer()。 } void get_message(unsigned char *numbuf,unsigned char *buf) { unsigned char *p。 unsigned char n。 if(strstr(gsm_buffer,+CMTI)!=NULL) { 20 p=strchr(gsm_buffer,39。)。 clear_buffer()。 uart1_send(n)。\r39。 delay_ms(1000)。,39。 p+=2。39。 memset(numbuf,0,20)。 // p=NULL。 p1=strchr(p1,39。)。 p1=strchr(p1,39。)。 p=strchr(p1,39。)。 else memcpy(buf,p1,pp1)。 } else { if((pp1)39) memcpy(buf,p1,pp1)。 } */ p1=NULL。 uart1_sendstring(AT+CMGD=)。 uart1_send(39。)。 clear_buffer()。 } } void uart1() interrupt 4 { if(RI) { if(ct119) { gsm_buffer[ct]=SBUF。 } RI=0。 uart1_busy=1。本電路中報(bào)警電路分為蜂鳴器報(bào)警電路和發(fā)光報(bào)警電路兩部分 ,當(dāng)輸入端 ,有電流通過(guò)蜂鳴器 ,蜂鳴器發(fā)出聲 音報(bào)警 。當(dāng)輸人端 為低電平時(shí) ,LED 點(diǎn)亮報(bào)警 ,反之輸入端 為高電平則不報(bào)警。傳感器輸入值經(jīng) A/D 轉(zhuǎn)換后 ,首先調(diào)用比較子程序 ,再進(jìn)行數(shù)據(jù)處理、數(shù)據(jù)顯示和測(cè)量值與閾值之間的比較運(yùn)算 ,小于閾值則繼續(xù)執(zhí)行顯示程序 ,若大于閾值則將單片機(jī)的 、 兩端口清零進(jìn)行聲光報(bào)警。 40H 和 50H 分別存放的是處理后的測(cè)量值與閾值的百位的 壓縮 BCD碼 ,41H和 51H分別存放的是處理后的測(cè)量值與閾值的十位壓縮的 BCD碼 ,42H和 52H分別存放的是處理后的測(cè)量值與閾值的個(gè)位的壓縮 BCD 碼。 串行口子程序 串行傳送數(shù)據(jù)時(shí)需傳 8 個(gè)值, 兩個(gè)監(jiān)測(cè)點(diǎn)的 溫 濕度 值和 4 個(gè)設(shè)定的溫濕度上 22 限值 。發(fā)送 中 將兩組溫濕度值存放到一個(gè)數(shù)組中,每次發(fā)送時(shí)調(diào)用 8 次串口發(fā)送程序?qū)?shù)據(jù)發(fā)送出去。初始化程序如下: void uart1_init() { /* SCON=0X50。 PCON amp。 TH1=TL1=0xfd。 ES=1。 */ PCON |= 0x80。 //UART0 set as 10bit , UART0 RX enable TMOD amp。 //Timer1 Set as Timer, 12T TMOD = (TMOD amp。 //Timer1 set as 8 bits auto relaod TH1 = T1_TimerReload。 ES = 1。 } void uart2_init() { /* S2CON=0X5a。 AUXR=0X14。 EA=1。 //串口 2 波特率加倍 S2CON = (S2CON amp。 //串口 2 模式 1, 8 位 UART,(2^S2SMOD / 32) * BRT 溢出率 S2CON |= 1 4。 //baudrate use BRT BRT = BRT_Reload。 //允許串口 2 中斷 } 需要發(fā)送的數(shù)據(jù)通 過(guò)單片機(jī)的串口 SBUF 送出去,完成后會(huì)自動(dòng)將發(fā)送完成標(biāo)志位 TI 置 1,通過(guò)檢測(cè) TI 的值檢測(cè)是否發(fā)送完成。首先需要使用 Protel DXP 軟件繪制 整體 的電路原理圖,然后 按照設(shè)計(jì)原理要求 使用 Keil 軟件新建工程,編寫程序 。 在本次設(shè)計(jì)中, 酒精濃度采集采用 MQ3 氣敏傳感器, 輸出信 號(hào)為數(shù)字信號(hào)可直接與單片機(jī)進(jìn)行通信,因此電路連接簡(jiǎn)單明了。無(wú)線傳通信模塊 采用 GSM 模塊。 在電路原理圖繪制的過(guò)程中,由于不太熟悉 Protel DXP 軟件, 我 通過(guò) 查閱相關(guān)參考資料、明確了電路圖繪制流程。 系統(tǒng) 焊接前應(yīng)熟悉各芯片的引腳,焊接時(shí)參照電路圖,仔細(xì)地連接引腳。這樣便可大大節(jié)省時(shí)間,也可降低出錯(cuò)率。 程序編寫完 成后,首先進(jìn)行編譯確保程序沒有語(yǔ)法問題,之后再生成 HEX 文件才可以下載到單片機(jī)中。采取的是自下到上的調(diào)試方法,即單獨(dú)調(diào)試好每一個(gè)模塊,然后再連接成一個(gè)完整的系統(tǒng),最后完成一個(gè)完整的系統(tǒng)調(diào)試。主要任務(wù)是檢驗(yàn) 是否按照設(shè)想的 功能 顯示 效果 , 并校正數(shù)值。 這里采用分模塊調(diào)試,各模塊沒有問題 25 后再將模塊組合到一起進(jìn)行調(diào)試,得到 最終結(jié)果。在設(shè)計(jì)操作過(guò)程中遇到的問題及解決方法如下: 后,發(fā)現(xiàn)復(fù)位電路不起作用,無(wú)法對(duì)單片機(jī)復(fù)位。 ,串口無(wú)法找到。 LCD1602 總是一片綠屏,什么都沒有顯示。通過(guò)調(diào)節(jié)電阻,終于能夠正常顯示溫濕度值。 首先,通過(guò)收集資料,了解更多關(guān)于 酒精濃度檢測(cè)的 情況,設(shè)計(jì)出 酒精濃度檢測(cè) 系統(tǒng)的整體組成方案;其次,研究 酒精濃度 傳感器的檢測(cè)電路,無(wú)線 通信 模塊的特性, 酒精濃度 顯示 的實(shí)現(xiàn)條件,完成硬件的電路設(shè)計(jì);再次,對(duì)系統(tǒng)的各模塊進(jìn)行 C 語(yǔ)言編程設(shè)計(jì), 完成整體的軟件設(shè)計(jì);最后,利用 Keil 軟件進(jìn)行程序的調(diào)試 ,利用單片機(jī)開發(fā)板進(jìn)行 酒精濃度檢測(cè) 模塊,無(wú)線模塊及 軟硬件調(diào)試,成功后,動(dòng)手焊接電路板,完成畢設(shè)的全部任務(wù)。 由于研究時(shí)間、設(shè)計(jì)水平與個(gè)人能力有限的原因,本設(shè)計(jì)還存在一定的問題和可改進(jìn)的地方: (1) 由于程序過(guò)長(zhǎng)和無(wú)線傳輸?shù)脑颍瑪?shù)據(jù)的顯示需要一點(diǎn)延時(shí)時(shí)間; (2)系統(tǒng)的設(shè)計(jì)主要偏重于檢測(cè),還 可增加一些控制功能使設(shè)計(jì)更加智能化 ; 如果在此設(shè)計(jì)的基礎(chǔ)上進(jìn)一步完善,應(yīng)用起來(lái)能夠更加智能化。這樣完善后的設(shè)計(jì)會(huì)更加完美,應(yīng)用的場(chǎng)合會(huì)更加廣泛。它不但是我們四年大學(xué)所學(xué)知識(shí)的一次綜合性復(fù)習(xí)與考查,同時(shí)也是理論聯(lián)系實(shí)際的一個(gè)過(guò)程,為以后從事專業(yè)技術(shù)工作奠定了一定的基礎(chǔ)。掌握了基于單片機(jī)來(lái)設(shè)計(jì)一個(gè)檢測(cè)系統(tǒng)的方法,并進(jìn)一步鞏固、擴(kuò)大和深化了我所學(xué)的電路,單片機(jī), C 語(yǔ)言等課程的基本知識(shí)和基本技能,提高了我設(shè)計(jì)電路,解決問題的能力。首先要感謝父母這么多年對(duì)我的培養(yǎng);也要感謝學(xué)校系部為我們提供方便良好的畢設(shè)環(huán)境;更 要 特別 感謝指導(dǎo)老師 王蕾老師, 從 課題的研究 、開題報(bào)告到電路的設(shè)計(jì)調(diào)試 及論文的撰寫都是在老師的悉心指導(dǎo)下完成的 。 同時(shí)也十分感謝在實(shí)驗(yàn)室的各位同學(xué),從器件的焊接調(diào)試到程序的編寫和最終的調(diào)試完成,他們給予了我非常多的幫助,讓我感受到了我們這個(gè)集體的溫暖和友情,是值得我一生珍惜的。在這里,向在這次畢業(yè)設(shè)計(jì)中給予過(guò)幫助我的老師們表示衷心的感謝。= ~0x02 sfr P1ASF = 0x9D。 //帶 AD 系列 sfr ADC_RES = 0xBD。 //帶 AD 系列 define ADC_OFF() ADC_CONTR = 0 define ADC_ON (1 7) define ADC_90T (3 5) define ADC_180T (2 5) define ADC_360T (1 5) define ADC_540T 0 define ADC_FLAG (1 4) //軟件清 0 define ADC_START (1 3) //自動(dòng)清 0 define ADC_CH0 0 define ADC_CH1 1 define ADC_CH2 2 define ADC_CH3 3 define ADC_CH4 4 define ADC_CH5 5 define ADC_CH6 6 define ADC_CH7 7 30 sbit K1=P1^1。 sbit K3=P1^4。 sbit LED=P1^6。 unsigned char gsm_ok=0。 unsigned char xdata num_to_send[
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1