匯編語(yǔ)言計(jì)數(shù)器出租車計(jì)費(fèi)課程設(shè)計(jì)_第1頁(yè)
匯編語(yǔ)言計(jì)數(shù)器出租車計(jì)費(fèi)課程設(shè)計(jì)_第2頁(yè)
匯編語(yǔ)言計(jì)數(shù)器出租車計(jì)費(fèi)課程設(shè)計(jì)_第3頁(yè)
匯編語(yǔ)言計(jì)數(shù)器出租車計(jì)費(fèi)課程設(shè)計(jì)_第4頁(yè)
匯編語(yǔ)言計(jì)數(shù)器出租車計(jì)費(fèi)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、提供全套畢業(yè)設(shè)計(jì),歡迎咨詢單片機(jī)原理與應(yīng)用課程設(shè)計(jì)報(bào)告院 系 :湖南工業(yè)大學(xué)理學(xué)院專業(yè)(級(jí)):12電子科學(xué)(1)班姓 名:學(xué) 號(hào):指導(dǎo)教師:職 稱:完成日期:2014 年 12 月 12日目 錄1 引 言12設(shè)計(jì)任務(wù)與要求22.1 設(shè)計(jì)任務(wù)22.2 設(shè)計(jì)要求33 方案總體設(shè)計(jì)33.1 顯示時(shí)間方案的選擇23.2 總體設(shè)計(jì)23.3總體設(shè)計(jì)24 硬件設(shè)計(jì)34.1.0 單片機(jī)最小系統(tǒng)34.1.1 stc89c52單片機(jī)特性參數(shù)44.1.2 stc89c52rc主要引腳功能54.1.3 stc89c52rc的中斷源54.1.4 時(shí)鐘電路54.1.5 復(fù)位電路64.2 數(shù)碼換顯示電路64.3 整體電路9

2、5 軟件設(shè)計(jì)95.1 keil c簡(jiǎn)介95.2 程序流程圖95.3 keil調(diào)試過(guò)程186 系統(tǒng)仿真與實(shí)現(xiàn)206.1 proteus仿真軟件簡(jiǎn)介206.2 仿真調(diào)試過(guò)程206.3 實(shí)物制作227 設(shè)計(jì)總結(jié)23參 考 文 獻(xiàn)24(頁(yè)碼有誤,大家可以改一下)261 引 言十進(jìn)制加法計(jì)算器的原理與設(shè)計(jì)是單片機(jī)課程設(shè)計(jì)課題中的一個(gè)。在完成理論學(xué)習(xí)和必要的實(shí)驗(yàn)后,我們掌握了單片機(jī)的基本原理以及編程和各種基本功能的應(yīng)用,但對(duì)單片機(jī)的硬件實(shí)際應(yīng)用設(shè)計(jì)和單片機(jī)完整的用戶程序設(shè)計(jì)還不清楚,實(shí)際動(dòng)手能力不夠,因此對(duì)該課程進(jìn)行一次課程設(shè)計(jì)是有必要的。單片機(jī)課程設(shè)計(jì)既要讓學(xué)生鞏固課本學(xué)到的理論,還要讓學(xué)生學(xué)習(xí)單片機(jī)硬

3、件電路設(shè)計(jì)和用戶程序設(shè)計(jì),使所學(xué)的知識(shí)更深一層的理解,十進(jìn)制加法計(jì)算器原理與硬軟件的課程設(shè)計(jì)主要是通過(guò)學(xué)生獨(dú)立設(shè)計(jì)方案并自己動(dòng)手用計(jì)算機(jī)電路設(shè)計(jì)軟件,編寫(xiě)和調(diào)試,最后仿真用戶程序,來(lái)加深對(duì)單片機(jī)的認(rèn)識(shí),充分發(fā)揮學(xué)生的個(gè)人創(chuàng)新能力,并提高學(xué)生對(duì)單片機(jī)的興趣,同時(shí)學(xué)習(xí)查閱資料、參考資料的方法。2設(shè)計(jì)任務(wù)與要求21 外部脈沖自動(dòng)計(jì)數(shù),自動(dòng)顯示。211設(shè)計(jì)一個(gè)255計(jì)數(shù)器:0255計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。255計(jì)數(shù)設(shè)計(jì)思路:255可用8位二進(jìn)制數(shù)表示,故本設(shè)計(jì)可直接采用可以重裝載的計(jì)數(shù)器t1模式二進(jìn)行計(jì)數(shù)。然后對(duì)tl1的內(nèi)容進(jìn)行相應(yīng)的二進(jìn)制-十進(jìn)制轉(zhuǎn)換:首先tl1的內(nèi)容除以6

