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

正文內(nèi)容

基于at89c51的氣體濃度測量顯示及報(bào)警系統(tǒng)課程設(shè)計(jì)-資料下載頁

2025-08-16 17:35本頁面

【導(dǎo)讀】任選一種有害氣體傳感器;設(shè)計(jì)轉(zhuǎn)換放大電路將氣體濃度轉(zhuǎn)換成標(biāo)準(zhǔn)的電信號;利用單片機(jī)組成測量系統(tǒng)實(shí)現(xiàn)有害氣體濃度的精確測量及顯示報(bào)警。原理圖設(shè)計(jì)、軟件設(shè)計(jì)、PCB;高性能CMOS8位微處理器,俗稱單片機(jī)。其中包括128字節(jié)內(nèi)部RAM,32個I/O口。片內(nèi)振蕩器及時鐘電路。同時,AT89C51降至0Hz的靜態(tài)邏輯操作,并支持兩種??臻e方式體制CPU的工作,但允許RAM,定時/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器體制工作。并禁止其他所有不見工作直到下一個硬件復(fù)位。該器件采用ATMEL高密度非。易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價的方案。AT89C51單片機(jī)管腳圖如圖1所示。以逐次逼近原理進(jìn)行模/數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)。地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換。

  

【正文】 D = 0x02。 TH0 = 245。 TL0 = 0。 TR0 = 1。 //開啟定時器 0 給 ADC0808提供時鐘 } /*************************lcd1602 程序 **************************/ void delay1ms(unsigned int ms)//延時 1 毫秒 哈爾濱商業(yè)大學(xué)課程設(shè)計(jì) 24 { unsigned int i,j。 for(i=0。ims。i++) for(j=0。j100。j++)。 } void wr_(unsigned char )//寫指令 // { delay1ms(1)。 RS=0。 RW=0。 EN=0。 P1=。 delay1ms(1)。 EN=1。 delay1ms(1)。 EN=0。 } void wr_dat(unsigned char dat)//寫數(shù)據(jù) // { delay1ms(1)。 RS=1。 RW=0。 EN=0。 P1=dat。 delay1ms(1)。 EN=1。 delay1ms(1)。 EN=0。 } void lcd_init()//初始化設(shè)置 // {delay1ms(15)。 wr_(0x38)。delay1ms(5)。 //數(shù)據(jù)位數(shù) 8 位, 2 行, 5*7點(diǎn)陣 工作方式設(shè)置 wr_(0x08)。delay1ms(5)。 //顯示狀態(tài)設(shè)置:顯示未開 wr_(0x01)。delay1ms(5)。 //清屏,將光標(biāo)設(shè)置為第一行第一列 wr_(0x06)。delay1ms(5)。 //增量方式右移,顯示字符不移動 wr_(0x0c)。delay1ms(5)。 //開顯示,不顯示光標(biāo),光標(biāo)位字符不閃爍 哈爾濱商業(yè)大學(xué)課程設(shè)計(jì) 25 } void display(unsigned char *p)//顯示 // { while(*p!=39。\039。) { wr_dat(*p)。 p++。 delay1ms(1)。 } } void init_play()//初始化顯示 { lcd_init()。 wr_(0x80)。//第 1行第一列 display(str1)。 //顯示 Consentration wr_(0xc0)。 //第二行第一列 display(str2)。 //顯示空格 wr_(0xc9)。 //第二行第九列 display(str3)。//顯示 ppm } /*******************************************************************/ void show_Concentration()//濃度值顯示 { disdata[0]=con/1000+0x30。 //千位數(shù) disdata[1]=con%1000/100+0x30。//百位數(shù) disdata[2]=con%100/10+0x30。//十位數(shù) disdata[3]=con%10+0x30。//個位數(shù) if(disdata[0]==0x30) disdata[0]=0x20。//如果千位為 0,不顯示 if(disdata[1]==0x30) disdata[1]=0x20。//如果千位為 0,百位為 0也不顯示 哈爾濱商業(yè)大學(xué)課程設(shè)計(jì) 26 if(disdata[2]==0x30) disdata[2]=0x20。//如果千位為 0,百位為 0,十位為 0也不顯示 wr_(0xc3)。 wr_dat(disdata[0])。//顯示千位 wr_(0xc4)。 wr_dat(disdata[1])。//顯示百位 wr_(0xc5)。 wr_dat(disdata[2])。//顯示十位 wr_(0xc6)。 wr_dat(disdata[3])。//顯示個位 } void main()//主函數(shù) { Init()。//定時器初始化 init_play()。//初始化顯示 while(1) { ST = 0。 delay1ms(1)。 ST = 1。 delay1ms(1)。 ST = 0。//寄存器 SAR復(fù)位,啟動 ADC0809 while(1) { if(EOC == 1)//ADC0808 轉(zhuǎn)換結(jié)束后改引腳為高低平 { OE = 1。//輸出允許信號為 1 時表示把 ADC0808采集的數(shù)據(jù)輸出 getdata=P0。//把采集到的數(shù)據(jù)送到 P0口處理 OE = 0。//又打開 ADC0808讓繼續(xù)開始轉(zhuǎn)換 con=getdata*。//因?yàn)橛?AD 采集回來的數(shù)為 0~255;顯示溫度為 0~5000 show_Concentration()。//LCD1602 顯示 if(con 320)//如果采集到的濃度小于 320不報(bào)警 { G_LED=0。 R_LED=1。 哈爾濱商業(yè)大學(xué)課程設(shè)計(jì) 27 SPK=1。 } else //如果濃度大于 320 則聲光報(bào)警 { G_LED=1。 R_LED=0。 SPK=0。 } break。//跳出繼續(xù)進(jìn)行 ADC0808的采集 } } } } void T0_INT() interrupt 1//定時器 0 的中斷函數(shù) { CLK = ~CLK。 } 附件三: 基于 AT89C51 的氣體濃度測量顯示及報(bào)警 系統(tǒng) 器件清單 ( 1) 一個 AT89C51; ( 2) 一個 ADC0808; ( 3) 一個 LCD1602; ( 4) 一個氣體濃度傳感器 MQ5; ( 5) 一個晶振; ( 6) 兩個 30pF 的電容; ( 7) 一個 1uF 的有極電容; ( 8) 三個 200 歐的電阻; ( 9) 一 個 1K的電阻; ( 10) 一個 PNP; ( 11) 一個蜂鳴器; ( 12) 一個 LED 紅燈 ,一個 LED 綠燈; ( 13) 兩個 10K 的滑動變阻器; 哈爾濱商業(yè)大學(xué)課程設(shè)計(jì) 28
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1