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

正文內(nèi)容

電子信息技術畢業(yè)設計論文-資料下載頁

2025-06-27 15:17本頁面
  

【正文】 僅作為13位的定時/計數(shù)器使用0 1方式1作為16位的定時/計數(shù)器使用1 0方式2作為8位定時/計數(shù)器使用,初始值可自動重載1 1方式3僅適用于T0,分成兩個8位的計數(shù)器使用,T1停止工作定時器控制寄存器TCON是一個可位尋址的8位特殊功能寄存器。其低4位內(nèi)容與外部中斷有關,高4位控制定時/計數(shù)器的啟動與停止、記錄定時/計數(shù)器的是否溢出狀態(tài),其各位功能說明詳見上一小節(jié)內(nèi)容,在此不再贅述。值得注意的是,單片機復位時,TCON的各位也均被清0。定時/計數(shù)器共有4種工作方式,下面予以詳細介紹。(1) 工作方式0(M1M0=00)T0和T1的工作方式0是完全相同的,都是作為13位的定時/計數(shù)器來使用的,由THX(X=0,1)的8位和TLX的低5位構成,TLX的高3位未用,TLX的低5位產(chǎn)生進位時,直接進到THX上。THX產(chǎn)生進位時,即計滿溢出,置計滿溢出標志位TFX為1,向CPU申請中斷,若CPU響應中斷,由系統(tǒng)硬件自動將TFX復位。在工作方式0下,兩個定時/計數(shù)器的最大計數(shù)值為=8192,最長定時時間也只有8192個機器周期。(2) 工作方式1(M1M0=01)T0和T1的工作方式1也是完全相同的,都是作為16位的定時/計數(shù)器來使用的,定時/計數(shù)器的低8位產(chǎn)生進位時進到高8位上。高8位產(chǎn)生進位時,即計滿溢出,置計滿溢出標志位TFX(X=0,1)為1,向CPU申請中斷,若CPU響應中斷,由系統(tǒng)硬件自動將TFX復位。在工作方式1下,兩個定時/計數(shù)器的最大計數(shù)為=65536,最長定時時間為65536個機器周期。(3) 工作方式2(M1M0=10)T0和T1在工作方式2下都是作為8位的定時/計數(shù)器來使用的,定時/計數(shù)器的低8位負責計數(shù)。高8位不參與計數(shù),只作為計數(shù)初始值寄存器,存放低8位的初始值。每當?shù)?位計滿溢出時,直接將計滿溢出標志位TFX(X=0,1)為1,向CPU發(fā)出中斷請求,若CPU響應中斷,由系統(tǒng)硬件自動將TFX復位。與此同時,硬件自動將高8位中存放的計數(shù)初始值加載至低8位中。在工作方式2下,由于只有低8位參與計數(shù),故最大計數(shù)為=256,最長定時時間為256個機器周期。雖然定時時間縮短了,但由于能夠自動加載初始值,故定時時間更為精確。需要強調(diào)的是:在工作方式0和工作方式1下,定時/計數(shù)器的計數(shù)初始值是不能自動重載的,需要我們在程序中用相應的賦值語句重載;如果在程序中缺少了相應的重載計數(shù)初始值語句,則定時/計數(shù)器溢出后將從0開始計數(shù)。(4) 工作方式3(M1M0=11)只有T0有方式3, T1在方式3下停止工作。此時T0被分為兩個獨立的8位的定時/計數(shù)器來使用。需要指出的是:在方式3下,TL0作為不能自動重載初始值的8位定時/計數(shù)器來使用,其計數(shù)初始值仍需在程序中用相應賦值語句加載;此時,TL0既可以用作定時功能,也可以用作計數(shù)功能,由原來控制T0的位來選擇;TL0的啟動部分仍然由原來控制T0的GATE、TR0、的邏輯組合來控制,啟動與停止過程與前面三種工作方式相同;當TL0計滿溢出時,直接將TF0置位從而向CPU申請中斷, CPU響應中斷后,由系統(tǒng)硬件自動將TF0復位;此時,TL0的中斷服務程序入口地址即為原來T0的中斷服務程序入口地址,中斷序號也同樣使用T0的中斷序號。在方式3下,TH0也是作為不能自動重載初始值的8位定時器來使用,但它只能用于定時功能,不能用于計數(shù)功能,因此沒有選擇位控制;TH0的啟動也僅受原來T1的啟動位TR1來控制;當TH0計滿溢出時,直接將TF1置位從而向CPU申請中斷;此時,TH0的中斷服務程序入口地址占用原來T1的中斷服務程序入口地址,中斷序號也同樣使用T1的中斷序號。當T0工作在方式3時,T1可以工作在方式0、2三種工作方式下,但由于TH0占用了原來T1的啟動控制位TR1和溢出標志位TF1,所以T1的工作過程與前述有所變化。在這種情況下,T1仍然既可以工作在定時功能,又可以工作在計數(shù)功能,但計滿溢出時不能置位溢出標志,不能申請中斷,其計滿溢出信號可以送給串行口,此時T1作為波特率發(fā)生器。T1的啟動與停止仍由其原來的方式字控制,當寫入“方式0/1/2”時,T1即啟動,當寫入“方式3”時,T1即停止工作。根據(jù)上面的討論可以知道,定時器的定時時間的長短與定時器的位數(shù)、計數(shù)初始值、時鐘頻率密切相關。定時時間的計算公式如下:其中,t為定時時間,n為定時器位數(shù),為系統(tǒng)的晶振時鐘頻率。例如:已知系統(tǒng)晶振頻率為=12MHz,在方式1下,T0的最大定時時間為而在方式2下,T0的最大定時時間為如果在方式1下要定時50ms,晶振頻率不變,則T0應賦的初始值的計算方法為:由于晶振頻率為12MHz,則機器周期為1,若定時50ms,即50000,則計數(shù)初始值應為6553650000=15536,將15536/256賦與定時/計數(shù)器的高8位THX,將15535%256賦與定時/計數(shù)器的低8位TLX。本設計中定時中斷的初始化函數(shù)參考源代碼為:void init_timer(void) //定時器初始化函數(shù){ TMOD=0x01。 //使用模式1,16位定時器,工作在定時模式下 TH0=15536/256。 //設定定時器T0的初始值,定時50ms,即50000us TL0=15536%256。 TR0=ET0=EA=1。 } //打開中斷,啟動定時器T0 本設計中定時中斷的中斷服務程序參考源代碼為:void timer0( ) interrupt 1 //定時器T0的中斷服務程序{ static uchar n,num。 /*定義兩個靜態(tài)局部變量,用來統(tǒng)計定時中斷的次數(shù),每夠1秒秒鐘加1,每夠3秒測一次溫度*/ TH0=15536/256。 TL0=15536%256。 //重新給定時器T0賦初值 n++。 if(n==60) { n=0。 ReadTempFlag=1。} //每隔3秒將讀溫度標志位置1,即每3秒鐘采集一次環(huán)境溫度 num++。 //變量num為全局變量,用以統(tǒng)計定時中斷的次數(shù)是否達到20次 if(num==20) //若定時中斷次數(shù)達到20次,則1秒時間到 { num=0。 //變量num歸零,以便重新統(tǒng)計定時中斷的次數(shù) sec++。 //每隔1秒,秒加1 if(sec==60) //如果秒達到60,則秒歸零,向分鐘進位 { sec=0。 minu++。 if(minu==60) //如果分鐘達到60,則分鐘歸零,向小時進位 { minu=0。 hour++。 if(hour==24) //如果小時達到24,則小時歸零,向日期進位 { hour=0。 day++。 if(day28){if((month==2amp。amp。(!leap(year)||leap(year)amp。amp。day29))||(day31amp。amp。(month==1||month==3||month==5||month==7||month==8||month==10||month==12))||(day30amp。amp。(month==4||month==6||month==9||month==11))) { day=1。 //若日期達到最大,則日期歸一,向月份進位 month++。 if(month==13) {month=1。year++。} //若月份達到最大,則月份歸一,向年份進位 } } } } } }} DS18B20概述DS18B20是美國DALLAS 半導體公司的數(shù)字化溫度傳感器,它也是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡。DS18B20的測溫范圍為-55186。C~+125186。C?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場溫度測量,支持3V~,使系統(tǒng)設計更加靈活、方便。DS18B20可通過編程設定9~12位的分辨率,精度為177。分辨率的設定以及用戶設定的報警溫度存儲在其EEPROM中,掉電后依然保存。DS18B20 的性能是新一代產(chǎn)品中最好的,性價比也非常出色。DS18B20使電壓、特性及封裝有更多的選擇,讓我們可以構建適合自己的經(jīng)濟的測溫系統(tǒng)。DS18B20 的引腳及底視圖如圖37 所示。圖37 DS18B20引腳及底視圖引腳功能說明如下:GND:地信號; DQ:數(shù)據(jù)輸入/輸出引腳。單總線接口引腳。當工作于寄生電源時,也可以向器件提供電源; VDD:可選擇的VDD引腳。當工作于寄生電源時,該引腳必須接地。 DS18B20 的性能特點如下: 216。 只要求 1 根口線即可實現(xiàn)通信。216。 每個DS18B20器件上都有獨一無二的序列號。216。 實際應用中不需要外接任何元器件即可實現(xiàn)測溫。 216。 測量溫度范圍在-55186。C~+125186。C之間。216。 用戶可通過編程為數(shù)字溫度傳感器設定9~12 位的分辨率。216。 內(nèi)部有溫度上、下限報警設置。 DS18B20的內(nèi)部結(jié)構DS18B20的內(nèi)部結(jié)構如圖 38 所示,主要由五部分組成:64 位光刻ROM,高速緩存,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH 和TL、配置寄存器。圖 38 DS18B20 內(nèi)部結(jié)構圖下面具體介紹DS18B20每一部分的結(jié)構和作用。(1) 64位光刻 ROM 光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該 DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的唯一序列號,最后8 位是前面56位的循環(huán)冗余校驗碼(CRC)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20 的目的。 (2) 高速緩存存儲器 高速緩存存儲器包含了 9個連續(xù)字節(jié),如表3-14所示。前兩個字節(jié)存放測得的溫度值,第一個字節(jié)的內(nèi)容是所測溫度的低八位,第二個字節(jié)是所測溫度的高八位。第三和第四個字節(jié)分別是TH、TL的易失性拷貝,第五個字節(jié)是結(jié)構寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復位時被刷新,第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié),是前面所有8個字節(jié)的 CRC碼,可用來保證通信正確。 表 314 DS18B20 字節(jié)定義寄存器內(nèi)容字節(jié)地址溫度低字節(jié)0溫度高字節(jié)1高溫限制2低溫限制3保留4保留5計數(shù)剩余值6每度計數(shù)值7每度計數(shù)值8配置寄存器為高速緩存存儲器中的第 5個字節(jié),其內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20 工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應精度的數(shù)值。該字節(jié)各位的定義如下: TMR1R011111低5位一直都是1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在 DS18B20出廠時該位被設置為 0,用戶不要去隨意改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),即設置分辨率,如表315 所示(DS18B20 出廠時分辨率被設置為 12位)。 從表315中數(shù)據(jù)可知,設定的分辨率越高,所需要的溫度轉(zhuǎn)換時間就越長。因此,在實際應用中要在分辨率和轉(zhuǎn)換時間兩者之間權衡考慮。 實際上,18B20的轉(zhuǎn)換精度為177。,分辨率的位數(shù)設置得多并不具有多少實際意義,而且設定的分辨率越高,所需要的溫度轉(zhuǎn)換時間也越長,可以說“得不償失”,故在本設計中,將其分辨率設置為9位即可。表 315 溫度轉(zhuǎn)換精度位數(shù)及轉(zhuǎn)換時間表R1R0分辨率溫度最大轉(zhuǎn)換時間(單位:ms)009位0110位1011位1112位(3) 溫度傳感器 DS18B20中的溫度傳感器可完成對溫度的測量,以 12 位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼形式提供,以 ,其中 S為符號位。如表316 所示。表316 12 位轉(zhuǎn)化的數(shù)據(jù)位低字節(jié)bit7bit6bit5bit4bit3bit2bit1bit0高字節(jié)bit15bit14bit13bit12bit11bit10bit9bit8SSSSS這是轉(zhuǎn)換后得到的12位數(shù)據(jù),存儲在高速緩存的前兩個字節(jié)中,二進制中的高5位是擴展的符號位,如果測得的溫度高于0 186。C,這5 位都為0,;如果溫度低于0 186。C,這5 位都為 1,測得的二進制數(shù)值按位取反加1(對于負數(shù),存儲的是其補碼,需轉(zhuǎn)換為原碼,負數(shù)的補碼轉(zhuǎn)換為原碼,只需將補碼按位取反后再加1即可)。 (4) CRC 的產(chǎn)生 在64位光刻 ROM的最高字節(jié)中存儲有循環(huán)冗余校驗碼(CRC)。主機根據(jù) ROM的前56 位來計算 CRC 值,并和存入 DS18B20 中的 CRC 值做比較,以判斷主機收到的 ROM 數(shù)據(jù)是否正確。 DS18B20與單片機的接口電路DS18B20 與單片機的典型接口電路如圖39 所示,DS18B20 的正電源3腳接+5V,1腳接地
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1