《單片機技術(shù)與應(yīng)用》教案11項目4任務(wù)2-單片機驅(qū)動液晶_第1頁
《單片機技術(shù)與應(yīng)用》教案11項目4任務(wù)2-單片機驅(qū)動液晶_第2頁
《單片機技術(shù)與應(yīng)用》教案11項目4任務(wù)2-單片機驅(qū)動液晶_第3頁
《單片機技術(shù)與應(yīng)用》教案11項目4任務(wù)2-單片機驅(qū)動液晶_第4頁
《單片機技術(shù)與應(yīng)用》教案11項目4任務(wù)2-單片機驅(qū)動液晶_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE1教案學(xué)習(xí)領(lǐng)域項目4簡易秒表設(shè)計學(xué)習(xí)情境任務(wù)2單片機驅(qū)動液晶序號11課型理實一體化課時2教具學(xué)具電教設(shè)施pc機;keil以及proteus軟件;任務(wù)書(供學(xué)生用);課件教學(xué)目標知識目標①掌握液晶的硬件結(jié)構(gòu)②掌握液晶的讀寫時序圖③掌握單片機驅(qū)動液晶的常用方法能力目標①能夠通過Keil和Proteus軟件的初步使用,提高觀察和分析能力②能夠依據(jù)液晶驅(qū)動時序圖編寫液晶驅(qū)動程序,培養(yǎng)邏輯思維能力③能夠編制按鍵狀態(tài)機程序,提高分析和解決問題的能力情感目標①能夠透過實驗現(xiàn)象歸納事物本質(zhì)②培養(yǎng)學(xué)生對本專業(yè)的職業(yè)認同感③培養(yǎng)學(xué)生科學(xué)探索的興趣、嚴謹扎實的工作作風(fēng)和團結(jié)協(xié)作精神教學(xué)重難點重點①掌握液晶的硬件結(jié)構(gòu)②掌握液晶的讀寫時序圖③掌握單片機驅(qū)動液晶的常用方法難點①掌握液晶的硬件結(jié)構(gòu)②掌握液晶的讀寫時序圖學(xué)法教法實驗探究、任務(wù)引領(lǐng)法、討論法、張貼法、頭腦風(fēng)暴法、演示法教學(xué)內(nèi)容更新、補充、刪節(jié)參考資料課后體會學(xué)生在任務(wù)的驅(qū)動下,利用仿真電路自主探究電路規(guī)律,結(jié)合教師對相關(guān)知識點的講授,達到對所學(xué)知識的掌握。這個思路帶來了很好的教學(xué)效果,但增加的實驗部分會使得教學(xué)時數(shù)稍顯緊張,這一點還需日后改進。教與學(xué)互動設(shè)計教師活動內(nèi)容學(xué)生活動內(nèi)容一、組織教學(xué)(2分鐘)1.首先清點學(xué)生出勤情況,填寫考勤記錄。2.檢查學(xué)生工作服、帽、鞋等是否符合安全要求。3.宣布今天的實習(xí)內(nèi)容、技術(shù)要求、工時、勞動紀律等。4.強調(diào)生產(chǎn)實習(xí)安全注意事項。5.學(xué)生分組分上機、實習(xí)工位。6.發(fā)放任務(wù)書、自評和互評表以及白紙到每組的學(xué)生手中。二、布置任務(wù)(3分鐘)下達任務(wù),單片機驅(qū)動液晶1602,能夠?qū)⒂⑽暮蛿?shù)字顯示出來。本任務(wù)要求設(shè)計LCD1602與單片機的接口電路,編寫程序使LCD1602的第一行顯示“OK”,第二行顯示“AT89C51”。三、資訊計劃(25分鐘)(一)、液晶硬件結(jié)構(gòu)和讀寫時序圖(二)甴時序圖寫程序下面讓我們一起驅(qū)動1602的液晶吧,首先初始化代碼用到我們剛剛的11條中一些命令:voidlcd_init()

//1602初始化函數(shù)

{lcd_wcom(0x38);//8位數(shù)據(jù),雙列,5*7字形,來自命令(6)

lcd_wcom(0x0c);//開啟顯示屏,關(guān)光標,光標不閃爍,來自命令(4)lcd_wcom(0x06);//顯示地址遞增,即寫一個數(shù)據(jù)后,顯示位置右移一位,來自命令(3)lcd_wcom(0x01);//清屏,來自命令(1)}接下來,需要按照1602的時序要求寫代碼:基本操作時序:讀狀態(tài)

輸入:RS=L,RW=H,E=H

輸出:DB0~DB7=狀態(tài)字寫指令

輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼

輸出:無讀數(shù)據(jù)

輸入:RS=H,RW=H,E=H

輸出:DB0~DB7=數(shù)據(jù)寫數(shù)據(jù)

輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)

輸出:無首先定義一些1602的三個控制引腳:sbitrs=P3^5;

//1602的數(shù)據(jù)/指令選擇控制線sbitrw=P3^6;

//1602的讀寫控制線sbiten=P3^7;

