工作項目:遙控指示器_第1頁
工作項目:遙控指示器_第2頁
工作項目:遙控指示器_第3頁
工作項目:遙控指示器_第4頁
工作項目:遙控指示器_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、工作項目一:遙控指示器學(xué)生任務(wù)書課程名稱: 單片機(jī) 學(xué)習(xí)任務(wù): 遙控指示器的制作與編程 主講教師: 學(xué)生姓名: 班級名稱: 2013-2014學(xué)年上學(xué)期2013-2014學(xué)年上學(xué)期目 錄任務(wù)一 單片機(jī)的硬件系統(tǒng)與開發(fā)環(huán)境3學(xué)習(xí)知識點(diǎn)1:單片機(jī)的硬件系統(tǒng)4學(xué)習(xí)知識點(diǎn)2:單片機(jī)的開發(fā)系統(tǒng)10學(xué)習(xí)知識點(diǎn)3:單片機(jī)燒錄13學(xué)習(xí)知識點(diǎn)4:開發(fā)軟件Keil C16任務(wù)二 指示燈的程序22任務(wù)三 多花樣廣告燈28任務(wù)四 搶答器35任務(wù)五 遙控指示器38任務(wù)一 單片機(jī)的硬件系統(tǒng)與開發(fā)環(huán)境Ø 學(xué)習(xí)目標(biāo)通過本工作任務(wù)的學(xué)習(xí),學(xué)生能夠:1 掌握單片機(jī)的概念,了解單片機(jī)的種類、用途;2 掌握單片機(jī)中使用的二

2、進(jìn)制;3 掌握單片機(jī)最小系統(tǒng);4 掌握單片機(jī)常用開發(fā)工具;5 掌握單片機(jī)開發(fā)系統(tǒng);6 掌握仿真器、編程器和下載線;7 會使用單片機(jī)開發(fā)軟件Keil C。Ø 建議學(xué)時: 32課時學(xué)習(xí)知識點(diǎn)1:單片機(jī)的硬件系統(tǒng)§ CPU:由運(yùn)算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器;§ RAM:用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù);§ ROM:用以存放程序、一些原始數(shù)據(jù)和表格;§ I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出;§ T/C:兩個定時/記數(shù)器,既可以工作在定時模式,也可以工作在記

3、數(shù)模式;P1P2S1振蕩周期時鐘周期機(jī)器周期機(jī)器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2位尋址區(qū)的位地址映象表特殊功能寄存器(SFR)地址映象表注:帶括號的字節(jié)地址表示每位有位地址可位操作。8051單片機(jī)共有21個特殊功能寄存器SFR,可位尋址的SFR有11個。字節(jié)地址能被8整除的SFR可位尋址,此時SFR的字節(jié)地址是位地址的起始地址。Ø 請回答以下引導(dǎo)問題:引導(dǎo)問題1:人體的司令部是什么?又是誰保障著這個司令部的正常運(yùn)行?單片機(jī)最小系統(tǒng)中,司令部是什么?又是誰

4、保障其正常運(yùn)行?引導(dǎo)問題2:請查閱資料后回答:單片機(jī)是一個很“笨”的器件,它只能看懂(輸入)和回應(yīng)(輸出)兩種電平:_高_(dá)電平和_低_電平。不過,單片機(jī)卻是一個很“勤奮”的器件,其每秒可以工作_次。引導(dǎo)問題3:由于單片機(jī)很“笨”,只能認(rèn)識高/低兩種電平,所以,我們使用一種適合單片機(jī)的數(shù)制來控制它二進(jìn)制。二進(jìn)制包含兩種數(shù)字,“1”(代表高電平)和“0”(低電平)。請和同學(xué)討論,并補(bǔ)全下表:提示:十進(jìn)制是“逢十進(jìn)一”,顧名思義,二進(jìn)制則是“_”。十進(jìn)制二進(jìn)制十進(jìn)制二進(jìn)制00811921010311412513614715引導(dǎo)問題4:二進(jìn)制既簡單又直接,單片機(jī)很容易就懂了。但是,二進(jìn)制對人來說確實(shí)是

