嵌入式c語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書_第1頁
嵌入式c語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書_第2頁
嵌入式c語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書_第3頁
嵌入式c語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書_第4頁
嵌入式c語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)項(xiàng)目1:嵌入式開發(fā)系統(tǒng)熟悉KEIL C 開發(fā)環(huán)境使用方法實(shí)驗(yàn)?zāi)康?1、熟悉KEIL C軟件開發(fā)環(huán)境2、搭建基本的開發(fā)環(huán)境實(shí)驗(yàn)平臺(tái):Windows XP 操作系統(tǒng)、Keil c 開發(fā)軟件主要實(shí)驗(yàn)內(nèi)容:一、 上機(jī)熟悉KEIL C軟件開發(fā)環(huán)境二、 掌握搭建基本開發(fā)環(huán)境的過程,掌握比較常用的選項(xiàng)設(shè)置三、 學(xué)生自己編寫一段小的c代碼,掌握編譯過程。本實(shí)驗(yàn)知識(shí)背景:功能強(qiáng)大的單片機(jī)開發(fā)工具KEIL CKeil Software 的8051開發(fā)工具提供以下程序你可以用它們來編譯你的C源碼匯編你的匯編源程序連接和重定位你的目標(biāo)文件和庫文件創(chuàng)建HEX文件調(diào)試你的目標(biāo)程序。l Windows應(yīng)用程序uVisi

2、on2是一個(gè)集成開發(fā)環(huán)境它把項(xiàng)目管理源代碼編輯程序調(diào)試等集成到一個(gè)功能強(qiáng)大的環(huán)境中l(wèi) C51美國(guó)標(biāo)準(zhǔn)優(yōu)化C交叉編譯器從你的C源代碼產(chǎn)生可重定位的目標(biāo)文件 l A51宏匯編器從你的8051匯編源代碼產(chǎn)生可重定位的目標(biāo)文件 l BL51連接/重定位器組合你的由C51和A51產(chǎn)生的可重定位的目標(biāo)文件生成絕對(duì)目標(biāo)文件 l LIB51庫管理器組合你的目標(biāo)文件生成可以被連接器使用的庫文件 l OH51目標(biāo)文件到HEX格式的轉(zhuǎn)換器從絕對(duì)目標(biāo)文件創(chuàng)建Intel HEX 格式的文件 l RTX-51實(shí)時(shí)操作系統(tǒng)簡(jiǎn)化了復(fù)雜和對(duì)時(shí)間要求敏感的軟件項(xiàng)目 對(duì)由這些工具組成的開發(fā)套件進(jìn)行描述它們是為專業(yè)開發(fā)人員而設(shè)計(jì)的,

3、但所有層次的編程人員都可以用它們來獲得8051微控制器的絕大部分應(yīng)用。實(shí)驗(yàn)步驟:1. 打開KEIL 軟件,新建工程2. 命名KEIL工程文件名,然后保存3. 彈出器件選擇窗口,選擇 Atmel 并雙擊4. 選擇AT89C51 或AT89S51 ,然后點(diǎn)擊確定5. 提示問你是否加載 標(biāo)準(zhǔn)8051 Startup 文件,點(diǎn)擊否6. 新建一個(gè)文本文件7. 輸入源程序或直接從其他的文本中復(fù)制源程序粘貼進(jìn)來。8. 保存剛才的文本文件9.注意選擇后綴.c10. 把剛才保存的 *.c添加到工程中11. 點(diǎn)擊完Add 后,這個(gè)窗口還在,再點(diǎn)擊 Close 12.設(shè)置目標(biāo)文件屬性13. 把 Create HEX

4、 File 前面的方框鉤起來14.編譯源程序15. 狀態(tài)顯示編譯結(jié)果16.點(diǎn)擊鏈接按鈕,生成16進(jìn)制文件17.狀態(tài)顯示生成16進(jìn)制文件實(shí)驗(yàn)項(xiàng)目2:嵌入式C語言程序的設(shè)計(jì)與調(diào)試實(shí)驗(yàn)?zāi)康?1、進(jìn)一步熟悉KEIL C軟件開發(fā)環(huán)境2、搭建基本的開發(fā)環(huán)境3、編寫代碼并使用KEIL C進(jìn)行調(diào)試實(shí)驗(yàn)平臺(tái):Windows XP 操作系統(tǒng)、Keil c 開發(fā)軟件主要實(shí)驗(yàn)內(nèi)容:一、 上機(jī)熟悉KEIL C軟件開發(fā)環(huán)境二、 掌握搭建基本開發(fā)環(huán)境的過程,掌握比較常用的選項(xiàng)設(shè)置三、 學(xué)生自己編寫一段小的c代碼,掌握編譯過程,進(jìn)行調(diào)試,學(xué)會(huì)觀察寄存器和管腳等調(diào)試方法。四、 結(jié)合實(shí)驗(yàn)項(xiàng)目1完成實(shí)驗(yàn)報(bào)告1份本實(shí)驗(yàn)知識(shí)背景:一、

5、 掌握實(shí)驗(yàn)項(xiàng)目1的基本技能,能夠搭建基本的開發(fā)環(huán)境。二、 了解KEIL C開發(fā)軟件的調(diào)試環(huán)境三、 為方便觀察調(diào)試現(xiàn)象,應(yīng)針對(duì)單片機(jī)的寄存器或管腳編寫代碼。實(shí)驗(yàn)步驟:1、按照實(shí)驗(yàn)項(xiàng)目1搭建基本實(shí)驗(yàn)平臺(tái),學(xué)生可輸入自己的實(shí)驗(yàn)代碼。2、輸入代碼后,處理編譯過程中的問題,保證編譯鏈接通過。3、在編譯狀態(tài)點(diǎn)擊按鈕可進(jìn)入調(diào)試狀態(tài)。4、進(jìn)入調(diào)試狀態(tài)5、,熟悉并掌握調(diào)試環(huán)境中的主要快捷按鈕6、查看P1端口狀態(tài)7、點(diǎn)擊運(yùn)行,觀察P1端口8、熟悉view按鈕9、點(diǎn)擊按鈕觀察存儲(chǔ)器,在address:處填入P1端口地址0x90可以觀察P1端口在不斷變化。10、右擊代碼中的特殊功能寄存器P1,選擇菜單中的最后一項(xiàng)將P