//1602的使能控制線接下來照時序圖4-8,按時序要求寫出寫命令函數(shù):圖4-8寫操作時序看圖知道,寫指令函數(shù)時序是:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼voidlcd_wcom(ucharcom)

//1602寫命令函數(shù)

(單片機給1602寫命令)

{//1602接收到命令后,不用存儲,直接由HD44780執(zhí)行并產(chǎn)生相應(yīng)動作

rs=0;

//選擇指令寄存器

rw=0;

//選擇寫

P2=com;

//把命令字送入P2

delay(5);

//延時一小會兒,讓1602準備接收數(shù)據(jù)

en=1;

//使能線電平變化,命令送入1602的8位數(shù)據(jù)口

en=0;}接著再看如何書寫寫數(shù)據(jù)函數(shù),時序要求為:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù)。voidlcd_wdat(uchardat)

//1602寫數(shù)據(jù)函數(shù)

{

rs=1;

//選擇數(shù)據(jù)寄存器

rw=0;

//選擇寫

P2=dat;

//把要顯示的數(shù)據(jù)送入P2

delay(5);

//延時一小會兒,讓1602準備接收數(shù)據(jù)

en=1;

//使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口

en=0;}到此,驅(qū)動液晶1602的驅(qū)動方法有了,具體完整代碼參閱本任務(wù)的任務(wù)實施。四、計劃實施(50分鐘)在proteus中繪制如下電路圖:然后在keil中新建工程,錄入下面程序,并生成.hex文件。#include<reg51.h>#include<intrins.h>#defineuintunsignedint//預(yù)定義一下#defineucharunsignedcharsbitrs=P3^5;//1602的數(shù)據(jù)/指令選擇控制線sbitrw=P3^6;//1602的讀寫控制線sbiten=P3^7;//1602的使能控制線#defineDataPortP2/*P2口接1602的D0~D7,注意不要接錯了順序*/ucharcodetable[]="OK?";//要顯示的內(nèi)容1放入數(shù)組tableucharcodetable1[]="AT89C51";//要顯示的內(nèi)容2放入數(shù)組table1voiddelay(uintn)//延時函數(shù){uintx,y;for(x=n;x>0;x--)for(y=110;y>0;y--);}voidLCD_Check_Busy(void){while(1){DataPort=0xff;rs=0;rw=1;en=0;_nop_();en=1;if(DataPort&0x80)break;}en=0;delay(2);} voidlcd_wcom(ucharcom)//1602寫命令函數(shù)(單片機給1602寫命令){LCD_Check_Busy();//1602接收到命令后,不用存儲,直接由HD44780執(zhí)行并產(chǎn)生相應(yīng)動作rs=0;//選擇指令寄存器rw=0;//選擇寫 P2=com;//把命令字送入P2en=1;//使能線電平變化,命令送入1602的8位數(shù)據(jù)口en=0;}voidlcd_wdat(uchardat)//1602寫數(shù)據(jù)函數(shù){ LCD_Check_Busy();rs=1;//選擇數(shù)據(jù)寄存器rw=0;//選擇寫P2=dat;//把要顯示的數(shù)據(jù)送入P2en=1;//使能線電平變化,數(shù)據(jù)送入1602的8位數(shù)據(jù)口en=0;}voidlcd_init()//1602初始化函數(shù){lcd_wcom(0x38);//8位數(shù)據(jù),雙列,5*7字形lcd_wcom(0x0c);//開啟顯示屏,關(guān)光標,光標不閃爍lcd_wcom(0x06);//顯示地址遞增,即寫一個數(shù)據(jù)后,顯示位置右移一位lcd_wcom(0x01);//清屏}voidmain()//主函數(shù){ucharn,m=0;lcd_init();//液晶初始化lcd_wcom(0x80);//顯示地址設(shè)為80H(即00H,)上排第一位(也是執(zhí)行一條命令)for(m=0;m<4;m++)//將table[]中的數(shù)據(jù)依次寫入1602顯示{lcd_wdat(table[m]);delay(200);}lcd_wcom(0x80+0x40);//重新設(shè)定顯示地址為0xc4,即下排第一位for(n=0;n<8;n++)//將table1[]中的數(shù)據(jù)依次寫入1602顯示{lcd_wdat(table1[n]);delay(200);}while(1);//動態(tài)停機}進階提高:上面驅(qū)動液晶1602實際上沒有判斷液晶忙與否,直接用了延時函數(shù)延時達到單片機與液晶的同步,下面討論下如何用判斷忙的方法驅(qū)動液晶1602。回到前面指令(9)的介紹,液晶忙否的信息會寫回到DB7(BF)位,讀取忙碌信號BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時無法接收單片機送來的數(shù)據(jù)或指令;當(dāng)BF=0時,液晶顯示器可以接收單片機送來的數(shù)據(jù)或指令。

圖4-10讀操作時序圖4-11寫操作時序讀忙的時序為:RS=L,RW=H,E=H

,據(jù)此寫判忙函數(shù):voidLCD_Check_Busy(void){while(1){DataPort=0xff;rs=0;rw=1;en=0;_nop_();en=1;if(Da

溫馨提示

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

評論

0/150

提交評論