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

正文內(nèi)容

課程設計-單片機溫度計人工智能時鐘溫度計(編輯修改稿)

2024-07-13 08:05 本頁面
 

【文章內(nèi)容簡介】 時的時間從發(fā)出的高電平算起(第 5 步的時間算起)最少要 480 微秒。 11 “1”后結(jié)束。 DS18B20 初始化程序為: void Init_DS18B20(void) { unsigned char x=0。 DQ = 1。 //DQ 復位 Delay_DS18B20(8)。 //稍做延時 DQ = 0。 //單片機將 DQ 拉低 Delay_DS18B20(80)。 //精確延時,大于 480us DQ = 1。 //拉高總線 Delay_DS18B20(14)。 x = DQ。 //稍做延時后,如果 x=0 則初始化成功, x=1 則初始化失敗 Delay_DS18B20(20)。 DS18B20 的寫操作 “0”。 15 微秒。 (一次只發(fā)送一位)。 45 微秒。 。 1 到 6 的操作直到所有的字節(jié)全部發(fā)送完為止。 。 DS18B20 的寫 程序為 void WriteOneChar(unsigned char dat) { unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 Delay_DS18B20(5)。 12 DQ = 1。 dat=1。 } } DS18B20 的讀操作 “1”。 2 微秒。 “0”。 15 微秒。 “1”。 15 微秒。 1 個狀態(tài)位,并進行數(shù)據(jù)處理。 30 微秒。 DS18B20 的讀 程序為 unsigned char ReadOneChar(void) { unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 Delay_DS18B20(4)。 } return(dat)。 } 13 系統(tǒng)主程序 首先要根據(jù)系統(tǒng)的總體功能和鍵盤設置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實時性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關系。 采用 C 語言編寫代碼 , 鑒于篇幅限制及 DS18B20 的應用已經(jīng)規(guī)范和成熟 , 本文僅就主程序流程圖和 顯示子程序流程圖及其代碼進行說明。 主程序流程圖 主程序通過調(diào)用溫度采集子程序完成溫度數(shù)據(jù)采集 , 然后調(diào)用溫度轉(zhuǎn)換子程序轉(zhuǎn)換讀取溫度數(shù)據(jù) ,調(diào)用顯示子程序進行溫度顯示和判斷溫度數(shù)據(jù)。下面給出流程圖 圖 9 系統(tǒng)流程圖 主程序調(diào)用四個子程序,分別是 溫度采集程序、溫度顯示程序、溫度處理程序和數(shù)據(jù)存儲程序。 溫度采集程序:對溫度芯片送過來的數(shù)據(jù)進行處理,進行判斷和顯示。顯示程序:向 LCD 的顯示送數(shù),控制系統(tǒng)的顯示部分。系統(tǒng)詳細程序見附錄二 。 N Y N Y 初始化 調(diào)用顯示子程序 1S 到? 初次上電 讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新 發(fā)溫度轉(zhuǎn)換開始命令 14 根據(jù)上述硬件設計和軟件設計,制作出成果,如圖所示: 圖 10 實物圖 15 4 設計結(jié)果及分析 測試環(huán)境及工具 測試溫度: 20100 攝氏度。(模擬不同溫度值環(huán)境) 測試儀器及軟件:數(shù)字萬用表,標準溫度計 20100 攝氏度。 測試方法和測試結(jié)果 使系統(tǒng)運行,觀察系統(tǒng)硬件檢測是否正常(包括單片機控制系統(tǒng),鍵盤電路,顯示電路,溫度測試電路等)。系統(tǒng)自帶測試表格數(shù)據(jù),觀察顯示數(shù)據(jù)是否相符合即可。 采用溫度傳感器和溫度計同時測量水溫變化情況,目測顯示電路是否正常。并記錄溫度值,與實際 溫度值比較,得出系統(tǒng)的溫度指標。得到下表結(jié)果 標準溫度 (℃ ) 測試溫度 (℃ ) 測量相對誤差 (%) 平均相對誤差: 表 3 溫度測試結(jié)果 由此可知該數(shù)字溫度計的誤差在 1%左右。因此可標注 55~+125? ℃,并且高溫沒有使誤差明顯變大 16 5 總結(jié) 維持兩周的課程設計已結(jié)束,設計制作的多功能溫度計也已完成,挺有收獲的。首先要弄懂如何使用 飛思卡爾單片機和 DS18B20 溫度傳感器 ,然后設計了硬件的電路,最后寫程序?qū)崿F(xiàn)了軟件的設計。 在調(diào)試過程中也發(fā)現(xiàn)和解決了好些問題。 經(jīng)過此次課程設計,我真正體會到 要理論聯(lián)系實際,把我們所學的理論知識用到實際當中,通過 多動手去提高自己的技能,光靠理論不動手是提高不了的。還有,程序一定要多看多模仿著寫才有提高??傊?,此次課程設計不僅鞏固了單片機方面的理論知識,同時也提高的自己的動手能力、分析問題和解決問題的能力。 17 參考文獻 [1]張琳娜,劉武發(fā) .傳感檢測技術(shù)及應用 .中國計量出版社, 1999 [2]馬忠梅 籍順心 張凱 馬 巖 . 單片機的 C 語言應用程序設計 修訂版 .北 京航空航天大學出版社, [3]胡漢才 .單片機原理及接口技術(shù) .清華大學出版社 , 1996 [4]李志全等 .智能儀表設計原理及應用 .國防工業(yè)出版社 , [5]李朝青 .單片機原理及接口技術(shù) .北京航空航天大學出版社, [6]李廣弟 .單片機基礎 .北京航空航天大學出版社, 1998. [7]閻石 .數(shù)字電子技術(shù)基礎 .北京航空航天大學出版社, 2021. [8]李建忠 .單片機原理及應用 .國防工業(yè)出版社, 2021 [9]黃河 .基于 DS18B20 的單總線數(shù)字溫度計 .國防工業(yè)出版社, 2021 [10] 程志明 . 信號采集系統(tǒng)的設計與實現(xiàn) [D]. 北京:北京工業(yè)大學, 2021. [11] 俞謝瓊 . 多點溫度測量系統(tǒng)及其在建筑方面的應用 [J]. 森林工程 . 2021 [12] 彭泓 . 汪玉鳳 . 糧倉溫濕度智能控制系統(tǒng) [J]. 中國科技信息 , 2021 [13] 曹會國 . 設施栽培環(huán)境檢測與控制的研究 [J]. 安徽農(nóng)業(yè)科學 , 2021 [14] 曾為民 , 亓協(xié)民 . DS18B20 在通用多點溫度測控系統(tǒng)中的應用 [J]. 農(nóng)機化研究 , 2021 [15]童詩白 ,華程英 .模擬電子技術(shù)基礎 (第 四版 )[M].北京 :高等教育出版社 ,2021. [16]吳輝 ,鄧亞峰 ,張緒鵬等 .電磁諧振式無線供電技術(shù)的性能研究 [J].機電信息 ,2021,24:141142. 18 附錄一 系統(tǒng)總電路圖 圖附一 系統(tǒng)總電路圖 附錄二 系統(tǒng)源代碼 include /* for EnableInterrupts macro */ include /* include peripheral declarations */ define uchar unsigned char define uint unsigned int define RS PTAD_PTAD0 define RW PTAD_PTAD1 define E PTAD_PTAD2 19 define DQ PTAD_PTAD3 uint miao,fen,xiaoshi。 uint time,flag,tltemp,count。 uchar tab[]= 12619 00:00:00。 uchar table1[]={0123456789}。 uchar error[]={DS18B20 ERROR}。 uchar table2[]={WENDU:}。 uchar User[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00}。 void MCU_INIT(void) // 單片機初始化 { ICSC1=0x04。 ICSC2=0x40。 ICSTRM=0xa8。 SOPT1=0x42。 SOPT2=0x00。 } void delayms(uint x) //延時函數(shù) { uint i,j。 __RESET_WATCHDOG()。 for(i=x。i0。i) for(j=110。j0。j)。 } void write_(uchar ) { RS=0。 20 RW=0。 delayms(5)。 PTBD=。 delayms(10)。 E=1。 delayms(10)。 E=0。 } void write_date(uchar date) { RS=1。 RW=0。 E=0。 PTBD=date。 delayms(10)。 E=1。 delayms(10)。 E=0。 } /*******************初始化函數(shù) ****************************************/ void TIMER_INI(void) { ICSC2_BDIV = 0。 MTIMCLK_PS = 8。 //時鐘頻率 /256 MTIMCLK_CLKS = 0。 //定時器時鐘為總線時鐘 MTIMMOD = 252。 //設置模數(shù) MTIMSC = 0x60。 //使能定時器中斷 } 21 void init() { uchar num。 E=0。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x01)。 for(num=0。num16。num++) { write_date(tab[num])。 delayms(2)。 } } void write_sfm(uint add,uint date) { uint shi,ge。 shi=date/10。 ge=date%10。 write_(0x80+0x08+add)。 write_date(0x30+shi)。 write_date(0x30+ge)。 } uchar INIT_DS18B20() { uchar flg。 PTADD=0x0f。 DQ=1。 22 for(time=0。time8。time++)。 DQ=0。 for(time=0。time800。time++)。 DQ=1。 for(time=0。time40。time++)。 PTADD=0x07。 flg=DQ。 for(time=0。time800。time++)。 return(flg)。 } uchar Readchar(void) { uchar i。 uchar dat。 for(i=0。i8。i++) { PTADD=0xff。 DQ=1。 asm(NOP)。 asm(NOP)。 asm(NOP)。 asm(NOP)。 DQ=0。 asm(NOP)。 asm(NOP)。 asm(NOP)。 asm(NOP)。 DQ=1。 for(time=0。time8。time++)。 23 dat=1。 PTADD=0x07。 if(DQ==1) dat|=0x80。 else dat|=0x00。 for(time=0。time32。time++)。 } return(dat)。 } void Writechar(uchar dat) { uchar i。 for(i=0。i8
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1