5、困難請看看在5秒鐘內(nèi)回答,下面的一串二進(jìn)制數(shù)中有所少個“1”?1010110001110100101011111000001101010111000111001000111010001101010100011二進(jìn)制的缺點(diǎn)是:單調(diào),書寫時容易出錯。于是,人們發(fā)明了一個技能讓單片機(jī)看懂,人使用起來又不易犯錯的數(shù)制十六進(jìn)制。請聽老師的講解,并填寫下表。十進(jìn)制二進(jìn)制十六進(jìn)制十進(jìn)制二進(jìn)制十六進(jìn)制00811921010311412513614715學(xué)習(xí)知識點(diǎn)2:單片機(jī)的開發(fā)系統(tǒng)C語言 標(biāo)準(zhǔn)的關(guān)鍵字序號關(guān)鍵字用 途說 明1auto存儲種類聲明用以聲明局部變量,缺省值為此2break程序語句退出最內(nèi)層循環(huán)體3

6、case程序語句switch語句中的選擇項4char數(shù)據(jù)類型聲明單字節(jié)整型數(shù)或字符型數(shù)據(jù)5const存儲類型聲明在程序執(zhí)行過程中不可修改的變量值6continue程序語句轉(zhuǎn)向下一次循環(huán)7defaut程序語句switch語句中的失敗選擇項8do程序語句構(gòu)成dowhile循環(huán)結(jié)構(gòu)9double數(shù)據(jù)類型聲明雙精度浮點(diǎn)數(shù)10else程序語句構(gòu)成ifelse選擇結(jié)構(gòu)11enum數(shù)據(jù)類型聲明枚舉12extern存儲種類聲明在其它程序模塊中聲明了的全局變量13float數(shù)據(jù)類型聲明單精度浮點(diǎn)數(shù)14for程序語句構(gòu)成for循環(huán)結(jié)構(gòu)15goto程序語句構(gòu)成goto轉(zhuǎn)移結(jié)構(gòu)16if程序語句構(gòu)成ifelse選擇結(jié)構(gòu)

7、17int數(shù)據(jù)類型聲明基本整型數(shù)18long數(shù)據(jù)類型聲明長整型數(shù)19register存儲種類聲明使用CPU內(nèi)部寄存器的變量20return程序語句函數(shù)返回21short數(shù)據(jù)類型聲明短整型數(shù)22signed數(shù)據(jù)類型聲明有符號數(shù),二進(jìn)制數(shù)據(jù)的最高位為符號位23sizeof運(yùn)算符計算表達(dá)式或數(shù)據(jù)類型的字節(jié)數(shù)24static存儲種類聲明靜態(tài)變量25struct數(shù)據(jù)類型聲明結(jié)構(gòu)類型數(shù)據(jù)26switch程序語句構(gòu)成switch選擇結(jié)構(gòu)27typedef數(shù)據(jù)類型聲明重新進(jìn)行數(shù)據(jù)類型定義28union數(shù)據(jù)類型聲明聯(lián)合類型數(shù)據(jù)29unsigned數(shù)據(jù)類型聲明無符號數(shù)據(jù)30void數(shù)據(jù)類型聲明無類型數(shù)據(jù)31vol

8、atile數(shù)據(jù)類型聲明說明該變量在程序執(zhí)行中可被隱含地改變32while程序語句構(gòu)成while和dowhile循環(huán)結(jié)構(gòu)C51編譯器的擴(kuò)展關(guān)鍵字序號關(guān)鍵字用 途說 明1_at_地址定位為變量進(jìn)行存儲器絕對空間地址定位2alien函數(shù)特性聲明用以聲明與PL/M51兼容的函數(shù)3bdata存儲器類型聲明可位尋址的8051內(nèi)部數(shù)據(jù)存儲器4bit位標(biāo)量聲明聲明一個位標(biāo)量或位類型的函數(shù)5code存儲器類型聲明8051程序存儲器空間6compact存儲器模式指定使用8051外部分頁尋址數(shù)據(jù)存儲器空間7data存儲器類型說明直接尋址的8051內(nèi)部數(shù)據(jù)存儲器8idata存儲器類型聲明間接尋址的8051內(nèi)部數(shù)據(jù)存儲

