單片機最小系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
單片機最小系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
單片機最小系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
單片機最小系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
單片機最小系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子產(chǎn)品設(shè)計制作與故障診斷學(xué)習(xí)情境3:單片機最小系統(tǒng)的設(shè)計與實現(xiàn)電子產(chǎn)品設(shè)計制作與故障診斷課程建設(shè)組2010年2月 第一版學(xué)習(xí)情境3:單片機最小系統(tǒng)的設(shè)計與實現(xiàn)3.1 學(xué)習(xí)目標:通過本次學(xué)習(xí)情境要求學(xué)會:(1) 掌握51單片機最小系統(tǒng)電路的設(shè)計和制作;(2) 熟悉keil uvision2軟件的使用,掌握51單片機c語言程序的編寫和調(diào)試。(3) 熟悉proteus軟件的使用。3.2 任務(wù)分析任務(wù)名稱:在獨立電路板上設(shè)計制作單片機最小系統(tǒng),滿足:(1) 在萬用板上制作單片機最小系統(tǒng),使該系統(tǒng)具有看門狗電路、i/o口擴展電路、總線擴展電路、程序下載接口、工作指示燈;(2) 編寫基本控制程序,下載調(diào)

2、試,使該系統(tǒng)能夠正常工作,并且容易更改該系統(tǒng)的控制程序。任務(wù)背景:單片機最小系統(tǒng)是各種智能電子設(shè)備的控制中樞,穩(wěn)定的最小系統(tǒng)是電子設(shè)備長期穩(wěn)定運行的基礎(chǔ)。本次工作任務(wù)是為一小型溫度測控系統(tǒng)設(shè)計制作單片機控制電路板。任務(wù)要求:(1) 合理選擇單片機、晶振、看門狗、電阻、電容等芯片和原件;(2) 完成全電路理論設(shè)計、計算機輔助分析與仿真、繪制電路圖,自制電路板、焊接調(diào)試;(3) 撰寫設(shè)計報告、調(diào)試總結(jié)報告及使用說明書。工作任務(wù)所需要的設(shè)備、工具和材料:具有232串行口的計算機、雙蹤示波器、5v直流電源、萬用表(模擬或數(shù)字)、電烙鐵、導(dǎo)線,自制電路板的各種工具一套及元器件若干。3.3 任務(wù)知識點3.

3、3.1 單片機最小系統(tǒng)的組成單片機最小系統(tǒng)的方框圖*電源、復(fù)位電路和晶振電路是單片機工作起來必須的條件。 *下載程序電路是用計算機將單片機程序固化到單片機程序存儲器的電路。 *led指示燈電路是用來做固化程序的控制對象,驗證程序是否正確運行的標志。 *i/o口電路和總線驅(qū)動電路是用來擴展單片機的控制對象的接口電路。3.3.2 單片機的引腳 單片機作為一個微型計算機系統(tǒng),內(nèi)部是一個集接收信號、信號處理、發(fā)送信號、定時及計數(shù)等多種功能于一體的超大規(guī)模集成電路。下圖所示為51系列單片機中有雙列直插40腳封裝的stc89c52單片機。89c52單片機引腳示意圖3.3.3 如何讓單片機工作起來 下圖所示

4、為單片機控制一只led燈的電路接線圖,下面介紹讓單片機工作起來所必需的電路。單片機控制led接線圖(1) 電源:單片機的第40腳接電源的正極, 20腳接電源的地線。電源電壓為+5v,正負偏差不能超過百分之五。(2) 振蕩電路:單片機內(nèi)部由大量的時序電路構(gòu)成,沒有時鐘脈沖單片機的各個部分就無法工作。所以在單片機的內(nèi)部集成有振蕩電路,外部只需要按照上面的電路圖將晶振和電容接到單片機的18(xtal2)、19(xtal1)引腳,就構(gòu)成了一個完整的振蕩器。接通電源,這個振蕩器就會產(chǎn)生固定頻率脈沖,使單片機內(nèi)部的時序邏輯電路開始工作。晶振的頻率決定了單片機工作的快慢。(3) 復(fù)位電路:用于將單片機內(nèi)部各

