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

正文內(nèi)容

基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2024-07-24 20:04 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 前一次檢測(cè)為高電平和后一次檢測(cè)為低電平時(shí)中斷請(qǐng)求才有效。(2) 定時(shí)器溢出中斷源 定時(shí)器溢出中斷由AT89C51內(nèi)部定時(shí)器分的中斷源產(chǎn)生,故它們屬于內(nèi)部中斷。AT89C51內(nèi)部有兩個(gè)16位定時(shí)器/計(jì)數(shù)器,受內(nèi)部定時(shí)脈沖(主脈沖經(jīng)12分頻后)或T0/T1引腳上輸入的外部定時(shí)脈沖計(jì)數(shù)。定時(shí)器T0/T1在定時(shí)脈沖作用下從全“1”變成全“0”時(shí)可以自動(dòng)向CPU提出溢出中斷請(qǐng)求,以表明定時(shí)器T0或T1的定時(shí)時(shí)間已到。 (3) 串行口中斷源 串行口中斷由AT89C51內(nèi)部串行口的中斷源產(chǎn)生,也是一種內(nèi)部中斷。串行口中斷分為串行口發(fā)送中斷和串行口接收中斷兩種。在串行口進(jìn)行發(fā)送/接收數(shù)據(jù)時(shí),每當(dāng)串行口發(fā)送/接收完一組串行數(shù)據(jù)時(shí)串行口電路自動(dòng)使串行口控制寄存器SCON中的RI或TI中斷標(biāo)志位置位,并自動(dòng)向CPU發(fā)出串行口中斷請(qǐng)求,CPU響應(yīng)串行口中斷后便立即轉(zhuǎn)入串行口中斷服務(wù)程序執(zhí)行。因此,只要在串行口中斷服務(wù)程序中安排一段對(duì)SCON中RI和TI中斷標(biāo)志位狀態(tài)的判斷程序,便可區(qū)分串行口發(fā)生了接收中斷請(qǐng)求還是發(fā)送中斷請(qǐng)求。(4) 中斷標(biāo)志 AT89C51在S5P2時(shí)檢測(cè)(或接收)外部(內(nèi)部)中斷源發(fā)來(lái)的中斷請(qǐng)求信號(hào)后先使相應(yīng)中斷標(biāo)志位置位,然后便在下個(gè)機(jī)器周期檢測(cè)這些中斷標(biāo)志位狀態(tài),以決定是否響應(yīng)該中斷。 ADC0809模數(shù)轉(zhuǎn)換器 ADC0809是位A/D轉(zhuǎn)換芯片,它是采用逐次逼近的方法完成A/D轉(zhuǎn)換的。ADC0809由單+5V電源供電;片內(nèi)帶有鎖存功能的8路模擬多路開(kāi)關(guān),可對(duì)8路0~5V的輸入模擬電壓分時(shí)進(jìn)行轉(zhuǎn)換,完成一次轉(zhuǎn)換約需100181。S;片內(nèi)具有多路開(kāi)關(guān)的地址譯碼器和鎖存器、高阻抗斬波器、穩(wěn)定的比較器,256電阻T型網(wǎng)絡(luò)和樹(shù)狀電子開(kāi)關(guān)以及逐次逼近寄存器。 ADC0809是引腳雙列直插式封裝,引腳及其功能(圖22):1.D7~D0:8位數(shù)字量輸出引腳。2.IN0~I(xiàn)N7:8路模擬量輸入引腳。3.VCC:+5V工作電壓。4.GND:接地。5.REF(+):參考電壓正端。6.REF():參考電壓負(fù)端。7.START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。8.A、B、C:地址輸入端。9.ALE:地址鎖存允許信號(hào)輸入端。10.EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開(kāi)始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。11.OE: 輸出允許控制端,用以打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。12.CLK:時(shí)鐘信號(hào)輸入端,譯碼后可選通IN0~I(xiàn)N7八個(gè)通道中的一個(gè)進(jìn)行轉(zhuǎn)換。 ADC0809的管腳圖 :74LS164為串行輸入、并行輸出移位寄存器,其引腳功能如下:A、B —— 串行輸入端;Q0~Q7 —— 并行輸出端; —— 清除端,低電平有效;CLK —— 時(shí)鐘脈沖輸入端,上升沿有效。 多片74LS164串聯(lián),能實(shí)現(xiàn)多位LED靜態(tài)顯示。每擴(kuò)展一片164就可增加一位顯示。MR接+5V,不清除。 LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中常見(jiàn)的輸出器件,而在單片機(jī)的應(yīng)用上也是被廣泛運(yùn)用的。如果需要顯示的內(nèi)容只有數(shù)碼和某些字母,使用LED數(shù)碼管是一種較好的選擇。LED數(shù)碼管顯示清晰、成本低廉、配置靈活,與單片機(jī)接口簡(jiǎn)單易行。 LED數(shù)碼管作為顯示字段的數(shù)碼型顯示器件,它是由若干個(gè)發(fā)光二極管組成的。當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆畫(huà)發(fā)亮,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符,常用的LED數(shù)碼管有7段和“米”字段之分。這種顯示器有共陽(yáng)極和共陰極兩種。共陰極LED顯示器的發(fā)光二極管的陰極連在一起,通常此共陰極接地。當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平時(shí),發(fā)光二極管點(diǎn)亮,相應(yīng)的段被顯示。同樣,共陽(yáng)極LED顯示器的發(fā)光二極管的陽(yáng)極接在一起,通常此共陽(yáng)極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。本次設(shè)計(jì)所用的LED數(shù)碼管顯示器為共陽(yáng)極。 LED數(shù)碼管的使用與發(fā)光二極管相同,~2V,額定電流為10MA,最大電流為40MA。靜態(tài)顯示時(shí)取10MA為宜,動(dòng)態(tài)掃描顯示可加大脈沖電流,但一般不超過(guò)40MA。 在傳統(tǒng)的模擬信號(hào)遠(yuǎn)距離的溫度測(cè)量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問(wèn)題、多點(diǎn)切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差問(wèn)題等技術(shù)。另外考慮到一般的測(cè)量現(xiàn)場(chǎng)的電磁環(huán)境非常的惡劣,各種干擾信號(hào)較強(qiáng),模擬信號(hào)很容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。因此,在溫度測(cè)量系統(tǒng)中,采用抗干擾能力較強(qiáng)的新型數(shù)字溫度傳感器是解決這些問(wèn)題的最有效的方案。在實(shí)際的溫度測(cè)量過(guò)程中被廣泛應(yīng)用,同時(shí)也取得了良好的測(cè)量效果。DS18S20數(shù)字溫度計(jì)的主要特性:1.DS18S20的適應(yīng)電壓范圍更寬,其范圍為:,而且它能夠直接由數(shù)據(jù)線獲取電源(寄生電源),無(wú)需外部工作電源。2.DS18S20提供了9位攝氏溫度測(cè)量,具有非易失性、上下觸發(fā)門(mén)限用戶可編程的報(bào)警功能。3.DS18S20通過(guò)1Wire174??偩€與中央微處理器通信,僅需要單根數(shù)據(jù)線(或地線)。同時(shí),在使用過(guò)程中,它不需要任何的外圍的元件,全部的傳感元件和轉(zhuǎn)換電路集成在形狀如一只三極管的集成電路內(nèi)。4.DS18S20具有55176。C至+125176。C的工作溫度范圍,在10176。C至+85176。C溫度范圍內(nèi)精度為177。176。C。5.每片DS18S20具有唯一的64位序列碼,這些碼允許多片DS18S20在同一條1Wire總線上工作,因而,可方便地使用單個(gè)微處理器控制分布在大范圍內(nèi)的多片DS18S20器件。6.DS18S20的測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)還可以傳送給CRC校驗(yàn)碼,它具有極強(qiáng)的抗干擾糾錯(cuò)的能力。7.DS18S20具有負(fù)載特性,當(dāng)電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但是不能正常的工作。根據(jù)以上這些特性而從中受益的應(yīng)用包括:HVAC環(huán)境控制、室內(nèi),設(shè)備或者機(jī)器內(nèi)部的溫度監(jiān)測(cè)系統(tǒng)、過(guò)程監(jiān)控和控制系統(tǒng)。第3章電路設(shè)計(jì)本設(shè)計(jì)采用按鍵作為輸入控制,通過(guò)溫度多采樣單元采集溫度信息,經(jīng)過(guò)LM324放大器放大及ADC0809數(shù)模轉(zhuǎn)換器將其轉(zhuǎn)換,由主機(jī)AT89C51進(jìn)行處理并將實(shí)際溫度值和設(shè)定溫度值分別顯示在共陽(yáng)極數(shù)碼顯示管LED上。 溫度傳感器DS18B20 將模擬溫度值經(jīng)過(guò)DS18B20 處理后轉(zhuǎn)換為數(shù)字值,然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理,單片機(jī)將處理后的數(shù)據(jù)通過(guò)數(shù)碼管顯示出來(lái),同時(shí)判斷測(cè)得的溫度和設(shè)置報(bào)警的溫度限進(jìn)行比較,超過(guò)限度則通過(guò)發(fā)光二極管發(fā)光報(bào)警。 第4章 軟件設(shè)計(jì) 系統(tǒng)的主程序設(shè)計(jì) 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。 圖 主程序流程圖 主程序如下: void main(void){ uint z。 IT0=1。 IT1=1。 EX0=1。 EX1=1。 EA=1。 ReadTemperature()。 LING1=0。 LING2=0。 for(z=0。z100。z++) {Disp_init()。 }while(1) { Disp_Temperature()。 if(sign==1) { for(z=0。z300。z++) disptiaozheng()。 sign=0。 } } } DS18B20初始化 。 DS18B20 初始化流程圖 初始化子程序: void Init_DS18B20(void){ unsigned char x=0。 DQ=1。 Delay(8)。 //稍做延時(shí) DQ=0。 //單片機(jī)將DQ拉低 Delay(80)。 //精確延時(shí),大于480us DQ=1。 //拉高總線 Delay(14)。 x=DQ。 //稍做延時(shí)后,如果x=0則初始化成功,x=1則初始化失敗 Delay(20)。}/*****讀一個(gè)字節(jié)*****/unsigned char ReadOneChar(void){ unsigned char i=0。 unsigned char dat=0。 for (i=8。i0。i) { DQ=0。 // 給脈沖信號(hào) dat=1。 DQ=1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。 Delay(4)。 }return(dat)。}/*****寫(xiě)一個(gè)字節(jié)*****/void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ=0。 DQ=datamp。0x01。 Delay(5)。 DQ=1。 dat=1。 }}void Tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令{ Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44)。 //啟動(dòng)溫度轉(zhuǎn)換} DS18B20溫度傳感器與單片機(jī)的接口電路 當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us。: DS18B20與單片機(jī)的接口電路 溫度讀取子程序:unsigned int ReadTemperature(void){ unsigned char a=0。 unsigned char b=0。 unsigned int t=0。 float tt=0。 Tmpchange()。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 a=ReadOneChar()。 //讀低8位 b=ReadOneChar()。 //讀高8位 t=b。 t=8。 t=t|a。 tt=t*。 t= tt*100+。 //放大10倍輸出并四舍五入 return(t)。} 。用AT89C51的P0口作為數(shù)據(jù)端口。P0口接上上拉電阻。 數(shù)碼管與AT89C51對(duì)接 顯示子程序: Disp_Temperature() //顯示溫度{ uint a,b,c,d,e。 e=R
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1