4、4h,所的商就是十進(jìn)制的百位,然后用余數(shù)除以0ah,所得的商就是十進(jìn)制數(shù)的十位,余數(shù)即相應(yīng)的十進(jìn)制的個(gè)位。接著將相應(yīng)的十進(jìn)制數(shù)進(jìn)行譯碼,并在led數(shù)碼管上顯示出來(lái)。每來(lái)一個(gè)脈沖其顯示的結(jié)果加一,直加至255然后t1重新開(kāi)始計(jì)數(shù)。212設(shè)計(jì)一個(gè)50000計(jì)數(shù)器:050000計(jì)數(shù),計(jì)滿后自動(dòng)清0,重新計(jì)數(shù)(在數(shù)碼管中顯示)。22 設(shè)計(jì)一個(gè)出租車計(jì)費(fèi)系統(tǒng): 起步價(jià)為5元(2km以內(nèi)),2km后,0.8元/0.5km;要求每500m刷新計(jì)費(fèi)一次,在8位數(shù)碼管中,前4位顯示數(shù)碼管顯示里程數(shù),后4位數(shù)碼管顯示價(jià)錢(qián)(角,元,十元,百元)2.3設(shè)計(jì)要求要求首先采用proteus完成單片機(jī)最小系統(tǒng)的硬件電路設(shè)計(jì)

5、及仿真實(shí)現(xiàn)2.1外部脈沖計(jì)數(shù);程序仿真測(cè)試通過(guò)后,再下載到單片機(jī)實(shí)訓(xùn)板上執(zhí)行1.2出租車計(jì)費(fèi)系統(tǒng)。3 方案總體設(shè)計(jì)3.1 顯示時(shí)間方案的選擇方案一:采用數(shù)碼管顯示,半導(dǎo)體數(shù)碼管不僅具有工作電壓低、體積小、壽 命長(zhǎng)、可靠性高等優(yōu)點(diǎn),而且響應(yīng)時(shí)間短(一般不超過(guò)0.1us),亮度也比較高。方案二:采用液晶顯示,液晶顯示器的最大優(yōu)點(diǎn)是功耗極小。但是,由于它本身不會(huì)發(fā)光,僅僅靠反射外界光線顯示字形,所以亮度很差。通過(guò)上述兩種方案的對(duì)比,顯然可以發(fā)現(xiàn),對(duì)于交通燈時(shí)間的顯示,數(shù)碼管顯示更加適合,可靠,所以選擇方案一。4 硬件設(shè)計(jì)4.1.0單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)由一塊單片機(jī)、一個(gè)時(shí)鐘電路和一個(gè)復(fù)位電路組

6、成。如圖3所示。圖14.1.1 stc89c52rc主要參數(shù)stc89c52rc單片機(jī)8k字節(jié)程序存儲(chǔ)空間;512字節(jié)數(shù)據(jù)存儲(chǔ)空間;內(nèi)帶2k字節(jié)eeprom存儲(chǔ)空間;可直接使用串口下載;8k字節(jié)程序存儲(chǔ)空間;256字節(jié)數(shù)據(jù)存儲(chǔ)空間。1.增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.2.工作電壓:5.5v3.3v(5v 單片機(jī))/3.8v2.0v(3v 單片機(jī))3.工作頻率范圍:040mhz,相當(dāng)于普通8051的080mhz,實(shí)際工作頻率可達(dá)48mhz;4.用戶應(yīng)用程序空間為8k字節(jié);5.片上集成512字節(jié)ram;6.通用i/o口(32個(gè))

7、,復(fù)位后為:p0/p1/p2/p3是準(zhǔn)雙向口/弱上拉,p0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為i/o口用時(shí),需加上拉電阻,設(shè)計(jì)電路時(shí)需要注意這點(diǎn)。共3個(gè)16位定時(shí)/計(jì)數(shù)器,分別為t0,t1,t2.4.1.2 stc89c52rc主要引腳功能stc89c51引腳圖如圖4所示,其主要芯片功能如下所示。圖2 stc89c52引腳圖vcc:電源電壓gnd:接地p0口:p0口是一組8位雙向i/o口。p0口即可作地址/數(shù)據(jù)總線使用,又可以作為通用的i/o口使用。p1口:p1是一個(gè)帶內(nèi)部上拉電阻的8準(zhǔn)位雙向i/o口,p1作為通用的i/o口使用。p2口:p2是一個(gè)帶有內(nèi)部上拉電阻的8 位準(zhǔn)

