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