5、電路的狀態(tài),恢復(fù)到初始值。按照上面的接線圖將電阻和電容接到單片機的第9(rst)引腳,在通電的瞬間使9腳獲得一段時間的高電平,單片機內(nèi)部的電路就自動復(fù)位了。(4) ea引腳:用戶編寫的應(yīng)用程序都存儲在單片機內(nèi)部的程序存儲器中,若編寫的程序較長,內(nèi)部程序存儲器容量不夠用時,就要考慮在單片機芯片的外部另外增加程序存儲器芯片。那么單片機中的控制器是如何知道程序是被存在什么地方呢?它是通過31(ea)腳上的電平狀態(tài)進行判斷的,若ea接電源正端,就表示程序已被存入單片機內(nèi)部存儲器,反之是存在單片機外部存儲器。在本例中,所選單片機內(nèi)部的程序存儲容量已經(jīng)夠用,所以只需按照接線圖將ea引腳接到+5v即可。(5

6、) 輸入輸出引腳:單片機引腳中凡用p,后面跟數(shù)字標注的引腳均為輸入輸出引腳。8個引腳為一個“口”,上圖中p1.0腳為p1口的第0號引腳。輸入輸出引腳狀態(tài)受程序控制,可以將單片機內(nèi)部的信號送出來(輸出),也可以將與引腳相連的外部信號送到單片機內(nèi)部去(輸入)。上圖中p1.0腳與led負極相連,led正極通過限流電阻r1接電源正極,當單片機的p1.0腳為高電平時,led熄滅;當p1.0腳為低電平時,led點亮。可見,只要控制p1.0腳電平的高低,就能控制led的亮滅。(6) max202電路:單片機工作的硬件條件具備以后,需要將程序固化到程序存儲器中,可以采用燒錄器的方法固化。本例中,采用stc89

7、c52單片機的isp固化程序的方法,即單片機的txd、rxd兩個引腳通過max202的電平變換和計算機的串口連接,將下載的程序固化到單片機的程序存儲器中。(7) 看門狗電路:看門狗又叫 watchdog timer(wdt),是一個定時器電路, 一般有一個輸入,叫喂狗,一個輸出到mcu的rst端,mcu正常工作的時候,每隔一端時間輸出一個信號到喂狗端給 wdt 清零,如果超過規(guī)定的時間不喂狗(一般在程序跑飛時),wdt 定時超過,就會給出一個復(fù)位信號到mcu,使mcu復(fù)位, 防止mcu死機。 看門狗的作用就是防止程序發(fā)生死循環(huán),或者說程序跑飛。本例中采用的stc89c52單片機內(nèi)部已經(jīng)集成了看

8、門狗定時器,不用外接看門狗電路。問題與思考:(1) 在51單片機系統(tǒng)中什么是晶振周期、狀態(tài)周期、機器周期、指令周期,它們之間是什么關(guān)系?(2) 單片機復(fù)位引腳需要什么樣的電平?如果通過阻容電路實現(xiàn)?電路中的電阻電容值是如何確定的?如果增加手動復(fù)位應(yīng)該如何連線?(3) 51單片機中p0口結(jié)構(gòu)和其它i/o口比較有什么不同?在使用中要注意什么?3.3.4 51單片機并行總線的擴展(1) 并行總線的工作原理 mcs-51單片機具有極強的功能,在智能儀表,小型測控系統(tǒng)及其他簡單應(yīng)用系統(tǒng)中可直接使用單片機片內(nèi)所具有的硬件資源而不必在外圍擴展其他芯片和應(yīng)用電路。但對于比較復(fù)雜的應(yīng)用系統(tǒng),單片機內(nèi)部的資源已經(jīng)

9、不能滿足系統(tǒng)的需要,這時就必需對單片機進行系統(tǒng)擴展。 單片機的系統(tǒng)擴展是通過單片機外總線進行的。系統(tǒng)外總線包括地址總線,數(shù)據(jù)總線和控制總線。下圖為單片機系統(tǒng)外總線結(jié)構(gòu)圖。單片機系統(tǒng)總線圖 地址總線:51單片機的地址總線為16位,分為高八位地址線和低八位地址線兩部分,高八位地址線由p2口提供,低八位地址線由p0口分時提供。p2口做地址線時具有輸出鎖存功能,輸出地址信息能夠保留,直到下一次輸出新的地址;p0口是數(shù)據(jù)和地址分時復(fù)用的端口,為保留其輸出的地址信息,需要在外部加地址鎖存器鎖存輸出的地址信息。地址鎖存器的控制信號由單片機的地址鎖存控制信號ale提供,由ale的下降沿控制鎖存時刻。 數(shù)據(jù)總線