9、器9interrupt中斷函數(shù)聲明定義一個中斷服務(wù)函數(shù)10large存儲器模式指定使用8051外部數(shù)據(jù)存儲器空間11pdata存儲器類型聲明“分頁”尋址的8051內(nèi)部數(shù)據(jù)存儲器12_priority_多任務(wù)優(yōu)先聲明規(guī)定RTX51或RTX51 Tiny的任務(wù)優(yōu)先級13reentrant再入函數(shù)聲明定義一個再入函數(shù)14sbit位變量聲明聲明一個可位尋址變量15sfr特殊功能寄存器聲明聲明一個8位的特殊功能寄存器16Sfr16特殊功能寄存器聲明聲明一個16位的特殊功能寄存器17small存儲器模式指定使用8051內(nèi)部數(shù)據(jù)存儲器空間18_task_任務(wù)聲明定義實(shí)時多任務(wù)函數(shù)19using寄存器組定義定

10、義8051的工作寄存器組20xdata存儲器類型聲明8051外部數(shù)據(jù)存儲器C51支持的數(shù)據(jù)類型表第 48頁/ 共 48頁學(xué)習(xí)知識點(diǎn)3:單片機(jī)燒錄一:STC單片機(jī)下載程序過程詳細(xì)圖解:步驟一: 將控制板接通電源;步驟二: 用串口線將控制板串口與計算機(jī)串口相連;步驟三:從我公司網(wǎng)站首頁下載STC單片機(jī)下載軟件:(或者點(diǎn)擊下載此處:STC ISP下載軟件 )下載后,找到并雙擊 圖標(biāo),打開STC單片機(jī)下載軟件;  步驟四:單擊下拉菜單,選擇待燒寫的芯片型號: 步驟五:單擊Open File按鈕選擇要下載的文件:步驟六:選擇下載端口和下載速度:步驟七:選擇下載后芯片選項:&

11、#160;步驟八:先  點(diǎn)擊Download/下載,然后  按下載板上的 “POWER ON”按鈕:  步驟九:斷開控制板總電源,使芯片徹底失電; 步驟十:接通控制板總電源,使芯片重新上電,軟件繼續(xù)下載,并提示下載完成 學(xué)習(xí)知識點(diǎn)4:開發(fā)軟件Keil C KEIL軟件概述:單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)?CPU 可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工 匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼, Keil 軟件是目前最流行開發(fā) M

12、CS-51 系列單片 機(jī)的軟件。掌握這一軟件的使用對于使用 51 系列單片機(jī)的愛好者來說是十分必要的,不管你使用C語言還是匯編語言,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具都會令你事半功倍。接下來,我們將通過一些實(shí)例來學(xué)習(xí) Keil 軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序, 建立工程、對工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。一、Keil 工程的建立    首先啟動 Keil 軟件的集成開發(fā)環(huán)境,這里假設(shè)讀者已正確安裝了該軟件,可以從桌面上直接雙擊 uVision 的圖標(biāo)以啟動該軟件。UVison 啟動后,程序窗口的左邊有一個工程管理窗口,該

13、窗口有 3 個標(biāo)簽,分別是Files、Regs、和 Books,這三個標(biāo)簽頁分別顯示當(dāng)前項目的文件結(jié)構(gòu)、CPU 的寄存器及部份特殊 功能寄存器的值(調(diào)試時才出現(xiàn))和所選 CPU 的附加說明文件,如果是第一次啟動 Keil, 那么這三個標(biāo)簽頁全是空的。   1、建立工程文件    在項目開發(fā)中,并不是僅有一個源程序就行了,還要為這個項目選擇 CPU,為管理和使用方便,Keil 使用工程(Project) 這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個工程中,只能對工程而不能對單一的源程序進(jìn)行編譯(匯編)和連接等操作,下面我們就一步一步地來建立工程。圖

