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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、) 輸入輸出引腳:?jiǎn)纹瑱C(jī)引腳中凡用P,后面跟數(shù)字標(biāo)注的引腳均為輸入輸出引腳。8個(gè)引腳為一個(gè)“口”,上圖中P1.0腳為P1口的第0號(hào)引腳。輸入輸出引腳狀態(tài)受程序控制,可以將單片機(jī)內(nèi)部的信號(hào)送出來(lái)(輸出),也可以將與引腳相連的外部信號(hào)送到單片機(jī)內(nèi)部去(輸入)。上圖中P1.0腳與LED負(fù)極相連,LED正極通過(guò)限流電阻R1接電源正極,當(dāng)單片機(jī)的P1.0腳為高電平時(shí),LED熄滅;當(dāng)P1.0腳為低電平時(shí),LED點(diǎn)亮??梢?jiàn),只要控制P1.0腳電平的高低,就能控制LED的亮滅。(6) MAX202電路:?jiǎn)纹瑱C(jī)工作的硬件條件具備以后,需要將程序固化到程序存儲(chǔ)器中,可以采用燒錄器的方法固化。本例中,采用STC89

7、C52單片機(jī)的ISP固化程序的方法,即單片機(jī)的TXD、RXD兩個(gè)引腳通過(guò)MAX202的電平變換和計(jì)算機(jī)的串口連接,將下載的程序固化到單片機(jī)的程序存儲(chǔ)器中。(7) 看門(mén)狗電路:看門(mén)狗又叫 watchdog timer(WDT),是一個(gè)定時(shí)器電路, 一般有一個(gè)輸入,叫喂狗,一個(gè)輸出到MCU的RST端,MCU正常工作的時(shí)候,每隔一端時(shí)間輸出一個(gè)信號(hào)到喂狗端給 WDT 清零,如果超過(guò)規(guī)定的時(shí)間不喂狗(一般在程序跑飛時(shí)),WDT 定時(shí)超過(guò),就會(huì)給出一個(gè)復(fù)位信號(hào)到MCU,使MCU復(fù)位, 防止MCU死機(jī)。 看門(mén)狗的作用就是防止程序發(fā)生死循環(huán),或者說(shuō)程序跑飛。本例中采用的STC89C52單片機(jī)內(nèi)部已經(jīng)集成了看

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

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

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

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

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

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

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

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

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

17、ect選項(xiàng)。(2)然后選擇你要保存的路徑,輸入工程文件的名字,比如保存到C51目錄里,工程文件的名字為C51如下圖所示,然后點(diǎn)擊保存。(提示:建議每一個(gè)新的工程,建立一個(gè)新的文件夾,因?yàn)樵诿總€(gè)工程中都有很多的文件。)(3)這時(shí)會(huì)彈出一個(gè)對(duì)話框,要求你選擇單片機(jī)的型號(hào),你可以根據(jù)你使用的單片機(jī)來(lái)選擇,keil uVision2幾乎支持所有的51核的單片機(jī),我這里還是以大家用的比較多的Atmel 的89C51來(lái)說(shuō)明,如下圖所示,選擇89C51之后,右邊欄是對(duì)這個(gè)單片機(jī)的基本的說(shuō)明,然后點(diǎn)擊確定。(4)完成上一步驟后,屏幕如下圖所示:到現(xiàn)在為止,我們還沒(méi)有編寫(xiě)一句程序,下面開(kāi)始編寫(xiě)我們的第一個(gè)程序。

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

19、“Add File to Group Source Group 1” 屏幕如下圖所示:選中Test1.c,然后單擊“Add ”屏幕如下圖所示:然后單擊“Close”。注意到“Source Group 1”文件夾中多了一個(gè)子項(xiàng)“Text1.c”了嗎?子項(xiàng)的多少與所增加的源程序的多少相同。(7)現(xiàn)在,請(qǐng)輸入如下的C語(yǔ)言源程序: #include <reg52.h> /包含文件#include <stdio.h>void main(void) /主函數(shù)SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1; /此行及以上3行為PRINTF函數(shù)所必須pr