6、1添加到watch windows 1窗口。11、可以在watch windows 1 觀察P1 的變化。12、學(xué)生獨(dú)立操作,進(jìn)一步熟悉操作環(huán)境,并操作前面介紹的主要功能。13、結(jié)合實(shí)驗(yàn)項(xiàng)目1完成實(shí)驗(yàn)報(bào)告1份。實(shí)驗(yàn)項(xiàng)目3:硬件測(cè)試編碼設(shè)計(jì)與調(diào)試(沒有實(shí)驗(yàn)設(shè)備)實(shí)驗(yàn)?zāi)康?1、利用KEIL C軟件和51單片機(jī)實(shí)驗(yàn)開發(fā)板調(diào)試端口的led2、掌握軟件與硬件的平臺(tái)搭建3、學(xué)習(xí)下載hex代碼,并在KEIL C環(huán)境下進(jìn)行調(diào)試。4、使用proteus軟件對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行仿真。實(shí)驗(yàn)平臺(tái):Windows XP 操作系統(tǒng)、Keil c 開發(fā)軟件、proteus軟件主要實(shí)驗(yàn)內(nèi)容:一、搭建KEIL C軟件與實(shí)驗(yàn)開發(fā)板的開

7、發(fā)環(huán)境,設(shè)置好波特率、串口。二、下載代碼至目標(biāo)板,單步執(zhí)行代碼,注意觀察實(shí)驗(yàn)現(xiàn)象。三、對(duì)代碼進(jìn)行修改并調(diào)試,并進(jìn)行仿真測(cè)試。四、使用proteus軟件對(duì)結(jié)果進(jìn)行仿真實(shí)驗(yàn),觀察實(shí)驗(yàn)結(jié)果。五、編寫實(shí)驗(yàn)報(bào)告分析實(shí)驗(yàn)現(xiàn)象。本實(shí)驗(yàn)知識(shí)背景:為了彌補(bǔ)由于暫無實(shí)驗(yàn)設(shè)備無法進(jìn)行軟、硬件平臺(tái)搭建的缺陷,加入ledkey.dll和Dpj.dll兩個(gè)能夠模擬硬件的調(diào)試文件。并將程序進(jìn)行進(jìn)行proteus仿真觀察實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)步驟:1、調(diào)試文件的使用方法由于暫無51單片機(jī)硬件實(shí)驗(yàn)平臺(tái),無法進(jìn)行真正的調(diào)試開發(fā),為此加入ledkey.dll和Dpj.dll兩個(gè)能夠模擬硬件的調(diào)試文件。加入的方法是:1)、將這兩個(gè)文件拷貝到

8、keilc51bin。2)、以ledkey.dll 為例,點(diǎn)擊options for target的debug選項(xiàng)在parameter填入-dledkey。3)、調(diào)出硬件仿真面板就可以使用了。2、使用Proteus軟件仿真方法1)、打開proteus軟件,單擊菜單命令“File”->”open design”,打開對(duì)應(yīng)實(shí)驗(yàn)的.DSN文件。2)、在文件中,左鍵雙擊AT89C51單片機(jī),在彈出的對(duì)話框的“Program File”項(xiàng)中選擇在keil文件中生成的十六進(jìn)制HEX文件。3)、單擊頁面左下角按鈕開始進(jìn)入程序仿真狀態(tài),觀察仿真結(jié)果與引腳的電平變化,紅色代表高電平,藍(lán)色代表低電平。按鈕停

9、止仿真。完成實(shí)驗(yàn)程序:編寫程序,完成下列實(shí)驗(yàn)。1、設(shè)計(jì)程序,按下按鍵時(shí),P1.1控制發(fā)光二極管點(diǎn)亮,否則,P1.0控制發(fā)光二極管點(diǎn)亮。2、單片機(jī)系統(tǒng)控制要求為:(1)正常情況下,8個(gè)發(fā)光二極管點(diǎn)亮。(2)按下K1時(shí),第1個(gè)和第8個(gè)發(fā)光二極管閃爍,間隔時(shí)間為1S。(3)按下K2時(shí),8個(gè)發(fā)光二極管閃爍,間隔為2S。(4)發(fā)光二極管由單片機(jī)P0口控制。3、使用單片機(jī)P0口實(shí)現(xiàn)8個(gè)LED的流水燈控制。實(shí)驗(yàn)項(xiàng)目4:中斷系統(tǒng)程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康?1、掌握嵌入式c語言開發(fā)51單片機(jī)中斷系統(tǒng)的方法和特點(diǎn)。2、掌握軟件開發(fā)及調(diào)試平臺(tái)的搭建3、通過調(diào)試分析并學(xué)習(xí)中斷優(yōu)先級(jí)方面的知識(shí)實(shí)驗(yàn)平臺(tái):Windows XP 操作

