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

正文內(nèi)容

基于at89s51單片機(jī)的電子時(shí)鐘帶溫度顯示-全文預(yù)覽

  

【正文】 x88define DS1302_YEAR 0x8Cdefine DS1302_RAM(X) (0xC0+(X)*2) //用于計(jì)算 DS1302_RAM 地址的宏 BCD_DEC(uchar val){ uchar i。sbit ACC7 = ACC^7。 } }define uchar unsigned chardefine uint unsigned intsbit DS1302_CLK = P2^6。 write_data(dat)。 //所有顯示清零} //************************************************************************//設(shè)置光標(biāo)void display_xy(uchar x,uchar y){ if(y==1) x+=0x40。//使能端初始化 write_(0x38)。 lcden=0。 P0=。 lcden=1。y)。 for(x=z。 附錄Ⅰ實(shí)物顯示圖 附錄Ⅱ主程序清單include define uchar unsigned chardefine uint unsigned intsbit lcdrs=P1^6。在本次試驗(yàn)中,感覺(jué)到自己?jiǎn)纹瑱C(jī)知識(shí)非常欠缺,編程方面很多知識(shí)不懂,在同學(xué)的幫助下,并借鑒了其他同學(xué)的部分程序,經(jīng)過(guò)調(diào)試后在單片機(jī)上顯示出最終結(jié)果,一個(gè)小型的帶溫度顯示的萬(wàn)年歷就做出來(lái)了。 圖31 主函數(shù)流程圖 18B20溫度計(jì)流程圖DS1820溫度計(jì)程序流程圖如圖32所示。鍵盤(pán)圖25所示。 圖23 DS1302時(shí)鐘電路圖. DS18B20溫度計(jì)電路DS18B20它具有3引腳TO-92小體積封裝形式,溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到3根或2根線(xiàn)上,CPU只需一根端口線(xiàn)就能與多個(gè)DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線(xiàn)和邏輯電路。復(fù)位電路如圖22所示 圖22 復(fù)位電路圖. DS1302時(shí)鐘電路DS1302內(nèi)含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過(guò)串行接口與單片機(jī)進(jìn)行通信。時(shí)鐘電路如圖21所示。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。 圖16 DS1302的命令字結(jié)構(gòu)3. 電路硬件設(shè)計(jì)及分析. 時(shí)鐘電路系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。單片機(jī)是通過(guò)簡(jiǎn)單的同步串行通訊與DS1302通訊的,每次通訊都必須由單片機(jī)發(fā)起,無(wú)論是讀還是寫(xiě)操作,單片機(jī)都必須先向DS1302寫(xiě)入一個(gè)命令幀,這個(gè)幀的格式如表1所示,最高位BIT7固定為1,BIT6決定操作是針對(duì)RAM還是時(shí)鐘寄存器,接著的5個(gè)BIT是RAM或時(shí)鐘寄存器在DS1302的內(nèi)部地址,最后一個(gè)BIT表示這次操作是讀操作抑或是寫(xiě)操作。日歷、時(shí)間寄存器及控制字如表12所示。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8+8(8位地址+8位數(shù)據(jù)),在多字節(jié)方式下為8加最多可達(dá)248的數(shù)據(jù)。 圖15 DS1302的內(nèi)部結(jié)構(gòu)圖 DS1302含充電電路,可以對(duì)作為后備電源的可充電電池充電,并可選擇充電使能和串入的二極管數(shù)目,以調(diào)節(jié)電池充電電壓。DS1302的外部引腳功能說(shuō)明如圖14所示。實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、星期、月、年的信息,每個(gè)月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過(guò)AM/PM標(biāo)志位決定采用24或12小時(shí)時(shí)間格式。圖13 高速暫存存儲(chǔ)器分配圖表11是DS18B20溫度采集轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于或等于0,這5位為0,;如果溫度小于0,這5位為1。Read Power Supply(讀電源)[B4h] 對(duì)于在此命令發(fā)送至DS18B20之后所發(fā)出的第一讀數(shù)據(jù)的時(shí)間片,器件都會(huì)給出其電源方式的信號(hào):“0”=寄生電源供電,“1”=外部電源供電。如果使用寄生電源,總線(xiàn)控制器必須在發(fā)出這條命令后立即起動(dòng)強(qiáng)上拉,并保持500ms。如果使用寄生電源,總線(xiàn)控制器必須在這條命令發(fā)出后立即起動(dòng)強(qiáng)上拉并最少保持10ms。讀取將從字節(jié)0開(kāi)始,一直進(jìn)行下去,直到第9(字節(jié)8,CRC)字節(jié)讀完。(3) 存儲(chǔ)器操作命令Write Scratchpad(寫(xiě)暫存存儲(chǔ)器)[4Eh] 這個(gè)命令向DS18B20的暫存器中寫(xiě)入數(shù)據(jù),開(kāi)始位置在地址2。但是,僅在最近一次溫度測(cè)量出現(xiàn)告警的情況下,DS18B20才對(duì)此命令作出響應(yīng)。如果在總線(xiàn)上存在多于一個(gè)的從屬器件而且在Skip ROM命令之后發(fā)出讀命令,那么由于多個(gè)從片同時(shí)發(fā)送數(shù)據(jù),會(huì)在總線(xiàn)上發(fā)生數(shù)據(jù)沖突(漏極開(kāi)路下拉會(huì)產(chǎn)生線(xiàn)與的效果)。只有與64位ROM序列嚴(yán)格相符的DS18B20才能對(duì)后繼的存貯器操作命令作出響應(yīng)。這些命令介紹如下:Read ROM(讀ROM)[33h] 此命令允許總線(xiàn)主機(jī)讀DS18B20的8位產(chǎn)品系列編碼,唯一的48位序列號(hào),以及8位的CRC。初始化序列包括總線(xiàn)主機(jī)發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖。測(cè)量結(jié)果存入溫度寄存器中。DS18B20測(cè)量溫度時(shí)使用特有的溫度測(cè)量技術(shù)。這樣,經(jīng)過(guò)比較后所得的溫度寄存器的值就是最終讀取的溫度值了,℃,四舍五入最大量化誤差為177。為了補(bǔ)償振蕩器溫度特性的非線(xiàn)性性,斜率累加器提供的預(yù)置數(shù)也隨溫度相應(yīng)變化。 高溫度系數(shù)振蕩器是一個(gè)振蕩頻率對(duì)溫度很敏感的振蕩器,為計(jì)數(shù)器2提供一個(gè)頻率隨溫度變化的計(jì)數(shù)脈沖。它具有3引腳TO-92小體積封裝形式,溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,℃,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出,其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到3根或2根線(xiàn)上,CPU只需一根端口線(xiàn)就能與多個(gè)DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線(xiàn)和邏輯電路。為了滿(mǎn)足單片機(jī)系統(tǒng)的實(shí)時(shí)鐘需求,最可靠的方法是采用實(shí)時(shí)鐘芯片DS1302。 . 時(shí)鐘維持使用片內(nèi)定時(shí)器進(jìn)行計(jì)時(shí)的時(shí)候,單片機(jī)始終要處于工作狀態(tài)。但使用片內(nèi)定時(shí)器有以下幾個(gè)問(wèn)題:. 時(shí)間補(bǔ)償片內(nèi)定時(shí)器采用中斷方式提供計(jì)時(shí)節(jié)拍,中斷的實(shí)質(zhì)是隨機(jī)程序切換,那么,中斷響應(yīng)時(shí)間是不可精確預(yù)測(cè)的。圖11 方案1系統(tǒng)結(jié)構(gòu)框圖方案二:用主芯片為STC89C52的單片機(jī)控制實(shí)現(xiàn),為了滿(mǎn)足單片機(jī)系統(tǒng)的實(shí)時(shí)控制的需求,采用實(shí)時(shí)鐘芯片DS1302,使用按鍵進(jìn)行時(shí)間的調(diào)整和定時(shí),溫度傳感器使用DS18B20。帶有溫度的的電子鐘可以使人們隨時(shí)都可以了解溫度的變化。本文主要介紹由單片機(jī)控制的帶有溫度顯示的電子鐘的設(shè)計(jì)。摘要本文介紹了一款基于AT89S51單片機(jī)控制的帶有溫度顯示的電子鐘的設(shè)計(jì),通過(guò)多功能數(shù)字鐘帶有溫度的設(shè)計(jì)思路,詳細(xì)敘述了系統(tǒng)硬件、軟件的具體實(shí)現(xiàn)過(guò)程。 關(guān)鍵詞: 單片機(jī); C語(yǔ)言編程; DS1302時(shí)鐘芯片;DS18B20;溫度傳感器 前言單片微型計(jì)算機(jī)是隨著超大規(guī)模集成電路技術(shù)的發(fā)展而誕生的,由于它具有體積小、功能強(qiáng)、性?xún)r(jià)比高等特點(diǎn),所以廣泛應(yīng)用于電子儀表、家用電器、節(jié)能裝置、軍事裝置、機(jī)器人、工業(yè)控制等諸多領(lǐng)域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)品的功能和質(zhì)量,又降低了成本,簡(jiǎn)化了設(shè)計(jì)。越來(lái)越多的新功能更貼近人們的生活了,所以也越來(lái)越受人們所喜歡。方案1系統(tǒng)結(jié)構(gòu)框圖如圖11所示。 圖12 方案2系統(tǒng)結(jié)構(gòu)框圖. 方案選擇方案一直接使用單片機(jī)內(nèi)集成的定時(shí)器,產(chǎn)生定時(shí)節(jié)拍,編制軟件計(jì)數(shù)器,進(jìn)行節(jié)拍技術(shù),理論上講,不但能夠完成秒表設(shè)計(jì),還能夠?qū)崿F(xiàn)分鐘、刻鐘、小時(shí)的實(shí)時(shí)計(jì)時(shí)功能,在此基礎(chǔ)上,如果加上足夠精確的誤差時(shí)間補(bǔ)償處理,甚至可以實(shí)現(xiàn)日、星期、月、年等日歷功能。片內(nèi)定時(shí)器只適合于單片機(jī)短時(shí)間計(jì)時(shí)的要求。不管單片機(jī)系統(tǒng)開(kāi)機(jī)、關(guān)機(jī)還是待機(jī),系統(tǒng)時(shí)鐘要始終維持。芯片介紹. DS18B20芯片介紹DS18B20是DALLAS公司生產(chǎn)的單總線(xiàn)式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、搞干擾能力強(qiáng)、易配處理器等優(yōu)點(diǎn),特別適用于構(gòu)成多點(diǎn)溫度測(cè)控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)(提供9位二進(jìn)制數(shù)字)給單片機(jī)處理,且在同一總線(xiàn)上可以?huà)旖佣鄠€(gè)傳感器芯片。DS18B20工作過(guò)程及時(shí)序 DS18B20內(nèi)部的低溫度系數(shù)振蕩器是一個(gè)振蕩頻率隨溫度變化很小的振蕩器,為計(jì)數(shù)器1提供一頻率穩(wěn)定的計(jì)數(shù)脈沖。以后計(jì)數(shù)器1每一個(gè)循環(huán)的預(yù)置數(shù)都由斜率累加器提供。在計(jì)數(shù)器2停止計(jì)數(shù)后,℃進(jìn)行比較,℃,溫度寄存器的最低位就置0;℃,最低位就置1;℃時(shí),溫度寄存器的最低位就進(jìn)位然后置0。測(cè)溫結(jié)束時(shí),這9位數(shù)據(jù)轉(zhuǎn)存到暫存存儲(chǔ)器的前兩個(gè)字節(jié)中,符號(hào)位占用第一字節(jié),8位溫度數(shù)據(jù)占據(jù)第二字節(jié)。芯片內(nèi)部還有斜率累加器,可對(duì)頻率的非線(xiàn)性度加以補(bǔ)償。(1)初始化 單總線(xiàn)上的所有處理均從初始化序列開(kāi)始。所有ROM操作命令均為8位長(zhǎng)。 Match ROM( 符合ROM)[55h] 此命令后繼以64位的ROM數(shù)據(jù)序列,允許總線(xiàn)主機(jī)對(duì)多點(diǎn)總線(xiàn)上特定的DS18B20尋址。Skip ROM( 跳過(guò)ROM )[CCh] 在單點(diǎn)總線(xiàn)系統(tǒng)中,此命令通過(guò)允許總線(xiàn)主機(jī)不提供64位ROM編碼而訪(fǎng)問(wèn)存儲(chǔ)器操作來(lái)節(jié)省時(shí)間。Alarm Search(告警搜索)[ECh] 此命令的流程與搜索ROM命令相同。貯存在EEPROM內(nèi)的觸發(fā)器值用于告警。Read Scratchpad(讀暫存存儲(chǔ)器)[BEh] 這個(gè)命令讀取暫存器的內(nèi)容。如果總線(xiàn)控制器在這條命令之后跟著發(fā)出讀時(shí)間隙,而DS18B20又正在忙于把暫存器拷貝到E2存儲(chǔ)器,DS18B20就會(huì)輸出一個(gè)“0”,如果拷貝結(jié)束的話(huà),DS18B20 則輸出“1”。如果總線(xiàn)控制器在這條命令之后跟著發(fā)出讀時(shí)間隙,而DS18B20又忙于做時(shí)間轉(zhuǎn)換的話(huà),DS18B20將在總線(xiàn)上輸出“0”,若溫度轉(zhuǎn)換完成,則輸出“1”。在這條命令發(fā)出之后,對(duì)于所發(fā)出的第一個(gè)讀數(shù)據(jù)時(shí)間片,器件會(huì)輸出溫度轉(zhuǎn)換忙的標(biāo)識(shí):“0”=忙,“1”=準(zhǔn)備就緒。單片機(jī)可通過(guò)單線(xiàn)接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。表11 DS18B20溫度數(shù)據(jù)表 溫度/0C二進(jìn)制表示十六進(jìn)制表示符號(hào)位(5位)數(shù)據(jù)位(11位)+1250 0 0 0 01111101000007D0H+0 0 0 0 0001100100010191H+0 0 0 0 00001010001000A2H+0 0 0 0 0000000010000008H00 0 0 0 0000000000000000H1 1 1 1 111111111000FFF8H1 1 1 1 111101011110FF5EH1 1 1 1 111001101111FE6FH551 1 1 1 110010010000FC90H. DS1302芯片介紹DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,可以通過(guò)串行接口與單片機(jī)進(jìn)行通信。DS1302工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí),功耗小于1mW。雖然數(shù)據(jù)分成兩種,但是對(duì)單片機(jī)的程序而言,其實(shí)是一樣的,就是對(duì)特定的地址進(jìn)行讀寫(xiě)操作。數(shù)據(jù)在時(shí)鐘(SCLK)的上升沿串行輸入,前8位指定訪(fǎng)問(wèn)地址,命令字裝入移位寄存器后,在之后的時(shí)鐘周期,讀操作時(shí)輸出數(shù)據(jù),寫(xiě)操作時(shí)輸出數(shù)據(jù)。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1