《單片機基礎(chǔ)與技能實訓》項目八 制作溫度顯示器_第1頁
《單片機基礎(chǔ)與技能實訓》項目八 制作溫度顯示器_第2頁
《單片機基礎(chǔ)與技能實訓》項目八 制作溫度顯示器_第3頁
《單片機基礎(chǔ)與技能實訓》項目八 制作溫度顯示器_第4頁
《單片機基礎(chǔ)與技能實訓》項目八 制作溫度顯示器_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

項目八制作溫度顯示器

第35、36課時讓1602液晶顯示器顯示字符[任務情境]在學校舉行的技能操作競賽中,祝宗雪獲得一等獎,獎品是一個筆筒,如下圖所示。這個筆筒能顯示時間和日期,小祝很好奇,就去探究筆筒能顯示時間和日期的原因。[任務描述]

制作液晶顯示器,讓1602液晶顯示器顯示字符。寫一寫1602液晶模塊有16個引腳,請寫出各個引腳的功能。引腳號引腳名稱引腳功能含義1VSS地管腳(GND)2VDD+5V電源管腳(Vcc)3VO液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度4RS寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器5RW讀寫控制線,0:寫操作;1:讀操作6E使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令7~14D0~D78位雙向數(shù)據(jù)線15A背光控制正電源16K背光控制地連一連將單片機與LCD1602進行連接,使單片機能驅(qū)動液晶顯示器。畫一畫繪制單片機控制1602顯示字符的程序流程圖。單片機驅(qū)動LCD1602的主程序流程圖、寫數(shù)據(jù)流程圖和寫命令流程圖。想一想對1602液晶進行初始化時要進行哪些操作?填一填完成以下程序,實現(xiàn)讓1602液晶上排顯示字符:“goodgoodstudy”,下排顯示字符:“daydayup”。#include<reg51.h>

#defineuintunsignedint

#defineucharunsignedchar

sbit

rs=

;

sbit

rw=

;

sbiten=

;

ucharcodetable1[]="goodgoodstudy";

ucharcodetable2[]="daydayup";

voiddelay(unitn)

{

uint

x,y;

for(x=n;x>0;x--)

for(y=110;y>0;y--);

}

voidlcd_w_com(ucharcom)

{

rs=

;

rw=

;

=com;en=

;delay(5);

en=

;

delay(5);

en=

;

}

voidlcd_w_dat(uchardat)

{

rs=

;

rw=

;

=dat;

delay(5);

en=

;

delay(5);

en=

;

}

voidlcd_init()

{

lcd_w_com(0x38);

//8位數(shù)據(jù),雙列,5*7字形

lcd_w_com(

);

//開啟顯示屏,關(guān)光標,光標不閃爍

lcd_w_com(

);

//顯示地址遞增,即寫一個數(shù)據(jù)后,顯示位置右移一位

lcd_w_com(

);

//清屏

}

voidmain()

{

ucharn,m=0;

lcd_init();

lcd_w_com(

);

for(m=0;m<15;m++)

{

lcd_w_dat(table1[m]);

delay(200);

}

lcd_w_com(

);

for(n=0;n<14;n++)

{

lcd_w_dat(table2[n]);

delay(200);

}

while(1);

}調(diào)一調(diào)在單片機最小應用系統(tǒng)的基礎(chǔ)上制作本電路,編譯、燒錄程序,并將燒入程序的單片機安裝到電路中,接通電源進行調(diào)試。第37、38課時驅(qū)動DS18b20芯片[任務情境]祝守雪同學想自己制作一個筆筒,除了可以顯示時間和日期以外,還可以顯示當前的溫度。要顯示準確的溫度,電路中必定有一個感溫元件,這個元件是如何檢測溫度的?又如何才能將采集的溫度轉(zhuǎn)換為數(shù)據(jù)顯示在液晶屏幕上呢?[任務描述]

制作DS18B20驅(qū)動電路,驅(qū)動DS18B20芯片采集溫度數(shù)據(jù)。連一連連線并添加適當元器件,完成以下單片機驅(qū)動DS18B20的電路圖。練一練寫出以下運算的表達式。(對變量dat進行操作)1、右移1位:

2、與0x01進行“與”運算:

3、與0x80進行“或”運算:

4、左移8位:

畫一畫繪制單片機驅(qū)動DS18B20的程序流程圖。填一填1、初始化函數(shù)voidInit_DS18B20(void){ DQ=

; delay(80); DQ=

; delay(14);}2、讀一個字節(jié)ucahr

ReadOneChar(void){ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--){

DQ=

;

;

DQ=

;

if(DQ)

;

delay(4); } return(dat);}填一填3、寫一個字節(jié)voidWriteOneChar(unsignedchardat){ unsignedchari=0; for(i=8;i>0;i--){ DQ=

; DQ=

; delay(5); DQ=

;

; }}4、讀取溫度數(shù)據(jù)uint

ReadTemperature(void){ unsignedchara=0; unsignedcharb=0;unsignedintt=0;floattt=0;

;

WriteOneChar(

);

WriteOneChar(

);

;

WriteOneChar(

);

WriteOneChar(

);

a=

; b=

;t=b;t<<=8;t=t|a;tt=t*0.0625;

t=tt*10+0.5;return(t);}調(diào)一調(diào)在單片機最小應用系統(tǒng)的基礎(chǔ)上制作本電路,編譯、燒錄程序,并將燒入程序的單片機安裝到電路中,接通電源進行調(diào)試。第39、40課時讓LCD顯示當前溫度[任務情境]

功夫不負有心人,小祝最終對DS18B20芯片有了比較全面的了解,也學會了如何驅(qū)動這塊芯片。這離完成他夢寐以求的溫度顯示器制作任務還有多遠呢?[任務描述]

使用1602液晶和DS18B20溫度芯片制作溫度顯示器。連一連連接下面這個電路,并添加適當?shù)脑骷?,使之組成一個完整的溫度顯示器。圖8-3-1溫度顯示器電路圖畫一畫繪制使用1602液晶顯示溫度的程序流程圖。填一填已知當前溫度“ReadTemperature()”為三位十進制數(shù),填寫以下程序,實現(xiàn)將當前溫度顯示在LCD的上排,顯示格式為“Temp:**.*℃”。#include<reg51.h>unsignedcharcodemun_char_table[]={"0123456789abcdef"};unsignedcharcodetemp_table[]={"Temp:.℃"};main(){ unsignedint

i=0;

;

;

lcd_w_com(

); for(i=0;

;i++)lcd_w_dat(temp_table[i]); while(1){

i=

;

lcd_w_com(0x80+

);

lcd_w_dat(mun_char_table[

]);/*顯示溫度的十位*/

lcd_w_com(0x80+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論