10、系統(tǒng)、Keil c 開發(fā)軟件、proteus軟件主要實(shí)驗(yàn)內(nèi)容:一、編寫中斷及中斷優(yōu)先級(jí)代碼,搭建KEIL C軟件開發(fā)環(huán)境,并編譯鏈接通過。二、單步執(zhí)行代碼,注意觀察實(shí)驗(yàn)現(xiàn)象并進(jìn)行分析。三、使用proteus軟件對(duì)結(jié)果進(jìn)行仿真實(shí)驗(yàn),觀察實(shí)驗(yàn)結(jié)果。四、編寫實(shí)驗(yàn)報(bào)告分析實(shí)驗(yàn)現(xiàn)象。本實(shí)驗(yàn)知識(shí)背景:1、中斷的概念:CPU在處理某一事件A時(shí),發(fā)生了另一事件B請(qǐng)求CPU迅速去處理(中斷發(fā)生);CPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷 。80C51的中斷系統(tǒng)有5個(gè)中斷源(8052有 6個(gè)

11、) ,2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套 。2、80C51中斷的控制 中斷允許控制 CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位; EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時(shí)/計(jì)數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA (IE.7), CPU中斷允許(總允許)位中斷請(qǐng)求標(biāo)志1)、TCON的中斷標(biāo)志IT0(TCON.0),外部中斷0觸發(fā)方式控制位。當(dāng)IT0=0時(shí),為電平觸發(fā)方式。當(dāng)IT0=1時(shí),為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.

12、1),外部中斷0中斷請(qǐng)求標(biāo)志位。IT1(TCON.2),外部中斷1觸發(fā)方式控制位。IE1(TCON.3),外部中斷1中斷請(qǐng)求標(biāo)志位。TF0(TCON.5),定時(shí)/計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志位。TF1(TCON.7),定時(shí)/計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志位2)、SCON的中斷標(biāo)志RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置位RI。同樣,RI必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個(gè)發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時(shí),就啟動(dòng)了發(fā)送過程。每發(fā)送完一個(gè)串行幀,由硬件置位TI。CPU響應(yīng)中斷時(shí),不能自動(dòng)清除TI,TI必須由軟件清

13、除。 中斷優(yōu)先級(jí)控制 80C51單片機(jī)有兩個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的 。 PX0(IP.0),外部中斷0優(yōu)先級(jí)設(shè)定位;PT0(IP.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;PX1(IP.2),外部中斷0優(yōu)先級(jí)設(shè)定位;PT1(IP.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;PS (IP.4),串行口優(yōu)先級(jí)設(shè)定位;PT2 (IP.5) ,定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。而80C52單片機(jī)有四個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)四級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器IP和IPH中的相應(yīng)位的狀態(tài)來規(guī)定的 。v PX0(IP

14、H.0),外部中斷0優(yōu)先級(jí)設(shè)定位;v PT0(IPH.1),定時(shí)/計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位;PX1(IPH.2),外部中斷0優(yōu)先級(jí)設(shè)定位;PT1(IPH.3),定時(shí)/計(jì)數(shù)器T1優(yōu)先級(jí)設(shè)定位;PS (IPH.4),串行口優(yōu)先級(jí)設(shè)定位;PT2 (IPH.5) ,定時(shí)/計(jì)數(shù)器T2優(yōu)先級(jí)設(shè)定位。同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有中斷優(yōu)先權(quán)排隊(duì)問題。同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,其排列如所示:80C51單片機(jī)的中斷優(yōu)先級(jí)有三條原則:CPU同時(shí)接收到幾個(gè)中斷時(shí),首先響應(yīng)優(yōu)先級(jí)別最高的中斷請(qǐng)求。正在進(jìn)行的中斷過程不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷。正在進(jìn)行的低優(yōu)先級(jí)

15、中斷服務(wù),能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷。 為了實(shí)現(xiàn)上述后兩條原則,中斷系統(tǒng)內(nèi)部設(shè)有兩個(gè)用戶不能尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器。其中一個(gè)置1,表示正在響應(yīng)高優(yōu)先級(jí)的中斷,它將阻斷后來所有的中斷請(qǐng)求;另一個(gè)置1,表示正在響應(yīng)低優(yōu)先級(jí)中斷,它將阻斷后來所有的低優(yōu)先級(jí)中斷請(qǐng)求??梢匝菔緆eil下使用c語言按位設(shè)置和對(duì)整個(gè)寄存器的設(shè)置在程序中的使用。C語言的中斷函數(shù)處理,與匯編語言的區(qū)別。中斷應(yīng)用的C語言編程 C51編譯器支持在C源程序中直接開發(fā)中斷程序。中斷服務(wù)程序是通過按規(guī)定語法格式定義的一個(gè)函數(shù)。 中斷服務(wù)程序的函數(shù)定義的語法格式如下: 返回值 函數(shù)名(參數(shù)) interrupt m using n MCS

16、-51中斷源編號(hào)實(shí)驗(yàn)步驟:1、 在KEIL C環(huán)境下建立一個(gè)工程項(xiàng)目2、 編寫代碼,設(shè)置EA、TCON、IP等寄存器3、 編寫中斷函數(shù)4、 編譯并連接,處理出現(xiàn)的錯(cuò)誤保證調(diào)試通過。5、 利用實(shí)驗(yàn)項(xiàng)目1、2學(xué)到的知識(shí)調(diào)試,可以使用單步執(zhí)行和設(shè)置斷點(diǎn)等方式。6、 調(diào)試時(shí)須打開調(diào)試端口,使用鍵盤LED仿真板。7、 利用實(shí)驗(yàn)項(xiàng)目3中學(xué)到的知識(shí)同proteus軟件觀察實(shí)驗(yàn)結(jié)果。完成實(shí)驗(yàn)程序:4、使用定時(shí)/計(jì)數(shù)器作為延時(shí)控制,要求兩燈在P0.0和P0.1之間按1S互相閃爍。分析思考:1)、利用P3管腳,分別使用下降沿和電平觸發(fā)方式觀察中斷差別。2)、觀察中斷發(fā)生前后TCON的變化。實(shí)驗(yàn)項(xiàng)目5:中斷、定時(shí)器