10、:51單片機的數(shù)據(jù)總線為八位,由p0口提供。當p0口用做數(shù)據(jù)總線時是雙向且輸入三態(tài)的通道口,使用時不必外加其他芯片。 控制總線:對51單片機進行系統(tǒng)擴展時,用到的控制信號主要有地址鎖存信號ale,片外程序存儲器讀信號,外部數(shù)據(jù)存儲器和i/o口讀寫控制信號、等。單片機系統(tǒng)擴展主要研究如何將擴展芯片通過單片機的系統(tǒng)總線與單片機進行連接,完成相應(yīng)的功能,滿足應(yīng)用系統(tǒng)的需要。程序存儲器的擴展:當51系列單片機的片內(nèi)程序存儲器不夠或其內(nèi)部無程序存儲器時就必需進行程序存儲器擴展。51單片機程序存儲器的硬件擴展電路如下圖所示。程序存儲器擴展電路程序存儲器的擴展是通過外部系統(tǒng)總線進行的。在擴展時程序存儲器的地

11、址線a0an對應(yīng)的連接到單片機的地址總線a0an上;程序存儲器的數(shù)據(jù)線d0d7連接到單片機的p0口上;程序存儲器的輸出允許控制端連接到單片機的片外程序存儲器讀控制線上。訪問片外程序存儲器的時序圖當51單片機的cpu訪問外部程序存儲器時,在每一個機器周期內(nèi),引腳ale上出現(xiàn)兩個正脈沖,引腳上出現(xiàn)兩個負脈沖,也即在一個機器周期內(nèi)cpu可兩次訪問外部程序存儲器。在ale的下降沿p0口輸出的低八位地址信號被鎖存,而在有效時通過p0口輸入程序的指令碼。數(shù)據(jù)存儲器的擴展: 數(shù)據(jù)存儲器是用來存放數(shù)據(jù)的。51單片機程序存儲器與數(shù)據(jù)存儲器是相互獨立的,各占64kb的存儲空間,數(shù)據(jù)存儲器擴展時其地址線和數(shù)據(jù)線的聯(lián)

12、接方法與程序存儲器擴展的聯(lián)接方法相同,控制線的聯(lián)接與程序存儲器的擴展不同,數(shù)據(jù)存儲器的控制信號線為數(shù)據(jù)存儲器的讀寫控制wr和rd。數(shù)據(jù)存儲器擴展時應(yīng)將rd和wr聯(lián)接到單片機相應(yīng)的讀寫控制端上。下圖為采用6264構(gòu)成的8kb的數(shù)據(jù)存儲器擴展電路。當需要的數(shù)據(jù)存儲器容量較大,一片存儲器不能滿足要求時可通過擴展多片存儲器的方法來滿足系統(tǒng)要求。多片擴展時存儲器的片選控制端由單片機的高位地址線決定,可采用線選法或全地址譯碼法獲得。 采用全地址譯碼法擴展的數(shù)據(jù)存儲器地址是連續(xù)的,而采用線選法進行數(shù)據(jù)存儲器擴展其擴展地址是不連續(xù)的。51單片機數(shù)據(jù)存儲器與i/o口是統(tǒng)一編址的,當需要i/o口擴展時應(yīng)和數(shù)據(jù)存儲

13、器的擴展統(tǒng)一考慮。數(shù)據(jù)存儲器的擴展外部數(shù)據(jù)存儲器讀時序圖外部數(shù)據(jù)存儲器寫時序圖(2) 提高并行總線驅(qū)動能力的方法當并行總線外部所接設(shè)備超出其負載能力時,應(yīng)增加總線的驅(qū)動能力,下圖為采用74hc245芯片的總線擴展電路。問題與思考:(1) 在51單片機系統(tǒng)中必須進行總線擴展嗎?在什么情況下進行總線擴展?都需要用到哪些信號進行擴展?(2) 51單片機在進行并行總線擴展時外部設(shè)備的數(shù)量有什么要求?如果超出了要求應(yīng)如何處理?(3) 簡述51單片機并行總線擴展應(yīng)如何計算芯片地址?可以舉例說明。3.3.5 為單片機編寫程序 將上面的焊接和調(diào)試,單片機最小系統(tǒng)只具備了工作起來的硬件條件,就像人只是有了軀體還