14、1 選擇目標(biāo) CPU點(diǎn)擊“Project->New Project ”菜單,出現(xiàn)一個對話框,要求給將要建立的工程起一個 名字,你可以在編緝框中輸入一個名字 (設(shè)為 exam1),不需要擴(kuò)展名。點(diǎn)擊“保 存”按鈕,出現(xiàn)第二個對話框,如圖 1所示,這個對話框要求選擇目標(biāo) CPU(即 你所用芯片的型號),Keil 支持的 CPU 很多,我們選擇 Atmel 公司的 89C51 芯 片。點(diǎn)擊 ATMEL 前面的“+”號,展開該層,點(diǎn)擊其中的 89C51,然后再點(diǎn)擊“確定”按鈕,回到主界面,此時,在 工程窗口的文件頁中,出現(xiàn)了“Target1”,前面有“+”號,點(diǎn)擊“+”號展開,可以看到下一層的“

15、 Source Group1”。 2、源文件的建立使用菜單“File->New ”或者點(diǎn)擊工具欄的新建文件按 鈕,即可在項目窗口的右側(cè)打開一個新的文本編緝窗口, 在該窗口中輸入以下匯編語言源程序, ORG 0000H MOV P1,#01H END保存該文件,注意必須加上擴(kuò)展名(匯編語言源程序一般用 asm 或 a51 為擴(kuò)展名),這里假定將文件保存為 exam1.asm。    需要說明的是,源文件就是一般的文本文件,不一定使用 Keil 軟件編寫,可以使用任意 文本編緝器編寫,而且,Keil 的編緝器對漢字的支持不好,建議使用 UltraEdit 之類的

16、編緝 軟件進(jìn)行源程序的輸入。 3、將源文件添加到工程中這時的工程還是一個空的工程,里面什么文件也沒有,需要手動把剛才編寫好的源程序加入,點(diǎn)擊“Source Group1”使 其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)一個下 拉菜單,如圖 2 所示。選中其中的“Add file to Group”Source Group1”,出現(xiàn)一個對話框,要求 尋找源文件,注意,該對話框下面的“文件類型” 默認(rèn)為 C source file(*.c),也就是以 C 為擴(kuò)展名 的文件,而我們的文件是以 asm 為擴(kuò)展名的, 所以在列表框中找不到 exam1.asm,要將文件類 型改掉,點(diǎn)擊對話框中“文件類型”后的下拉

17、列 表,找到并選中“Asm Source File(*.a51,*.asm), 這樣,在列表框中就可以找到 exam1.asm 文件了。    雙擊 exam1.asm 文件,將文件加入項目,注意,在文件加入項目后,該對話框并不消失,等待繼續(xù)加入其它文件,但初學(xué)時常 會誤認(rèn)為操作沒有成功而再次雙擊同一文件,這時會出現(xiàn)如圖3所示的對話框,提示你所選文件已在列表中,此時應(yīng)點(diǎn)擊“確定”,返回前一對話框,然后點(diǎn)擊“Close” 即可返回主界面,返回后,點(diǎn)擊“Source Group 1”前的加號,會發(fā)現(xiàn) exam1.asm 文 件已在其中。雙擊文件名,即打開該源程序。圖