17、小系統(tǒng)綜合設(shè)計(jì)、調(diào)試及測(cè)試實(shí)驗(yàn)?zāi)康?1、利用KEIL C軟件,編制應(yīng)用程序控制發(fā)光二極管定時(shí)閃爍2、掌握定時(shí)/計(jì)數(shù)器工作方式的控制3、分別用中斷和查詢兩種方式實(shí)現(xiàn) 實(shí)驗(yàn)平臺(tái):Windows XP 操作系統(tǒng)、Keil c 開發(fā)軟件、proteus軟件主要實(shí)驗(yàn)內(nèi)容:一、根據(jù)定時(shí)器的結(jié)構(gòu)與工作原理,選擇定時(shí)器工作方式并計(jì)算初值。二、根據(jù)要求編寫程序。三、調(diào)試代碼、編寫實(shí)驗(yàn)報(bào)告。本實(shí)驗(yàn)知識(shí)要點(diǎn):一、定時(shí) / 計(jì)數(shù)器的結(jié)構(gòu)T0、T1均為16位加1計(jì)數(shù)器。計(jì)數(shù)值高八位計(jì)數(shù)值低八位計(jì)數(shù)值高八位計(jì)數(shù)值低八位TH0 TH1 TL0 TL1 工作方式控制字 TMOD 工作方式 TCON 1、工作方式控制寄存器 T

18、MOD T1 T0TMOD GATE C/T M1 M0 GATE C/T M1 M0GATE 門控位。 GATE = 0 啟動(dòng)不受 /INT0或 /INT1的控制; GATE = 1 啟動(dòng)受 /INT0 或 /INT1 的控制。C/T 外部計(jì)數(shù)器 / 定時(shí)器方式選擇位 C/T = 0 定時(shí)方式; C /T = 1 計(jì)數(shù)方式。M1M2 工作模式選擇位。 M1 M0 模式 說明 0 0 0 13位定時(shí)/計(jì)數(shù)器高八位TH(7 0)+ 低五位TL(4 0) 0 1 1 16位定時(shí)/計(jì)數(shù)器 TH(7 0)+ TL(7 0) 1 0 2 8位計(jì)數(shù)初值自動(dòng)重裝 TL(7 0) TH(7 0) 1 1 3

19、T0運(yùn)行,而T1停止工作,8位定時(shí)/計(jì)數(shù)。2、定時(shí) / 計(jì)數(shù)器控制寄存器TCONTCON TR1 TR0 TR0 定時(shí) / 計(jì)數(shù)器0運(yùn)行控制位。 軟件置位,軟件復(fù)位。 與GATE有關(guān),分兩種情況: GATE = 0 時(shí),若TR0 = 1,開啟T0計(jì)數(shù)工作; 若TR0 = 0,停止T0計(jì)數(shù)。 GATE = 1 時(shí),若TR0 = 1 且/INT0 = 1時(shí),開啟T0計(jì)數(shù); 若TR0 = 1 但 /INT0 = 0,則不能開啟T0計(jì)數(shù)。 若TR0 = 0, 停止T0計(jì)數(shù)。TR1 定時(shí) / 計(jì)數(shù)器1運(yùn)行控制位。 用法與TR1類似。二、定時(shí) / 計(jì)數(shù)器的四種工作模式1、模式0 T1、T0的等效邏輯結(jié)構(gòu)

20、(顯示投影膠片)計(jì)數(shù)寄存器TLi 低5位 + THi8位C/T = 0 定時(shí)C/T = 1 對(duì)外計(jì)數(shù)。定時(shí):fosc / 12 = 1 /(12/fosc) = 1 / T 等間隔,次數(shù)已定,時(shí)間確定 T 即對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)。 左圖定時(shí)時(shí)間為n×T。 n 計(jì)數(shù):脈沖不等間隔。 每個(gè)下降沿計(jì)數(shù)一次 確認(rèn)一次負(fù)跳變需兩個(gè)機(jī)器周期,所以,計(jì)數(shù)頻率最高為fosc / 24。GATE = 0 時(shí),A =“1” B = “1”(TRi = 1時(shí)),啟動(dòng)計(jì)數(shù) B = “0”(TRi = 0時(shí)),停止計(jì)數(shù)。GATA = 1 時(shí), A =“1”(/ INTXi =“1”) B =“1”(TRi =

21、1時(shí))啟動(dòng),B = “0”(TRi = 0時(shí))停止。A =“0”(/ INTXi =“0”)停止。2、模式1與模式0相似。與模式0的區(qū)別:計(jì)數(shù)位數(shù)不同。計(jì)數(shù)寄存器:THi(高8位)+ TLi(低8位)3、模式2與模式0、1的區(qū)別:1)計(jì)數(shù)位數(shù)不同; 2)初值自動(dòng)重裝。計(jì)數(shù)寄存器:TLi(8位) 溢出時(shí) TFiTHi(8位初值)4、模式3T0定時(shí)/計(jì)數(shù),而T1停止計(jì)數(shù),但可作波特率發(fā)生器。T0分成兩獨(dú)立定時(shí)/計(jì)數(shù)器TL0和TH0。TL0使用C/T、GATE、TR0、/INT0、TF0定時(shí)/計(jì)數(shù),TH0使用TR1、TF1 因此,只能用于定時(shí)。(展示投影膠片。)模式3時(shí),T1可定時(shí)為模式0、1、2的

22、定時(shí)/計(jì)數(shù),但不可中斷,所以一般只作串口波特率發(fā)生器用。三、定時(shí)/計(jì)數(shù)器的應(yīng)用編程前確定參數(shù):(1)定時(shí)/計(jì)數(shù)器T0、T1選擇其一,(2)工作方式C/T及GATA,(3)計(jì)數(shù)初值加1計(jì)數(shù)、16位。FFFFH X=MN;M=213=8192(模式0) N X M=216=65536(模式1) X M M=28=256 (模式2、模式3)0000H(4)工作模式M1、M0實(shí)驗(yàn)步驟:、在KEIL C環(huán)境下建立一個(gè)工程項(xiàng)目、編寫代碼,設(shè)置EA、TCON、IP等寄存器、編寫中斷函數(shù)、編譯并連接,處理出現(xiàn)的錯(cuò)誤保證調(diào)試通過。、利用實(shí)驗(yàn)項(xiàng)目1、2學(xué)到的知識(shí)調(diào)試,可以使用單步執(zhí)行和設(shè)置斷點(diǎn)等方式。、調(diào)試時(shí)須打

