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

正文內容

數(shù)字溫度計設計報告(編輯修改稿)

2025-02-17 17:21 本頁面
 

【文章內容簡介】 數(shù)字溫度計的測量溫度程序主要包括5個方面的內容:一是單片機從DS1302中讀取數(shù)據(jù)進行計數(shù),二是利用按鍵進行時間溫度上下限的調整,三是單片機中讀取DS1302,EEPROM中的和DS18B20采集的數(shù)據(jù)在數(shù)碼管上顯示時間溫度。主程序流程圖主程序的主要功能是負責溫度,時間的實時顯示、讀出并處理DS18B20的測量的當前溫度值,DS1302的時間。 初始化 讀取溫度,時間 讀出溫度值溫度,時鐘時間,計算處理顯示數(shù) 據(jù)刷新 發(fā)溫度,時間轉換開始 命令 調試顯示子程序 結束 主程序流程圖 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其流程圖如圖所示 發(fā)DS18B20的復位命令 發(fā)跳過ROM命令 發(fā)讀取溫度命令 讀取操作,CRC校驗 Y 9字節(jié)完 N Y CRC N 校驗正 移入溫度暫存器 結束 讀溫度流程圖溫度超出報警讀出溫度超過上限值時,發(fā)出警報,讀出溫度低于下限值時,發(fā)出警報,通過按鍵更改溫度上下限。開始控制鍵有效,進入溫度上下限設置報警溫度上限設置溫度超出溫度正常溫度下限設置溫度正常溫度超出報警讀出DS1302時鐘芯片的時間,在數(shù)碼管上顯示出來 測試儀器 數(shù)字萬用表、秒表、電吹風。 數(shù)字萬用表主要用來測試分立元件的電阻、壓降、漏電流、截止、導通狀態(tài)等參數(shù)。 秒表用來測試時間的準確度。 電吹風用來測試溫度的變化。 測試方法: 先是硬件調試,溫度傳感器DS18B20能否正常工作,讀出溫度;時鐘芯片能否正常計時,接著軟件調試,最后是軟硬件調試。調試時可以采用逐個調試,先調試溫度傳感器,接著是時鐘芯片,最后在整體調試。 測試數(shù)據(jù)及結果分析測試溫度(186。C)實際溫度(186。C)25304060測試時間(t)實際時間(t)6060120120180180240240結果分析:測試溫度與實際溫度存在著一定誤差,誤差不是很大。猜測是周圍環(huán)境對測得溫度產生了影響,但是影響不是很大,可以忽略不計。測試時間與實際時間之間不存在誤差,達到了我們的要求。5問題分析與解決方法1 問題: 進行硬件調試時,數(shù)碼管顯示的數(shù)字基本錯誤。 解決方法: 用萬用表檢查接線,發(fā)現(xiàn)數(shù)碼管的8個段選,接錯4位,重新焊接后顯示無誤。2 問題: 測溫度時,數(shù)碼管上顯示亂碼。 解決方法: 先用萬用表檢查接線,檢查無誤;接著檢查程序,發(fā)現(xiàn)DS18B20管腳定義錯誤,經(jīng)過改正后,能夠正常顯示溫度。 3 問題: 整體調試時,兩個數(shù)碼管雖能準確顯示溫度和時間,但是數(shù)碼管不停的閃爍,在逐個調試時沒有這個問題。解決方法: 先是檢查軟件有沒有弄錯,檢查無誤,查閱資料才弄清原因。因為數(shù)碼管顯示是通過人眼視覺暫留效果,得不停的刷新人眼才無法辨別出來,閃爍是因為刷新的速度比較慢,說明程序在一個周期里面執(zhí)行的代碼時間過長。經(jīng)過一些調整,只能進行優(yōu)化,而不能徹底解決這個問題。5心得體會通過本次設計,使我們對單片機的了解有了更加深一步,我發(fā)現(xiàn)只有動手做才會孰能技巧,還有對材料的整理和理解。這次設計運用到的知識很多方面,尤其是單片機,像AT89C52,引腳多,硬件內部線路接通,所以用起來很方便,還有ds1302芯片與單片機之間的連接,以及如入使用ds1302,ds12b20芯片。當然也要對這些元器件作相應調查。主要就是電路原理圖,還有對引腳的作用熟悉。對于軟件方面則是靈活運用單片機有關的程序語言,還有很多擴展功能,由于知識匱乏,但是理論知識還是比較詳細的。我們最大的成功之處是在這整個過程,動腦尋求解決一個一個問題的辦法,對程序是不斷思索,務必寫出很簡單的程序來,使得數(shù)字溫度計能做成功!附錄代碼includeincludedefine uchar unsigned char define uint unsigned intsbit ds=P2^2。sbit wela=P1^2。sbit dula=P1^0。sbit shidula=P1^1。 //段選 sbit led=P2^0。sbit beep=P2^3。sbit k1=P2^5。sbit k2=P2^6。sbit k3=P2^7。sbit k4=P2^4。sbit T_RST=P3^7。//ds13025sbit T_IO=P3^6。//ds13026sbit T_CLK=P3^5。//ds13027sbit ACC0=ACC^0。sbit ACC7=ACC^7。//累加器A 51單片機原理中有介紹sbit up=P3^2。sbit down=P3^3。sbit set=P3^4。sbit shangxian=P1^7。//溫度上限指示燈sbit xiaxian=P1^6。//溫度下限指示燈sbit zhengwen=P1^5。sbit fuwen=P1^4。sbit baojing=P1^3。uint temp1。float f_temp。int alarmH=310。int alarmL=100。uchar a,b,clock_ss,clock_sg,clock_fs,clock_fg,clock_ms,clock_mg。int hour,mie,sei。uchar clk_time[3]。 //秒,分,時寄存器初始值code uchar ledmap[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}。//數(shù)碼管段碼 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}。void key_to1()。void key_to2()。void key()。/******************DS1302:寫入操作(上升沿)*********************/ void write_byte(uchar da){ uchar i。 ACC=da。 for(i=8。i0。i) { T_IO=ACC0。 T_CLK=0。 T_CLK=1。 ACC=ACC1。 }}/******************DS1302:讀取操作(下降沿)*****************/uchar read_byte(void){ uchar i。 for(i=0。i8。i++) { ACC=ACC1。 T_CLK = 1。 T_CLK = 0。 ACC7 = T_IO。 } return(ACC)。}/**********
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1