8、雙向i/o口 p3口:p3口是一組帶有內(nèi)部上拉電阻的8 位準(zhǔn)雙向i/0口rst:復(fù)位輸入程序儲(chǔ)存允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào)/vpp:外部訪問(wèn)允許xtal1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端xtal2:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸:出端4.1.3 stc89c52rc的中斷源89c52有6個(gè)中斷源,它們是兩個(gè)外中斷int0(p3.2)和int1(p3.3)、三個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器溢出中斷tf0,tf1,tf2、一個(gè)是片內(nèi)串行口中斷ti或ri,這幾個(gè)中斷源由tcon和scon兩個(gè)特殊功能寄存器進(jìn)行控制。4.1.4 時(shí)鐘電路此次設(shè)計(jì)的時(shí)鐘電路由一個(gè)12mhz的晶振和兩個(gè)2

9、2pf的陶瓷貼片電容組成。89c52芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。引線xtal1和xtal2分別為反向放大器的輸入和輸出,兩端跨接石英晶體及兩個(gè)電容就可構(gòu)成穩(wěn)定的自激振蕩器。而電容器c1,c2起穩(wěn)定振蕩頻率,并對(duì)振蕩頻率有微調(diào)作用,c1和c2可在20-100pf之間取值,這里取22pf。電路如圖3所示。圖3 時(shí)鐘電路4.1.5 復(fù)位電路手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端rst上加入高電平。一般采用的辦法是在rst端和正電源vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則vcc的+5v電平就會(huì)直接加到rst端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以

10、,完全能夠滿足復(fù)位的時(shí)間要求。通常采用手動(dòng)復(fù)位和上電自動(dòng)復(fù)位結(jié)合,其電路如圖6所示。圖4 復(fù)位電路4.2 數(shù)碼換顯示電路顯示電路既可以選用液晶顯示器,也可以選用數(shù)碼管顯示。我采用的是數(shù)碼管顯示電路。用八個(gè)共陰極數(shù)碼管顯示,led是七段式顯示器,內(nèi)部有7個(gè)條形發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。共陰數(shù)碼管的碼表為如表2所示。表2 共陰數(shù)碼管碼表01234567890x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f在用數(shù)碼管顯示時(shí),我們有靜態(tài)和動(dòng)態(tài)兩種選擇,靜態(tài)顯示程序簡(jiǎn)單,顯示穩(wěn)定,但是占用端口比較多;動(dòng)態(tài)顯示所使用的端口比較少,可以節(jié)省

11、單片機(jī)的i/o口。led數(shù)碼管的顯示原理:數(shù)碼管有段選與位選兩個(gè)使能端,由于采用共陰極數(shù)碼管,要把數(shù)碼管點(diǎn)亮,就必須給位選選通,至于顯示什么數(shù)字,只需給段選輸入數(shù)據(jù)即可。通過(guò)給52單片機(jī)p0口送入初始值,并用p0口來(lái)控制段選位,p2.6、p2.7口來(lái)控制位顯來(lái)實(shí)現(xiàn)動(dòng)態(tài)顯示,來(lái)顯示各燈所在狀態(tài)的顯示時(shí)間。在設(shè)計(jì)中,我們采用led數(shù)碼管動(dòng)態(tài)顯示,用p0口驅(qū)動(dòng)顯示。由于p0口的輸出級(jí)時(shí),數(shù)碼管顯示的亮度不夠,根據(jù)以前學(xué)習(xí)的知識(shí)及學(xué)長(zhǎng)們的經(jīng)驗(yàn),只需給p0口強(qiáng)勢(shì)上拉10k排阻,經(jīng)實(shí)驗(yàn)驗(yàn)證,p0口上拉10k排阻后,數(shù)碼管顯示較亮。電路圖如圖7所示。圖5 數(shù)碼管顯示電路其中單片機(jī)p0口與數(shù)碼管各引腳之間的連