23、開調(diào)試端口,使用鍵盤LED仿真板。、利用實(shí)驗(yàn)項(xiàng)目3中學(xué)到的知識(shí)同proteus軟件觀察實(shí)驗(yàn)結(jié)果。完成實(shí)驗(yàn)程序:5、P0接8個(gè)LED,使8個(gè)LED閃爍。當(dāng)奇數(shù)次按下INT0的按鈕時(shí),8個(gè)LED每次同時(shí)點(diǎn)亮4個(gè),點(diǎn)亮3次,即D0D3與D4D7交叉點(diǎn)亮3次。偶數(shù)次按下INT0的按鈕時(shí),則D0D7進(jìn)行左移和右移2次。當(dāng)按下INT1的按鈕時(shí),產(chǎn)生報(bào)警(INT1優(yōu)先)。6、教材P188,使用查詢和中斷方式實(shí)現(xiàn)方波的設(shè)置。觀察實(shí)驗(yàn)結(jié)果,各寄存器的變化。本次實(shí)驗(yàn)可以使用軟件仿真硬件插件dpj.dll和ledkey.dll進(jìn)行仿真,并利用proteus軟件觀察實(shí)驗(yàn)結(jié)果。前面實(shí)驗(yàn)項(xiàng)目3中,已經(jīng)介紹了dpj.dll

24、、ledkey.dll和proteus軟件的使用方法。實(shí)驗(yàn)項(xiàng)目6:基于單片機(jī)的行列式鍵盤操作實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模?、掌握AT89C51與行列式鍵盤的接口技術(shù)。2、使用proteus軟件仿真鍵盤掃描程序,深刻理解鍵盤掃描程序的含義。實(shí)驗(yàn)平臺(tái):Windows XP 操作系統(tǒng)、Keil c 開發(fā)軟件、proteus軟件主要實(shí)驗(yàn)內(nèi)容:一、根據(jù)行列式鍵盤的設(shè)計(jì)原理,編寫鍵盤掃描程序。二、調(diào)試代碼、編寫實(shí)驗(yàn)報(bào)告。本實(shí)驗(yàn)知識(shí)要點(diǎn):一、鍵盤輸入過程: 1、 CPU判斷是否有鍵按下 2 、確定按下是哪個(gè)鍵 3、 此鍵代表的信息翻譯成機(jī)器識(shí)別的代碼 二、掃描程序查詢過程: 1 、行輸出全為0,無鍵按下,列輸出全為1,

25、掃描碼:F0H2 、有鍵按下,P14-P17輸出非全1,檢查按鍵所在位置 3 、逐行掃描,讀出列值4 、對(duì)得到的行號(hào)和列號(hào)譯碼,得到鍵值 5 、消除除鍵的抖動(dòng) 實(shí)驗(yàn)步驟:1、在KEIL C環(huán)境下建立一個(gè)工程項(xiàng)目。2、編寫代碼,編譯并連接,處理出現(xiàn)的錯(cuò)誤保證調(diào)試通過。3、利用實(shí)驗(yàn)項(xiàng)目3中學(xué)到的知識(shí)同proteus軟件觀察實(shí)驗(yàn)結(jié)果。完成實(shí)驗(yàn)程序:7、教材P269鍵盤掃描程序。實(shí)驗(yàn)項(xiàng)目7:雙機(jī)串行通信實(shí)驗(yàn)?zāi)康模?、掌握AT89C51雙機(jī)通信的基本原理。2、實(shí)現(xiàn)實(shí)現(xiàn)兩片AT89C51之間的通信,甲機(jī)將數(shù)據(jù)發(fā)送到乙機(jī)并顯示出來。使用proteus軟件仿真程序,深刻理解雙機(jī)通信的作用。實(shí)驗(yàn)平臺(tái):Windo

26、ws XP 操作系統(tǒng)、Keil c 開發(fā)軟件、proteus軟件主要實(shí)驗(yàn)內(nèi)容:一、根據(jù)雙機(jī)通信原理,編寫雙機(jī)通信程序。二、調(diào)試代碼、編寫實(shí)驗(yàn)報(bào)告。本實(shí)驗(yàn)知識(shí)要點(diǎn):在串行通信中,數(shù)據(jù)是在兩個(gè)站之間傳送的。按照數(shù)據(jù)傳送方向,串行通信可分為三種制式:?jiǎn)喂ぶ剖?Simplex)、半雙工制式(Half duplex)、全雙工制式(Full duplex)。其中,單工制式是指甲乙雙方通信只能單向傳送數(shù)據(jù)。半雙工制式是指通信雙方都具有發(fā)送器和接收器,雙方既可發(fā)送也可接收,但接收和發(fā)送不能同時(shí)進(jìn)行,即發(fā)送時(shí)就不能接收,接收時(shí)就不能發(fā)送。全雙工制式是指通信雙方均設(shè)有發(fā)送器和接收器,并且將信道劃分為發(fā)送信道和接收

27、信道,兩端數(shù)據(jù)允許同時(shí)收發(fā),因此通信效率比前兩種高。 AT89C51內(nèi)部有一個(gè)可編程全雙工串行通信接口。該部件不僅能同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為一個(gè)同步移位寄存器使用。下面將對(duì)其內(nèi)部結(jié)構(gòu)、工作方式以及波特率進(jìn)行介紹。(1)數(shù)據(jù)緩沖器(SBUF) SBUF是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器,以便能以全雙工方式進(jìn)行通信。此外,在接收寄存器之前還有移位寄存器,從而構(gòu)成了串行接收的雙緩沖結(jié)構(gòu),這樣可以避免在數(shù)據(jù)接收過程中出現(xiàn)幀重疊錯(cuò)誤。發(fā)送數(shù)據(jù)時(shí),由于CPU是主動(dòng)的,不會(huì)發(fā)生幀重疊錯(cuò)誤,因此發(fā)送電路不需要雙重緩沖結(jié)構(gòu)。在邏輯上,SBUF只有一個(gè),它既表示發(fā)送寄存器,又表示接收寄存器,

