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

正文內(nèi)容

數(shù)顯溫度計(jì)的系統(tǒng)設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-25 14:06 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 部分。(3) 合理分配系統(tǒng)資源,包括定時(shí)器/計(jì)數(shù)器、中斷、堆棧等。分配好單元后,進(jìn)一步將程序框圖畫(huà)成詳細(xì)的操作流程。(4) 根據(jù)程序的流程圖和指令系統(tǒng)編寫(xiě)出程序。注意在程序的有關(guān)位置處寫(xiě)上功能注釋?zhuān)岣叱绦虻目勺x性。(5) 程序調(diào)試。通過(guò)編輯軟件編輯出的源程序,必須用編譯程序匯編后生成目標(biāo)代碼。如果源程序有語(yǔ)法錯(cuò)誤,需修改源文件后繼續(xù)編譯,直到無(wú)語(yǔ)法錯(cuò)誤為止,然后利用目標(biāo)代碼通過(guò)仿真器進(jìn)行程序調(diào)試,排除設(shè)計(jì)和編程中的錯(cuò)誤直到成功。(6) 程序優(yōu)化。使各功能程序模塊化,子程序化,縮短程序的長(zhǎng)度,加快運(yùn)算速度和節(jié)省數(shù)據(jù)存儲(chǔ)空間,減少程序執(zhí)行的時(shí)間。 系統(tǒng)主程序系統(tǒng)主程序首先對(duì)系統(tǒng)進(jìn)行初始化,包括設(shè)置定時(shí)器、中斷和端口;然后顯示開(kāi)機(jī)畫(huà)面。由于單片機(jī)沒(méi)有停止指令,所以可以設(shè)計(jì)系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果,系統(tǒng)的流程圖如圖41所示。圖41系統(tǒng)主程序流程圖 時(shí)間顯示程序我們采用了時(shí)鐘芯片DS1302,所以只需從DS1302各個(gè)寄存器中讀出時(shí)、分、秒,再處理即可。在首次對(duì)DS1302進(jìn)行操作之前,必須對(duì)它進(jìn)行初始化,然后從DS1302中讀取數(shù)據(jù),再經(jīng)處理后,送給顯示緩沖單元,流程圖見(jiàn)圖42所示。初始化13021302開(kāi)始振蕩從1302中讀出年、周、月、日、時(shí)、分、秒開(kāi)始讀出的數(shù)據(jù)都為BCD碼,將其高低位分離,送顯示緩沖單元圖42 DS1302流程圖 時(shí)間調(diào)整程序設(shè)計(jì)調(diào)整時(shí)間用3個(gè)調(diào)整按鈕,1個(gè)作為移位控制用,另外兩個(gè)做為加減用,分別定義控制按鈕、加按鈕、減按鈕。在調(diào)整時(shí)間過(guò)程中,要調(diào)整的那位與別的位應(yīng)該有區(qū)別,所以增加了閃爍功能,即調(diào)整的那位一直在閃爍直到調(diào)整下一位。閃爍原理就是讓要調(diào)整的那一位,每隔一定時(shí)間熄滅一次,比如說(shuō)50MS。利用定時(shí)器計(jì)時(shí),當(dāng)達(dá)到50MS溢出時(shí),就送給該位熄滅符,在下一次溢出時(shí),再送正常顯示的值,不斷交替,直到調(diào)整該位結(jié)束,此時(shí)送正常顯示值給該位,再進(jìn)入下一位調(diào)整閃爍程序,時(shí)間調(diào)整程序流程圖如圖43所示。控制鍵有效,進(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ù)的改寫(xiě),其程序流程圖如上圖44所示。YESNONOYES結(jié)束讀取操作,CRC校驗(yàn)移入溫度暫存器9字節(jié)完?CRC校驗(yàn)正確?圖44讀取溫度子程序流程圖發(fā)DS18B20復(fù)位命令位命令發(fā)跳過(guò)ROM命令發(fā)讀取溫度命令 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序(圖45)主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,當(dāng)采用12位分辨率時(shí),轉(zhuǎn)換時(shí)間約為750毫秒,在本程序設(shè)計(jì)中采用1秒顯示程序延時(shí)法等待轉(zhuǎn)換的完成。發(fā)DS18B20復(fù)位命令發(fā)跳過(guò)ROM命令發(fā)溫度轉(zhuǎn)換開(kāi)始命令 結(jié)束圖45 溫度轉(zhuǎn)換命令子程序流程圖 計(jì)算溫度子程序計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖46所示。YESNO開(kāi) 始溫度值取補(bǔ)碼置“”標(biāo)志計(jì)算小數(shù)位溫度BCD值溫度零 下?圖46 計(jì)算溫度子程序流程圖置“+”標(biāo)志計(jì)算整數(shù)位溫度BCD值結(jié)束 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為零時(shí)將符號(hào)顯示位移入下一位,程序流程圖如圖47所示。NOYESNOYES結(jié)束溫度數(shù)據(jù)移入顯示寄存器十位數(shù)顯示符號(hào)百位數(shù)不顯示十位數(shù)零?百位數(shù)零?圖47 顯示數(shù)據(jù)刷新子程序流程圖百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào)) 溫度數(shù)據(jù)的計(jì)算處理方法度數(shù)據(jù)的從DS18B20讀取出的二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。因?yàn)镈S18B20的轉(zhuǎn)換精度為912位可選的,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時(shí),,就是實(shí)際的十進(jìn)制溫度值。下表41就是二進(jìn)制和十進(jìn)制的近似對(duì)應(yīng)關(guān)系表。 小數(shù)部分二進(jìn)制值0123456789ABCDEF十進(jìn)制值0011233455667889表 41 小數(shù)部分二進(jìn)制和十進(jìn)制的近似對(duì)應(yīng)關(guān)系表 溫度值存儲(chǔ)子程序根據(jù)要求,系統(tǒng)要存儲(chǔ)某幾個(gè)時(shí)間點(diǎn)的溫度,在時(shí)鐘到達(dá)這幾個(gè)時(shí)間點(diǎn)時(shí),通過(guò)軟件判斷,把此時(shí)的溫度數(shù)據(jù)讀到單片機(jī)內(nèi)存,再通過(guò)24C16的讀寫(xiě)程序把溫度數(shù)據(jù)存儲(chǔ)到AT24C02對(duì)應(yīng)地址單元,這樣溫度數(shù)據(jù)就儲(chǔ)存起來(lái)了。程序流程圖見(jiàn)圖48。存儲(chǔ)時(shí)間對(duì)應(yīng)的溫度數(shù)據(jù)開(kāi)始是否為6點(diǎn)?是否為9點(diǎn)?是否為12點(diǎn)?是否為15點(diǎn)?是否為00點(diǎn)?是否為18點(diǎn)?存儲(chǔ)最高最低溫度溫度結(jié)束 NY N Y N Y N Y N Y N Y Y圖48 溫度查詢(xún)子程序 根據(jù)實(shí)際要求將某一天某一個(gè)時(shí)間的具體溫度值可進(jìn)行查看,以及當(dāng)天溫度的最高、最低溫度(可查詢(xún)10天)。通過(guò)按鈕確定要顯示第幾天的溫度值,把溫度值讀到單片機(jī)內(nèi)存,發(fā)命令給24C16的讀寫(xiě)程序,查找對(duì)應(yīng)的地址單元,把地址單元內(nèi)容讀取出來(lái)。程序流程圖見(jiàn)圖49。顯示前一天0點(diǎn)時(shí)溫度開(kāi)始溫度查詢(xún)鍵按下時(shí)間〉1S天數(shù)改變鍵按下〉1S溫度查詢(xún)鍵按下時(shí)間〉1S時(shí)間改變鍵按下〉1S查最高最低溫度鍵按下〉1S結(jié) 束轉(zhuǎn)天數(shù)改變轉(zhuǎn)時(shí)間改變顯示當(dāng)天最高最低溫度 圖49天津工程師范學(xué)院2009屆本科生畢業(yè)設(shè)計(jì)5 調(diào)試 調(diào)試儀器萬(wàn)用表、51系列仿真器 硬件調(diào)試部分,可先檢查印制板及焊接的質(zhì)量是否符合要求,有無(wú)虛焊點(diǎn)及線路間有無(wú)短路、斷路。然后用萬(wàn)用表測(cè)試或通電檢測(cè),檢查無(wú)誤后,可通電檢查L(zhǎng)CD液晶顯示器亮度情況,一般情況下取背光電壓為4~。,很容易檢查,主要檢查DS1302管腳與晶振、電源是否連接好。,向DS18B20發(fā)溫度命令轉(zhuǎn)換后,程序要等待DS18B20的返回信號(hào),一旦線路不好或斷線,將陷入死循環(huán),所以該線路一定要檢查清楚。 軟件調(diào)試部分軟件調(diào)試是在偉福編譯器下進(jìn)行,當(dāng)把程序文件添加到項(xiàng)目文件中,并且程序文件已經(jīng)建立好存盤(pán)后,就可以進(jìn)行編譯。源程序編譯及仿真調(diào)試應(yīng)分段或以子程序?yàn)閱挝恢饌€(gè)進(jìn)行,最后結(jié)合硬件實(shí)時(shí)調(diào)試。天津工程師范學(xué)院2009屆本科生畢業(yè)設(shè)計(jì)結(jié) 論本論文歷經(jīng)選題、總體規(guī)劃、硬件電路設(shè)計(jì)與實(shí)現(xiàn)、軟件的設(shè)計(jì)與實(shí)現(xiàn)、軟硬件調(diào)試,最終到系統(tǒng)成型,實(shí)現(xiàn)課題預(yù)期達(dá)到的設(shè)計(jì)指標(biāo)。首先對(duì)整個(gè)系統(tǒng)的工作原理和實(shí)現(xiàn)方法進(jìn)行了簡(jiǎn)單的介紹,給出了系統(tǒng)工作的整體框圖。介紹了系統(tǒng)設(shè)計(jì)所用到的各個(gè)模塊的功能特性,并進(jìn)行了方案論證。在硬件設(shè)計(jì)上,經(jīng)常查閱資料,不斷的向老師、同學(xué)請(qǐng)教,以確保設(shè)計(jì)的電路系統(tǒng)完整,并能實(shí)現(xiàn)最好的系統(tǒng)功能。最后我設(shè)計(jì)出了各個(gè)部分的電路,并實(shí)現(xiàn)了電路的組合。在軟件編程方面,需要仔細(xì)分析實(shí)現(xiàn)各個(gè)功能所必需的算法,并且花大量的時(shí)間去編程,稍有差錯(cuò)就不能實(shí)現(xiàn)。這個(gè)系統(tǒng)的實(shí)現(xiàn)使我對(duì)液晶顯示技術(shù),C語(yǔ)言編程、時(shí)鐘芯片以及單片機(jī)的原理及應(yīng)用都有了深刻的認(rèn)識(shí),并且做出了比較實(shí)用,而且價(jià)格低廉的作品,在這個(gè)過(guò)程中,我學(xué)到了很多東西。隨著液晶顯示技術(shù)、溫度傳感器等的發(fā)展,它將會(huì)越來(lái)越多地融入到人們的日常生活中,越來(lái)越方便人們的生活,而單片機(jī)這個(gè)神奇的技術(shù)將使人們實(shí)現(xiàn)更多地愿望和假設(shè),更快的實(shí)現(xiàn)電子設(shè)計(jì)自動(dòng)化。 參考文獻(xiàn)[1] 康華光,[M].,~197.[2] 趙景波, DXP 基礎(chǔ)與實(shí)例培訓(xùn)教程[M].中國(guó)電力出版社,~144.[3] 振江,杜鐵軍等. 流行單片機(jī)實(shí)用子程序及應(yīng)用實(shí)例[M].西安電子科技大學(xué)出版社,~115.[4] 戴佳,[5]何立民. 單片機(jī)高級(jí)教程[M].北京航空航天大學(xué)出版社,2001. 57~65.[6] 機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[R].北京航空航天大學(xué)出版社,2000. 33~40.[7]黃智偉,第1版,電子工業(yè)出版社,2005. 304314. [8][J].電子報(bào),~21.[9] 劉征宇,第1版,福建科學(xué)技術(shù)出版社,2002. 11122.[10] ,上??茖W(xué)技術(shù)出版社,1998. 121.[11] 李宏,張家田.液晶顯示器件應(yīng)用技術(shù),機(jī)械工業(yè)出版社,2004. 156-183.[12] 李曉瑩.傳感器與測(cè)試技術(shù),第1版,高等教育出版社,.[13] 劉永智.液晶顯示技術(shù),第1版,電子科技大學(xué)出版社,.[14] ,第1版,哈爾濱工業(yè)大學(xué),1999. 141.[15] ,第1版,山東科學(xué)技術(shù)出版社,2001. 114173.[16]吳金戌,第1版,清華大學(xué)出版社,2002. 147167.附錄一:電路原理圖附錄二: 程序include include define uint unsigned intdefine uchar unsigned chardefine m 0define dat 1define uchar unsigned chardefine uint unsigned intcode unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0xff}。 sbit SDA=P1^1。 //定義數(shù)據(jù)線sbit SCL=P1^0。 //定義時(shí)鐘線bit flag。uint idata ucSendBuffer[1]=0。uint idata ucReceData。void delay(void)。void delay_10ms(void)。void ACK()。void NoACK()。void delay(void){ uint i。 for(i=100。i0。i) _nop_()。}void delay1ms(){ uchar i。 for(i=124。i0。i)。 //延時(shí)124*8+10=1002us}/////////////////功能:?jiǎn)?dòng)I2C////////////void I2C_Start(){ SDA=1。 delay()。 SCL=1。 delay()。 SDA=0。 delay()。 SCL=0。 //鉗位I2C總線,準(zhǔn)備發(fā)送數(shù)據(jù)}/////////////////////停止I2C//////////////void I2C_Stop(){ SDA=0。 delay()。 SCL=1。 delay()。 SDA=1。 delay()。}void Ack(){ SDA=0。 delay()。 SCL=1。 delay()。 SCL=0。 delay()。 SDA=1。 delay()。}void NoAck(){ SDA=1。 delay()。 SCL=1。 delay()。 SCL=0。 delay()。 SDA=0。 delay()。}bit Test_Ack(){ SCL=0。 SDA=1。//讀入數(shù)據(jù) _nop_()。_nop_()。_nop_()。_nop_()。 SCL=1。 _nop_()。_nop_()。_nop_()。_nop_()。 if(SDA==0) flag=1。 else flag=0。 SCL=0。 return(flag)。}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1