12、接關(guān)系分別為: p0.0-a p0.1-b p0.2-c p0.3-d p0.4-e p0.5-f p0.6-g p0.7-dp其中a,b,c,d,e,f,g,dp在數(shù)碼管上的位置如圖8所示。圖6 數(shù)碼管4.3 整體電路將各模塊電路整合到一起就形成了系統(tǒng)工作電路,如圖7所示。在altium designer 中畫(huà)出電路原理圖,檢查電路沒(méi)有錯(cuò)誤后,可在proteus環(huán)境下進(jìn)行仿真,就可看到整個(gè)系統(tǒng)的工作狀態(tài),即可模擬出實(shí)際交通燈的工作狀態(tài)。圖7 整個(gè)電路工作原理圖5 軟件設(shè)計(jì)5.1 keil c簡(jiǎn)介keilc51標(biāo)準(zhǔn)c編譯器為8051微控制器的軟件開(kāi)發(fā)提供c語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼高效,快速

13、的特點(diǎn)。c51編譯器的功能不斷增強(qiáng),使你可以更加貼近c(diǎn)pu本身,及其它的衍生產(chǎn)品。c51已被完全集成到uvision2的集成開(kāi)發(fā)環(huán)境中,這個(gè)集成開(kāi)發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uvision2ide可為它們提供單一而靈活的開(kāi)發(fā)環(huán)境。c51v7版本是目前最高效、靈活的8051開(kāi)發(fā)平臺(tái)。它可以支持所有8051的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時(shí)支持其它第三方開(kāi)發(fā)工具。5.2 程序流程5.2.1計(jì)數(shù)程序流程圖開(kāi)始初始化堆棧,定時(shí)器初始化清零相關(guān)ram地址單元tf1=1?調(diào)用顯示子程序脈沖數(shù)加1即20h加120h=100?21h加120清零計(jì)算出脈沖數(shù)的個(gè),十,

14、百位分別存放于30h,31h,32h(20h=54)&(21h=2?)脈沖數(shù)計(jì)到255后重新計(jì)數(shù)即20h,21h清零說(shuō)明:1. 20h存放脈沖的個(gè)位和十位數(shù)值,21h存放脈沖的百位和千位數(shù)值。 2.計(jì)算脈沖數(shù)的個(gè)位和十位數(shù)值:(20h)/10的商即十位數(shù)值存放于31h,余數(shù)即個(gè)位數(shù)值存放于30h。 3. 計(jì)算脈沖數(shù)的百位數(shù)值:(20h)/10的余數(shù)即百位數(shù)值存放于32h。例如:脈沖數(shù)212(十進(jìn)制),(20h)=12,(21h)=2。脈沖的個(gè)位數(shù)值(30h)=2, 脈沖的十位數(shù)值(31h)=1, 脈沖的百位數(shù)值(32h)=2. 255計(jì)數(shù)程序流程圖5.2.2循環(huán)計(jì)數(shù)0255 org 0000h

15、 gee equ 20h shi equ 21h bai equ 22h ljmp mian org 0030h mian:mov p2,#0 mov sp,#90h mov tmod,#60h mov th1, #00h ;此指令可有可無(wú) mov tl1, #00h setb tr1 loop:acall display sjmp loop ;顯示子程序 display: mov a,tl1 mov b,#100 div ab mov bai,a mov a,b mov b,#10 div ab mov shi,a mov gee,b mov dptr,#tab mov r0,#3 mov

16、a,bai ;輸入百位 movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0dfh setb p2.7 nop acall delay mov p0,#0ffh clr p2.7 mov a,shi ;輸入十位 movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0bfh setb p2.7 nop acall delay mov p0,#0ffh clr p2.7 mov a,gee ;輸入個(gè)位 movc a,a+dptr mov p0,a setb p2.6 nop clr p

17、2.6 mov p0,#7fh setb p2.7 nop acall delay mov p0,#0ffh clr p2.7 ret delay: mov r3,#80 djnz r3,$ ret tab: db 3fh, 06h, 5bh, 4fh, 66h db 6dh, 7dh, 07h, 7fh, 6fh end5.2.2循環(huán)計(jì)數(shù)050000 org 0000h gee equ 20h shi equ 21h bai equ 22h qia equ 23h wan equ 24h ljmp mian org 0003h ljmp into org 0030h mian:mov p2,

18、#0 mov sp,#90h setb ea setb ex0 setb it0 mov gee,#0 mov shi,#4 mov bai,#3 mov qia,#2 mov wan,#1 loop:acall display sjmp loop ;顯示子程序 display: mov dptr,#tab mov a,wan movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0f7h setb p2.7 nop lcall delay mov p0,#0ffh clr p2.7 mov a,qia movc a,a+dptr mov