28、具有同一個(gè)單元地址99H。但在物理結(jié)構(gòu)上,則有兩個(gè)完全獨(dú)立的SBUF,一個(gè)是發(fā)送緩沖寄存器SBUF,另一個(gè)是接收緩沖寄存器SBUF。如果CPU寫SBUF,數(shù)據(jù)就會(huì)被送入發(fā)送寄存器準(zhǔn)備發(fā)送;如果CPU讀SBUF,則讀入的數(shù)據(jù)一定來自接收緩沖器。即CPU對(duì)SBUF的讀寫,實(shí)際上是分別訪問上述兩個(gè)不同的寄存器。(2)串行控制寄存器(PCON)串行控制寄存器SCON用于設(shè)置串行口的工作方式、監(jiān)視串行口的工作狀態(tài)、控制發(fā)送與接收的狀態(tài)等。它是一個(gè)既可以字節(jié)尋址又可以位尋址的8位特殊功能寄存器。SCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含義如下:表1 寄存器收發(fā)控制及狀態(tài)指示表SM0SM1S

29、M2RENTB8RB8TIRISM0 SM1:串行口工作方式選擇位。這兩位組合成00、01、10、11對(duì)應(yīng)于工作方式0、1、2、3。串行接口工作方式特點(diǎn)見下表。表2 串口工作方式表SM0SM1工作方式功能波特率0008位同步移位寄存器f/1201110位異步串行通信(UART)可變(T1溢出率*2SMOD/32)10211位異步串行通信(UART)fORC/64或fORC/3211311位異步串行通信(UART)可變(T1溢出率*2SMOD/32)SM2:多機(jī)通信控制位。REN:接收允許控制位。軟件置1允許接收;軟件置0禁止接收。TB8:方式2或3時(shí),TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件

30、置1或清0。RB9:在方式2或3時(shí),RB8位接收到的第9位數(shù)據(jù),實(shí)際為主機(jī)發(fā)送的第9位數(shù)據(jù)TB8,使從機(jī)根據(jù)這一位來判斷主機(jī)發(fā)送的時(shí)呼叫地址還是要傳送的數(shù)據(jù)。TI:發(fā)送中斷標(biāo)志。發(fā)送完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)發(fā)送。注意:TI在任何工作方式下都必須由軟件清0。RI:接收中斷標(biāo)志。接收完一幀數(shù)據(jù)后由硬件自動(dòng)置位,并申請(qǐng)中斷。必須要軟件清零后才能繼續(xù)接收。(3)輸入移位寄存器接收的數(shù)據(jù)先串行進(jìn)入輸入移位寄存器,8位數(shù)據(jù)全移入后,再并行送入接收SBUF中。(4)波特率發(fā)生器波特率發(fā)生器用來控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機(jī)用定時(shí)器T1作為波特率發(fā)生器,T

31、1設(shè)置在定時(shí)方式。波特率時(shí)用來表示串行通信數(shù)據(jù)傳輸快慢程度的物理量,定義為每秒鐘傳送的數(shù)據(jù)位數(shù)。(5)電源控制寄存器PCON(其最高位為SMOD)(6)波特率計(jì)算波特率(band rate)是異步通信中每秒鐘傳送的二進(jìn)制數(shù)碼的位數(shù)(比特?cái)?shù)),單位是位/秒。波特率有以下兩種作用:1)反映串行通信的速率;2)反映對(duì)傳輸通道的要求:波特率越高,要求的傳輸通道的頻帶寬度就越寬異步通信:波特率為每秒傳送的字符數(shù)和每個(gè)字符位數(shù)的乘積。AT89C51串行通信共有4種工作方式,它們分別是方式0、方式1、方式2和方式3,由串行控制寄存器SCON中的SM0 SM1決定。本設(shè)計(jì)用串行口方式1收發(fā)程序,實(shí)現(xiàn)兩片AT8

32、9C51之間的通信。(1)方式1發(fā)送 方式1輸出時(shí),數(shù)據(jù)由TXD輸出,一幀信息為10位,1位起始位0,8位數(shù)據(jù)位(先低位)和1位停止位1。當(dāng)執(zhí)行一條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動(dòng)發(fā)送。發(fā)送開始時(shí),內(nèi)部發(fā)送控制信號(hào)變?yōu)橛行?。將起始位向TXD輸出,此后,每經(jīng)過一個(gè)TX時(shí)鐘周期,便產(chǎn)生一個(gè)移位脈沖,并由TXD輸出一個(gè)數(shù)據(jù)位。8位數(shù)據(jù)位全部發(fā)送完畢后,置“1” TI。(2)方式1接收 數(shù)據(jù)從RXD(P3.0)腳輸入。當(dāng)檢測(cè)到起始位的負(fù)跳變時(shí),開始接收數(shù)據(jù)。定時(shí)控制信號(hào)有兩種):接收移位時(shí)鐘(RX時(shí)鐘,頻率和波特率相同)和位檢測(cè)器采樣脈沖(頻率是RX時(shí)鐘的16倍,1位數(shù)據(jù)期間,有16個(gè)采樣脈沖)