20、intf(“Hello I am KEIL. n”); /打印程序執(zhí)行的信息printf(“I will be your friend.n”);while(1);在輸入上述程序時(shí),已經(jīng)看到了事先保存待編輯的文件的好處了吧,即Keil uVision2會(huì)自動(dòng)識(shí)別關(guān)鍵字,并以不同的顏色提示用戶加以注意,這樣會(huì)使用戶少犯錯(cuò)誤,有利于提高編程效率。程序輸入完畢后,如下圖所示:(8)在上圖中,單擊“Project”菜單,再在下拉菜單中單擊“Built Target”選項(xiàng)(或者使用快捷鍵F7),編譯成功后,再單擊“Project”菜單,在下拉菜單中單擊“Start/Stop Debug Session”(

21、或者使用快捷鍵Ctrl+F5),屏幕如下所示:(9)調(diào)試程序:在上圖中,單擊“Debug”菜單,在下拉菜單中單擊“Go”選項(xiàng),(或者使用快捷鍵F5),然后再單擊“Debug”菜單,在下拉菜單中單擊“Stop Running”選項(xiàng)(或者使用快捷鍵Esc);再單擊“View”菜單,再在下拉菜單中單擊“Serial Windows #1”選項(xiàng),就可以看到程序運(yùn)行后的結(jié)果,其結(jié)果如下圖所示至此,我們?cè)贙eil uVision2上做了一個(gè)完整工程的全過(guò)程。但這只是軟件的開(kāi)發(fā)過(guò)程,如何使用程序下載器看一看程序運(yùn)行的結(jié)果呢?(10)單擊“Project”菜單,再在下拉菜單中單擊“ ” 在下圖中,單擊“Out

22、put”中單擊“Create HEX File” 選項(xiàng),使程序編譯后產(chǎn)生HEX代碼(在保存工程的文件夾中),供下載器軟件使用。把程序下載到AT89S51單片機(jī)中。3.3.7 PROTEUS軟件簡(jiǎn)介 Proteus軟件是來(lái)自英國(guó)Labcenter electronics公司的EDA工具軟件,Proteus軟件有近20年的歷史,在全球廣泛使用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配

23、合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,Proteus能夠很容易的為用戶建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境。 Proteus 產(chǎn)品系列也包含了革命性的VSM技術(shù),用戶可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周?chē)娮悠骷黄鸱抡妗roteus組合了高級(jí)原理布圖、混合模式SPICE仿真,PCB設(shè)計(jì)以及自動(dòng)布線來(lái)實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。此系統(tǒng)受益于15年來(lái)的持續(xù)開(kāi)發(fā),被電子世界在其對(duì)PCB設(shè)計(jì)系統(tǒng)的比較文章中評(píng)為最好產(chǎn)品“The Route to PCB CAD”。Proteus 產(chǎn)品系列也包含了我們革命性的VSM技術(shù),用戶可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周?chē)娮悠骷黄鸱抡?。用戶甚至可以?shí)時(shí)采用諸

24、如LED/LCD、鍵盤(pán)、RS232終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。其功能模塊:個(gè)易用而又功能強(qiáng)大的ISIS原理布圖工具;PROSPICE混合模型SPICE仿真; ARES PCB設(shè)計(jì). PROSPICE 仿真器的一個(gè)擴(kuò)展PROTEUS VSM:便于包括所有相關(guān)的器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動(dòng)態(tài)的鍵盤(pán),開(kāi)關(guān),按鈕,LEDs甚至LCD顯示CPU模型. 支持許多通用的微控制器,如PIC、 8051. 交互的裝置模型包括:LED和LCD顯示,RS232終端,通用鍵盤(pán),強(qiáng)大的調(diào)試工具,包括寄存器和存儲(chǔ)器,斷點(diǎn)和單步模式IAR C-SPY 和Keil uVis

25、ion2等開(kāi)發(fā)工具的源層調(diào)試應(yīng)用特殊模型的DLL界面-提供有關(guān)元件庫(kù)的全部文件   Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。3.4 任務(wù)實(shí)施3.4.1設(shè)計(jì)原理圖 按照要求設(shè)計(jì)單片機(jī)最小系統(tǒng)原理圖,盡可能設(shè)計(jì)多個(gè)方案,進(jìn)行比較選擇合適的方案,然后進(jìn)入后面的工作步驟。3.4.2電