19、p0,a setb p2.6 nop clr p2.6 mov p0,#0efh setb p2.7 nop lcall delay mov p0,#0ffh clr p2.7 mov a,bai movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0dfh setb p2.7 nop lcall delay mov p0,#0ffh clr p2.7 mov a,shi movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0bfh setb p2.7 nop lcall delay

20、 mov p0,#0ffh clr p2.7 mov a,gee movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#7fh setb p2.7 nop lcall delay mov p0,#0ffh clr p2.7 ret ;中斷程序 into: lcall delay1 push acc mov a,wan cjne a,#5,loop1 mov wan,#0 sjmp loop2 loop1: inc gee loop2: mov a,gee cjne a,#10,goo mov gee,#0 inc shi mov a,shi

21、 cjne a,#10,goo mov shi,#0 inc bai mov a,bai cjne a,#10,goo mov bai,#0 inc qia mov a,qia cjne a,#10,goo mov qia,#0 inc wan goo: pop acc reti delay: mov r3,#80 djnz r3,$ ret delay1:mov r1,#2 loop4:mov r0,#255 loop3:nop nop djnz r0,loop3 djnz r1,loop4 ret tab: db 3fh, 06h, 5bh, 4fh, 66h db 6dh, 7dh, 0

22、7h, 7fh, 6fh end5.2.2出租車計(jì)費(fèi)系統(tǒng) org 0000h gee equ 20h shi equ 21h bai equ 22h qia equ 23h mge equ 24h msh equ 25h mba equ 26h mqi equ 27h ljmp mian org 0013h ljmp into org 0030h mian:mov r5,#20 mov r6,#25 mov p2,#0 mov sp,#90h setb ea setb ex1 setb it1 mov gee,#0 mov shi,#0 mov bai,#0 mov qia,#0 mov mg

23、e,#0 mov msh,#5 mov mba,#0 mov mqi,#0 loop:acall display ljmp loop ;顯示子程序 display: mov dptr,#tab mov a,qia movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0feh setb p2.7 lcall delay mov p0,#0ffh clr p2.7 mov a,bai movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0fdh setb p2.7 lcall delay

24、 mov p0,#0ffh clr p2.7 mov dptr,#tabo mov a,shi movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0fbh setb p2.7 lcall delay mov p0,#0ffh clr p2.7 mov dptr,#tab mov a,gee movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0f7h setb p2.7 lcall delay mov p0,#0ffh clr p2.7 ;計(jì)費(fèi)千 mov dptr,#tab mov

25、 a,mqi movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0efh setb p2.7 lcall delay mov p0,#0ffh clr p2.7 ;計(jì)費(fèi)百 mov a,mba movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#0dfh setb p2.7 lcall delay mov p0,#0ffh clr p2.7 ;計(jì)費(fèi)十 mov dptr,#tabo mov a,msh movc a,a+dptr mov p0,a setb p2.6 nop clr p

26、2.6 mov p0,#0bfh setb p2.7 lcall delay mov p0,#0ffh clr p2.7 ;計(jì)費(fèi)個(gè) mov dptr,#tabi mov a,mge movc a,a+dptr mov p0,a setb p2.6 nop clr p2.6 mov p0,#7fh setb p2.7 lcall delay mov p0,#0ffh clr p2.7 ret ;中斷程序 into: ; lcall delay1 push acc mov a,qia cjne a,#9,loop1 mov qia,#0 sjmp loop2 loop1: inc gee loop

27、2: mov a,gee cjne a,#10,goo mov gee,#0 inc shi mov a,shi cjne a,#10,goo mov shi,#0 inc bai mov a,bai cjne a,#10,goo mov bai,#0 inc qia ;2km時(shí)加費(fèi) goo: djnz r5,to mov r5,#5 inc mge mov r4,mge cjne r4,#5,to mov mge,#0 to: djnz r6,g mov r6,#5 mov a,mge cjne a,#1,bo ajmp g bo: inc msh mov a,msh cjne a,#10,

28、g mov msh,#0 inc mba mov a,mba cjne a,#10,g mov mba,#0 inc mqi mov a,mqi cjne a,#10,g mov mqi,#0 g: pop acc reti delay: mov r3,#80 ;延遲子函數(shù) djnz r3,$ ret delay1:mov r1,#40 ;延遲子函數(shù) loop4:mov r0,#255 loop3:nop nop djnz r0,loop3 djnz r1,loop4 ret tab: db 3fh, 06h, 5bh, 4fh, 66h db 6dh, 7dh, 07h, 7fh, 6fht