18、2 加入文件圖 3 重復(fù)加入文件的錯誤二、工程的詳細(xì)設(shè)置工程建立好以后,還要對工程進(jìn)行進(jìn)一步的設(shè)置,以滿足要求。首先點(diǎn)擊左邊 Project 窗口的 Target 1,然后使用菜單“Project->Option for target target1” 即出現(xiàn)對工程設(shè)置的對話框,這個對話框可謂非常復(fù)雜,共有 8 個頁面,要全部搞清可不容 易,好在絕大部份設(shè)置項取默認(rèn)值就行了。圖 4 對目標(biāo)進(jìn)行設(shè)置     設(shè)置對話框中的 Target 頁面,如圖 4 所示,Xtal 后面的數(shù)值是晶振頻 率值,默認(rèn)值是所選目標(biāo) CPU 的最高可用頻率值,對于我們所選的 AT8

19、9C51 而言24M,該數(shù)值與最終產(chǎn)生的目標(biāo)代碼無關(guān),僅用于軟件模擬調(diào)試時顯示程序執(zhí)行時間。正確設(shè)置該數(shù)值可使顯示時間與實(shí)際所用時間一致,一般將其設(shè)置成與你的硬件所用晶振頻率相同,如果沒必要了解程序執(zhí)行的時間,也可以不設(shè),這里設(shè)置為 12。其他參數(shù)不重新選擇,按默認(rèn)值設(shè)置。    設(shè)置對話框中的 OutPut 頁面,如圖 5 所示,這里面也有多個選擇項,其中 Creat Hex file 用于生成可執(zhí)行代碼文件(可以用編程器寫入單片機(jī)芯片的 HEX 格式文件,文件的擴(kuò)展名 為.HEX),默認(rèn)情況下該項未被選中,如果要寫片做硬件實(shí)驗(yàn),就必須選中該項,這一點(diǎn)是初學(xué)者易

20、疏忽的,在此特別提醒注意。選中 Debug information 將會產(chǎn)生調(diào)試信息,這些信息用于調(diào)試,如果需要對程序進(jìn)行調(diào)試,應(yīng)當(dāng)選中該項。Browse information 是產(chǎn)生瀏覽信息,該信息可以用菜單 view->Browse 來查看,這里取默認(rèn)值。按鈕 Select Folder for objects ”是用來選擇最終的目標(biāo)文件所在的文件夾,默認(rèn)是與工程文件在同一 個文件夾中。Name of Executable 用于指定最終生成的目標(biāo)文件的名字,默認(rèn)與工程的名字相同,這兩項一般不需要更改。    工程設(shè)置對話框中的其它各頁面與 C51 編譯

21、選項、A51 的匯編選 項、BL51 連接器的連接選項等用法有關(guān),這里均取默認(rèn)值,不作任何修改。以下僅對一些有關(guān)頁面中常用的選項作一個簡單介紹。圖 5 對輸出進(jìn)行控制在設(shè)置好工程后,即可進(jìn)行編譯、連接。選擇菜單 Project->Build target,對當(dāng)前工程進(jìn)行連接,如果當(dāng)前文件已修改,軟件會先對該文件進(jìn)行編譯,然后再連接以產(chǎn)生目標(biāo)代碼;也可以通過工具欄按鈕直接進(jìn)行。    編譯過程中的信息將出現(xiàn)在輸出窗口中的 Build 頁中,如果源程序中有語法錯誤,會有錯誤報告出現(xiàn),雙擊該行,可以定位到出錯的位置,對源程序反復(fù)修改之后, 最終會得到如圖 6 所示

22、的結(jié)果,提示獲得了名為 exam1.hex 的文件,該文件即可被編程器讀入并寫到芯片中,同時還產(chǎn)生了一些其它相關(guān)的文件,可被用于 Keil 的仿真與調(diào)試,這時 可以進(jìn)入下一步調(diào)試的工作。圖6 結(jié)果一、總結(jié)出keil軟件使用的步驟 。二、使用KEIL軟件編譯一個程序,學(xué)會程序的存儲、調(diào)試等功能。 。三、在調(diào)試過程中遇到的問題以及解決辦法1、 。2、 。3、 。4、 。5、 。 一、展示各小組派代表上臺展示解說任務(wù)的實(shí)施過程和遇到的困難和解決的辦法。二、自我評價1、你們能否熟練使用KEIL軟件? 能 不能 2、你覺得自己在小組中發(fā)揮的作用是 主導(dǎo)作用 配合作用 旁觀者作用3、你對自己和小組的表現(xiàn)滿

