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

正文內(nèi)容

基于單片機的智能型可燃性氣體泄漏報警器的設計(編輯修改稿)

2025-02-14 15:06 本頁面
 

【文章內(nèi)容簡介】 圖為報警器電路R6,,揚聲器響起。圖37 聲音報警模塊通過對整個系統(tǒng)各個模塊的設計由此可以基本確定本次系統(tǒng)設計的總體電路的基本框圖,見附錄。 4 程序流程的設計本系統(tǒng)采用匯編語言編程系統(tǒng)程序包括主控程序、T1中斷服務子程序、INT0中斷服務子程序、測溫子程序、溫度計算子程序、顯示子程序、時子程序和報警子程序設計等。主程序流程圖如圖41所示。圖41 主程序流程圖系統(tǒng)初始化后就啟動定時器T1從0開始計數(shù)。此時當主程序進入等待當?shù)竭_65ms時T1溢出進入T1中斷服務子程序(INT0)引腳出現(xiàn)低電平則代表收到回波信號。將提出中斷請求進入INT0中斷服務子程序在INT0中斷服務子程序中將停止定時器T0計時讀取定時器T0時間值到相應的存儲區(qū)同時設置接收成功標志主程序一旦檢測到接收成功標志將調(diào)用溫測子程序采集超聲波測溫時的環(huán)境溫度并換算出準確的聲速存儲到RAM存儲單元中單片機再調(diào)用溫度計算子程序進行計算計算出目標物體之間的溫度此后主程序調(diào)用顯示子程序進行顯示若超過設定的最小報警溫度還將啟動揚聲器報警。當一次發(fā)射、接受、顯示的過程完后系統(tǒng)將延遲100ms重新讓T1置初值再次啟動T1以溢出進入下一次測溫。圖42中斷流程圖295調(diào)試第一步通電觀察。將電路通電觀察有無異常現(xiàn)象例如有無器件冒煙現(xiàn)象有無異常氣味手摸集成電路外封裝是否發(fā)燙等。如果出現(xiàn)異?,F(xiàn)象應立即關(guān)斷電源待排除故障后再通電。第二步靜態(tài)調(diào)試。將信號輸入端加固定的電平信號后進行的直流測試可用萬用表測出電路中各點的電位通過和理論估算值比較結(jié)合電路原理的分析判斷電路直流工作狀態(tài)是否正常及時發(fā)現(xiàn)電路中已損壞或處于臨界工作狀態(tài)的元器件。通過更換器件或調(diào)整電路參數(shù)使電路直流工作狀態(tài)符合設計要求。第三步動態(tài)調(diào)試。動態(tài)調(diào)試是在靜態(tài)調(diào)試的基礎(chǔ)上進行的在電路的輸入端加入合適的信號按信號的流向用示波器順序檢測各測試點的輸出信號若發(fā)現(xiàn)不正?,F(xiàn)象應分析其原因并排除故障再進行調(diào)試直到滿足要求。所謂軟件調(diào)試是將編制的程序投入實際運行前用手工或編譯程序等方法進行測試修正語法錯誤和邏輯錯誤的過程。這是保證單片機正確運行的必不可少的步驟。編完單片機程序必須送入單片機中測試。我把軟件調(diào)試過程分為兩步第一步使用軟件調(diào)試程序。將編輯好的匯編語言程序進行編譯連接消除基本的語法錯誤再通過軟件自帶的調(diào)試工具進行必要的程序調(diào)試。第二步聯(lián)系程序的實際運行情況調(diào)試程序。此步主要是消除程序中的邏輯錯誤因為在編輯程序時在邏輯思維上可能會出現(xiàn)漏洞導致操作時出錯。我們將編輯好的匯編語言程序編譯連接并生成hex文件并將hex文件下載到單片機中。通過實際操作尋找邏輯上的錯誤不斷的修改程序最終達到了預先設定的操作步驟及顯示格式等多方面的要求。個功能模塊和程序運用仿真軟件protus進行了仿真測試。但實際制作出的電路和24理論又會有一定的差距為此我們還使用實驗儀器對該汽車防撞報警系統(tǒng)進行了相關(guān)測試。在本電路的調(diào)試中如果一直發(fā)射超聲波在7腳將會有周期的低電平產(chǎn)生。不會像通常認為的那樣即一直發(fā)射信號7腳一直為低電平。這是剛用CX20106時的一個常見錯誤。只要通過單片機來來計算發(fā)射信號時到收到信號是產(chǎn)生下降沿這段時間的長度再通過數(shù)計算轉(zhuǎn)化為溫度然后在顯示器上顯示。在測試過程中的總結(jié)定時器T1之所以是65ms溢出因為它是16位定時/計數(shù)器。在使用12MHZ的晶振時一個機器周期是1us,計數(shù)器65ms技術(shù)器溢出。再循環(huán)發(fā)送出8次。在cpu停止發(fā)送脈沖后由于阻尼換能器不能立刻停止發(fā)送超聲波。在一段時間內(nèi)仍然會發(fā)送所以這段時間內(nèi)不可立即開啟INT0接收回波要等待一段時間后這樣就避免發(fā)送端的部分直射波未經(jīng)被測物就直接繞射到接收端。最大測試距離將取決于兩次脈沖發(fā)送之間的最小時間間隔和脈沖的能量。般來說發(fā)射端脈沖個數(shù)越多能量越大所能測的距離也越遠。但也不是無限制的。本設計中讀取定時器T0的計數(shù)值。 6結(jié)論利用AT89S51單片機設計的可燃性氣體泄漏報警系統(tǒng)便于操作、讀數(shù)直觀。該系統(tǒng)工作穩(wěn)定能滿足一般溫度的要求且成本較低、有良好的性價比、設計中在超聲波接收電路中使用了CX20106集成芯片減少了電路之間的相互干擾減少了電噪聲。本設計系統(tǒng)可廣泛應用于小距離測量。通過試驗驗證該設計系統(tǒng)靈活方便工作穩(wěn)定可靠抗干擾能力強精確度高能夠有效的防止可燃性氣體的泄漏。超聲波換向器能很好的接收和發(fā)射信號很大程度上降低了小車周圍實物的干擾性提高抗干擾性。得到了預期的效果。在本設計中出現(xiàn)一個問題就是蜂鳴器一直響。原因是(1)蜂鳴器是由程序控制的只要檢測到溫度過高,程序執(zhí)行中斷來處理蜂鳴器響這條指令。(2)檢查電池沒有有電。通過本設計我學到了很多在實際操作中的知識(1)AT89S51各個管腳的功能。(2)LED顯示段選和位選的控制。(3)每個模塊的電路圖的功能。參考文獻[1]翟金輝,超聲波測溫系統(tǒng)的設計[M].中國儀器儀表,2007(8),4445.[2]袁佑新,吳妍,[M].微計算機信息,2007(23)268270.[3]宋永樂,高精度超聲波測溫系統(tǒng)設計[M].現(xiàn)在電子技術(shù),2008,31(15),137139.[4][J].湖北理工學院學報,2006(6):2628.[5][M].北京:電子工業(yè)出版社,2002,283288.[6]孫肖子,西安:西安電子科技大學出版社,2001,3339.[7][R].北京:高等教育出版社,1999,196201.[8]:西安電子科技大學出版社,1994,107110.[9]譚浩強,[M].北京:高等教育出版社,2006,8588.[10],2004,2536.[11]:北航出版社,2003.[12]—,2007.[13]:高等教育出版社,1998.[14]童詩白,:高等教育出版社,2001.[15]樓然苗,.[16],2009.[17],2005.[18]耿文靜,2007.[19],2007.[20],2006.[21],2006.[22]Bickford,.,AnIntroductiontotheDesignandBehaviorofBoltedJOINTS,2nd,ed,MarcelDekker,NewYork,1990.[23]Koshti,MaterialsEvaluation,54(2),308313(1996).謝辭本論文是在我的指導老師李飛老師的親切關(guān)懷與細心指導下完成的。從課題的選擇到論文的最終完成李老師始終都給予了細心的指導和不懈的支持。在他的身上我們可以感受到一個學者的嚴謹和務實這些都讓我們獲益菲淺并且將終生受用無窮。畢竟“經(jīng)師易得人師難求”希望借此機會向李老師表示最衷心的感謝。此外本文最終得以順利完成也是遼寧石化職業(yè)技術(shù)學院學院其他老師的幫助分不開的雖然他們沒有直接參與我的論文指導但在開題時也給我提供了不少的意見提出了一系列可行性的建議在此向他們表示深深的感謝。最后要感謝的是我的父母在未來的日子里我會更加努力的學習和工作,不辜負父母對我的殷殷期望我一定會好好孝敬和報答他們。 附錄1 電路圖附錄2 程序//51單片機制作的測溫原程序
//測距范圍是50~400CM精度是1CM。
//原程序如下
include
sbitk1=P3^4。
sbitcsbout=P1^0。//測溫
sbitcsbint=P3^2。//測溫
sbitbg=P3^3。
defineLEDP0
sbitLED1=P2^4。//LED控制
sbitLED2=P2^5。//LED控制
sbitLED3=P2^6。//LED控制
sbitbj=P2^0。//報警
unsignedcharcl,mqzd,csbs,csbds,buffer[3],xm1,xm2,xm0,jpjs。//顯示標識
unsignedcharconvert[10]={0x18,0x7b,0x2c,0x29,0x4b,0x89,0x88,0x3b,0x08,0x09}。//0~9段碼
unsignedints,t,i,xx,j,sj1,sj2,sj3,mqs,sx1。
voidcsbcj()。
voiddelay(j)。//延時函數(shù)
voidscanLED()。//顯示函數(shù)
voidtimeToBuffer()。//顯示轉(zhuǎn)換函數(shù)
voidkeyscan()。
voidk1cl()。
voidk2cl()。
voidk3cl()。
voidk4cl()。
voidoffmsd()。
voidmain()//主函數(shù)
{
EA=1。//開中斷
TMOD=0x11。//設定時器0為計數(shù)設定時器
1定時
ET0=1。//定時器0中斷允許
ET1=1。//定時器1中斷允許
TH0=0x00。
TL0=0x00。
TH1=0x9E。=0x57。
csbds=0。
csbout=1。
cl=0。
csbs=8。
jpjs=0。
sj1=50。/////////測試報警溫度
sj2=200。
sj3=580。
k4cl()。
TR1=1。
while(1)
{
keyscan()。
if(jpjs1)
{
csbcj()。//調(diào)用測溫度程序
if(ssj3)//大于時顯示“CCC”
{
buffer[2]=0xC6。
buffer[1]=0xC6。
buffer[0]=0xC6。
}
elseif(ssj1)//小于時顯示“”
{
buffer[2]=0xBF。
buffer[1]=0xBF。
buffer[0]=0xBF。
}
elsetimeToBuffer()。
}
elsetimeToBuffer()。//將值轉(zhuǎn)換成LED段碼
offmsd()。
scanLED()。//顯示函數(shù)
if(ssj1)
bg=0。
bg=1。
}
}
voidscanLED()//顯示功能模塊
{
LED=buffer[0]。
LED3=0。
delay(200)。
LED3=1。
LED=buffer[1]。
LED2=0。
delay(200)。
LED2=1。
LED=buffer[2]。
LED1=0。
delay(200)。
LED1=1。
}
voidtimeToBuffer()//轉(zhuǎn)換段碼功能模塊
{
xm0=s/100。
xm1=(s100*xm0)/10。
xm2=s100*xm010*xm1。
buffer[2]=convert[xm2]。
buffer[1]=convert[xm1]。
buffer[0]=convert[xm0]。
}
voiddelay(i)
{
while(i)。
}
voidtimer1int(void)interrupt3using2
{
TH1=0x9E。
TL1=0x57。
csbds++。
if(csbds=40)
{
csbds=0。
cl=1。
}
}
voidcsbcj()
{
if(cl==1)
{
TR1=0。
TH0=0x00。
TL0=0x00。
i=csbs。
while(i)
{=!csbout。
}
TR0=1。
i=mqs。//盲區(qū)
while(i)
{
}
i=0。
while(csbint)
{
i++。
if(i=4000)//上限值
csbint=0。
}
TR0=0。
TH1=0x9E。
TL1=0x57。
t=TH0。
t=t*256+TL0。
t=t29。
s=t*csbc/2。
TR1=1。
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1