14、沒有思想,無法工作。要想讓單片機工作起來,還需要向單片機的程序存儲器中輸入程序,就像人需要思想一樣。本例就是控制led燈的亮滅。而單片機中的控制器都是數(shù)字電路,只認識二進制數(shù)據(jù),例如使p1.0引腳電平變化的指令: 指令一:11010010 10010000 ; 將單片機第1引腳置高電平 指令二:11000010 10010000 ; 將單片機第1引腳置地電平 這種能夠被單片機識別的二進制語言成為機器語言,用機器語言組成的程序稱為源程序,但這種語言記憶和編寫都非常困難。為此,人們想到了改用簡明的英文符號來表示各種不同功能的指令幫助記憶,對應(yīng)的英文符號稱為助記符。例如將上面的指令一和指令二分別用助

15、記符的形式來描述可表示為:指令一:setb p1.0 ; 將單片機第1引腳置高電平 指令二:clr p1.0 ; 將單片機第1引腳置地電平 用助記符編寫的程序成為匯編語言程序。如果能夠?qū)⒂脜R編語言編寫的程序翻譯成用機器碼表示的目標程序,問題就解決了。這一工作可以由軟件自動完成。keil 就是這種開發(fā)軟件的一種,不僅能夠完成匯編語言程序到目標代碼的自動轉(zhuǎn)換,而且能夠?qū)崿F(xiàn)c語言到目標代碼的自動轉(zhuǎn)換,用c語言編寫程序,看上去更直觀,復(fù)雜的運算和邏輯程序的編寫變得更加輕松簡便。3.3.6 用keil uvision2 編寫單片機程序keil uvision2 軟件是眾多單片機應(yīng)用開發(fā)的優(yōu)秀軟件之一,它

16、集代碼編輯,uvision2編譯器,51匯編編譯器,51內(nèi)核仿真于一體的集成開發(fā)環(huán)境(ide),支持匯編語言和 c 語言的程序設(shè)計,界面友好,易學(xué)易用。下面介紹keil uvision2軟件的使用方法。進入 keil uvision2后,屏幕如下圖所示。幾秒鐘后出現(xiàn)編輯界啟動keil uvision2 時的屏幕進入keil uvision2后的編輯界面學(xué)習(xí)程序設(shè)計語言、學(xué)習(xí)某種程序軟件,最好的方法是直接操作實踐。下面通過簡單的編程、調(diào)試,引導(dǎo)大家學(xué)習(xí)keil uvision2軟件的基本使用方法和基本的調(diào)試技巧。(1)建立一個新工程 單擊project菜單,在彈出的下拉菜單中選中new proj

17、ect選項。(2)然后選擇你要保存的路徑,輸入工程文件的名字,比如保存到c51目錄里,工程文件的名字為c51如下圖所示,然后點擊保存。(提示:建議每一個新的工程,建立一個新的文件夾,因為在每個工程中都有很多的文件。)(3)這時會彈出一個對話框,要求你選擇單片機的型號,你可以根據(jù)你使用的單片機來選擇,keil uvision2幾乎支持所有的51核的單片機,我這里還是以大家用的比較多的atmel 的89c51來說明,如下圖所示,選擇89c51之后,右邊欄是對這個單片機的基本的說明,然后點擊確定。(4)完成上一步驟后,屏幕如下圖所示:到現(xiàn)在為止,我們還沒有編寫一句程序,下面開始編寫我們的第一個程序。