23、意嗎? 很滿意 滿意 還行 不滿意 三、小組評價1、小組分工是否合理?有否出現(xiàn)糾紛?配合是否良好? 評價: 2、總結(jié)這次任務(wù)是否達(dá)到學(xué)習(xí)目標(biāo)? 評價: 3、有哪些地方需要在今后的學(xué)習(xí)任務(wù)中改良 ? 評價: 小組成員簽名: 四、教師評價教師總體評價: 教師簽名: 日期: 年 月 日任務(wù)二 指示燈的程序Ø 學(xué)習(xí)目標(biāo)通過本工作任務(wù)的學(xué)習(xí),學(xué)生能夠:1 掌握單片機(jī)的概念,了解單片機(jī)的種類、用途;2 掌握單片機(jī)中使用的二進(jìn)制;3 掌握單片機(jī)最小系統(tǒng);4 掌握單片機(jī)常用開發(fā)工具;5 掌握單片機(jī)開發(fā)系統(tǒng);6 掌握仿真器、編程器和下載線;7 會使用單片機(jī)開發(fā)軟件Keil C。Ø 建議學(xué)時:

24、 32課時1.學(xué)習(xí)任務(wù)如圖4.1.1所示:在P1.0端口上接一個發(fā)光二極管L1,使L1在不停地一亮一滅,一亮一滅的時間間隔為0.2秒。2.電路原理圖圖4.1.13.系統(tǒng)板上硬件連線把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1端口上。4.程序設(shè)計內(nèi)容(1) 延時程序的設(shè)計方法作為單片機(jī)的指令的執(zhí)行的時間是很短,數(shù)量大微秒級,因此,我們要求的閃爍時間間隔為0.2秒,相對于微秒來說,相差太大,所以我們在執(zhí)行某一指令時,插入延時程序,來達(dá)到我們的要求,但這樣的延時程序是如何設(shè)計呢?下面具體介紹其原理:498*20+2*20+2=10002如圖4.1.1所示的石

25、英晶體為12MHz,因此,1個機(jī)器周期為1微秒(2) 輸出控制如圖1所示,當(dāng)P1.0端口輸出高電平,即P1.01時,根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍@時發(fā)光二極管L1熄滅;當(dāng)P1.0端口輸出低電平,即P1.00時,發(fā)光二極管L1亮;我們可以使用SETBP1.0指令使P1.0端口輸出高電平,使用CLRP1.0指令使P1.0端口輸出低電平。5.程序框圖 圖4.1.26.C語言源程序#include <AT89X51.H>sbit L1=P10;void delay02s(void)/延時0.2秒子程序 unsigned char i,j,k; for(i=20;i>0;i-) f

26、or(j=20;j>0;j-) for(k=248;k>0;k-);void main(void) while(1) L1=0; delay02s(); L1=1; delay02s(); 7.主程序與子程序的結(jié)構(gòu)圖:8.延時程序的編寫void delay(uint xms)/延時函數(shù)名,xms接收主調(diào)函數(shù)送來的數(shù)據(jù)12MHz uchar i; /定義無符號字符型變量i,單字節(jié)數(shù)據(jù),值域0255while (xms-); /循環(huán)xms次函數(shù)體for (i=0;i<125;i+);/循環(huán)125次空指令(循環(huán)一次8us X 125 =1ms) 一、調(diào)用子程序的指令是什么?有什么區(qū)

