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

正文內(nèi)容

數(shù)顯溫度計(jì)的系統(tǒng)設(shè)計(jì)畢業(yè)論文-文庫吧資料

2025-07-04 14:06本頁面
  

【正文】 SCL=1。}void NoAck(){ SDA=1。 SDA=1。 SCL=0。 SCL=1。}void Ack(){ SDA=0。 SDA=1。 SCL=1。 //鉗位I2C總線,準(zhǔn)備發(fā)送數(shù)據(jù)}/////////////////////停止I2C//////////////void I2C_Stop(){ SDA=0。 delay()。 delay()。 delay()。i)。 for(i=124。i) _nop_()。 for(i=100。void NoACK()。void delay_10ms(void)。uint idata ucReceData。 //定義時(shí)鐘線bit flag。 sbit SDA=P1^1。隨著液晶顯示技術(shù)、溫度傳感器等的發(fā)展,它將會越來越多地融入到人們的日常生活中,越來越方便人們的生活,而單片機(jī)這個(gè)神奇的技術(shù)將使人們實(shí)現(xiàn)更多地愿望和假設(shè),更快的實(shí)現(xiàn)電子設(shè)計(jì)自動(dòng)化。在軟件編程方面,需要仔細(xì)分析實(shí)現(xiàn)各個(gè)功能所必需的算法,并且花大量的時(shí)間去編程,稍有差錯(cuò)就不能實(shí)現(xiàn)。在硬件設(shè)計(jì)上,經(jīng)常查閱資料,不斷的向老師、同學(xué)請教,以確保設(shè)計(jì)的電路系統(tǒng)完整,并能實(shí)現(xiàn)最好的系統(tǒng)功能。首先對整個(gè)系統(tǒng)的工作原理和實(shí)現(xiàn)方法進(jìn)行了簡單的介紹,給出了系統(tǒng)工作的整體框圖。源程序編譯及仿真調(diào)試應(yīng)分段或以子程序?yàn)閱挝恢饌€(gè)進(jìn)行,最后結(jié)合硬件實(shí)時(shí)調(diào)試。,向DS18B20發(fā)溫度命令轉(zhuǎn)換后,程序要等待DS18B20的返回信號,一旦線路不好或斷線,將陷入死循環(huán),所以該線路一定要檢查清楚。然后用萬用表測試或通電檢測,檢查無誤后,可通電檢查LCD液晶顯示器亮度情況,一般情況下取背光電壓為4~。程序流程圖見圖49。存儲時(shí)間對應(yīng)的溫度數(shù)據(jù)開始是否為6點(diǎn)?是否為9點(diǎn)?是否為12點(diǎn)?是否為15點(diǎn)?是否為00點(diǎn)?是否為18點(diǎn)?存儲最高最低溫度溫度結(jié)束 NY N Y N Y N Y N Y N Y Y圖48 溫度查詢子程序 根據(jù)實(shí)際要求將某一天某一個(gè)時(shí)間的具體溫度值可進(jìn)行查看,以及當(dāng)天溫度的最高、最低溫度(可查詢10天)。 小數(shù)部分二進(jìn)制值0123456789ABCDEF十進(jìn)制值0011233455667889表 41 小數(shù)部分二進(jìn)制和十進(jìn)制的近似對應(yīng)關(guān)系表 溫度值存儲子程序根據(jù)要求,系統(tǒng)要存儲某幾個(gè)時(shí)間點(diǎn)的溫度,在時(shí)鐘到達(dá)這幾個(gè)時(shí)間點(diǎn)時(shí),通過軟件判斷,把此時(shí)的溫度數(shù)據(jù)讀到單片機(jī)內(nèi)存,再通過24C16的讀寫程序把溫度數(shù)據(jù)存儲到AT24C02對應(yīng)地址單元,這樣溫度數(shù)據(jù)就儲存起來了。在采用12位轉(zhuǎn)換精度時(shí),就是實(shí)際的十進(jìn)制溫度值。NOYESNOYES結(jié)束溫度數(shù)據(jù)移入顯示寄存器十位數(shù)顯示符號百位數(shù)不顯示十位數(shù)零?百位數(shù)零?圖47 顯示數(shù)據(jù)刷新子程序流程圖百位數(shù)顯示數(shù)據(jù)(不顯示符號) 溫度數(shù)據(jù)的計(jì)算處理方法度數(shù)據(jù)的從DS18B20讀取出的二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束圖45 溫度轉(zhuǎn)換命令子程序流程圖 計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖46所示??刂奇I有效,進(jìn)入小時(shí)調(diào)整程控制鍵有效,進(jìn)入分鐘調(diào)整程序等待按鍵程序等待按鍵程序加鍵有效小時(shí)加1減鍵效小時(shí)減1加鍵有效減鍵有效分鐘減1分鐘加1控制鍵有效,調(diào)出時(shí)間調(diào)整程序進(jìn)入主循環(huán)程序圖43 時(shí)間調(diào)整程序流程圖 讀取溫度子程序讀取溫度子程序的主要功能是讀出RAM中的9個(gè)字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫,其程序流程圖如上圖44所示。閃爍原理就是讓要調(diào)整的那一位,每隔一定時(shí)間熄滅一次,比如說50MS。初始化13021302開始振蕩從1302中讀出年、周、月、日、時(shí)、分、秒開始讀出的數(shù)據(jù)都為BCD碼,將其高低位分離,送顯示緩沖單元圖42 DS1302流程圖 時(shí)間調(diào)整程序設(shè)計(jì)調(diào)整時(shí)間用3個(gè)調(diào)整按鈕,1個(gè)作為移位控制用,另外兩個(gè)做為加減用,分別定義控制按鈕、加按鈕、減按鈕。圖41系統(tǒng)主程序流程圖 時(shí)間顯示程序我們采用了時(shí)鐘芯片DS1302,所以只需從DS1302各個(gè)寄存器中讀出時(shí)、分、秒,再處理即可。 系統(tǒng)主程序系統(tǒng)主程序首先對系統(tǒng)進(jìn)行初始化,包括設(shè)置定時(shí)器、中斷和端口;然后顯示開機(jī)畫面。(6) 程序優(yōu)化。通過編輯軟件編輯出的源程序,必須用編譯程序匯編后生成目標(biāo)代碼。注意在程序的有關(guān)位置處寫上功能注釋,提高程序的可讀性。分配好單元后,進(jìn)一步將程序框圖畫成詳細(xì)的操作流程。(2) 定程序框圖,即根據(jù)所選擇的計(jì)算方法制定框圖,這不僅是程序設(shè)計(jì)的一個(gè)重要組成,而且是決定成敗的關(guān)鍵部分。在編寫程序時(shí),采取如下幾個(gè)步驟:(1) 分析問題,明確所要解決問題的要求,將軟件分成若干個(gè)相對獨(dú)立的部分。軟件的質(zhì)量直接影響整個(gè)系統(tǒng)功能的實(shí)現(xiàn)。 小結(jié)綜合上述各功能模塊可得,單片機(jī)AT89S52是本系統(tǒng)的核心部分,它控制著數(shù)據(jù)顯示、溫度檢測存儲數(shù)據(jù)等功能。WP為寫保護(hù)腳,當(dāng)WP接高電平時(shí),只能對該器件進(jìn)行讀操作,用于硬件數(shù)據(jù)的保護(hù);當(dāng)WP接低電平時(shí),可以對該器件進(jìn)行讀寫操作。SCL和SDA分別為I178。具有10248位的存儲容量,可重復(fù)擦寫100萬次,數(shù)據(jù)可以掉電保存很多年。 溫度信息存儲電路 AT24C02的有關(guān)知識Atmel的AT24C02是典型的I178。第15腳:BLA,背光源正極第16腳:BLK,背光源負(fù)極 LCD1602使用說明LCD控制器內(nèi)有多個(gè)寄存器,通過RS和R/W引腳共同決定選擇哪一個(gè)寄存器,選擇情況如表33:RSR/W操作說明00寫入指令寄存器(清除屏幕…等)01讀Busy flag(DB7),以及讀取位址計(jì)數(shù)器(DB0~DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)表33 寄存器選擇控制線操作Busy flag(DB7):在此位未被清除為“0”時(shí),LCD將無法再處理其他指令要求。第6腳:E,端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第5腳:R/W,讀/寫選擇端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。3) 。主要顯示參數(shù):1) 顯示容量為162個(gè)字符。其中字符點(diǎn)陣式液晶顯示器應(yīng)用廣泛。液晶顯示器具有微功耗、體積小、使用硬件少,電路簡單等優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)(例如單片機(jī)應(yīng)用系統(tǒng))中得到越來越廣泛的應(yīng)用。其工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序如圖312所示。在64位ROM的最高位有效字節(jié)存儲有循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)主機(jī)根據(jù)ROM前56位計(jì)算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。表32溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)溫度/ 0C二進(jìn)制表示十六進(jìn)制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+0000 0001 1001 00010191H+0000 0000 1010 001000A2H+0000 0000 0000 10000008H00000 0000 0000 00000000H1111 1111 1111 1000FFF8H+1111 1111 0101 1000FF5EH1111 1110 0110 1111FE6FH551111 1100 1001 0000FC90HDS18B20完成溫度讀書后,就把測得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較,若TTH或TTL,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。例如+125℃的數(shù)字輸出為07D0H;+℃的數(shù)字輸出為0191H;-℃的數(shù)字輸出為FF6FH;-55℃的數(shù)字輸出為FC90H, 溫度值格式如圖311。單片機(jī)可通過單線接口讀出該數(shù)據(jù)。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。高速暫存RAM的第8字節(jié)保留未用,表現(xiàn)全邏輯1。溫度 LSB溫度 MSBTH 用戶字節(jié)1TL 用戶字節(jié)2配置寄存器保留保留保留 CRC圖 39 高速暫存RAM結(jié)構(gòu)圖1字節(jié)2字節(jié) 3字節(jié) 4字節(jié) 5字節(jié)6字節(jié) 7字節(jié) 8字節(jié)9字節(jié)EEROMTH 用戶字節(jié)1TL 用戶字節(jié)2TMR1R011111圖310 配置寄存器表31 DS18B20分辨率的定義規(guī)定R1R0分辨率/位溫度最大轉(zhuǎn)換時(shí)間/ms009011010113751112750由表31可見,DS18B20溫度轉(zhuǎn)換的時(shí)間比較長,而且設(shè)定的分辨率越高,所需的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。該字節(jié)各位的定義如圖310所示。第五個(gè)字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。高速暫存RAM的結(jié)構(gòu)為8個(gè)字節(jié)的存儲器,結(jié)構(gòu)如圖39所示。非易失性溫度報(bào)警觸發(fā)器TL和TL,可通過軟件寫入用戶報(bào)警上下限。 DS18B20內(nèi)部介紹DS18B20采用3腳PR35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖37所示。圖36 DS18B20電路圖 DS18B20性能特點(diǎn)DS18B20的主要特性:~,在寄生電源方式下可由數(shù)據(jù)線供電;b獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;c多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;d零待機(jī)功耗;e溫度以9或12位數(shù)字量讀數(shù);f用戶可定義的非易失性溫度報(bào)警設(shè)置;g報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件; h負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會因發(fā)熱而燒毀,但不能正常工作??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中;位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。 DS1302有關(guān)特性●實(shí)時(shí)時(shí)鐘,可對秒分時(shí)日周月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù);●用于高速數(shù)據(jù)暫存的318位RAM;●引腳的串行I/O;●~;●用于時(shí)鐘或RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式;●簡單的3線接口;●可選的慢速充電(至Vcc1)的能力。DS1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。 圖34復(fù)位電路 DS1302時(shí)鐘 DS1302有關(guān)知識DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償功能,~。如下圖33所示。采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。XTAL2接外部晶體的另一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號,既把此信號直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL1接外部晶體的一個(gè)引腳。(13腳):INT1(外部中斷1請求)。(11腳):TXD(串行發(fā)送端口)。內(nèi)接上拉電阻的8位尊雙向I/O口,能接4個(gè)TTL負(fù)載。④ P3口(10~17腳):P3口的字節(jié)地址為0B0H,位地址為0B0H~0B7H。能接4個(gè)TTL負(fù)載。此外,P2口也可作為通用I/O口使用。SCK(在系統(tǒng)編程用)③ P2口(21~28腳):P2口的字節(jié)地址為0A0H,位地址為0A0H~0A7H。MOSI(在系統(tǒng)編程用)T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出當(dāng)作為輸出口使用時(shí),已能對外提供推拉電流負(fù)載,外電路無需再接上拉電阻,因?yàn)閮?nèi)接上拉電阻的8位準(zhǔn)雙向I/O口,能負(fù)擔(dān)4個(gè)TTL負(fù)載。② P1口(1~8腳):P1口的字節(jié)地址為90H,位地址為90H~97H。P0口既可以作為通用I/O口使用,也可作為單片機(jī)系統(tǒng)的地址/數(shù)據(jù)線使用。AT89S52還有以下主要特點(diǎn):①采用了ATMEL公司的高密度、非易失性存
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1