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

正文內(nèi)容

基于lcd時鐘溫度計的設計畢業(yè)論文(編輯修改稿)

2025-07-19 01:10 本頁面
 

【文章內(nèi)容簡介】 從而 使系統(tǒng)結構更趨簡單,可靠性更高。7 測量參數(shù)可配置 DS18B20 的測量分辨率可通過程序設定 9~12 位。8 負壓特性 電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 9 掉電保護功能 DS18B20 內(nèi)部含有 EEPROM ,在系統(tǒng)掉電以后,它仍可保存分辨率及報警溫度的設定值。10 DS18B20 具有體積更小、適用電壓更寬、更經(jīng)濟、可選更小的封裝方式,更寬的電壓適用范圍,適合于構建自己的經(jīng)濟的測溫系統(tǒng),因此也就被設計者們所青睞。 DS18B20管腳介紹DS18B20管腳如下圖: 圖520 DS18B20管腳介紹DS18B20的管腳排列:1 GND為電源 地;2 DQ為數(shù)字信號輸入/輸出端;3 VDD為外接供電電源輸入端,在寄生電源接線方式時接地; DS18B20內(nèi)部結構1 DS18B20 內(nèi)部結構主要由四部分組成: 64 位光刻 ROM 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL 、配置寄存器。2 光刻 ROM 中的 64 位序列號是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列碼。 64 位光刻 ROM 的排列是:開始 8 位(地址: 28H )是產(chǎn)品類型標號,接著的 48 位是該 DS18B20 自身的序列號,并且每個 DS18B20 的序列號都不相同,因此它可以看作是該 DS18B20 的地址序列碼;最后 8 位則是前面 56 位的循環(huán)冗余校驗碼( CRC=X8+X5+X4+1 )。由于每一個 DS18B20 的 ROM 數(shù)據(jù)都各不相同,因此微控制器就可以通過單總線對多個 DS18B20 進行尋址,從而實現(xiàn)一根總線上掛接多個 DS18B20 的目的。DS18B20中的溫度傳感器完成對溫度的測量,用16位二進制形式提供,形式表達,其中S為符號位。DS18B20內(nèi)部結構如下圖:圖521 DS18B20內(nèi)部結構 DS18B20溫度轉(zhuǎn)化示例溫度轉(zhuǎn)化示例如下圖:圖522 DS18B20溫度轉(zhuǎn)化示意圖 DS18B20時序介紹DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序包括:1 初始化時序2 寫時序3 讀時序初始化時序如下圖:圖523 DS18B20時序介紹主機首先發(fā)出一個480-960微秒的低電平脈沖,然后釋放總線變?yōu)楦唠娖?,并在隨后的480微秒時間內(nèi)對總線進行檢測,如果有低電平出現(xiàn)說明總線上有器件已做出應答。如果沒有低電平出現(xiàn),一直都是高電平說明總線上無器件應答?! ∽鳛閺钠骷腄S18B20在一上電后就一直在檢測總線上是否有480-960微秒的低電平出現(xiàn),如果有,在總線轉(zhuǎn)為高電平后等待15-60微秒后將總線電平拉低60-240微秒做出響應存在脈沖,告訴主機本器件已做好準備。若沒有檢測到就一直在檢測等待。 對DS18B20的寫和讀操作接下來就是主機發(fā)出各種操作命令,但各種操作命令都是向DS18B20寫0和寫1組成的命令字節(jié),接收數(shù)據(jù)時也是從DS18B20讀取0或1的過程。因此首先要搞清主機是如何進行寫0、寫讀0和讀1的。寫周期最少為60微秒,最長不超過120微秒。寫周期一開始做為主機先把總線拉低1微秒表示寫周期開始。隨后若主機想寫0,則繼續(xù)拉低電平最少60微秒直至寫周期結束,然后釋放總線為高電平。若主機想寫1,在一開始拉低總線電平1微秒后就釋放總線為高電平,一直到寫周期結束。而做為從機的DS18B20則在檢測到總線被拉底后等待15微秒然后從15us到45us開始對總線采樣,在采樣期內(nèi)總線為高電平則為1,若采樣期內(nèi)總線為低電平則為0。DS18B20的寫和讀操作示意圖:圖524 DS18B20的寫和讀操作示意圖對于讀數(shù)據(jù)操作時序也分為讀0時序和讀1時序兩個過程。讀時序是從主機把單總線拉低之后,在1微秒之后就得釋放單總線為高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在檢測到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結束。若要送出1則釋放總線為高電平。主機在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時間內(nèi)完成對總線進行采樣檢測,采樣期內(nèi)總線為低電平則確認為0。采樣期內(nèi)總線為高電平則確認為1。完成一個讀時序過程,至少需要60us才能完成。 DS18B20操作步驟1 每次讀寫前對 DS18B20 進行復位初始化。復位要求主 CPU 將數(shù)據(jù)線下拉 500us ,然后釋放, DS18B20 收到信號后等待 16us~60us 左右,然后發(fā)出60us~240us 的存在低脈沖,主 CPU 收到此信號后表示復位成功。2 發(fā)送一條 ROM 指令DS18B20操作示意如下圖:圖525 DS18B20操作示意圖3發(fā)送存儲器指令發(fā)送存儲器指令如下圖:圖526發(fā)送存儲器指令示意圖 DS18B20與單片機的接口電路DS18B20與單片機的接口電路如下圖:圖527 DS18B20與單片機的接口電路n 1設置模塊采用四個按鍵與P1^P1^P1^P1^7相接組成獨立按鍵,接口電路圖如下:圖528 設置模塊接口電路圖第六章 系統(tǒng)軟件設計軟件設計是本設計的關鍵,軟件程序編寫的好壞直接影響著系統(tǒng)運行情況的良好。因本程序涉及的模塊較多,所以程序編寫也采用模塊化設計,C語言具有編寫靈活、移植方便、便于模塊化設計的特點,所以本系統(tǒng)的軟件采用C51編寫。程序框圖如下圖:圖61 程序設計框圖 溫度檢測模塊第七章 系統(tǒng)硬件電路設計n 本設計硬件電路圖11602接口電路如下圖:圖71 1602接口電路2單片機電路圖如下:圖72 單片機電路圖3復位電路接口如下圖:圖73 復位電路接口4 DS1302接口電路如下圖:圖74 DS13025排阻電路如下圖:圖75 排阻電路6晶振電路如下圖:圖76 晶振電路第八章 系統(tǒng)硬件PROTEUS仿真原理圖仿真原理圖如下圖:第九章 系統(tǒng)硬件仿真運行情況圖n 顯示實時時間實時時間顯示如下圖:圖91 實時時間仿真圖n 顯示實時溫度實時溫度顯示如下圖:圖92 實時溫度仿真圖n 實時時間設置如下圖:圖93 時間設置圖結語 在整個設計過程中,結合專業(yè)知識,充分發(fā)揮人的主觀能動性,自主學習,
學到了許多沒學到的知識。較好的完成了作品。達到了預期的目的,在最初的設計中,發(fā)揮“三個臭皮匠,頂個諸葛亮”的作用。相互學習、相互討論、研究。完成了最初的設想。在電路焊接時雖然沒什么大問題,但從中也知道了焊接在整個作品中的重要性,電路工程量大,不能心急,一個個慢慢來不能急于求成,反而達到事半功倍的效果。對電路的設計、布局要先有一個好的構思,才顯得電路板美觀、大方。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考,最后經(jīng)過老師的指導,和同學的討論,理清了思路,反而得心應
手。在此次設計中,知道了做凡事要有一顆平常的心,不要想著走捷徑,一步一腳印。也練就了我們的耐心,做什么事都要有耐心。此次比賽中學到了很多很多東西,這是最重要的??傊?,這次畢業(yè)設計使我的能力得到了全方位的提高。通過完成一個包括電路設計和程序開發(fā)的完整過程,使我了解開發(fā)一單片機應用系統(tǒng)的全過程,為今后從事相關的事業(yè)打下基礎。
致謝感謝成都工業(yè)學院給我提供了一個展現(xiàn)自己的舞臺,給我一次難得煅煉的機會,使得我們的動手能力和專業(yè)技能都有了很大的提高。在做設計的日子里得到了指導教師羅老師的悉心指導,在此向我們的指導教師羅老師致以誠摯的謝意。 感謝提供相關技術幫助的老師和同學,你們的支持和鼓勵使我對這次的作品完成有了信心和動力,也給了我很多無私的幫助和支持,我們在此深表謝意。在這段設計時間里,我的朋友以及同學也給了我很大的幫助,他們不僅熱心地幫助我查找資料,而且指出我在設計中所存在的問題,并給出了很好的建議。我順利的完成設計,他們也功不可沒。在此,我向我的朋友及同學致以我最深的謝意,感謝你們對我的幫助。 成都工業(yè)學院畢業(yè)設計 。 參考文獻[1] 張靖武,:人民郵電出版社,2006[2] :科學出版社,2007[3] 孫淑霞,代世雄. :四川科學技術出版社,2006 [4] :北京航空航天大學出版社,2008 [5] :科學出版社,2006[6] :科學出版社,2007附錄一:實物圖實物圖如下圖所示:附錄圖1附錄圖2附錄圖3附錄二 PCB圖PCB圖如下圖:附錄圖4附錄圖5附錄三 源程序代碼include include //include //include define uint unsigned intdefine uchar unsigned charsbit DS1302_CLK = P1^7。 //實時時鐘時鐘線引腳 sbit DS1302_IO = P1^6。 //實時時鐘數(shù)據(jù)線引腳 sbit DS1302_RST = P1^5。 //實時時鐘復位線引腳sbit wireless_1 = P3^0。sbit wireless_2 = P3^1。sbit wireless_3 = P3^2。sbit wireless_4 = P3^3。sbit ACC0 = ACC^0。sbit ACC7 = ACC^7。char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year。 //秒,分,時到日,月,年位閃的計數(shù)sbit Set = P2^0。 //模式切換鍵sbit Up = P2^1。 //加法按鈕sbit Down = P2^2。 //減法按鈕sbit out = P2^3。 //立刻跳出調(diào)整模式按鈕sbit DQ = P1^0。 //溫度傳送數(shù)據(jù)IO口char done,count,temp,flag,up_flag,down_flag。uchar temp_value。 //溫度值uchar TempBuffer[5],week_value[2]。void show_time()。 //液晶顯示程序/***********1602液晶顯示部分子程序****************///Port Definitions**********************************************************sbit LcdRs = P2^5。sbit LcdRw = P2^6。sbit LcdEn = P2^7。sfr DBPort = 0x80。 //P0=0x80,P1=0x90,P2=0xA0,P3=//內(nèi)部等待函數(shù)**************************************************************************unsigned char LCD_Wait(void){ LcdRs=0。 LcdRw=1。 _nop_()。 LcdEn=1。 _nop_()。 LcdEn=0。 return DBPort。 }//向LCD寫入命令或數(shù)據(jù)************************************************************define LCD_COMMAND 0 // Commanddefine LCD_DATA 1 // Datadefine LCD_CLEAR_SCREEN 0x01 // 清屏define LCD_HOMING 0x02 // 光標返回原點void LCD_Write(bit style, unsigned char input){ LcdEn=0。 LcdRs=style。 LcdRw=0。 _nop_()。 DBPort=input。 _nop_()。//注意順序 LcdEn=1。 _nop_()。//注意順序 LcdEn=0。 _nop_()。 LCD_Wait()。 }//設置顯示模式************************************************************define LCD_SHOW 0x04 //顯示開define LCD_HIDE 0x00 //顯示關 define LCD_CURSOR 0x02 //顯示光標define LCD_NO_CURSOR 0x00 //無光標 define LCD_FLASH 0x01 //光標閃動define LCD_NO_FLASH 0x00 //光標不閃動void LCD_SetDisplay(unsigned char DisplayMode){ LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。 }//設置輸入模式************************************************************define LCD_AC_UP 0x02define LCD_AC_DOWN 0x00 // defaultdefine LCD_MOVE 0x01 // 畫面可平移define LCD_NO_MOVE 0x00 //defaultvoid LCD_SetInput(unsigned char InputMode){ LCD_Write(LCD_COMMAND, 0x04|InputMode)。}//初始化LCD************************************************************void LCD_Initial(){ LcdEn=0。 LCD_Write(LCD_COMMAND,0x38)。 //8位數(shù)據(jù)端口,2行顯示,5*7點陣 LCD_Write(LCD_COMMAND,0x38)。 LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR)。 //開啟顯示, 無光標 LCD_Write(LCD_COMMAND,LCD_CLEAR_S
點擊復制文檔內(nèi)容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1