27、別? 二、子程序返回指令是什么?它有什么作用? 三、返回主程序以后,主程序從什么地方開始繼續(xù)執(zhí)行?為什么? 四、制定閃爍燈系統(tǒng)設(shè)計的計劃1、 。2、 。3、 。4、 。五、在調(diào)試過程中遇到的問題以及解決辦法1、 。2、 。3、 。4、 。5、 。6、 。 一、展示各小組派代表上臺展示解說任務(wù)的實(shí)施過程和成果。二、自我評價1、你們能否用設(shè)計出閃爍燈系統(tǒng)? 能 不能 2、你覺得自己在小組中發(fā)揮的作用是 主導(dǎo)作用 配合作用 旁觀者作用3、你對自己和小組的表現(xiàn)滿意嗎? 很滿意 滿意 還行 不滿意 三、小組評價1、小組分工是否合理?有否出現(xiàn)糾紛?配合是否良好? 評價: 2、總結(jié)這次任務(wù)是否達(dá)到學(xué)習(xí)目標(biāo)?

28、 評價: 3、有哪些地方需要在今后的學(xué)習(xí)任務(wù)中改良 ? 評價: 小組成員簽名: 四、教師評價教師總體評價: 教師簽名: 日期: 年 月 日 任務(wù)三 多花樣廣告燈1.學(xué)習(xí)任務(wù)做單一燈的左移右移,硬件電路如圖7所示,八個發(fā)光二極管L1L8分別接在單片機(jī)的P1.0P1.7接口上,輸出“0”時,發(fā)光二極管亮,開始時P1.0P1.1P1.2P1.3P1.7P1.6P1.0亮,重復(fù)循環(huán)。2.電路原理圖圖73.系統(tǒng)板上硬件連線把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0P1.7用8芯排線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1L8端口上,要求:P1.0對應(yīng)著L1,P1.1對應(yīng)著L2,P1.7對應(yīng)著L8。4.程序設(shè)計

29、內(nèi)容我們可以運(yùn)用輸出端口指令MOVP1,A或MOVP1,DATA,只要給累加器值或常數(shù)值,然后執(zhí)行上述的指令,即可達(dá)到輸出控制的動作。每次送出的數(shù)據(jù)是不同,具體的數(shù)據(jù)如下表1所示P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0說明L8L7L6L5L4L3L2L111111110L1亮11111101L2亮11111011L3亮11110111L4亮11101111L5亮11011111L6亮10111111L7亮01111111L8亮表15.程序框圖圖86.C語言源程序#include <AT89X51.H>unsigned char i;unsigned char

30、 temp;unsigned char a,b;void delay(void) unsigned char m,n,s; for(m=20;m>0;m-) for(n=20;n>0;n-) for(s=248;s>0;s-);void main(void) while(1) temp=0xfe; P1=temp; delay(); for(i=1;i<8;i+) a=temp<<i; b=temp>>(8-i); P1=a|b; delay(); for(i=1;i<8;i+) a=temp>>i; b=temp<<

31、;(8-i); P1=a|b; delay(); 7.程序流程圖的設(shè)計1)簡介程序流程圖是程序分析中最基本、最重要的分析技術(shù),它是進(jìn)行流程程序分析過程中最基本的工具。 2)作用程序流程圖是人們對解決問題的方法、思路或算法的一種描述。 1.流程圖的優(yōu)點(diǎn): (a)采用簡單規(guī)范的符號,畫法簡單; (b)結(jié)構(gòu)清晰,邏輯性強(qiáng); (c)便于描述,容易理解。 2.流程圖采用的符號一、位指令是針對什么存儲單元進(jìn)行操作的,可以對工作寄存器進(jìn)行移位操作嗎?為什么? 。二、判跳指令中JNB和JB的區(qū)別是什么? 。三、簡單的畫一個八盞LED燈從右到左依次亮1S的程序流程圖四、制定該系統(tǒng)設(shè)計的計劃1、 。2、 。3、