18、(5)在下圖中,單擊“file”菜單,再在下拉菜單中單擊“new”選項。新建文件后屏幕如下圖所示此時光標在編輯窗口里閃爍,這時可以鍵入用戶的應(yīng)用程序了,但是建議首先保存該空白的文件,單擊菜單上的“file”,在下拉菜單中選中“save as”選項單擊,屏幕如下圖所示,在“文件名”欄右側(cè)的編輯框中,鍵入欲使用的文件名,同時,必須鍵入正確的擴展名。注意,如果用語言編寫程序,則擴展名為(.c);如果用匯編語言編寫程序,則擴展名必須為(.asm)。然后,單擊“保存”按鈕。(6)回到編輯界面后,單擊“target 1”前面的“”號,然后在“source group 1”上單擊右鍵,彈出如下菜單,然后單擊

19、“add file to group source group 1” 屏幕如下圖所示:選中test1.c,然后單擊“add”屏幕如下圖所示:然后單擊“close”。注意到“source group 1”文件夾中多了一個子項“text1.c”了嗎?子項的多少與所增加的源程序的多少相同。(7)現(xiàn)在,請輸入如下的c語言源程序: #include /包含文件#include void main(void) /主函數(shù)scon=0x52;tmod=0x20;th1=0xf3;tr1=1; /此行及以上3行為printf函數(shù)所必須printf(“hello i am keil. n”); /打印程序執(zhí)行的信

20、息printf(“i will be your friend.n”);while(1);在輸入上述程序時,已經(jīng)看到了事先保存待編輯的文件的好處了吧,即keil uvision2會自動識別關(guān)鍵字,并以不同的顏色提示用戶加以注意,這樣會使用戶少犯錯誤,有利于提高編程效率。程序輸入完畢后,如下圖所示:(8)在上圖中,單擊“project”菜單,再在下拉菜單中單擊“built target”選項(或者使用快捷鍵f7),編譯成功后,再單擊“project”菜單,在下拉菜單中單擊“start/stop debug session”(或者使用快捷鍵ctrl+f5),屏幕如下所示:(9)調(diào)試程序:在上圖中,單

21、擊“debug”菜單,在下拉菜單中單擊“go”選項,(或者使用快捷鍵f5),然后再單擊“debug”菜單,在下拉菜單中單擊“stop running”選項(或者使用快捷鍵esc);再單擊“view”菜單,再在下拉菜單中單擊“serial windows #1”選項,就可以看到程序運行后的結(jié)果,其結(jié)果如下圖所示至此,我們在keil uvision2上做了一個完整工程的全過程。但這只是軟件的開發(fā)過程,如何使用程序下載器看一看程序運行的結(jié)果呢?(10)單擊“project”菜單,再在下拉菜單中單擊“ ” 在下圖中,單擊“output”中單擊“create hex file” 選項,使程序編譯后產(chǎn)生h

22、ex代碼(在保存工程的文件夾中),供下載器軟件使用。把程序下載到at89s51單片機中。3.3.7 proteus軟件簡介 proteus軟件是來自英國labcenter electronics公司的eda工具軟件,proteus軟件有近20年的歷史,在全球廣泛使用,除了其具有和其它eda工具一樣的原理布圖、pcb自動或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動的,針對微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試,如有顯示及輸出,還能看到運行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,proteus能夠很容易的為用

23、戶建立了完備的電子設(shè)計開發(fā)環(huán)境。 proteus 產(chǎn)品系列也包含了革命性的vsm技術(shù),用戶可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真。proteus組合了高級原理布圖、混合模式spice仿真,pcb設(shè)計以及自動布線來實現(xiàn)一個完整的電子設(shè)計系統(tǒng)。此系統(tǒng)受益于15年來的持續(xù)開發(fā),被電子世界在其對pcb設(shè)計系統(tǒng)的比較文章中評為最好產(chǎn)品“the route to pcb cad”。proteus 產(chǎn)品系列也包含了我們革命性的vsm技術(shù),用戶可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真。用戶甚至可以實時采用諸如led/lcd、鍵盤、rs232終端等動態(tài)外設(shè)模型來對設(shè)計進行交互仿真。

24、其功能模塊:個易用而又功能強大的isis原理布圖工具;prospice混合模型spice仿真; ares pcb設(shè)計. prospice 仿真器的一個擴展proteus vsm:便于包括所有相關(guān)的器件的基于微處理器設(shè)計的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動態(tài)的鍵盤,開關(guān),按鈕,leds甚至lcd顯示cpu模型. 支持許多通用的微控制器,如pic、 8051. 交互的裝置模型包括:led和lcd顯示,rs232終端,通用鍵盤,強大的調(diào)試工具,包括寄存器和存儲器,斷點和單步模式iar c-spy 和keil uvision2等開發(fā)工具的源層調(diào)試應(yīng)用特殊模型的dll界面-提供有關(guān)元件庫的全部