33、,當(dāng)采樣到RXD端從1到0的跳變時(shí)就啟動(dòng)檢測(cè)器,接收的值是3次連續(xù)采樣(第7、8、9個(gè)脈沖時(shí)采樣)進(jìn)行表決以確認(rèn)是否是真正的起始位(負(fù)跳變)的開始。當(dāng)一幀數(shù)據(jù)接收完,須同時(shí)滿足兩個(gè)條件,接收才真正有效。1) RI=0,即上一幀數(shù)據(jù)接收完成時(shí),RI=1發(fā)出的中斷請(qǐng)求已被響應(yīng),SBUF中的數(shù)據(jù)已被取走,說明“接收SBUF”已空。2) SM2=0或收到的停止位=1(方式1時(shí),停止位已進(jìn)入RB8),則收到的數(shù)據(jù)裝入SBUF和RB8(RB8裝入停止位),且置“1”中斷標(biāo)志RI。若這兩個(gè)條件不同時(shí)滿足,收到的數(shù)據(jù)將丟失。實(shí)驗(yàn)步驟:1、在KEIL C環(huán)境下建立一個(gè)工程項(xiàng)目。2、編寫代碼,編譯并連接,處理出現(xiàn)

34、的錯(cuò)誤保證調(diào)試通過。3、利用實(shí)驗(yàn)項(xiàng)目3中學(xué)到的知識(shí)同proteus軟件觀察實(shí)驗(yàn)結(jié)果。完成實(shí)驗(yàn)程序:8、用兩塊AT89C51模擬甲機(jī)和乙機(jī),在甲機(jī)的P1口和指撥開關(guān)相連,通過調(diào)節(jié)指撥開關(guān)來輸入數(shù)據(jù),、然后把這個(gè)數(shù)據(jù)發(fā)出到乙機(jī)去。在乙機(jī)里,先通過RXD口讀取指撥數(shù)據(jù),然后P1口通過總線傳導(dǎo)各LED燈,P1一共有8個(gè)引腳,每個(gè)引腳對(duì)應(yīng)一個(gè)燈(可以考慮中斷和查詢兩種方法)。實(shí)驗(yàn)項(xiàng)目8:系統(tǒng)軟件包、第三方應(yīng)用程序包應(yīng)用 - RTX51-Tiny實(shí)時(shí)操作系統(tǒng)實(shí)驗(yàn)?zāi)康?1、掌握RTX51-Tiny實(shí)時(shí)操作系統(tǒng)調(diào)度機(jī)制2、掌握軟件開發(fā)及調(diào)試平臺(tái)的搭建方法3、通過os_wait函數(shù)的學(xué)習(xí),能基本使用RTX51-

35、Tiny完成簡(jiǎn)單的程序設(shè)計(jì)。實(shí)驗(yàn)平臺(tái):Windows XP 操作系統(tǒng)、Keil c 開發(fā)軟件主要實(shí)驗(yàn)內(nèi)容:一、了解并掌握RTX51-Tiny的基本使用方法,特別是掌握os_wait函數(shù)的使用。二、能夠搭建RTX51-Tiny的開發(fā)平臺(tái)。三、編寫實(shí)驗(yàn)報(bào)告分析實(shí)驗(yàn)現(xiàn)象。本實(shí)驗(yàn)知識(shí)背景:RTX51是一個(gè)用于8051系列處理器多任務(wù)實(shí)時(shí)操作系統(tǒng),RTX51可以簡(jiǎn)化那些復(fù)雜而且時(shí)間要求嚴(yán)格的工程的軟件設(shè)計(jì)工作。有二個(gè)不同的RTX51版本可以利用:RTX51 Full 使用四個(gè)任務(wù)優(yōu)先權(quán)完成同時(shí)存在時(shí)間片輪轉(zhuǎn)調(diào)度和搶先的任務(wù)切換, RTX51工作在與中斷功能相似的狀態(tài)下,信號(hào)和信息可以通過郵箱系統(tǒng)在任務(wù)之

36、間互相傳遞,你可以從一存儲(chǔ)池中分配和釋放內(nèi)存,你可以強(qiáng)迫一個(gè)任務(wù)等待中斷超時(shí)或者是從另一個(gè)任務(wù)或中斷發(fā)出的信號(hào)或信息。RTX51 Tiny 是一個(gè) RTX51的子集它可以很容易地在沒有任何外部存儲(chǔ)器的單片8051系統(tǒng)上運(yùn)轉(zhuǎn),除了下列例外RTX51 Tiny支持許多在RTX51中的特征,RTX51 Tiny僅支持時(shí)間片輪轉(zhuǎn)任務(wù)切換和使用信號(hào)進(jìn)行任務(wù)切換不支持搶先式的任務(wù)切換,不包括消息歷程,沒有存儲(chǔ)器池分配程序。許多微處理器應(yīng)用程序要求同時(shí)執(zhí)行兩個(gè)工作或任務(wù). 對(duì)于這樣的應(yīng)用程序一個(gè)實(shí)時(shí)操作系統(tǒng)RTOS 允許靈活的分配系統(tǒng)資源中央處理器存儲(chǔ)器等等.)給各個(gè)任務(wù) RTX51是一個(gè)很好使用的強(qiáng)大的實(shí)

37、時(shí)操作系統(tǒng) RTX51可以運(yùn)行于所有的8051派生機(jī)型??梢允褂脴?biāo)準(zhǔn) C語言編寫和編譯一個(gè)程序或使用 C51構(gòu)造編譯他們 僅在指定任務(wù)標(biāo)識(shí)符和優(yōu)先權(quán)上有一點(diǎn)差別. RTX51程序也要求你載運(yùn)程序中用include命令引入實(shí)施管理的頭文件并使用 BL51 linker/locator進(jìn)行連接和選擇適當(dāng)?shù)?RTX51庫文件。單任務(wù)程序一個(gè)標(biāo)準(zhǔn)的 C語言程序從主函數(shù)開始執(zhí)行,在一嵌入式應(yīng)用中,主函數(shù)通常是一段無限循環(huán)的代碼可以認(rèn)為是一個(gè)連續(xù)執(zhí)行的單獨(dú)任務(wù)。例如int counter;void main (void) counter = 0;while (1) /* 始終重復(fù) */counter+;