26、路仿真 使用proteus軟件對(duì)上面的電路進(jìn)行仿真,比較各種設(shè)計(jì)方案的運(yùn)行結(jié)果,確定最優(yōu)方案,進(jìn)行下面的步驟。3.4.3元件清單和成本核算 將設(shè)計(jì)好的原理圖的元件清單整理好填入下表中,進(jìn)行成本核算。序號(hào)編號(hào)元件名稱參數(shù)和封裝數(shù)量單價(jià)(元)合計(jì)(元)123456789101112總 計(jì)3.4.4電路板焊接按照接線圖將元件焊到萬(wàn)能板上,完成電路板的制作。 提示: (1)在進(jìn)行焊接之前一定要認(rèn)真規(guī)劃電路板上元件的分布,例如:和電路板外的連接線應(yīng)盡量放在電路板上的邊緣處;單片機(jī)的插座應(yīng)盡量在萬(wàn)能板的中心,外圍電路焊接在單片機(jī)的周?chē)?(2)晶振電路應(yīng)盡量的靠近單片機(jī)的XTAL1和XTAL2引腳。 (3

27、)除上述元件外,電路板上應(yīng)預(yù)留一些空間,以利于后續(xù)項(xiàng)目擴(kuò)展時(shí)增加器件的焊接。 焊接完成后,對(duì)電路板的焊接工藝進(jìn)行評(píng)價(jià):3.4.5對(duì)焊接完成的電路板進(jìn)行測(cè)量 (1)通電前測(cè)量:接通電源之前,用萬(wàn)用表通斷檔測(cè)量電路板上電源VCC和GND之間是否短路,如果短路排除故障,再次進(jìn)行測(cè)量。 (2)單片機(jī)是否工作的測(cè)量: 在上一步驟中如果檢測(cè)沒(méi)有問(wèn)題,可以接通電源,接通電源后用示波器測(cè)量單片機(jī)的第30(ALE)引腳,觀察該引腳電平的變化。如果該引腳輸出的是方波,則單片機(jī)已經(jīng)開(kāi)始工作。(提示:在接通電源之前,必須認(rèn)真清理電路板上的導(dǎo)線頭、剪下的元器件引腳以及焊錫屑等容易造成短路的雜物,同時(shí)清理電路板下面桌子上

28、的雜物,切勿將焊接好的電路板放到導(dǎo)體上面,以免造成短路。)(3)請(qǐng)將上面的調(diào)試過(guò)程、觀察到和測(cè)量到的結(jié)果記錄下來(lái)。3.4.6用Keil uVision2編寫(xiě)本情境中最小系統(tǒng)控制LED亮滅的程序使用Keil uVision2為上面制作的單片機(jī)最小系統(tǒng)控制LED燈編寫(xiě)一個(gè)程序。寫(xiě)完程序后編譯、連接,查看工程目錄下是否有以.hex為后綴的文件,這個(gè)文件就是Keil C51編譯器自動(dòng)編譯成的目標(biāo)代碼,把這個(gè)代碼固化到單片機(jī)的程序存儲(chǔ)器中,單片機(jī)就會(huì)按照你所編寫(xiě)的程序工作了。下面給出的是控制LED閃爍的參考程序:#include "reg52.h"#include "int

29、rins.h"#define LED_ON 0 /定義LED_ON為0#define LED_OFF 1 /定義LED_OFF為1sbit LED=P10;/定義P1.0口名字為L(zhǎng)ED/此處一般定義一些全局變量void main(void)/此處一般定義一些局部變量unsigned int x;/定義延時(shí)用的變量/此處一般寫(xiě)初始化的程序while(1)/程序運(yùn)行時(shí)的死循環(huán)LED=LED_ON;/使P1.0口輸出為低電平,led亮for(x=0;x<5000;x+)_nop_();/空指令函數(shù)單片機(jī)等待一個(gè)周期LED=LED_OFF;/使P1.0口輸出為高電平,led滅for(x=0;x<5000;x+)_nop_();/空指令函數(shù)單片機(jī)等待一個(gè)周期3.4.7固化程序 固化程序有很多種方法,以前51單片機(jī)常用的方法是用燒錄器進(jìn)行固化,但是調(diào)試過(guò)程中需要頻繁的插拔芯片,非常麻煩。本情境采用支持ISP固化方法的STC89C52,即單片機(jī)通過(guò)RS232電平轉(zhuǎn)換芯片和計(jì)算機(jī)串口連接,用單片機(jī)制造商提供的專用軟件STC-ISP下

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論