25、文件 proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機cpu的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。3.4 任務(wù)實施3.4.1設(shè)計原理圖 按照要求設(shè)計單片機最小系統(tǒng)原理圖,盡可能設(shè)計多個方案,進行比較選擇合適的方案,然后進入后面的工作步驟。3.4.2電路仿真 使用proteus軟件對上面的電路進行仿真,比較各種設(shè)計方案的運行結(jié)果,確定最優(yōu)

26、方案,進行下面的步驟。3.4.3元件清單和成本核算 將設(shè)計好的原理圖的元件清單整理好填入下表中,進行成本核算。序號編號元件名稱參數(shù)和封裝數(shù)量單價(元)合計(元)123456789101112總 計3.4.4電路板焊接按照接線圖將元件焊到萬能板上,完成電路板的制作。 提示: (1)在進行焊接之前一定要認真規(guī)劃電路板上元件的分布,例如:和電路板外的連接線應(yīng)盡量放在電路板上的邊緣處;單片機的插座應(yīng)盡量在萬能板的中心,外圍電路焊接在單片機的周圍。 (2)晶振電路應(yīng)盡量的靠近單片機的xtal1和xtal2引腳。 (3)除上述元件外,電路板上應(yīng)預(yù)留一些空間,以利于后續(xù)項目擴展時增加器件的焊接。 焊接完成后

27、,對電路板的焊接工藝進行評價:3.4.5對焊接完成的電路板進行測量 (1)通電前測量:接通電源之前,用萬用表通斷檔測量電路板上電源vcc和gnd之間是否短路,如果短路排除故障,再次進行測量。 (2)單片機是否工作的測量: 在上一步驟中如果檢測沒有問題,可以接通電源,接通電源后用示波器測量單片機的第30(ale)引腳,觀察該引腳電平的變化。如果該引腳輸出的是方波,則單片機已經(jīng)開始工作。(提示:在接通電源之前,必須認真清理電路板上的導(dǎo)線頭、剪下的元器件引腳以及焊錫屑等容易造成短路的雜物,同時清理電路板下面桌子上的雜物,切勿將焊接好的電路板放到導(dǎo)體上面,以免造成短路。)(3)請將上面的調(diào)試過程、觀察

28、到和測量到的結(jié)果記錄下來。3.4.6用keil uvision2編寫本情境中最小系統(tǒng)控制led亮滅的程序使用keil uvision2為上面制作的單片機最小系統(tǒng)控制led燈編寫一個程序。寫完程序后編譯、連接,查看工程目錄下是否有以.hex為后綴的文件,這個文件就是keil c51編譯器自動編譯成的目標代碼,把這個代碼固化到單片機的程序存儲器中,單片機就會按照你所編寫的程序工作了。下面給出的是控制led閃爍的參考程序:#include reg52.h#include intrins.h#define led_on 0 /定義led_on為0#define led_off 1 /定義led_off

29、為1sbit led=p10;/定義p1.0口名字為led/此處一般定義一些全局變量void main(void)/此處一般定義一些局部變量unsigned int x;/定義延時用的變量/此處一般寫初始化的程序while(1)/程序運行時的死循環(huán)led=led_on;/使p1.0口輸出為低電平,led亮for(x=0;x5000;x+)_nop_();/空指令函數(shù)單片機等待一個周期led=led_off;/使p1.0口輸出為高電平,led滅for(x=0;x5000;x+)_nop_();/空指令函數(shù)單片機等待一個周期3.4.7固化程序 固化程序有很多種方法,以前51單片機常用的方法是用燒錄器進行固化,但是調(diào)試過程中需要頻繁的插拔芯片,非常麻煩。本情境采用支持isp固化方法的stc89c52,即單片機通過rs232電平轉(zhuǎn)換芯片和計算機串口連接,用單片機制造商提供的專用軟件stc-isp下載軟件進行程序固

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論