29、abo: db 0bfh, 86h, 0dbh, 0cfh, 0e6h db 0edh, 0fdh, 87h, 0ffh, 0efh tabi: db 3fh, 7fh, 7dh, 66h, 5bh end (編程注意“0”與“o”的區(qū)別) 5.3調(diào)試過(guò)程在keil中將程序代碼編完后,點(diǎn)擊rebuild鍵,編譯看一開(kāi)始,出現(xiàn)了好幾個(gè)錯(cuò)誤,經(jīng)過(guò)好久的調(diào)試與更改后,編譯時(shí)沒(méi)報(bào)錯(cuò),但是有些電路功能還是沒(méi)弄出來(lái),最后接近快一天的時(shí)候才將整個(gè)程序編出,終于將程序調(diào)試出來(lái)了。編譯成功后,先在keil中進(jìn)行調(diào)試仿真。圖8在keil中調(diào)試完成后,接著進(jìn)一步軟件測(cè)試,即可進(jìn)行電路仿真。6 系統(tǒng)仿真與實(shí)現(xiàn)6.1

30、proteus仿真軟件簡(jiǎn)介proteus是世界上著名的eda工具仿真軟件,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年又增加了cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等。proteus的操作(一)硬件電路圖的接法操作1.放置選擇(刪除)元器

31、件2.移動(dòng)元器件3.縮放視圖4.連接導(dǎo)線5.仿真,調(diào)試(二)單片機(jī)系統(tǒng)proteus設(shè)計(jì)與仿真過(guò)程proteus強(qiáng)大的單片機(jī)系統(tǒng)設(shè)計(jì)與仿真功能,使它可成為單片機(jī)系統(tǒng)應(yīng)用開(kāi) 發(fā)和改進(jìn)手段之一。全部過(guò)程都是在計(jì)算機(jī)上通過(guò)proteus來(lái)完成的。其過(guò)程一般也可分為三步:1.在isis平臺(tái)上進(jìn)行單片機(jī)系統(tǒng)電路設(shè)計(jì)、選擇元器件、接插件、連接電路和電氣檢測(cè)等,簡(jiǎn)稱proteus電路設(shè)計(jì)。2.在keil平臺(tái)上進(jìn)行單片機(jī)系統(tǒng)程序設(shè)計(jì)、編輯、匯編編譯、代碼級(jí)調(diào)試, 最后生成目標(biāo)代碼文件(*.hex)。簡(jiǎn)稱proteus源程序設(shè)計(jì)和生成目標(biāo)代碼文件。3.在isis平臺(tái)上將目標(biāo)代碼文件加載到單片機(jī)系統(tǒng)中,并實(shí)現(xiàn)單片

32、機(jī)系統(tǒng)的實(shí)時(shí)交互、協(xié)同仿真。它在相當(dāng)程度上反映了實(shí)際單片機(jī)系統(tǒng)的運(yùn)行情況。簡(jiǎn)稱proteus仿真。6.2 仿真調(diào)試過(guò)程在keil中調(diào)試完成后,再到proteus中進(jìn)行仿真。首先在proteus中需要的元件依次找出來(lái),根據(jù)電路所需要實(shí)現(xiàn)的功能畫(huà)好電路原理圖,當(dāng)檢查電路完全沒(méi)有錯(cuò)誤后,雙擊芯片,再將在keil中生成的hex文件導(dǎo)入芯片,接著點(diǎn)擊play鍵開(kāi)始進(jìn)行電路仿真。圖9 狀態(tài)一狀態(tài)一:開(kāi)始仿真后,便進(jìn)行0255的循環(huán)計(jì)數(shù)圖10 狀態(tài)二狀態(tài)二:用仿真軟件,對(duì)050000進(jìn)行仿真圖11 狀態(tài)三狀態(tài)三:用仿真軟件對(duì)出租車計(jì)費(fèi)系統(tǒng)進(jìn)行仿真6.3 實(shí)物仿真在proteus中仿真成功后,說(shuō)明電路原理圖及程序代碼沒(méi)有錯(cuò)誤,下載到實(shí)驗(yàn)板圖12 0255開(kāi)發(fā)板顯示圖13 050000開(kāi)發(fā)板顯示圖14 出租車

溫馨提示

  • 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)論