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

正文內(nèi)容

帶溫度顯示的電子鬧鐘的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-24 15:04 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 志將置位,每次溫度測(cè)量都會(huì)更新此標(biāo)志位。只要告警標(biāo)志置位,DS18B20就將響應(yīng)告警搜索命令,這也就允許單線上多個(gè)DS18B20同時(shí)進(jìn)行溫度測(cè)量,即使某處溫度越限,也可以識(shí)別出正在告警的器件。特別需要注意的是,這決定了指令的運(yùn)行時(shí)間,在軟件設(shè)計(jì)中將根據(jù)此指令運(yùn)行時(shí)間編寫各種延時(shí)程序。 電子時(shí)鐘硬件電路設(shè)計(jì)電子鬧鐘至少要包括秒信號(hào)發(fā)生器、時(shí)間顯示電路、按鍵電路、供電電源、鬧鈴指示電路等幾部分。另外,本設(shè)計(jì)要求該電子鐘能夠采集環(huán)境溫度,所以還需要溫度采集芯片。該系統(tǒng)使用AT89C51單片機(jī)作為核心,通過讀取時(shí)鐘日歷芯片DS1302和溫度傳感器DS18B20的數(shù)據(jù),完成此電子時(shí)鐘的主要功能——時(shí)鐘/日歷和環(huán)境溫度采集。使用比較通用的8段共陰數(shù)碼管,做7位顯示,分別顯示時(shí)/年,分/月,秒/日,以及環(huán)境溫度值。+5V電源的方框去掉,+3V電源改為“后備電源” 多功能電子時(shí)鐘硬件系統(tǒng)框圖鍵盤是為了完成時(shí)鐘/日歷的校對(duì)和日歷/溫度的顯示功能。由于此電子時(shí)鐘要求具有鬧鈴功能,所以設(shè)計(jì)有鬧鈴電路,進(jìn)行聲音響鈴。整個(gè)電路使用了兩種電源,+5V電源將為整個(gè)電路供電。而+3V電源僅作為DS1302的備用電源。當(dāng)+5V電源被切斷后,DS1302啟用+3V電源,可以保持DS1302繼續(xù)工作。當(dāng)+5V電源恢復(fù)供電,LED依舊顯示當(dāng)前時(shí)間,而不會(huì)因?yàn)閿嚯娛瓜到y(tǒng)復(fù)位到初始化時(shí)間,避免了重新校時(shí)的麻煩。具體電路圖請(qǐng)參見附錄。 時(shí)鐘電路設(shè)計(jì)系統(tǒng)時(shí)鐘應(yīng)用了實(shí)時(shí)時(shí)鐘日歷芯片DS1302。該硬件電路設(shè)計(jì)簡(jiǎn)單,抗干擾能力強(qiáng)。如圖,上電后。DS1302采用雙電源供電,平時(shí)由+5V電源供電,當(dāng)+5V掉電之后,由圖中BT1(+3V備用電池)供電。特別需要注意X1和X2兩端連接的晶振Y1。 系統(tǒng)時(shí)鐘電路 環(huán)境溫度采集電路設(shè)計(jì)本設(shè)計(jì)中使用DS18B20溫度傳感器進(jìn)行環(huán)境溫度采集和轉(zhuǎn)化。,作為數(shù)據(jù)的讀入和寫出口。電阻R11作為DS18B20的I/O口的上拉電阻,在讀時(shí)隙結(jié)束時(shí),I/O引腳將通過此上拉電阻拉回至高電平。 系統(tǒng)環(huán)境溫度采集電路 顯示電路就時(shí)鐘而言,通??刹捎肔CD顯示或LED顯示。對(duì)于一般的段式LCD,需要專門的驅(qū)動(dòng)電路,而且LCD顯示的可視性較差;對(duì)于具有驅(qū)動(dòng)電路和微處理器接口的液晶顯示模塊(字符或點(diǎn)陣),一般采用并行接口,對(duì)微處理器的接口要求較高,占用資源多。另外,AT89C51本身沒有專門的液晶驅(qū)動(dòng)接口。LED結(jié)構(gòu)簡(jiǎn)單,體積小,功耗低,響應(yīng)速度快,易于匹配,壽命長(zhǎng),可靠性高,而且顯示亮度高,價(jià)格便宜,市場(chǎng)上也有專門的時(shí)鐘顯示組合LED。故本設(shè)計(jì)中應(yīng)用7位8段共陰LED實(shí)現(xiàn)顯示部分。LED顯示分動(dòng)態(tài)顯示和靜態(tài)顯示:動(dòng)態(tài)顯示方式的硬件電路簡(jiǎn)單。但設(shè)計(jì)上如果處理不當(dāng),易造成亮度低,閃爍問題。因此合理的設(shè)計(jì)既應(yīng)保證驅(qū)動(dòng)電路易實(shí)現(xiàn),又要保證圖像穩(wěn)定,無(wú)閃爍。動(dòng)態(tài)顯示采用多路復(fù)用技術(shù)的動(dòng)態(tài)掃描顯示方式,復(fù)用的程度不是無(wú)限增加的, 因?yàn)槔脛?dòng)態(tài)掃描顯示使我們看到一幅穩(wěn)定畫面的實(shí)質(zhì)是利用了人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時(shí)間的長(zhǎng)短,發(fā)光的亮度等因素。靜態(tài)顯示,是由微型計(jì)算機(jī)一次輸出顯示模型后,就能保持該顯示結(jié)果,直到下次發(fā)送新的顯示模型為止。靜態(tài)顯示驅(qū)動(dòng)程序簡(jiǎn)單,且CPU占用率低,但每個(gè)LED數(shù)碼管需要一個(gè)鎖存器來(lái)鎖存每一個(gè)顯示位的筆段代碼,硬件開銷大,僅適合顯示位數(shù)較少的場(chǎng)合。為了在顯示部分節(jié)省單片機(jī)I/O口,故采用靜態(tài)顯示方式。74LS164是8位移位寄存器,應(yīng)用該芯片驅(qū)動(dòng)LED做顯示部分,其優(yōu)點(diǎn)在于連線簡(jiǎn)單,節(jié)省單片機(jī)I/O口,軟件編程容易。 顯示面板LED分布圖 按鍵電路設(shè)計(jì)根據(jù)功能需要,本時(shí)鐘需要設(shè)置以下功能鍵:校對(duì)選擇鍵,加1操作鍵,減1操作鍵,顯示日期鍵,顯示溫度鍵,鬧鈴開關(guān)鍵。按照鍵盤與CPU的連接方式可分為獨(dú)立式鍵盤和矩陣式鍵盤。獨(dú)立式鍵盤是各個(gè)按鍵相互獨(dú)立,每個(gè)按鍵占用一個(gè)I/O口線,每根I/O口線上的按鍵不會(huì)影響其他I/O口上按鍵工作狀態(tài)。獨(dú)立式鍵盤電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口,在按鍵數(shù)量較多時(shí),I/O口線浪費(fèi)較大,且電路結(jié)構(gòu)復(fù)雜。矩陣式鍵盤適合按鍵較多時(shí)使用。由于本設(shè)計(jì)的電子鐘最多需要7個(gè)按鍵,若采用矩陣式鍵盤時(shí)會(huì)有按鍵浪費(fèi),故采用的是獨(dú)立式鍵盤。對(duì)于內(nèi)置了上拉電阻的I/O引腳來(lái)說(shuō),外接上拉電阻沒有意義。 鍵盤電路。 按鍵功能表按鍵鍵名功能屬性K1Calendar顯示日歷自鎖K2T顯示溫度自鎖K3FUN功能選擇自動(dòng)復(fù)位K4UP數(shù)值加一操作自動(dòng)復(fù)位K5DOWN數(shù)值減一操作自動(dòng)復(fù)位K6Enter/Snooze確認(rèn)鍵/貪睡自動(dòng)復(fù)位K7Alarm鬧鈴開關(guān)自鎖按鍵操作說(shuō)明如下:K1鍵:該鍵為帶自鎖按鍵,在正常顯示時(shí)間狀態(tài)下,每次將按鍵按下, LED數(shù)碼管將顯示日期;再次按下,按鍵彈出,重新顯示時(shí)間。K2鍵:該鍵為帶自鎖按鍵,在正常顯示時(shí)間狀態(tài)下,每次將按鍵按下,LED數(shù)碼管將顯示環(huán)境溫度;再次按下,按鍵彈出,重新顯示時(shí)間。K3鍵:該鍵為自動(dòng)復(fù)位鍵,在正常顯示時(shí)間狀態(tài)下,第一次按下后,開始校對(duì)小時(shí),以后每次按下都會(huì)分別進(jìn)入對(duì)分、秒、鬧鈴時(shí)、鬧鈴分、年、月、日的校對(duì)狀態(tài)。K4鍵:該鍵為自動(dòng)復(fù)位鍵,在校對(duì)狀態(tài)下,每次按動(dòng)該鍵,都會(huì)使相應(yīng)校對(duì)位進(jìn)行加1操作。例如:校對(duì)小時(shí)狀態(tài),每按一下,小時(shí)位加1,當(dāng)加至小時(shí)最高值23時(shí),再按K4鍵,小時(shí)位回0。調(diào)分、秒、年、月、日與皆之相同,只是各位最高值不同。K5鍵:該鍵為自動(dòng)復(fù)位鍵,與K4鍵類似,不同之處是該鍵每次按下將使相應(yīng)校對(duì)位進(jìn)行減1操作。K6鍵:該鍵為自動(dòng)復(fù)位鍵,在校對(duì)狀態(tài)下,按下該鍵,從校對(duì)狀態(tài)返回時(shí)間顯示狀態(tài);在響鈴狀態(tài)下,按下該鍵,鬧鈴進(jìn)入貪睡狀態(tài)。K7鍵:該鍵為帶自鎖按鍵,按下后鬧鈴開啟,彈出后鬧鈴關(guān)閉。 鬧鈴電路設(shè)計(jì)鬧鈴音樂可以直接采用蜂鳴器鬧鈴,如當(dāng)前時(shí)刻與鬧鈴時(shí)間相同,單片機(jī)向蜂鳴器送出高低電平,蜂鳴器發(fā)聲高電平時(shí),蜂鳴器會(huì)發(fā)聲嗎??。采用蜂鳴器鬧鈴結(jié)構(gòu)簡(jiǎn)單,控制方便,但是發(fā)出的鬧鈴聲音單一。也可以在編程的時(shí)候編寫一段音樂程序,待鬧鈴時(shí)間到時(shí),調(diào)用該音樂程序給揚(yáng)聲器,便響起音樂。不過該方法只能做一些簡(jiǎn)單音樂,并且音樂程序會(huì)占用很多單片機(jī)存儲(chǔ)資源。鬧鈴的音樂不是本設(shè)計(jì)中的重點(diǎn),故采用最簡(jiǎn)單的方法,占用單片機(jī)一根I/, 。,S9012的發(fā)射極和集電極導(dǎo)通,使蜂鳴器發(fā)聲。當(dāng)響鈴標(biāo)志位為“1”時(shí),使蜂鳴器U11發(fā)出聲音。 鬧鈴電路第四章 電子時(shí)鐘軟件設(shè)計(jì)本設(shè)計(jì)使用C語(yǔ)言編程。 主程序設(shè)計(jì)第一次上電,系統(tǒng)先進(jìn)行初始化, LED顯示初始時(shí)間“14:28:00”,并開始走時(shí)。初始日期為2008年5月12日,此刻若按K1鍵,LED顯示“080512”。單片機(jī)依次開始調(diào)用鍵盤掃描子程序、DS1302子程序、DS18B20子程序、鬧鈴子程序,經(jīng)過延時(shí),返回程序開頭循環(huán)運(yùn)行。 多功能電子鐘主程序流程圖 子程序設(shè)計(jì) 實(shí)時(shí)時(shí)鐘日歷子程序設(shè)計(jì)該程序主要實(shí)現(xiàn)對(duì)DS1302寫保護(hù)、充電,對(duì)年、月、日、時(shí)、分、秒等寄存器的讀寫操作。在讀寫操作子程序中都執(zhí)行了關(guān)中斷指令,因?yàn)樵诖型ㄐ艜r(shí)對(duì)時(shí)序要求比較高,而且在此是用I/O口軟件模擬串行時(shí)鐘脈沖,所以在通信過程中最好保證傳輸?shù)倪B續(xù)性,不要允許中斷。 實(shí)時(shí)時(shí)鐘日歷子程序流程圖DS1302每次上電時(shí)自動(dòng)處于暫停狀態(tài),必須把秒寄存器的位7置位0,時(shí)鐘才開始計(jì)時(shí)。如果DS1302一直沒有掉電,則不存在此問題。在進(jìn)行寫操作時(shí),需要先解除寫保護(hù)寄存器的“禁止”狀態(tài)。當(dāng)用多字節(jié)模式進(jìn)行操作時(shí),必須寫夠8字節(jié)。 環(huán)境溫度采集子程序設(shè)計(jì)DS18B20是1—wire單線器件,它在一根數(shù)據(jù)線上實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,這就需要一定的協(xié)議來(lái)對(duì)讀寫數(shù)據(jù)提出嚴(yán)格的時(shí)序要求,而AT89C51單片機(jī)并不支持單線傳輸。因此,必須采用軟件的方法來(lái)模擬單線的協(xié)議時(shí)序。主機(jī)操作單線器件DS18B20必須遵循下面的順序。1. 初始化單線總線上的所有操作均從初始化開始。初始化過程如下:主機(jī)通過拉低單線480μs以上,產(chǎn)生復(fù)位脈沖,然后釋放該線,進(jìn)入RX接收模式。主機(jī)釋放總線時(shí),會(huì)產(chǎn)生一個(gè)上升沿。單線器件DS18B20檢測(cè)到該上升沿后,延時(shí)15~60μs,通過拉低總線60~240μs來(lái)產(chǎn)生應(yīng)答脈沖。主機(jī)接收到從機(jī)的應(yīng)答脈沖后,說(shuō)明有單線器件在線。2. ROM操作命令一旦總線主機(jī)檢測(cè)到應(yīng)答脈沖,便可以發(fā)起ROM操作命令。共有5位ROM操作命令。 DS18B20的ROM操作命令命令類型命令字節(jié)功能說(shuō)明Raed Rom33H此命令讀取激光ROM中的64位,只能用于總線上單個(gè)DS18B20器件的情況,多掛則會(huì)發(fā)生數(shù)據(jù)沖突Match Rom(匹配ROM)55H 此命令后跟64位ROM序列號(hào),尋址多掛接總線上的DS18B20。只有序列號(hào)完全匹配的DS18B20才能響應(yīng)后面的內(nèi)存操作命令,其他不匹配的將等待復(fù)位脈沖。此命令可用于單掛接或者多掛接總線。Skip Rom(跳過ROM)CCH此命令用于單掛接總線系統(tǒng)時(shí),可以無(wú)需提供64位ROM序列號(hào)皆可運(yùn)行內(nèi)存操作命令。如果總線上接多個(gè)DS18B20,并且在此命令后執(zhí)行讀命令,將會(huì)發(fā)生數(shù)據(jù)沖突。Search Rom(搜索ROM)F0H 主機(jī)調(diào)用此命令,通過一個(gè)排除法過程,可以識(shí)別出總線上所有器件的ROM序列號(hào)。Alarm Search(告警搜索)ECH 此命令流程圖和Search Rom命令相同,但是DS18B20只有在最近的一次溫度測(cè)量時(shí)滿足了告警觸發(fā)條件,才會(huì)響應(yīng)此命令。3. 內(nèi)存操作命令在成功執(zhí)行了ROM操作命令之后,才可以使用內(nèi)存操作命令。主機(jī)可以提供6種內(nèi)存操作命令。 DS18B20內(nèi)存操作命令命令類型命令字節(jié)功能說(shuō)明Write Scratchpad(寫暫存器)4EH此命令寫暫存器中地址2~4的3個(gè)字節(jié)(TH、TL和配置寄存器)在發(fā)起復(fù)位脈沖之前,3個(gè)字節(jié)都必須要寫。Rrad Scratchpad(讀暫存器)BEH 此命令讀取暫存器內(nèi)容,從字節(jié)0一直讀取到字節(jié)8。主機(jī)可以隨時(shí)發(fā)起復(fù)位脈沖以停止此操作。Copy Scratchpad(復(fù)制暫存器)48H 此命令將暫存器中的內(nèi)容復(fù)制進(jìn)E2RAM,以便將溫度告警觸發(fā)字節(jié)存入非易失內(nèi)存。如果在此命令后產(chǎn)生讀時(shí)隙,那么只要器件在進(jìn)行復(fù)制就會(huì)輸出0,復(fù)制完成后,再輸出1。Convert T(溫度轉(zhuǎn)換)44H 此命令開始溫度轉(zhuǎn)換操作。如果在此命令后主機(jī)產(chǎn)生讀時(shí)隙,那么只要器件在進(jìn)行溫度轉(zhuǎn)換就會(huì)輸出0,轉(zhuǎn)換完成后再輸出1。Recall E2(重調(diào)E2存儲(chǔ)器)B8H 將存儲(chǔ)在E2RAM中的溫度告警觸發(fā)值和配置寄存器值重新拷貝到暫存器中。此重調(diào)操作在DS18B20加電時(shí)自動(dòng)產(chǎn)生。Read Power Supply(讀供電方式)B4H 主機(jī)發(fā)起此命令后的每個(gè)讀數(shù)據(jù)時(shí)隙內(nèi),DS18B20發(fā)信號(hào)通知它的供電方式:0為寄生電源方式,1為外部供電方式。4. 數(shù)據(jù)處理DS18B20要求有嚴(yán)格的時(shí)序來(lái)保證數(shù)據(jù)的完整。在單線DQ上,存在復(fù)位脈沖、應(yīng)答脈沖、寫“0”、寫“1”、讀“0”和讀“1”幾種信號(hào)類型。其中,除了應(yīng)答脈沖之外,均由主機(jī)產(chǎn)生。而數(shù)據(jù)位的讀和寫則是通過使用讀、寫時(shí)隙實(shí)現(xiàn)的。首先了解寫時(shí)隙。當(dāng)主機(jī)將數(shù)據(jù)線從高電平拉至低電平時(shí),產(chǎn)生寫時(shí)隙。有2種類型的寫時(shí)隙:寫“1”和寫“0”。所有寫時(shí)隙必須在60μs以上(即由高拉低后持續(xù)60μs以上),各個(gè)寫時(shí)隙之間必須保證最短1μs的恢復(fù)時(shí)間。DS18B20在DQ線變低后的15~60μs的窗口對(duì)DQ進(jìn)行采樣,如果為高電平,就為寫“1”;如果為低電平,就為寫“0”。對(duì)于主機(jī)產(chǎn)生寫“1”時(shí)隙的情況,數(shù)據(jù)線必須先被拉低,然后釋放,在寫時(shí)隙開始后的15μs,允許DQ線拉至高電平。對(duì)于主機(jī)寫“0”時(shí)隙的情況,DQ線必須被拉至低電平且至少保持低電平60μs。再來(lái)了解讀時(shí)隙。當(dāng)主機(jī)從DS18B20讀數(shù)據(jù)時(shí),把數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生讀時(shí)隙。數(shù)據(jù)線DQ必須保持低電平至少1μs,來(lái)自DS18B20的輸出數(shù)據(jù)在讀時(shí)隙下降沿之后15μs內(nèi)有效。因此,在此15μs內(nèi),主機(jī)必須停止將DQ引腳置低。在讀時(shí)隙結(jié)束時(shí),DQ引腳將通過外部上拉電阻拉回至高電平。所有的讀時(shí)隙最短必須持續(xù)60μs,各個(gè)讀時(shí)隙之間必須保證最短1μs的恢復(fù)時(shí)間。 環(huán)境溫度采集子程序流程圖所有的讀寫時(shí)隙至少需要60μs,且每?jī)蓚€(gè)獨(dú)立的時(shí)隙之間至少需要1μs的恢復(fù)時(shí)間。在寫時(shí)序中,主機(jī)將在拉低總線15μs內(nèi)釋放總線,并向DS18B20寫“1”。若主機(jī)拉低總線后能保持60μs的低電平,則向單總線器件寫“0”。DS18B20僅在主機(jī)發(fā)出讀時(shí)隙時(shí)才向主機(jī)傳輸數(shù)據(jù),所以,當(dāng)主機(jī)向DS18B20發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)隙,以便DS18B20能傳輸數(shù)據(jù)。 程序見附錄C。 顯示子程序設(shè)計(jì)用74LS164驅(qū)動(dòng)LED數(shù)碼管靜態(tài)顯示電路,編程也很容易。只要將需要顯示的數(shù)字編輯成對(duì)應(yīng)的BCD碼,逐位送入74LS164的A、B串行輸入端,數(shù)碼管將正常顯示。關(guān)鍵之處是要實(shí)現(xiàn)根據(jù)鍵值顯示不同的數(shù)字。為了方便實(shí)現(xiàn)按鍵顯示,程序中調(diào)用的都是各個(gè)標(biāo)志位,通過判斷標(biāo)志位的“真”、“假”來(lái)決定顯示的內(nèi)容。程序見附錄C。 顯示子程序流程圖為了方便實(shí)現(xiàn)按鍵顯示,程序中調(diào)用的都是各個(gè)標(biāo)志位,通過判斷標(biāo)志位的“真”、“假”來(lái)決定顯示的內(nèi)容。程序見附錄C。鍵盤掃描子程序單片機(jī)對(duì)鍵盤掃描的方法有隨機(jī)掃描方式、定時(shí)掃描方式和中斷掃描方式。由于本設(shè)計(jì)中AT89C51單片機(jī)在系統(tǒng)中的主要任務(wù)是接受DS1302和DS18B20的數(shù)據(jù)并送出顯示,完成時(shí)鐘/日歷校對(duì)和日期/溫度顯示控制。89C51單片機(jī)完全有能力完成以上工作,所以采用隨機(jī)掃描鍵盤方式,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1