版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)說明書</b></p><p> 題目: 基于單片機(jī)的雙向流水燈 </p><p> 院(部): 機(jī)械工程學(xué)院 </p><p> 專業(yè)班級(jí): 機(jī)設(shè)10-10 </p><p> 學(xué) 號(hào): </p&g
2、t;<p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 2014 年 1 月 16 日</p><p> 課程設(shè)計(jì)(論文)任務(wù)書</p><p> 機(jī)械工程 院(部) 測(cè)控
3、 教研室</p><p> 2013 年 12 月 23 日</p><p><b> 目錄</b></p><p> 摘要………………………………………………………………………………………I</p><p> 緒論………………………………………………………………………………………1</p>&
4、lt;p> 1設(shè)計(jì)課題及意義………………………………………………………………………2</p><p> 1.1設(shè)計(jì)任務(wù)…………………………………………………………………………2</p><p> 1.2設(shè)計(jì)目的………………………………………………………………………2</p><p> 1.3設(shè)計(jì)意義………………………………………………………………………
5、…2</p><p> 2系統(tǒng)的硬件設(shè)計(jì)及原理………………………………………………………………3</p><p> 2.1 AT89C51單片機(jī)簡(jiǎn)介………………………………………………………3</p><p> 2.2復(fù)位電路………………………………………………………………5</p><p> 2.3時(shí)鐘電路…………………………………
6、………………………………6</p><p> 2.4流水燈電路……………………………………………………………………7</p><p> 2.5電路總圖…………………………………………………………………8</p><p> 3軟件設(shè)計(jì)…………………………………………………………………………9</p><p> 3.1主要設(shè)計(jì)軟件介紹……
7、…………………………………………………………9</p><p> 3.1.1 Proteus軟件介紹……………………………………………………9</p><p> 3.1.2 Keil軟件介紹…………………………………………………………9</p><p> 3.2設(shè)計(jì)思路………………………………………………………………11</p><p>
8、; 3.3軟件編程……………………………………………………………………12</p><p> 4軟件原理圖及調(diào)試仿真圖…………………………………………………………13</p><p> 4.1檢查硬件連接………………………………………………………………13</p><p> 4.2檢查軟件系統(tǒng)………………………………………………………………14</p&
9、gt;<p> 5硬件調(diào)試及實(shí)物圖……………………………………………………………………15</p><p> 5.1步驟………………………………………………………………………15</p><p> 5.2電路板調(diào)試………………………………………………………………………16</p><p> 設(shè)計(jì)體會(huì)及今后的改進(jìn)意見………………………………………
10、…………………17</p><p> 參考文獻(xiàn)…………………………………………………………………………………18</p><p> 基于單片機(jī)的雙向流水燈</p><p><b> 摘要</b></p><p> 經(jīng)年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。在實(shí)時(shí)和
11、自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善。在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或者數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。</p><p> 本次設(shè)計(jì)了一
12、個(gè)AT89CT51單片機(jī)控制的雙向流水燈,流水燈實(shí)際上就是一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即由單片機(jī)電路(含晶振電路、復(fù)位電路等)、串口電路、發(fā)光二極管電路和必要的軟件組成的單片機(jī)應(yīng)用系統(tǒng)。包括protues軟件仿真的硬件電路及keil軟件C語言編程方法,最后將程序?qū)懭腚娐钒逯?,體驗(yàn)單片機(jī)的自動(dòng)控制功能。該設(shè)計(jì)具有實(shí)際意義,可以在廣告業(yè)、媒體宣傳、裝飾業(yè)等領(lǐng)域得到廣泛應(yīng)用。</p><p> 關(guān)鍵詞
13、: AT89C51,雙向流水燈,C語言,Protues,Keil</p><p><b> 緒論</b></p><p> 當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代,在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。近年來隨
14、著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善。我們周圍有許多流水燈。通過單片機(jī)的控制,我們可以把城市的夜晚裝飾的更漂亮。單片機(jī)實(shí)際上是微型計(jì)算機(jī)的一種,自從它問世以來,人們對(duì)它不斷地改進(jìn),以應(yīng)用于現(xiàn)代化社會(huì)的各方各面。單片機(jī)體積小,
15、價(jià)格低廉,開發(fā)較為容易,可根據(jù)需要制作成各種智能控制器以代替人工的操作,實(shí)現(xiàn)自動(dòng)化。在我國(guó),由于ASIC(專用集成電路)的生產(chǎn)還跟不上,單片機(jī)的作用更加地重要,在智能儀器儀表、工業(yè)設(shè)備過程控制、家用電器中,都可以見到它的蹤跡。</p><p> 單片機(jī)應(yīng)用的意義不僅在于它的廣闊范圍及所帶來的經(jīng)濟(jì)效益。更重要的意義在于,單片機(jī)的應(yīng)用從根本上改變了控制系統(tǒng)傳統(tǒng)的設(shè)計(jì)思想和設(shè)計(jì)方法。以前采用硬件電路實(shí)現(xiàn)的大部分控制功
16、能,正在用單片機(jī)通過軟件方法來實(shí)現(xiàn)。以前自動(dòng)控制中的PID調(diào)節(jié),現(xiàn)在可以用單片機(jī)實(shí)現(xiàn)具有智能化的數(shù)字計(jì)算控制、模糊控制和自適應(yīng)控制。這種以軟件取代硬件并能提高系統(tǒng)性能的控制技術(shù)稱為微控技術(shù)。</p><p><b> 1 設(shè)計(jì)課題及意義</b></p><p><b> 1.1設(shè)計(jì)任務(wù)</b></p><p> 基于
17、單片機(jī)的雙向來回流水燈,利用51單片機(jī)、8個(gè)LED燈等器件,設(shè)計(jì)一個(gè)單片機(jī)輸入顯示系統(tǒng),實(shí)現(xiàn)用單片機(jī)控制的LED燈的雙向來流動(dòng),并畫出硬件電路圖,編程,仿真。</p><p><b> 1.2 設(shè)計(jì)目的</b></p><p> 1、掌握AT80C51單片機(jī)輸入/輸出口的應(yīng)用及軟硬件實(shí)現(xiàn),以及可編程序控制器技術(shù)應(yīng)用過程中的一些基本技能。</p>&l
18、t;p> 2、鞏固、加深已學(xué)的理論知識(shí),了解LED燈動(dòng)態(tài)流動(dòng)顯示原理和程序設(shè)計(jì)方法。</p><p> 3、掌握Keil軟件編寫程序并生成燒寫文件。</p><p> 4、熟悉單片機(jī)仿真軟件proteus,掌握運(yùn)用其模擬及仿真功能,了解可編程控制器的裝備、調(diào)試的全過程。</p><p><b> 1.3設(shè)計(jì)意義</b></p
19、><p> 培養(yǎng)我們綜合運(yùn)用所學(xué)的理論知識(shí)和基本技能的能力,尤其是培養(yǎng)把理論和實(shí)際結(jié)合起來分析和解決問題的能力。</p><p> 2 系統(tǒng)的硬件設(shè)計(jì)及原理 </p><p> 2.1 AT89C51單片機(jī)簡(jiǎn)介</p><p> 按照單片機(jī)系統(tǒng)擴(kuò)展與系統(tǒng)配置狀況,單片機(jī)應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT89C51單片機(jī)
20、是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),具有豐富的內(nèi)部資源:4kB閃存、128BRAM、32根I/O口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)向量?jī)杉?jí)中斷結(jié)構(gòu)、2個(gè)全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機(jī)時(shí)無須外擴(kuò)存儲(chǔ)器。因此,本流水燈實(shí)際上就是一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。&
21、lt;/p><p><b> ?。?)主要特性:</b></p><p> ·與MCS-51 兼容 </p><p> ·4K字節(jié)可編程閃爍存儲(chǔ)器 </p><p> ·壽命:1000寫/擦循環(huán)</p><p> ·數(shù)據(jù)保留時(shí)間:10年</p>
22、;<p> ·全靜態(tài)工作:0Hz-24Hz</p><p> ·三級(jí)程序存儲(chǔ)器鎖定</p><p> ·128*8位內(nèi)部RAM</p><p> ·32可編程I/O線</p><p> ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>
23、; ·5個(gè)中斷源 </b></p><p><b> ·可編程串行通道</b></p><p> ·低功耗的閑置和掉電模式</p><p> ·片內(nèi)振蕩器和時(shí)鐘電路</p><p><b> (2)管腳說明:</b></p>
24、<p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為
25、原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口
26、為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程
27、和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p&
28、gt; 口管腳 備選功能</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)</p&
29、gt;<p> P3.5 T1(記時(shí)器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周
30、期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只
31、有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(00
32、00H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p><b> (3)振蕩器特性:</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石
33、晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b> (4)芯片擦除:</b></p><p> 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來完成
34、。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p
35、> XTAL1:單芯片系統(tǒng)時(shí)鐘的反向放大器輸入端。 </p><p> XTAL2:系統(tǒng)時(shí)鐘的反向放大器輸出端,一般在設(shè)計(jì)上只要在XTAL1和XTAL2上接上一只石英震蕩晶體系統(tǒng)就可以工作了,此外可以在兩引腳與地之間加入20PF的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪音干擾而死機(jī)。</p><p>
36、; RESET:重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶體重置時(shí),只要對(duì)此引腳電平提升至高電平并保持兩個(gè)及其周期以上的時(shí)間便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器內(nèi)容均被設(shè)成已知狀態(tài)。</p><p> P3:端口3是具有內(nèi)部提升電路的雙向I/O端口,通過控制各個(gè)端口的高低電平了實(shí)現(xiàn)LED流水燈的控制。</p><p><b> 2.2 復(fù)位電路</b><
37、/p><p> 單片機(jī)在啟動(dòng)或者程序運(yùn)行錯(cuò)誤時(shí)都需要復(fù)位,為了防止程序運(yùn)行錯(cuò)誤,系統(tǒng)加入了一個(gè)復(fù)位電路,必要時(shí)或者需要程序從頭開始時(shí),可以按下復(fù)位鍵,使程序從頭開始運(yùn)行,如圖2-2所示,當(dāng)按下按鍵時(shí),就能完成整個(gè)系統(tǒng)的復(fù)位,使得程序從新運(yùn)行。以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。所以有必要設(shè)計(jì)一個(gè)復(fù)位電路。</p><p> 89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入
38、到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。</p><p> 手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(如圖2-3)。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到R
39、ST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。</p><p> 這里選擇普通開關(guān)、R1選1k歐,C1選普通22pF瓷片電容。</p><p> 圖2-2 復(fù)位電路</p><p><b> 2.3 時(shí)鐘電路</b></p><p> 時(shí)鐘
40、電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。</p><p> 在AT89C51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳X1,輸出端為引腳X2,在芯片的外部跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。 此電路采用12MHz的石英晶體。這個(gè)放大器與作為反饋元件的片外石
41、英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1,C2雖然沒有什么嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF10PF,而如果使用陶瓷振蕩器建議選擇40PF10PF。用戶也可以采用外部時(shí)鐘。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL
42、2則懸空。由于外部時(shí)鐘信號(hào)是通過一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p> 圖2-3 時(shí)鐘電路</p><p><b> 2.4流水燈電路</b></p><p> 本流水燈實(shí)際上就是一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)
43、最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。從原理圖中可以看出,如果要讓接在P1.0口的LED1亮起來,那么只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤耍幌喾?,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖?;同理,接在P1.1~P1.7口的其他7個(gè)LED的點(diǎn)亮和熄滅的方法同LED1。同時(shí),在電路中加一個(gè)電阻,可使電路電流穩(wěn)定。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1~
44、LED8依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的就做成流水燈了。</p><p> 圖2-4 流水燈電路</p><p><b> 2.5電路總圖</b></p><p> 將上述各電路元件在PROTUES依次找出,并連接,得到如下電路總圖</p><p> 圖2-5 硬件電路圖</p>&
45、lt;p><b> 3軟件設(shè)計(jì)</b></p><p> 3.1主要設(shè)計(jì)軟件介紹</p><p> 3.1.1Proteus軟件介紹</p><p> Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還
46、能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、
47、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p> Proteus軟件主要具有的幾個(gè)特點(diǎn)如下:</p><p> (1)智能原理圖設(shè)計(jì)(ISIS)</p>&
48、lt;p> ?。?)完善的電路仿真功能(Prospice)</p><p> ?。?)獨(dú)特的單片機(jī)協(xié)同仿真功能(VSM)</p><p> (4)實(shí)用的PCB設(shè)計(jì)平臺(tái)</p><p> 在Proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。 </p><p&g
49、t; Proteus不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。</p><p> 它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。</p><p> 3.1
50、.2KEIL軟件介紹</p><p> 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種Keil軟件圖標(biāo)是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)
51、試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。</p><p> Keil C51開發(fā)系統(tǒng)基本知識(shí)Keil C51開發(fā)系統(tǒng)基本知識(shí)</p><p><b> 1. 系統(tǒng)概述</b></p><p> Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯
52、編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。</p><p> Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。下
53、面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。</p><p> 2. Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)</p><p> C51工具包的整體結(jié)構(gòu),其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分
54、別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。</p><p><b> 3.2 設(shè)計(jì)思路</b&g
55、t;</p><p> 8個(gè)發(fā)光二極管LED0~LED7經(jīng)限流電阻分別接至P1口的P1.0~P1.7引腳上,陽極共同接高電平。編程實(shí)現(xiàn)制作左右來回循環(huán)的流水燈,顯示規(guī)律如下圖所示。</p><p> 圖3-1 流水燈顯示的規(guī)律</p><p><b> 3.3 軟件編程</b></p><p> 使用C51編流
56、水燈程序以及設(shè)計(jì)相應(yīng)的硬件電路十分簡(jiǎn)單,且有多種方法。本方案力求程序最簡(jiǎn)化最清晰原則,用流程圖表示算法如下:</p><p><b> 3-2 程序流程圖</b></p><p> 程序中設(shè)置中間變量temp用來給P1口賦值,命令_crol_和_cror_用于使temp左移或右移,例如當(dāng)temp=11111110B時(shí),執(zhí)行_crol_(temp,1)之后temp=
57、11111101,應(yīng)用此兩條語句必須把頭文件<intrins.h>包含進(jìn)來。</p><p><b> 全部代碼如下:</b></p><p> #include<reg51.h></p><p> #include<intrins.h></p><p> unsigned c
58、har temp; //定義字符變量temp,temp左移或右移并給連接LED的P1口賦值</p><p> int a; //定義延遲函數(shù)delay()</p><p> void delay(void);</p><p> void main()</p><p><b> {</b&g
59、t;</p><p> temp=0xfe; //給temp賦初值</p><p> P1=temp; //temp賦值給P1口,第一個(gè)LED(紅色)點(diǎn)亮</p><p> while(1) //主程序,括號(hào)中的程序?qū)⒁恢毖h(huán)</p><p><b> {</b><
60、/p><p> for(a=0;a<7;a++) //左移部分,LED從左到右依次點(diǎn)亮</p><p><b> {</b></p><p> temp=_crol_(temp,1); //_crol_語句控制變量temp左移</p><p> delay(); //每個(gè)燈點(diǎn)亮之后延遲一會(huì)
61、在點(diǎn)下一個(gè)燈</p><p><b> P1=temp;</b></p><p><b> }</b></p><p> for(a=0;a<7;a++) //右移部分,LED從右到左依次點(diǎn)亮</p><p><b> {</b></p>&
62、lt;p> temp=_cror_(temp,1); //第8個(gè)燈點(diǎn)亮后開始右移程序,LED從右向左點(diǎn)亮</p><p> delay();</p><p><b> P1=temp;</b></p><p><b> }</b></p><p><b> }&l
63、t;/b></p><p><b> }</b></p><p> void delay() //延時(shí)子程序</p><p><b> {</b></p><p> int i,j; //定義局部變量i,j</p><p> for
64、(i=200;i>0;i--) //i,j不斷計(jì)數(shù)占用CPU時(shí)間,達(dá)到延時(shí)目的</p><p> for(j=1;j<150;j++);</p><p><b> }</b></p><p> 4 軟件原理圖及調(diào)試仿真圖</p><p><b> 4.1檢查硬件連接</b&g
65、t;</p><p> 在PROTUES檢查各硬件管腳是否連接正確,線路邏輯是否正確。</p><p><b> 例如:</b></p><p><b> 晶振電路的連接;</b></p><p> 復(fù)位電路是否設(shè)計(jì)正確;</p><p> 電阻和電容參數(shù)是否恰當(dāng)?shù)?/p>
66、</p><p> 圖4-1 軟件原理圖</p><p><b> 4.2檢查軟件系統(tǒng)</b></p><p> (1)根據(jù)系統(tǒng)的原理結(jié)構(gòu)檢查各流程圖是否正確,再根據(jù)流程圖來檢查程序是否也正確。</p><p> ?。?)將所有程序組織起來,在軟件環(huán)境下運(yùn)行,檢查程序是否正確。通過對(duì)硬件和軟件系統(tǒng)的認(rèn)真檢查,反復(fù)測(cè)
67、試,如果沒有出現(xiàn)問題即可把源程序編譯成HEX文件裝載到單片機(jī)中,對(duì)硬件進(jìn)行仿真。</p><p> 圖4-2 軟件仿真圖</p><p><b> 5硬件調(diào)試及實(shí)物圖</b></p><p><b> 5.1步驟</b></p><p> 1打開程序,選取正確的電路板型號(hào)</p>
68、;<p> 2點(diǎn)擊open file,選取已生成的LED.hex文件</p><p> 3選取正確的com口,波特率選用默認(rèn)值</p><p> 4點(diǎn)擊Download/下載按鈕進(jìn)行冷啟動(dòng),然后打開實(shí)驗(yàn)板電源,如圖5-1所示:</p><p><b> 5-1 硬件調(diào)試圖</b></p><p>&
69、lt;b> 5.2電路板調(diào)試 </b></p><p> 待上述步驟完成后,打開電源,程序?qū)懭氤晒螅娐钒屣@示結(jié)果如圖5-2:</p><p><b> 5-2 電路板調(diào)試</b></p><p> 設(shè)計(jì)體會(huì)及今后的改進(jìn)意見</p><p> 本次課程設(shè)計(jì)對(duì)平時(shí)很少動(dòng)手操作得我是一次很好的鍛
70、煉,回顧整個(gè)過程,感悟良多:</p><p> 首先,這次課程設(shè)計(jì)對(duì)我來說是一個(gè)跳板,不管我們把課堂上的問題想得多么透徹,但真正上機(jī)運(yùn)行卻是困難重重,漏洞百出,真正只有在實(shí)踐中才能檢驗(yàn)是否真正學(xué)懂了知識(shí),學(xué)活了方法。</p><p> 其次,在設(shè)計(jì)中,我翻閱了很多單片機(jī)課程設(shè)計(jì)的相關(guān)資料,對(duì)這門學(xué)科有了新的認(rèn)識(shí),同時(shí)也開闊了我的眼界。</p><p> 最重要
71、的,是自己用心學(xué)習(xí)過后,對(duì)自己知識(shí)上的欠缺有了新的認(rèn)識(shí),光靠課堂上學(xué)的那些知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,不僅需要自己動(dòng)手查閱相關(guān)資料,而且還得把學(xué)到的運(yùn)用到生活中。</p><p> 這次課程設(shè)計(jì)是對(duì)我的一次檢驗(yàn),也是對(duì)我的一次提醒。看到差距就要加油彌補(bǔ),雖然這次的課程設(shè)計(jì)過程中有些不順利,但是勤能補(bǔ)拙,我會(huì)不斷學(xué)習(xí)!</p><p><b> 參考文獻(xiàn)</b></p&
72、gt;<p> [1]張友德等.單片機(jī)原理應(yīng)用與實(shí)驗(yàn)[M].復(fù)旦大學(xué)出版社,1992.</p><p> [2]張毅剛,彭喜源,譚曉鈞,曲春波.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱工業(yè)大學(xué)出版社,2001.1.</p><p> [3]宋慶環(huán),才衛(wèi)國(guó),高志.89C51單片機(jī)在直流電動(dòng)機(jī)調(diào)速系統(tǒng)中的應(yīng)用[M].唐山學(xué)院,2008.4</p><p&
73、gt; [4]楊加國(guó).單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2008.3</p><p> [5]李維軍,韓小剛,李 晉.基于單片機(jī)用軟件實(shí)現(xiàn)直流電機(jī)PWM調(diào)速系統(tǒng)[J],維普資訊,2007.9</p><p> [6]曹巧媛.單片機(jī)原理及應(yīng)用[M].北京,電子工業(yè)出版社,1997.9</p><p> [7]劉大茂,嚴(yán)飛.單片機(jī)應(yīng)用
74、系統(tǒng)監(jiān)控主程序的設(shè)計(jì)方法[J].福州大學(xué)學(xué)報(bào)(自然科學(xué)福建農(nóng)林大學(xué)碩士論文版),1998.2.</p><p> [8]朱定華,戴汝平編著.單片機(jī)原理與應(yīng)用[M].清華大學(xué)出版社北方交通大學(xué)出版社,2003.8.</p><p> [9]薛鈞義,張彥斌編著. MCS—51/96系列單片微型計(jì)算[M].西安交通大學(xué)出版社,1997.8</p><p> [10]
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)-- 基于單片機(jī)的雙向流水燈
- 課程設(shè)計(jì)-- 基于單片機(jī)的雙向流水燈.doc
- 單片機(jī)流水燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---流水燈
- 單片機(jī)課程設(shè)計(jì)報(bào)告-- 流水燈
- 單片機(jī)課程設(shè)計(jì)---led流水燈
- 單片機(jī)課程設(shè)計(jì)--廣告流水燈設(shè)計(jì)
- 課程設(shè)計(jì)-基于單片機(jī)的led流水燈設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的led流水燈系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--花樣流水燈設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--音樂流水燈
- 可控流水燈單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)led流水燈設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)(論文)基于單片機(jī)的心形流水燈設(shè)計(jì)
- 基于單片機(jī)的流水燈設(shè)計(jì)
- 單片機(jī)原理與應(yīng)用課程設(shè)計(jì)---流水燈的設(shè)計(jì)
- 基于單片機(jī)的音樂流水燈
- 信息與通信學(xué)院課程設(shè)計(jì)--- 基于51單片機(jī)的流水燈
- 基于單片機(jī)at89c51控制的鍵控流水燈課程設(shè)計(jì)報(bào)告
- 基于單片機(jī)at89c51控制的中斷控制流水燈課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論