資源描述:
《項(xiàng)目8單片機(jī)應(yīng)用技能實(shí)訓(xùn)(C語言)教案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、單片機(jī)應(yīng)用技能實(shí)訓(xùn)(C語言)教案—項(xiàng)目8項(xiàng)目8數(shù)字顯示交通燈控制電路制作任務(wù)1項(xiàng)目相關(guān)知識(shí)學(xué)習(xí)一、案頭任務(wù)項(xiàng)目相關(guān)知識(shí)學(xué)習(xí)授課時(shí)間年月日授課班級(jí)教學(xué)形式講授、討論授課時(shí)數(shù)2課時(shí)教學(xué)用具教學(xué)資源項(xiàng)目制作成品或元件、課件課前準(zhǔn)備教學(xué)目標(biāo)1、掌握簡(jiǎn)單I/O端口擴(kuò)展的接線方法。2、掌握簡(jiǎn)單I/O端口擴(kuò)展應(yīng)用程序的編寫。3、熟悉在C51中直接插入?yún)R編語言程序的編程方法。教學(xué)重點(diǎn)1、簡(jiǎn)單I/O端口擴(kuò)展的接線方法。2、簡(jiǎn)單I/O端口擴(kuò)展應(yīng)用程序的編寫。教學(xué)難點(diǎn)1、對(duì)同時(shí)擴(kuò)展8位并行輸出和輸入的理解。教學(xué)過程1、通過對(duì)交通燈功能的討論,引出項(xiàng)目任務(wù)。2、
2、簡(jiǎn)單I/O端口擴(kuò)展的芯片簡(jiǎn)介。3、簡(jiǎn)單I/O端口擴(kuò)展的接線方法及程序編寫。4、在C51中直接插入?yún)R編語言程序的編程方法。教學(xué)后記二、教學(xué)實(shí)施過程實(shí)施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)1、檢查學(xué)生出勤情況并做好記錄。2、調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備?;?dòng)交流復(fù)習(xí)提問1、根據(jù)前面所學(xué)知識(shí),如何進(jìn)行I/O端口的擴(kuò)展?2、交通燈的作用是什么?有什么功能?本項(xiàng)目的終極目標(biāo)是制作一個(gè)單片機(jī)控制的能顯示倒計(jì)時(shí)時(shí)間的交通燈控制電路。提問導(dǎo)思導(dǎo)入在項(xiàng)目6中用數(shù)碼管顯示時(shí)間,為了不造成資源浪費(fèi),我們利用串行口方式0進(jìn)行輸出口擴(kuò)展。但利用串行口方式0擴(kuò)展并行輸出口
3、,在使用上有一定局限性,所以,我們?cè)谶M(jìn)行項(xiàng)目制作之前,學(xué)習(xí)MCS-51單片機(jī)簡(jiǎn)單I/O口的擴(kuò)展方法。啟發(fā)學(xué)習(xí)積極性講授新課一、并行I/O端口的擴(kuò)展由于簡(jiǎn)單I/O端口擴(kuò)展方法簡(jiǎn)單實(shí)用,下面對(duì)該方法加以介紹。1、簡(jiǎn)單I/O端口擴(kuò)展芯片簡(jiǎn)介通常采用三態(tài)緩沖器(例如74LS244、74LS541)來擴(kuò)展并行輸入,用8D鎖存器(例如74LS373、74HC573)來擴(kuò)展并行輸出。圖8-2是74LS541和74HC573的邏輯符號(hào)圖。74LS541是三態(tài)緩沖器,74HC573是8D鎖存器,采用20腳雙列直插封裝。圖8-274LS54174HC573邏
4、輯符號(hào)圖2、簡(jiǎn)單I/O端口擴(kuò)展舉例例8.1利用兩個(gè)8D鎖存器74HC573擴(kuò)展兩個(gè)8位并行輸出口。單片機(jī)擴(kuò)展兩個(gè)8位并行輸出端口的硬件電路如圖10-3所示,在預(yù)處理命令中將p20定義為P2.0,將p21定義為P2.1。當(dāng)需要將A中數(shù)據(jù)從U2輸出時(shí),執(zhí)行如下指令:p20=0;//U2鎖存數(shù)據(jù)p21=0;//U3鎖存數(shù)據(jù)P0=ACC;//將ACC數(shù)據(jù)送給P0p20=1;//數(shù)據(jù)從U2輸出用多媒體展示圖8-2進(jìn)行介紹。重點(diǎn)介紹引腳使用。p20=0;//U2鎖存數(shù)據(jù)當(dāng)需要將A中數(shù)據(jù)從U3輸出時(shí),執(zhí)行如下指令:p20=0;//U2鎖存數(shù)據(jù)p21=0
5、;//U3鎖存數(shù)據(jù)P0=ACC;//將ACC數(shù)據(jù)送給P0p21=1;//數(shù)據(jù)從U3輸出p21=0;//U3鎖存數(shù)據(jù)圖8-3擴(kuò)展并行輸出采用本例方法,利用P0、P2最多可擴(kuò)展8個(gè)8位并行輸出端口。例8.2采用74LS541和74LS373為單片機(jī)擴(kuò)展8位并行輸入和8位并行輸出端口。擴(kuò)展輸入輸出端口的硬件電路如圖8-4所示,將74LS541和74LS373作為單片機(jī)的外部數(shù)據(jù)存貯器單元來進(jìn)行操作。由于74LS541和74LS373通過邏輯電路只與16位地址線中的P2.0相連,都是在P2.0為0時(shí)被選通的,所以二者的口地址都為FEFFH。圖8-
6、4當(dāng)需要輸入和輸出數(shù)據(jù)時(shí)可通過如下程序完成。charxdata*p1=0xfeff;//定義外部數(shù)據(jù)地址用多媒體展示圖8-3,介紹連接方法,重點(diǎn)介紹編程方法。unsignedchara=0x02;a=*p1;//將74LS541對(duì)應(yīng)端口數(shù)據(jù)輸入*p1=a;//輸出數(shù)據(jù)給74LS373對(duì)應(yīng)端口二、C51中插入與匯編語言程序1、在C51中直接插入?yún)R編語言程序方法當(dāng)需要在C51源程序中插入?yún)R編語言程序時(shí),可使用#pragmaasm和#pragmaendasm語句包含插入的匯編語言程序。格式如下:#pragmaasm匯編語言程序#pragmaen
7、dasm例如編寫程序從P2.7輸出方波,要求在C51程序中直接插入?yún)R編語言程序。程序如下:#includesbitp27=P2^7;voidmain(){while(1){P27=!p27;#pragmaasmMOVR1,#250D1:DJNZR1,D1#pragmaendasm}}圖8-5激活SRC_CONTROL2、使用keilc進(jìn)行編譯注意事項(xiàng)(1)將SRC_CONTROL激活。激活方法是:在Project窗口中包含匯編語言程序的C文件上右擊鼠標(biāo),從彈出的快捷菜單中選擇Optionsforfile命令,雙擊右邊
8、的GenerateAssembler用多媒體展示圖8-4,介紹連接方法。重點(diǎn)介紹編程方法。SRCFile和AssembleSRCFile,使復(fù)選框由無效變?yōu)橛行顟B(tài)。如圖8-5所示。(2)根據(jù)