《設(shè)計項目四數(shù)字溫度計的設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《設(shè)計項目四數(shù)字溫度計的設(shè)計(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、《單片機C語言編程與實踐》實訓(xùn)報告
設(shè)計項目四 數(shù)字溫度計的設(shè)計
姓名
班級
完成時間
教師評價
設(shè)計目的:
能利用DS18B20與LCD1602設(shè)計一個簡單的數(shù)字溫度計表
設(shè)計要求:
在proteus上仿真實現(xiàn),并撰寫設(shè)計報告
一. 基礎(chǔ)知識回顧:
1.利用下列(?????? )關(guān)鍵字可以改變工作寄存器組
A、interrupt B、sfr
C、while ????? D、using
2.具有模數(shù)轉(zhuǎn)換功能的芯片是( ?。?
A、ADC0809 ?B、DAC0832 ? C、MAX813???? D、MAX532
3
2、.單總線的特點是
4. 簡述DS18B20的各個引腳的功能,并指明下列兩種供電方式分別采用什么供電方式?
圖一 圖二 圖三
5. DS18B20的內(nèi)部數(shù)字化溫度轉(zhuǎn)換器將溫度數(shù)據(jù)以 形式儲存到16bit快速暫存器中
6.試根據(jù)下列時序圖及提示寫出D
3、S18B20所對應(yīng)的初始化、讀、寫字節(jié)的函數(shù)
注:DS18B20采用外部供電方式,DQ端接在P2^1引腳。
(1)初始化
控制器拉低總線
DS18B20拉低總線
外接上拉電阻拉高總線
VDD
GND
過程提示:主機首先發(fā)出一個480~960微秒的低電平脈沖,然后釋放總線變?yōu)楦唠娖?,并在隨后的480微秒時間內(nèi)對總線進行檢測,如果有低電平出現(xiàn)說明總線上有器件已做出應(yīng)答。若無低電平出現(xiàn)一直都是高電平說明總線上無器件應(yīng)答。
做為從器件的DS18B20在一上電后就一直在檢測總線上是否有480~960微秒的低電平出現(xiàn),若有,在總線轉(zhuǎn)
4、為高電平后等待15~60微秒后將總線電平拉低60~240微秒做出響應(yīng)存在脈沖,告訴主機本器件已做好準備。若沒有檢測到就一直在檢測等待
(2)讀時序
過程提示:讀時隙是從主機把單總線拉低之后,在1微秒之后就得釋放單總線為高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在檢測到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結(jié)束。若要送出1則釋放總線為高電平。主機在一開始拉低總線1微秒后釋放總線,然后在包括前面的拉低總線電平1微秒在內(nèi)的15微秒時間內(nèi)完成對總線進行采樣檢測,采樣期內(nèi)總線為低
5、電平則確認為0。
采樣期內(nèi)總線為高電平則確認為1。完成一個讀時序過程,至少需要60us才能完成.
(3)寫時序
過程提示: 寫周期最少為60微秒,最長不超過120微秒。寫周期一開始做為主機先把總線拉低1微秒表示寫周期開始。隨后若主機想寫0,則繼續(xù)拉低電平最少60微秒直至寫周期結(jié)束,然后釋放總線為高電平。若主機想寫1,在一開始拉低總線電平1微秒后就釋放總線為高電平,一直到寫周期結(jié)束。而做為從機的DS18B20則在檢測到總線被拉底后等待15微秒然后從15us到45us開始對總線采樣,在采樣期內(nèi)總線為高電平則為1,若采樣期內(nèi)總線為低電平則為0。
二. 設(shè)計部分
(1) 用DS18B20設(shè)計一數(shù)字溫度計,并將最終顯示結(jié)果送LCD1602顯示。精度要求:采用12位分辨率,顯示結(jié)果只顯示到小數(shù)點后一位即可。(Proteus仿真實現(xiàn),上交電子文檔)
拓展部分:若同時送數(shù)碼管顯示,該如何修改原理圖及程序呢?:
設(shè)計心得:
序號
設(shè)計中遇到的問題