項目6單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案及單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案_第1頁
項目6單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案及單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案_第2頁
項目6單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案及單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案_第3頁
項目6單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案及單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案_第4頁
項目6單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案及單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案—項目6項目6數(shù)字時鐘電路制作任務(wù)1項目相關(guān)知識學(xué)習(xí)一、案頭任務(wù)項目相關(guān)知識學(xué)習(xí)授課時間年月日授課班級教學(xué)形式講授、討論授課時數(shù)2課時教學(xué)用具教學(xué)資源項目制作成品、課件課前準(zhǔn)備教學(xué)目標(biāo)1、了解并行通信與串行通信。2、理解串行口結(jié)構(gòu),工作方式。3、掌握串行口工作方式0的應(yīng)用。4、了解LED數(shù)碼管結(jié)構(gòu)及顯示方式。教學(xué)重點1、串行口控制寄存器的作用與用法。2、串行口工作方式0的應(yīng)用。教學(xué)難點1、對串行口發(fā)送啟動和接收啟動的理解。教學(xué)過程1、通過對生活中數(shù)字時鐘的討論,引出項目任務(wù)。2、LED數(shù)碼管結(jié)構(gòu)及顯示方式。3、并行通信與串行通信。4、MCS-51單片機(jī)串行口的結(jié)構(gòu)。5、用于串行口的專用寄存器介紹。6、串行口工作方式0的應(yīng)用。教學(xué)后記二、教學(xué)實施過程實施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)1、檢查學(xué)生出勤情況并做好記錄。2、調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備。互動交流復(fù)習(xí)提問1、MCS-51定時器有哪幾種工作方式?2、如何用定時器來完成數(shù)字時鐘的定時?本項目的終極目標(biāo)是制作一個單片機(jī)控制的LED數(shù)碼管靜態(tài)顯示數(shù)字時鐘電路。提問導(dǎo)思導(dǎo)入在項目5中學(xué)習(xí)了單片機(jī)的定時器,本項目要用定時器定時,用數(shù)碼管顯示時間,至少要用4個數(shù)碼管,每個數(shù)碼管占用8位,4個LED數(shù)碼管占用4個I/O端口。所以,在本項目中要擴(kuò)展用于顯示電路的輸出端口。下面,我們在進(jìn)行項目制作之前,學(xué)習(xí)LED數(shù)碼管結(jié)構(gòu)原理以及MCS-51單片機(jī)的串行口。啟發(fā)學(xué)習(xí)積極性講授新課一、LED數(shù)碼管結(jié)構(gòu)及工作原理1、LED數(shù)碼管結(jié)構(gòu)通常使用的是七段LED顯示器,這種顯示器由8個發(fā)光二極管構(gòu)成,有共陰極和共陽極兩種,如圖6-3所示。圖6-3數(shù)碼管結(jié)構(gòu)2.LED數(shù)碼管工作原理共陰極LED數(shù)碼管的8個發(fā)光二極管的陰極連在一起,接公共端COM。使用時公共端接地,當(dāng)發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮。共陽數(shù)碼管則與之相反。從管腳a~g及dp輸入不同的8位二進(jìn)制數(shù),可顯示不同的數(shù)字或字符,把控制數(shù)碼管顯示不同字符的8位二進(jìn)制數(shù)稱為段碼。例如:對于共陽極數(shù)碼管,若要顯示0,其段碼為C0H。二、LED數(shù)碼管的顯示方法數(shù)碼管的顯示方式有靜態(tài)顯示和動態(tài)顯示兩種。1、靜態(tài)顯示靜態(tài)顯示是指\o"數(shù)碼管"數(shù)碼管顯示某一字符時,相應(yīng)的發(fā)光\o"二極管"二極管恒定導(dǎo)通或恒定截止。這種顯示方式的各位\o"數(shù)碼管"數(shù)碼管相互獨立,公共端恒定接地(共陰極)或接正\o""電源(共陽極)。每個\o"數(shù)碼管"數(shù)碼管的8個字段分別與一個8位I/O口相連。2、動態(tài)顯示動態(tài)顯示是一位一位地輪流點亮各位\o"數(shù)碼管"數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常,各位\o"數(shù)碼管"數(shù)碼管的相應(yīng)段選線并聯(lián)在一起,由一個8位的I/O口控制;各位數(shù)碼管的位選線(公共陰極或陽極)由另外的I/O口線控制。三、MCS-51單片機(jī)串行接口1、并行通信和串行通信并行通信是指將組成數(shù)據(jù)字節(jié)的各位同時發(fā)送或接收,不宜用于遠(yuǎn)距離通信。串行通信是組成數(shù)據(jù)的字節(jié)中的各位按順序逐一傳送的方式,最少只需3根傳輸線即可,如圖8-2所示。串行通信適用于遠(yuǎn)距離通信,但通信的傳送速度較低。圖6-4串行通信2、MCS-51單片機(jī)串行接口MCS-51單片機(jī)的串行接口由串行口緩沖寄存器SBUF、串行口控制寄存器SCON和電源控制寄存器PCON構(gòu)成,通過引腳TXD(P3.1)、RXD(P3.0)來完成串行數(shù)據(jù)的發(fā)送和接收與外界進(jìn)行串行通信。(1)串行口緩沖寄存器SBUFSBUF是按字節(jié)尋址的專用寄存器,它用來存放將要發(fā)送或接收到的數(shù)據(jù)。在物理上有兩個獨立的SBUF寄存器,一個用于發(fā)送,一個用來接收。(2)串行口控制寄存器SCONSCON是一個可以位尋址專用寄存器,它用于串行口的方式選擇、發(fā)送、接收控制及保存串行口的狀態(tài)信息等。SCON中各位的名稱如表6-2所示。SCON位D7D6D5D4D3D2D1D0位名稱SM0SM1SM2RENTB8RB8TIRISCON中各位的定義如下:SM0、SM1:串行口工作方式選擇位。4種不同取值對應(yīng)4種工作方式如表6-3所示。SM2:在方式2、3中用作多機(jī)通信控制位。REN:允許接收控制位。REN=0時禁止接收,REN=1時允許接收。TB8:發(fā)送數(shù)據(jù)的第九位。RB8:接收數(shù)據(jù)的第九位。TI:發(fā)送中斷請求標(biāo)志位。RI:接收中斷請求標(biāo)志位。(3)電源控制寄存器PCONPCON對串行口的影響是通過其SMOD位改變串行口的波特率。SMOD位位于PCON的最高位,即PCON.7,當(dāng)SMOD=1時串行口的波特率是SMOD=0時的兩倍(方式0除外)。PCON在單片機(jī)復(fù)位時,SMOD=0。二、MCS-51單片機(jī)串行口工作方式0的應(yīng)用1、串行口方式0的發(fā)送與接收串行口工作方式0是8位同步移位寄存器方式。串行數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。方式0主要用于I/O端口的擴(kuò)展。(1)方式0的發(fā)送方式0的發(fā)送操作是在TI=0的情況下,執(zhí)行以SBUF為目的字節(jié)的數(shù)據(jù)傳送指令開始的。例如:SBUF=a;8位數(shù)據(jù)發(fā)送完成后,由硬件將TI置1,向CPU請求中斷。若中斷不開放,TI可作為發(fā)送完成的查詢標(biāo)志位。TI=1后,必須用軟件將其清0,以便再次發(fā)送數(shù)據(jù)。(2)方式0的接收方式0的接收操作是在RI=0的條件下,由REN置1指令來啟動接收。收到8位數(shù)據(jù)后,由硬件將RI置1,向CPU請求中斷。若中斷不開放,RI可作為接收完成的查詢標(biāo)志位。RI=1后,必須用軟件將其清0,以便再次接收數(shù)據(jù)。2、方式0應(yīng)用舉例例1:使用串入并出芯片74LS164與單片機(jī)相連,使用串行口方式0擴(kuò)展8位并行輸出,接線示意圖如圖6-5所示。8位并行輸出接8個發(fā)光二極管,要求控制8個發(fā)光二極管反復(fù)亮滅。程序設(shè)計如下(采用查詢方式):圖6-5方式0擴(kuò)展并行輸出#include<reg51.h>#defineucharunsignedcharvoiddelay_ms(ucharxms);//定義延時函數(shù)/*******以下是主函數(shù)****************/voidmain(){uchara=0xff;SCON=0;//置串行口方式0,相關(guān)標(biāo)志位、控制位清0。while(1){SBUF=a;//啟動串行發(fā)送while(!TI);//等待串行發(fā)送完成TI=0;//TI清0,準(zhǔn)備再次發(fā)送數(shù)據(jù)a=~a;delay_ms(200);}}用多媒體展示圖6-3。提問學(xué)生其他數(shù)字的段碼。介紹連接方法并說明靜態(tài)顯示的優(yōu)缺點。介紹連接方法并說明動態(tài)顯示的優(yōu)缺點。重點說明SCON的使用。對方式0的發(fā)送與接收詳細(xì)說明。用多媒體展示課件圖6-5簡單介紹集成電路芯片74LS164工作特點。對應(yīng)用程序進(jìn)行介紹,延時程序由學(xué)生進(jìn)行編寫。課堂小結(jié)1、LED數(shù)碼管結(jié)構(gòu)原理及顯示方式。2、并行通信、串行通信的概念。3、MCS-51單片機(jī)串行口結(jié)構(gòu)及SCON各位作用。4、串行口方式0應(yīng)用舉例。課后作業(yè)自我測評1題、2題、3題、4題。任務(wù)2數(shù)字時鐘電路硬件、軟件設(shè)計一、案頭任務(wù)數(shù)字時鐘電路硬件、軟件設(shè)計授課時間年月日授課班級教學(xué)形式講授、討論授課時數(shù)2課時教學(xué)用具教學(xué)資源課件、單片機(jī)應(yīng)用制作成品課前準(zhǔn)備教學(xué)目標(biāo)1、掌握串行口工作方式0的應(yīng)用。2、掌握數(shù)字時鐘電路的整體構(gòu)成。3、掌握C語言數(shù)值計算的方法。4、理解應(yīng)用程序的編程思路。教學(xué)重點1、串行口工作方式0的應(yīng)用。2、應(yīng)用程序的編程思路及相關(guān)指令使用。教學(xué)難點1、應(yīng)用程序的編寫思路及相關(guān)程序。教學(xué)過程1、復(fù)習(xí)提問串行口方式0的主要應(yīng)用。2、介紹項目任務(wù)要求。3、根據(jù)項目任務(wù)要求引導(dǎo)設(shè)計硬件電路。4、C語言數(shù)值計算方法。4、應(yīng)用程序流程圖繪制。5、應(yīng)用程序設(shè)計。教學(xué)后記二、教學(xué)實施過程實施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)檢查學(xué)生出勤情況并做好記錄。調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備?;咏涣鲝?fù)習(xí)提問1、串行口控制寄存器SCON各位的作用?2、如何用方式0擴(kuò)展并行輸出?提問導(dǎo)思導(dǎo)入在學(xué)習(xí)了串行口結(jié)構(gòu)及方式0應(yīng)用后,我們應(yīng)用串行口方式0擴(kuò)展4個并行輸出口來輸出顯示時間,項目要求如下:(1)用4個LED數(shù)碼管采用靜態(tài)顯示,分別顯示時和分,用一個發(fā)光二極管表示秒。(2)用兩個按鍵,一個用來調(diào)小時,一個用來調(diào)分鐘。啟發(fā)學(xué)習(xí)積極性講授新課一、數(shù)字時鐘電路設(shè)計1、數(shù)字時鐘電路構(gòu)成方案設(shè)計根據(jù)項目要求,本項目硬件由按鍵電路(調(diào)時)、單片機(jī)最小應(yīng)用系統(tǒng)、擴(kuò)展輸出電路和數(shù)碼管顯示電路構(gòu)成。關(guān)鍵是擴(kuò)展輸出電路構(gòu)成。擴(kuò)展輸出用芯片74HC595來完成。2、電路設(shè)計根據(jù)電路構(gòu)成方案設(shè)計,對各組成部分進(jìn)行設(shè)計。關(guān)鍵是擴(kuò)展輸出及顯示電路的設(shè)計。硬件電路原理圖如圖6-7所示。圖6-7數(shù)字時鐘電路原理2、元件選擇(1)復(fù)習(xí)晶振電路元件及復(fù)位電路元件的選擇。(2)復(fù)習(xí)發(fā)光二極管電路元件選擇。(3)數(shù)碼管的選擇。二、應(yīng)用程序編寫1、C語言數(shù)值計算的方法。(1)算術(shù)運(yùn)算算術(shù)運(yùn)算常用的有:+、-、*、/、%五種?!?”是除法運(yùn)算,即兩個整數(shù)相除,商仍為整數(shù),舍去小數(shù)部分(余數(shù))。“%”為取模運(yùn)算(取余運(yùn)算),參與運(yùn)算的兩個整數(shù),結(jié)果為兩個數(shù)相除之后的余數(shù)。例如:unsignedinta,b,c,d;a=12;b=8;c=a/b;//結(jié)果是c=1。d=a%b;//結(jié)果是d=4。(2)復(fù)合運(yùn)算C語言中的復(fù)合運(yùn)算符使得語句的書寫更加簡潔,符號左則的變量既是源操作數(shù)又是目的操作數(shù)。例如:unsignedchara=0x01,b=0x02,c=0x03,d=0x04;a/=b;//a=a/b=0b+=0x01;//b=b+1=0x03c|=0x80;//c=c|0x80=0x83d<<=1;//d=d<<1=0x082、應(yīng)用程序流程圖繪制根據(jù)項目要求,分別繪制主程序和中斷服務(wù)程序流程圖如圖6-8所示。圖6-8程序流程圖3、程序設(shè)計根據(jù)流程圖編寫程序,參考程序如下:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharhour=12,min=0,sec=0;//定義小時、分鐘、和秒變量ucharcont_1s;//定義1S定時次數(shù)變量sbitS1=P1^0;//定義S1鍵sbitS2=P1^1;//定義S2鍵sbitxskzw=P2^1;//定義顯示控制位sbitled=P2^0;uchardisp_buf[4];//定義顯示緩沖單元ucharcodetab[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0xff};//定義段碼表/**********以下是初始化函數(shù)************/voidstart(){TMOD=0x11;//定時器工作方式TL0=(65536-20210)%256;//置定時器初值,一次定時20msTH0=(65536-20210)/256;SCON=0x00;//串行口初始化cont_1s=50;//置1S定時次數(shù)EA=1;//開放中斷ET0=1;//開定時器中斷TR0=1;//啟動定時器T0}/**********以下是時間顯示函數(shù)*********/voidsjxs(){uchari,tmp;//定義中間變量xskzw=0;//控制位清0,準(zhǔn)備串行發(fā)送顯示段嗎for(i=0;i<4;i++)//循環(huán)發(fā)送4位{tmp=disp_buf[i];//顯示數(shù)據(jù)送tmpSBUF=tab[tmp];//查顯示段嗎送SBUF進(jìn)行串行發(fā)送while(TI==0);//等待發(fā)送完TI=0;//為下次發(fā)送做好準(zhǔn)備}xskzw=1;//控制位置1,將顯示段嗎送出顯示當(dāng)前時間}/**********下以是數(shù)據(jù)處理函數(shù)*********/voidsjcl(ucharin1,in2){ucharfen,shi;shi=in1;fen=in2;disp_buf[0]=fen%10;//分鐘個位disp_buf[1]=fen/10;//分鐘十位disp_buf[2]=shi%10;//小時個位disp_buf[3]=shi/10;//小時十位}/***以下是定時器TO中斷函數(shù),用于產(chǎn)生時、分、秒信號***/voidsz()interrupt1{TL0=(65536-20210)%256;//重裝定時器初值TH0=(65536-20210)/256;cont_1s--;//1S定時中斷次數(shù)減1if(cont_1s==0)//到1s定時了嗎?{cont_1s=50;//重置cont_1sled=1;//秒閃爍滅sec++;//秒加1if(sec==60)//到60秒否?{sec=0;//到60秒則秒清0min++;//分鐘加1if(min==60)//到60分否?{min=0;//到60分鐘則分清0hour++;//小時加1if(hour==24)//到24小時否?hour=0;//到24小時則小時清0}}sjcl(hour,min);//調(diào)用數(shù)據(jù)處理函數(shù)sjxs();//調(diào)用時間顯示函數(shù)}elseif(cont_1s==25)//到0.5S延時了嗎?led=0;//秒閃爍亮}/*********以下是主函數(shù)***************/voidmain(){start();//調(diào)用初始化函數(shù)while(1)//大循環(huán){if(S1==0){delay_ms(10);//若S1按下則調(diào)用10ms延時函數(shù)去抖動if(S1==0)txs();//S1仍然按下則調(diào)用調(diào)小時函數(shù)}if(S2==0)//若S2按下則調(diào)用10ms延時函數(shù)去抖動{delay_ms(10);if(S2==0)//S2仍然按下則調(diào)用調(diào)分鐘函數(shù)tfz();}}}4、是否需要去抖動處理?老師和同學(xué)共同討論電路構(gòu)成方案。老師講解74HC593與單片機(jī)的連接及擴(kuò)展級連方法。老師和同學(xué)共同在黑板上繪制電路原理圖。對自述運(yùn)算可多舉幾個例子。在老師引導(dǎo)下由同學(xué)老師共同完成流程圖繪制。在老師引導(dǎo)下與同學(xué)一起完成應(yīng)用程序設(shè)計。延時子函數(shù)、調(diào)小時子函數(shù)、調(diào)分鐘子函數(shù)由學(xué)生獨立完成。課堂小結(jié)1、數(shù)字時鐘電路設(shè)計。2、C語言數(shù)值計算的方法。3、應(yīng)用程序設(shè)計,關(guān)鍵是程序流程圖設(shè)計。課后作業(yè)自我測評5題、6題。任務(wù)3數(shù)字時鐘電路的計算機(jī)仿真一、案頭任務(wù)防盜報警器電路的計算機(jī)仿真授課時間年月日授課班級教學(xué)形式老師演示、學(xué)生練習(xí)授課時數(shù)2課時教學(xué)用具教學(xué)資源機(jī)房、相關(guān)課件課前準(zhǔn)備教學(xué)目標(biāo)1、數(shù)字時鐘電路設(shè)計的計算機(jī)仿真驗證。2、提高工具軟件的使用熟練程度。3、熟練C語言相關(guān)指令的使用及電路應(yīng)用程序設(shè)計。教學(xué)重點1、數(shù)字時鐘電路設(shè)計的計算機(jī)仿真驗證。2、程序編寫與修改。教學(xué)難點1、仿真電路運(yùn)行出錯時的修改調(diào)試。教學(xué)過程1、proteus仿真電路繪制步驟復(fù)習(xí)。2、用keil進(jìn)行程序匯編步驟復(fù)習(xí)。3、布置練習(xí)作業(yè),學(xué)生進(jìn)行練習(xí)并驗證電路效果,老師進(jìn)行指導(dǎo)。教學(xué)后記二、教學(xué)實施過程實施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)1、檢查學(xué)生出勤情況并做好記錄。2、調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備?;咏涣鲝?fù)習(xí)提問1、本項目設(shè)計的數(shù)字時鐘電路都有哪些功能?提問導(dǎo)思導(dǎo)入剛才同學(xué)們對數(shù)字時鐘電路的功能作了敘述,下面就根據(jù)上次課進(jìn)行的電路設(shè)計及程序編寫,用計算機(jī)仿真驗證本次項目設(shè)計的正確性和運(yùn)行效果。啟發(fā)學(xué)習(xí)積極性講授新課一、使用proteus繪制仿真電路圖的步驟參照圖6-7繪制仿真電路圖。1、將所需元器件加入到對象選擇器窗口AT89S51用AT89C51代替,紅色發(fā)光二極管的英文符號是“LED-RED”;電阻、電容、電解電容、按鍵、晶振的英文符號分別是“RES”、“CAP”“CAP-ELEC”、“BUTTON”、“CRYSTAL”;綠色數(shù)碼管的英文符號是“7SEG-COM-CAT-GRN”。2、放置元器件至圖形編輯窗口3、移動(刪除)對象和調(diào)整對象朝向4、放置電源及接地符號5、元器件之間的連線6、編輯對象的屬性設(shè)置元件參數(shù)二、使用keil進(jìn)行程序匯編的步驟1、源文件的建立輸入完源程序后,保存該文件,注意必須加上擴(kuò)展名.c。2、建立工程文件點擊“Project--NewProject…”菜單,出現(xiàn)一個對話框,要求給將要建立的工程起一個名字,---。3、工程的設(shè)置(針對我們的單片機(jī)制作項目進(jìn)行簡單設(shè)置)在OutPut頁面,勾選“CreatHexfile”選項。4、編譯、連接在設(shè)置好工程后,即可進(jìn)行編譯、連接。點擊按鈕,對當(dāng)前工程中的文件進(jìn)行編譯然后再連接,生成目標(biāo)代碼。編譯過程中的信息將出現(xiàn)在輸出窗口中的Build頁中,如果源程序中有語法錯誤,會有錯誤報告出現(xiàn)。三、布置作業(yè)學(xué)生練習(xí),老師指導(dǎo)。1、數(shù)字時鐘電路仿真驗證。2、在仿真軟件中對定時器初值進(jìn)行不同參數(shù)設(shè)置,觀察有什么變化。3、在仿真軟件采用74LS164代替74HC595進(jìn)行仿真,觀察仿真運(yùn)行效果,想一想為什么出現(xiàn)相應(yīng)效果。4、修改應(yīng)用程序驗證運(yùn)行效果。利用多媒體或機(jī)房相關(guān)軟件進(jìn)行操作演示。講解個步驟的含義。課堂小結(jié)1、proteus的基本操作步驟。2、keil的操作步驟。3、單片機(jī)電動機(jī)正反轉(zhuǎn)控制電路的仿真驗證。課后作業(yè)技能反復(fù)訓(xùn)練與思考題3題、7題。任務(wù)4數(shù)字時鐘電路的制作與調(diào)試一、案頭任務(wù)單片機(jī)控制廣告燈電路的制作與調(diào)試授課時間年月日授課班級教學(xué)形式學(xué)生動手操作、老師指導(dǎo)授課時數(shù)2課時教學(xué)用具萬用表、電烙鐵等教學(xué)資源實訓(xùn)設(shè)備、電路制作成品課前準(zhǔn)備數(shù)字時鐘電路PCB板、相關(guān)電子元件采購、準(zhǔn)備。教學(xué)目標(biāo)1、掌握項目相關(guān)元件的測試方法。2、掌握使用相關(guān)工具進(jìn)行電路制作的操作方法。3、掌握使用儀表進(jìn)行電路測試方法,提高儀表使用的熟練程度。4、掌握數(shù)字時鐘電路構(gòu)成及硬件、軟件調(diào)試。教學(xué)重點1、掌握相關(guān)元件測試方法。2、掌握數(shù)字時鐘電路構(gòu)成及硬件、軟件調(diào)試。教學(xué)難點1、電路調(diào)試中的故障查找。教學(xué)過程1、強(qiáng)調(diào)實訓(xùn)室操作規(guī)程,注意操作安全。2、防盜報警器電路各元件及使用工具簡介。3、學(xué)生進(jìn)行元件測試。4、分組進(jìn)行硬件電路制作。5、分組進(jìn)行硬件電路調(diào)試。6、根據(jù)硬件電路實際對應(yīng)用程序進(jìn)行修改并進(jìn)行運(yùn)行調(diào)試。教學(xué)后記二、教學(xué)實施過程實施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)1、檢查學(xué)生出勤情況并做好記錄。2、調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備?;咏涣鲝?fù)習(xí)提問1、能否用調(diào)時鍵進(jìn)行時間減1?2、如何對數(shù)碼管進(jìn)行簡單測試?提問導(dǎo)思導(dǎo)入強(qiáng)調(diào)操作紀(jì)律及操作安全注意事項。經(jīng)過前面幾個項目的制作,同學(xué)們已經(jīng)有了制作經(jīng)驗,但本項目比較復(fù)雜,期待同學(xué)們成功展示作品的時刻。由學(xué)生分組展開實際操作。建議每組2人,最好每組不超過3人。啟發(fā)學(xué)習(xí)積極性項目制作一、認(rèn)識項目相關(guān)元件及元件測試1、復(fù)習(xí)發(fā)光二極管、電阻等元件測試方法并進(jìn)行操作練習(xí)。2、數(shù)碼管測測試。3、復(fù)習(xí)按鍵的測試方法并進(jìn)行測試。二、按元件高低層次依次進(jìn)行插裝與焊接1、電阻的插裝與焊接。2、電容、晶振的插裝與焊接。3、40腳及16腳IC插座插裝與焊接。4、按鍵及數(shù)據(jù)線插座的插裝與焊接。5、數(shù)碼管的插裝與焊接。三、電路連接完成各元件的連接后,將電源線引出或?qū)SB座焊接在電路板上,使用電腦上的5V電源。往屆學(xué)生制作成品如下:四、硬件電路調(diào)試1、通電之前,先用萬用表檢查各電源線與地線之間是否有短路現(xiàn)象,測試40腳及16腳IC插座各腳對地電阻值并記錄,分析各電阻值是否合理。若發(fā)現(xiàn)有不合理值,則要進(jìn)行分析查找及處理。點按控制按鍵,測量相應(yīng)引腳電阻是否為0。2、不插單片機(jī)芯片,接通電源,檢查所有插座或器件的電源端是否有符合要求的電壓值,如發(fā)現(xiàn)電壓值偏離較多,應(yīng)立即中斷供電并檢查處理。接地端電壓是否為0V,測試40腳及16腳IC插座各腳對地電壓并記錄,分析各電壓值是否合理。3、在不插上單片機(jī)芯片時,接通電源,模擬單片機(jī)輸出低電平(將對應(yīng)引腳接地),檢查相應(yīng)的外部電路是否正常(觀察發(fā)光二極管是否點亮)。模擬74HC595輸出低電平,檢查數(shù)碼管相應(yīng)位是否點亮。五、寫入應(yīng)用程序試運(yùn)行學(xué)生動手實際操作,根據(jù)硬件電路實際對應(yīng)用程序進(jìn)行修改后,匯編生成目標(biāo)文件寫入單片機(jī)芯片進(jìn)行運(yùn)行調(diào)試。運(yùn)行正常后,再對應(yīng)用程序進(jìn)行修改以期能有更好的效果實現(xiàn)。若正常寫入程序,接通電源后,系統(tǒng)不能正常工作,可以通過測試18、19、30腳的直流電位初步判定單片機(jī)最小系統(tǒng)是否已經(jīng)正常工作。學(xué)生分組進(jìn)行動手制作,老師巡回指導(dǎo)或示范操作。由學(xué)生動手操作,老師進(jìn)行巡回指導(dǎo),必要時進(jìn)行示范操作。將所測試數(shù)據(jù)列表記錄并妥善保存。項目制作小結(jié)1、元件測試方法。2、元件插裝與焊接及電路連接。3、硬件電路調(diào)試。4、程序?qū)懭肱c運(yùn)行調(diào)試。課后作業(yè)1、將項目制作調(diào)試時測試數(shù)據(jù)列表并分析。2、總結(jié)本項目制作中出現(xiàn)問題及解決方法。3、自我測評7題。單片機(jī)應(yīng)用技能實訓(xùn)(C語言)教案—項目2項目2廣告燈電路制作任務(wù)1MCS-51單片機(jī)I/O端口及C語言相關(guān)指令一、案頭任務(wù)MCS-51單片機(jī)并行接口及C語言相關(guān)指令授課時間年月日授課班級教學(xué)形式講授授課時數(shù)2課時教學(xué)用具多媒體教學(xué)資源課件、單片機(jī)應(yīng)用制作成品課前準(zhǔn)備教學(xué)目標(biāo)1、了解MCS-51單片機(jī)并行接口的結(jié)構(gòu)。2、掌握MCS-51單片機(jī)并行接口的使用方法。3、掌握項目相關(guān)C語言指令的作用及使用方法。教學(xué)重點1、MCS-51單片機(jī)并行接口的使用方法。2、項目相關(guān)C語言指令的作用及使用方法。教學(xué)難點1、MCS-51單片機(jī)并行接口結(jié)構(gòu)原理。2、項目相關(guān)C語言指令的靈活使用。教學(xué)過程1、通過生活中實際情境的介紹,引出項目任務(wù)。2、MCS-51單片機(jī)P0口結(jié)構(gòu)原理,重點學(xué)習(xí)P0口的使用方法。3、P1~P3口結(jié)構(gòu)原理及使用方法。4、項目相關(guān)C語言指令的作用及使用方法。教學(xué)后記二、教學(xué)實施過程實施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)1、檢查學(xué)生出勤情況并做好記錄。2、調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備。互動交流復(fù)習(xí)提問1、MCS-51單片機(jī)由哪幾部分組成?2、MCS-51單片機(jī)有多少個I/O口引腳?提問導(dǎo)思導(dǎo)入夜晚的商業(yè)街上,各種各樣的廣告彩燈光彩奪目,變幻無窮,非常好看。那么功能強(qiáng)大的單片機(jī)是否能完成廣告彩燈的控制任務(wù)呢?本項目的任務(wù)就是制作一個用單片機(jī)控制的廣告燈電路。為完成項目制作,先進(jìn)行相關(guān)基本知識的學(xué)習(xí)。啟發(fā)學(xué)習(xí)積極性講授新課一、MCS-51單片機(jī)并行接口1、P0口的結(jié)構(gòu)和工作原理P0口每一位的結(jié)構(gòu)如圖2-2所示,它由一個輸出鎖存器,上下兩個三態(tài)緩沖器,一個輸出驅(qū)動電路和一個輸出控制電路組成。圖2-2P0口的結(jié)構(gòu)從P0口輸出數(shù)據(jù)的方法有兩種,一種是執(zhí)行以P0口為目的操作數(shù)的數(shù)據(jù)傳送指令來實現(xiàn),另一種是執(zhí)行以P0口位為目的操作數(shù)的位操作指令來實現(xiàn)。分別舉例如下:P0=0x66;//將立即數(shù)66H送到P0口P0_0=0;//將P0.0清0。P0口的主要功能如下:(1)作為通用I/O端口輸出數(shù)據(jù)。使用時注意外接上拉電阻。該功能在前面已介紹過。(2)作為通用I/O端口輸入數(shù)據(jù)。在輸入數(shù)據(jù)時,要先向鎖存器寫“1”。(3)擴(kuò)展外部設(shè)備時,作為低8位地址線和8位數(shù)據(jù)線分時復(fù)用。2、P1口的結(jié)構(gòu)和工作原理P1口每一位的結(jié)構(gòu)如圖2-13所示。由P1口的結(jié)構(gòu)圖可以得知P1口的主要功能是:(1)作為通用I/O端口輸出數(shù)據(jù)。由于P1口已有內(nèi)部上拉電阻,輸出數(shù)據(jù)時不必外接上拉電阻。(2)作為通用I/O端口輸入數(shù)據(jù)。在輸入數(shù)據(jù)時,要先向鎖存器寫“1”。圖2-13圖2-143、P2口的結(jié)構(gòu)和工作原理P2口的位結(jié)構(gòu)如圖2-14所示,P2口的主要功能是:(1)作為通用I/O端口輸出數(shù)據(jù)。輸出數(shù)據(jù)時可以不外接上拉電阻。(2)作為通用I/O端口輸入數(shù)據(jù)。在輸入數(shù)據(jù)時,要先向鎖存器寫“1”。(3)系統(tǒng)擴(kuò)展外部設(shè)備時,作為高8位地址總路線使用。4、P3口的結(jié)構(gòu)和工作原理圖2-15P3口的位結(jié)構(gòu)如圖2-15所示,P3口的主要功能如下:(1)作為通用I/O接口輸出數(shù)據(jù),輸出數(shù)據(jù)時可以不外接上拉電阻。(2)作為通用I/O接口輸入數(shù)據(jù)。同樣,在輸入數(shù)據(jù)時,要先向鎖存器寫“1”。(3)每位都有專有的第二功能(替代的輸入或輸出)。二、項目相關(guān)C語言指令下面我們進(jìn)行C語言相關(guān)知識的介紹,以便順利地編寫項目應(yīng)用程序。1、KeilC的預(yù)處理命令預(yù)處理命令是指先經(jīng)過預(yù)處理處理器處理過后,才進(jìn)行編譯的命令。通常,預(yù)處理命令放在整個程序的開頭。(1)文件包含命令#include是一個文件包含命令,其功能是將一些必要的頭文件加入到程序體中。例如:#include<reg51.h>//將頭文件reg51.h加入到程序體中。(2)宏定義命令#define是一個宏定義命令,它常用來指定常數(shù)、字符串或者宏函數(shù)的代用標(biāo)識符。其指令格式如下。#define代名詞常數(shù)(字符串或者宏函數(shù))例如:#defineoutputsP0//定義使用outputs代替P0。定義后,當(dāng)程序中用P0口輸出時,如P0=0xFF就可以用outputs=0xFF代替。2、KeilC的循環(huán)指令當(dāng)我們需要將程序流程控制在某個指定的循環(huán)里面時,就會用到循環(huán)指令,直到符合指定的結(jié)束條件才會結(jié)束循環(huán)。KeilC提供了for語句、while語句、do-while語句幾種循環(huán)指令。(1)計數(shù)循環(huán)for語句是一個計數(shù)循環(huán)語句,其格式如下。for(表達(dá)式1;表達(dá)式2;表達(dá)式3){語句;…}其中表達(dá)式1是循環(huán)的初始值,表達(dá)式2是判斷的條件,表達(dá)式3是循環(huán)變量增值,其中";"為分隔符,不能被省略。舉例說明一下。for(inti=0;i<8;i++){…}該語句先給i置0,大括號中的語句循環(huán)執(zhí)行8次后,i不小于8,循環(huán)結(jié)束。當(dāng)循環(huán)語句中的條件判斷部分缺省時,無論另外兩個表達(dá)式怎樣,這個for循環(huán)語句成為死循環(huán)。若該循環(huán)只需要執(zhí)行一條指令時,可省略大括號。例如:for(inti=0;i<8;i++)P0=i;//P0=i循環(huán)執(zhí)行8次。若循環(huán)未達(dá)到跳出條件而需要強(qiáng)制跳出時,可在循環(huán)內(nèi)加入其他條件和break指令。例如:for(inti=0;i<8;i++) {…if(sw==0)break;//當(dāng)sw=0時,跳出循環(huán)體?!瓆(2)前條件循環(huán)while語句將判斷條件放在語句開始,稱為前條件循環(huán),其特點是先判斷再執(zhí)行。使用格式如下:while(表達(dá)式){語句;…}其中表達(dá)式是循環(huán)語句的判斷條件,當(dāng)條件滿足時,循環(huán)執(zhí)行大括號中的語句;當(dāng)條件不滿足時,循環(huán)結(jié)束。當(dāng)表達(dá)式條件始終滿足時,該語句成為無限循環(huán)。與for循環(huán)語句一樣,若大括號內(nèi)只有一條指令,則可以省略大括號。若循環(huán)未達(dá)到跳出條件而需要強(qiáng)制跳出時,可在循環(huán)內(nèi)加入其他條件和break指令。(3)后條件循環(huán)dowhile語句將判斷條件放在后面,稱為后條件循環(huán),其特點是先執(zhí)行再判斷。格式如下:do{語句;…}while(表達(dá)式);在這個循環(huán)語句里,會先執(zhí)行一次循環(huán)后,再判斷表達(dá)式條件是否成立,若成立則繼續(xù)執(zhí)行循環(huán)體語句,若不成立則跳出該循環(huán)語句。三、指令周期與延時估算1、幾個概念(1)時鐘周期:單片機(jī)時鐘振蕩電路的振蕩周期。(2)機(jī)器周期:單片機(jī)執(zhí)行一種基本操作所用的時間,1個機(jī)器周期等于12個振蕩周期。(3)指令周期:單片機(jī)執(zhí)行一條指令所用的機(jī)器周期數(shù)。設(shè)單片機(jī)系統(tǒng)晶振頻率fsoc=6MHz,則機(jī)器周期為:機(jī)器周期===22、延時程序的延時時間粗略計算根據(jù)for語句和while語句的特點,我們可以利用它們編寫簡單的延時程序,來滿足粗略的延時要求。以6MHZ晶振為例。(1)利用for語句進(jìn)行簡單延時。Voiddelay(intx){inti,j;for(i=0;i<x;i++)//計數(shù)x次,延遲約xmsfor(j=0;j<60;j++);//計數(shù)60次,延遲約1ms}(2)利用while語句進(jìn)行延時。Voiddelay(unsignedchari){while(--i);//約延遲i*4s}一般來說,我們用for語句來進(jìn)行相對較長的時間延遲,而用while語句來進(jìn)行時間相對較短的延遲。使用多媒體展示圖2-2。參照圖2-2介紹其工作原理。說明為什么接上拉電阻,輸入數(shù)據(jù)為什么是先寫1。使用多媒體展示圖2-13,重點介紹使用方法。同上同上相關(guān)指令作為重點進(jìn)行講授,除教案中的舉例之外,還要再通過更多的例子讓學(xué)生練習(xí)以達(dá)到理解和靈活運(yùn)用指令編寫程序的目的。對while語句也要根據(jù)學(xué)生的理解情況進(jìn)行相適應(yīng)的舉例說明。課堂小結(jié)1、MCS-51單片機(jī)并行接口結(jié)構(gòu)原理及使用方法。P0口用于輸出時,注意外接上拉電阻,P1~P3口可直接用于輸出。P0~P3口用于輸入時,要先向端口寫1再輸入。2、相關(guān)C語言指令:#include命令、#define命令、for語句、while語句。3、指令周期與延時估算。課后作業(yè)自我測評1題、2題、3題、4題。任務(wù)2廣告燈電路的硬件、軟件設(shè)計一、案頭任務(wù)廣告燈電路的硬件、軟件設(shè)計授課時間年月日授課班級教學(xué)形式講授、討論授課時數(shù)2課時教學(xué)用具多媒體教學(xué)資源課件、單片機(jī)應(yīng)用制作成品課前準(zhǔn)備教學(xué)目標(biāo)1、掌握單片機(jī)并行接口用于輸出時與外部電路的連接方法。2、了解發(fā)光二極管工作原理,理解廣告燈電路構(gòu)成,掌握單片機(jī)控制廣告燈電路的整體構(gòu)成。3、理解應(yīng)用程序的一般結(jié)構(gòu),掌握廣告燈程序的編程思路。4、理解程序流程圖的作用,掌握流程圖的畫法。教學(xué)重點1、單片機(jī)并行接口用于輸出時與外部電路的連接及整體電路構(gòu)成。2、應(yīng)用程序的的編程思路。教學(xué)難點1、對電路構(gòu)成的理解和應(yīng)用。2、靈活應(yīng)用指令進(jìn)行程序設(shè)計。教學(xué)過程1、使用發(fā)光二極管模擬廣告燈,復(fù)習(xí)發(fā)光二極管特點。2、I/O端口控制發(fā)光二極管接線方法、亮滅控制原理及元件參數(shù)選擇。3、在老師引導(dǎo)下,由同學(xué)或大家一起畫出項目電路原理圖。4、應(yīng)用程序的一般結(jié)構(gòu)。5、廣告燈電路程序設(shè)計。6、程序流程圖繪制。教學(xué)后記二、教學(xué)實施過程實施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)檢查學(xué)生出勤情況并做好記錄。調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備?;咏涣鲝?fù)習(xí)提問1、將單片機(jī)P0口用于輸出時,需要注意什么?2、發(fā)光二極管的特點?提問導(dǎo)思導(dǎo)入經(jīng)過前面的相關(guān)知識學(xué)習(xí),我們已經(jīng)可以設(shè)計制作發(fā)光二極管廣告燈電路了,下面我們根據(jù)發(fā)光二極管特點及所學(xué)相關(guān)知識來設(shè)計廣告燈電路。首先看發(fā)光二極管與單片機(jī)的連接方法。啟發(fā)學(xué)習(xí)積極性講授新課一、廣告燈電路設(shè)計1、發(fā)光二極管與單片機(jī)的連接由于單片機(jī)I/O端口輸出高電平時的驅(qū)動能力較小,所以常使用低電平驅(qū)動方式,即將發(fā)光二極管通過限流電阻接于電源正極和單片機(jī)I/O端口引腳之間,如圖所示。當(dāng)端口輸出0時,發(fā)光二極管點亮,當(dāng)端口輸出1時,發(fā)光二極管熄滅。2、廣告燈電路原理圖設(shè)計根據(jù)上述接線原理,可設(shè)計出由P0口輸出控制8個發(fā)光管模擬廣告燈的電路原理圖。廣告燈電路原理圖3、元件選擇本項目涉及到的元件選擇主要有發(fā)光二極管和限流電阻兩種元件。發(fā)光管的選擇主要考慮顏色、亮度和直徑;限流電阻的選擇依據(jù)是發(fā)光管的工作電壓和工作電流。請同學(xué)們來選擇。二、應(yīng)用程序設(shè)計1、項目程序設(shè)計考慮到本項目要求廣告燈有的兩種變化效果,現(xiàn)設(shè)計第一種變化為8個彩燈反復(fù)亮滅,第二種為流水燈效果。參考程序如下:(1)控制8個彩燈反復(fù)亮滅#include<reg51.h>//定義8051寄存器的頭文件voiddelay(int);//聲明延時函數(shù)/******以下是主程序***************/main() //主程序開始{P0=0xFF;//給P0口賦初值,全滅while(1)//進(jìn)入死循環(huán){P0=~P0;//P0口取反delay(500);//延時約0.5s(6MHZ晶振)}}//主程序結(jié)束/*******以下是延時子函數(shù)************/voiddelay(intx)//延時函數(shù)開始{inti,j;//聲明變量i,jfor(i=0;i<x;i++)//計數(shù)x次,延遲約xms(6MHZ晶振)for(j=0;j<60;j++);//計數(shù)60次,延遲約1ms(6MHZ晶振)}//延時函數(shù)結(jié)束(2)控制8個彩燈產(chǎn)生流水燈效果2、應(yīng)用程序的基本結(jié)構(gòu)為了使應(yīng)用程序清晰明了,方便編寫和修改,我們通過本項目8個彩燈反復(fù)亮滅的例程來說明一下應(yīng)用程序的基本結(jié)構(gòu)。#include<reg51.h>//預(yù)處理命令,定義8051寄存器的頭文件voiddelay(int);//聲明延時子函數(shù)main() //主函數(shù){…while(1)//while循環(huán){…delay(500);//在主函數(shù)中調(diào)用延時子程序}}voiddelay(intx)//延時子程序{ inti,j;//聲明整型變量i,j…}(1)一個C語言源程序可以由一個或多個源文件組成。每個源文件可以由一個或多個函數(shù)組成。(2)一個源程序不論由多少個文件組成,都有一個且只有一個main()函數(shù)即主函數(shù)。在對程序進(jìn)行編譯時,編譯程序會找到main()函數(shù)作為程序的入口來編譯程序。(3)源程序中可以有預(yù)處理命令("#include"命令只是其中的一種),預(yù)處理命令通常放在源文件或源程序的最開始頭。(4)每個聲明以及每一個語句都必須用分號結(jié)尾。但預(yù)處理命令,函數(shù)頭和大括號"{}"后不可以有分號。標(biāo)示符、關(guān)鍵字之間必須至少加一個空格來間隔。C程序的結(jié)構(gòu)相對比較靈活,在學(xué)習(xí)的過程中會詳細(xì)了解到它的構(gòu)成。三、程序流程圖繪制對于較簡單的程序,經(jīng)過構(gòu)思后,可以直接編寫源程序,而對于較復(fù)雜的程序設(shè)計,往往不能直接完成源程序的編寫,為了能把復(fù)雜的工作條理化、直觀化,通常在編寫程序之前先設(shè)計流程圖。所謂流程圖,就是用矩形框、菱形框和半圓弧形框來表示求解某一特定問題或?qū)崿F(xiàn)某一特定功能的步驟或過程。這些矩形、菱形、半圓弧開框通常用箭頭線連接起來,以表示實現(xiàn)這些步驟或過程的順序,這樣的圖形稱為流程圖。有了流程圖以后,就可以按流程圖中提供的步驟或過程選擇合適的指令,一步一步地編寫程序。例如軟件延時子程序流程圖如圖2-17所示。圖2-17延時子程序流程圖老師直接在黑板上繪制。老師和同學(xué)共同完成電路原理圖設(shè)計由同學(xué)選擇,老師指導(dǎo)。在老師引導(dǎo)下與同學(xué)一起完成應(yīng)用程序設(shè)計。對于流水燈效果程序主要由學(xué)生來完成設(shè)計。時間允許時,可由同學(xué)設(shè)計其它廣告變化程序。可用多媒體展示圖2-17,時間允許可畫在黑板上。課堂小結(jié)1、發(fā)光管亮滅控制方法。2、廣告燈電路整體構(gòu)成。3、應(yīng)用程序的一般結(jié)構(gòu)。4、廣告燈電路應(yīng)用程序設(shè)計。5、程序流程圖繪制。課后作業(yè)自我測評5題、6題。任務(wù)3廣告燈電路的計算機(jī)仿真一、案頭任務(wù)廣告燈電路的計算機(jī)仿真授課時間年月日授課班級教學(xué)形式老師演示、學(xué)生練習(xí)授課時數(shù)2課時教學(xué)用具教學(xué)資源機(jī)房、多媒體、相關(guān)課件課前準(zhǔn)備教學(xué)目標(biāo)1、廣告燈電路的計算機(jī)仿真驗證。2、提高仿真軟件proteus的使用熟練程度。3、提高匯編軟件keil的使用熟練程度。4、熟練相關(guān)指令的使用及廣告燈電路應(yīng)用程序。教學(xué)重點1、提高工具軟件的使用熟練程度。2、廣告燈電路設(shè)計的計算機(jī)仿真驗證。教學(xué)難點1、對仿真驗證步驟的深入理解。2、仿真電路運(yùn)行出錯時的修改調(diào)試。教學(xué)過程1、proteus仿真電路繪制步驟。2、用keil進(jìn)行程序編譯步驟。3、課件演示廣告燈電路運(yùn)行效果。4、布置練習(xí)作業(yè),學(xué)生進(jìn)行練習(xí)并驗證電路效果,老師進(jìn)行指導(dǎo)。教學(xué)后記二、教學(xué)實施過程實施環(huán)節(jié)教學(xué)內(nèi)容導(dǎo)學(xué)方法組織教學(xué)1、檢查學(xué)生出勤情況并做好記錄。2、調(diào)整學(xué)生的注意力,為上課作準(zhǔn)備。互動交流復(fù)習(xí)提問1、proteus基本操作有哪幾步?2、用keil進(jìn)行程序匯編有哪幾步?提問導(dǎo)思導(dǎo)入展示在上次課完成的廣告燈電路原理圖。接下來我們就要用計算機(jī)仿真驗證電路設(shè)計的正確性和運(yùn)行效果。啟發(fā)學(xué)習(xí)積極性講授新課一、使用proteus繪制仿真電路圖的步驟1、將所需元器件加入到對象選擇器窗口廣告燈電路硬件如圖2-4所示。AT89S51用AT89C51代替,紅色發(fā)光二極管、黃色發(fā)光二極管、綠色發(fā)光二極管的英文符號分別是“LED-RED”、“LED-YELLOW”、“LED-GREEN”;電阻、電容、電解電容、按鍵、晶振的英文符號分別是“RES”、“CAP”“CAP-ELEC”、“BUTTON”、“CRYSTAL”。圖2-4廣告燈電路原理圖2、放置元器件至圖形編輯窗口3、移動、刪除對象和調(diào)整對象朝向4、放置電源及接地符號5、元器件之間的連線6、編輯對象的屬性設(shè)置元件參數(shù)二、使用keil進(jìn)行程序匯編的步驟1、源文件的建立點擊菜單“File--New…”或者點擊工具欄的新建文件按鈕,即可在項目窗口的右側(cè)打開一個新的文本編輯窗口,在該窗口中輸入C語言源程序。輸入完源程序后,保存該文件,注意必須加上擴(kuò)展名asm2、建立工程文件點擊“Project--NewProject…”菜單,出現(xiàn)一個對話框,要求給將要建立的工程起一個名字,---。3、工程的設(shè)置(針對我們的單片機(jī)制作項目進(jìn)行簡單設(shè)置)工程建立好以后,首先右擊左邊Project窗口的Target1,彈出下拉菜單,點擊Optionfortarget‘target1’即出現(xiàn)對工程設(shè)置的對話框。設(shè)置對話框中的OutPut頁面,這里面也有多個選擇項,其中CreatHexfile用于生成可執(zhí)行代碼文件(可以用編程器寫入單片機(jī)芯片的目標(biāo)文件,文件的擴(kuò)展名為.hex),默認(rèn)情況下該項未被選中,如果要寫片做硬件實驗,就必須選中該項,這一點是初學(xué)者易疏忽的,在此特別提醒注意。4、編譯、連接在設(shè)置好工程后,即可進(jìn)行編譯、連接。點擊Buildtarget按鈕,對當(dāng)前工程進(jìn)行連接,如果當(dāng)前文件已修改,軟件會先對該文件進(jìn)行編譯,然后再連接以產(chǎn)生目標(biāo)代碼。編譯過程中的信息將出現(xiàn)在輸出窗口中的Build頁中,如果源程序中有語法錯誤,會有錯誤報告出現(xiàn)。三、布置作業(yè)學(xué)生練習(xí),老師指導(dǎo)。1、單片機(jī)控制廣告燈電路的仿真驗證。2、觀察現(xiàn)實中廣告燈的變化情況,通過改寫程序,完成不同的燈光效果。比一比,看誰制作的變化效果又多又好。3、本項目中采用低電平驅(qū)動,是否能采用高電平驅(qū)動,試一試,想想為什么?利用多媒體或機(jī)房相關(guān)軟件進(jìn)行操

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論