38、/* 計(jì)數(shù)器加1 */時(shí)間片輪轉(zhuǎn)程序更高級(jí)的 C語言程序可以在不使用實(shí)時(shí)操作系統(tǒng)的情況下實(shí)現(xiàn)時(shí)間片輪轉(zhuǎn)擬多任務(wù)系統(tǒng),在這種系統(tǒng)中任務(wù)或功能被一段無限循環(huán)程序重復(fù)調(diào)用。例如int counter;void main (void) counter = 0;while (1) /* 始終重復(fù) */check_serial_io ();process_serial_cmds (); /* 處理串行輸入 */check_kbd_io ();process_kbd_cmds (); /* process keyboard input */adjust_ctrlr_parms (); /* adjust t

39、he controller */counter+; /* increment counter */用 R T X 5 1 進(jìn)行時(shí)間片輪轉(zhuǎn)調(diào)度rtx51也能完成時(shí)間片輪轉(zhuǎn)多重任務(wù)而且允許準(zhǔn)并行執(zhí)行多個(gè)無限循環(huán)或任務(wù),任務(wù)并不是并行執(zhí)行的而是按時(shí)間片執(zhí)行的??衫玫闹醒胩幚砥鲿r(shí)間被分成時(shí)間片由 RTX51分配一個(gè)時(shí)間片給每個(gè)任務(wù),每個(gè)任務(wù)允許執(zhí)行一個(gè)預(yù)先確定的時(shí)間,然后rtx51切換到另一準(zhǔn)備運(yùn)行的任務(wù)并且允許這個(gè)任務(wù)執(zhí)行片刻,時(shí)間片非常段通常為幾個(gè)毫秒,因此它表現(xiàn)得如同各個(gè)任務(wù)是同時(shí)地執(zhí)行的。RTX51使用一個(gè)8051硬件計(jì)時(shí)器中斷作為定時(shí)程序。產(chǎn)生的周期性中斷用于驅(qū)動(dòng) RTX51時(shí)鐘,RTX5

40、1不需要在你的程序中擁有一個(gè)主函數(shù),它將自動(dòng)開始執(zhí)行任務(wù) 0 如果你確實(shí)有一個(gè)主函數(shù)你必須利用 RTX51 Tiny中的 os_create_task函數(shù)或RTX51中的 os_start_system函數(shù)手工啟動(dòng) RTX51。下列例子顯示一個(gè)只使用時(shí)間片輪轉(zhuǎn)任務(wù)調(diào)度的簡(jiǎn)單的 RTX51應(yīng)用程序 在本程序里的二個(gè)任務(wù)是簡(jiǎn)單計(jì)數(shù)器回路 rtx51開始執(zhí)行函數(shù)名為 job0的任務(wù) 0 這些功能添加了另一個(gè)叫做 job1任務(wù) 在 job0運(yùn)行一會(huì)兒以后RTX51切換到 job1 在 job0運(yùn)行一會(huì)兒以后RTX51轉(zhuǎn)回到j(luò)ob0 這個(gè)過程將不確定地重復(fù)下去。#include <rtx51tny

41、.h>int counter0;int counter1;void job0 (void) _task_ 0 os_create (1); /* mark task 1 as ready */while (1) /* loop forever */counter0+; /* update the counter */void job1 (void) _task_ 1 while (1) /* loop forever */counter1+; /* update the counter */R T X 5 1 事件即使是在等待一個(gè)任務(wù)的時(shí)間片到達(dá)時(shí),你也可以使用 os_wait函數(shù)通知

42、RTX51它可以讓另一個(gè)任務(wù)開始執(zhí)行,這個(gè)功能中止正在運(yùn)行的當(dāng)前任務(wù),然后等待一指定事件的發(fā)生在這個(gè)時(shí)候任意數(shù)量的其他任務(wù)仍可以執(zhí)行。使用 R T X 5 1 的時(shí)間溢出事件你可以用 os_wait函數(shù)等待的最簡(jiǎn)單的事件是事件溢出 RTX51時(shí)鐘報(bào)時(shí)信號(hào)周期,這類事件可被用于任務(wù)中需要延遲一段時(shí)間的地方,這可用于查詢一個(gè)開關(guān)狀態(tài)的代碼中。在這樣的條件下,只須每隔 50ms左右查詢一次開關(guān)下一個(gè)例子技術(shù)示范你可以在允許其他的任務(wù)執(zhí)行的時(shí)候使用。os_wait功能延遲任務(wù)的執(zhí)行#include <rtx51tny.h>int counter0;int counter1;void job

43、0 (void) _task_ 0 os_create (1); /* mark task 1 as ready */while (1) /* loop forever */counter0+; /* update the counter */os_wait (K_TMO, 3); /* pause for 3 clock ticks */void job1 (void) _task_ 1 while (1) /* loop forever */counter1+; /* update the counter */os_wait (K_TMO, 5); /* pause for 5 clock ticks */在上面的例子中job0像前面敘述的一樣啟動(dòng) job1,然后在增加 counter0計(jì)數(shù)以后job0呼叫 os_wait函數(shù)以暫停個(gè)時(shí)鐘報(bào)時(shí)信號(hào),這時(shí)rtx51切換到下一個(gè)任務(wù) job1 在 job1增加counter1計(jì)數(shù)以后它也調(diào)用 os_wait以暫停個(gè)時(shí)鐘報(bào)時(shí)信號(hào),現(xiàn)在rtx51沒有其他的任務(wù)需要執(zhí)行,因此在它可以延續(xù)執(zhí)行 job0之前它進(jìn)入一個(gè)空循環(huán)等待個(gè)時(shí)鐘報(bào)時(shí)信號(hào)過去。本例子的結(jié)果是 counter0每個(gè)時(shí)鐘報(bào)時(shí)周期

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論