32、。4、 。5、 。五、畫出該系統(tǒng)的程序流程圖六、在調(diào)試過程中遇到的問題以及解決辦法1、 。2、 。3、 。4、 。5、 。 一、展示各小組派代表上臺展示解說任務(wù)的實(shí)施過程和成果。二、自我評價1、你們能否用設(shè)計出廣告燈系統(tǒng)? 能 不能 2、你覺得自己在小組中發(fā)揮的作用是 主導(dǎo)作用 配合作用 旁觀者作用3、你對自己和小組的表現(xiàn)滿意嗎? 很滿意 滿意 還行 不滿意 三、小組評價1、小組分工是否合理?有否出現(xiàn)糾紛?配合是否良好? 評價: 2、總結(jié)這次任務(wù)是否達(dá)到學(xué)習(xí)目標(biāo)? 評價: 3、有哪些地方需要在今后的學(xué)習(xí)任務(wù)中改良 ? 評價: 小組成員簽名: 四、教師評價教師總體評價: 教師簽名: 日期: 年

33、月 日 任務(wù)四 搶答器1 學(xué)習(xí)任務(wù)如圖9所示,STC12C2052單片機(jī)的P1.0P1.3接四個發(fā)光二極管LED1LED4,P3.2P3.5接了四個開關(guān)KEY1KEY4,KEY5為開始鍵,LED10為開始指示燈,編程將開關(guān)的狀態(tài)反映到發(fā)光二極管上。(開關(guān)閉合,對應(yīng)的燈亮,開關(guān)斷開,對應(yīng)的燈滅)。2 電路原理圖圖93 程序設(shè)計內(nèi)容(1 開關(guān)狀態(tài)檢測對于開關(guān)狀態(tài)檢測,相對單片機(jī)來說,是輸入關(guān)系,我們可輪流檢測每個開關(guān)狀態(tài),根據(jù)每個開關(guān)的狀態(tài)讓相應(yīng)的發(fā)光二極管指示,可以采用if判斷指令來完成;也可以一次性檢測四路開關(guān)狀態(tài),然后讓其指示,可以采用賦值指令一次把P1端口的狀態(tài)全部讀入,然后取高4位的狀態(tài)

34、來指示。(2 輸出控制根據(jù)開關(guān)的狀態(tài),由發(fā)光二極管LED1LED4來指示,我們可以單個IO口進(jìn)行賦值來完成,也可以對整個P1口賦值來完成。4 程序框圖開始讀P1口數(shù)據(jù)到ACC中ACC內(nèi)容右移4次ACC內(nèi)容與F0H相或ACC內(nèi)容送入P1口圖105 方法一(C語言源程序)#include <AT89X51.H>unsigned char temp;void main(void) while(1) temp=P1>>4; temp=temp | 0xf0; P1=temp; 6 方法二(C語言源程序)#include <AT89X51.H>void main(vo

35、id) while(1) if(P1_4=0) P1_0=0; else P1_0=1; if(P1_5=0) P1_1=0; else P1_1=1; if(P1_6=0) P1_2=0; else P1_2=1; if(P1_7=0) P1_3=0; else P1_3=1; 任務(wù)五 遙控指示器1.學(xué)習(xí)任務(wù)如圖所示,AT89S51單片機(jī)的P1.0P1.7接八個發(fā)光二極管LED1LED8,P3.2P3.7接了四個開關(guān)KEY1KEY5,編程將開關(guān)的狀態(tài)反映到發(fā)光二極管上。P3.1接了一個紅外發(fā)光管,用來控制其他有紅外接收電子產(chǎn)品。2.電路原理圖圖 113.系統(tǒng)板上硬件連線(1 把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0P1.7用導(dǎo)線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的LED1LED8端口上;(2 把“單片機(jī)系統(tǒng)”區(qū)域中的P3.2P3.7用導(dǎo)線連接到“八路撥動開關(guān)”區(qū)域中的KEY1KEY5端口上;(3 把“單片機(jī)系統(tǒng)”區(qū)域中的P3.1用導(dǎo)線連接到紅外發(fā)射二極管上的HR端口上; 4.C語言源程序#include<reg51.h>#define uchar unsigned char#define uint unsign

溫馨提示

  • 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

提交評論