基于單片機(jī)的LED數(shù)碼管靜態(tài)顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于單片機(jī)的LED數(shù)碼管靜態(tài)顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于單片機(jī)的LED數(shù)碼管靜態(tài)顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于單片機(jī)的LED數(shù)碼管靜態(tài)顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于單片機(jī)的LED數(shù)碼管靜態(tài)顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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課程設(shè)計(jì)題目及要求課程設(shè)計(jì)題目基于單片機(jī)的LED數(shù)碼管靜態(tài)顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)目的eq\o\ac(○,1)單片機(jī)最小應(yīng)用系統(tǒng)的硬件設(shè)計(jì)技能訓(xùn)練;eq\o\ac(○,2)ASM語(yǔ)言或C51語(yǔ)言軟件編程與調(diào)試技能訓(xùn)練;eq\o\ac(○,3)“下載及燒錄〔固化〕程序〞開發(fā)技能訓(xùn)練;eq\o\ac(○,4)數(shù)碼管顯示;eq\o\ac(○,5)Protel軟件應(yīng)用技能訓(xùn)練;eq\o\ac(○,6)作品性能指標(biāo)分析與改良;eq\o\ac(○,7)文檔資料編制。1.3課程設(shè)計(jì)要求eq\o\ac(○,1)列出元器件清單;eq\o\ac(○,2)用Protel軟件繪制電路原理圖;eq\o\ac(○,3)繪制軟件流程圖、編寫并調(diào)試程序、詳細(xì)注釋軟件功能;eq\o\ac(○,4)對(duì)系統(tǒng)性能指標(biāo)進(jìn)行分析并提出改良方案;eq\o\ac(○,5)作品演示與講解〔硬件、軟件、調(diào)試、改良、Protel等〕;eq\o\ac(○,6)按要求完成課程設(shè)計(jì)報(bào)告。2單片機(jī)2.1單片機(jī)概念單片機(jī)是在一塊芯片中集成了CPU、RAM、ROM、定時(shí)/計(jì)數(shù)器和多功能I/O口等計(jì)算機(jī)所需要的根本功能部件的大規(guī)模集成電路,又稱MCU,單片機(jī)結(jié)構(gòu)上的設(shè)計(jì),在硬件、指令系統(tǒng)及I/O處理能力方面突出芯片的控制功能,單片機(jī)系統(tǒng)全力滿足測(cè)控對(duì)象的測(cè)控功能,兼顧數(shù)據(jù)處理能力。2.2單片機(jī)的結(jié)構(gòu)與組成圖1單片機(jī)結(jié)構(gòu)圖中央處理器〔CPU〕:是單片機(jī)的核心單元,通常由算術(shù)邏輯運(yùn)算部件ALU和控制部件構(gòu)成?!睠entralProcessingUnit〕ROM存放程序;〔ROM:read-onlymemory〕RAM存放數(shù)據(jù);〔RAM:randomaccessmemory〕I/O為輸入設(shè)備和輸出設(shè)備?!睮nput/Output〕單片機(jī)用片內(nèi)總線(BUS)實(shí)現(xiàn)CPU、ROM、RAM、I/O各模塊之間的信息傳遞。系統(tǒng)時(shí)鐘:是單片機(jī)運(yùn)行節(jié)拍的基準(zhǔn)單元。系統(tǒng)時(shí)鐘類似于PC微機(jī)中的主頻。是反映單片機(jī)運(yùn)行速度的重要指標(biāo)。定時(shí)器/計(jì)數(shù)器〔T/C〕:用于單片機(jī)內(nèi)部精確定時(shí)或?qū)ν獠渴录踩巛斎氲拿}沖信號(hào)〕進(jìn)行計(jì)數(shù),有的單片機(jī)內(nèi)部有多個(gè)定時(shí)/計(jì)數(shù)器。串口輸入/輸出口:用于單片機(jī)和串行設(shè)備或其他單片機(jī)的通信。串行通信是單片機(jī)與其他設(shè)備進(jìn)行信息交換最簡(jiǎn)單和廉價(jià)的方式。2.3單片機(jī)特點(diǎn)eq\o\ac(○,1)具有較高的性能價(jià)格比。eq\o\ac(○,2)體積小,可靠性高。由單片機(jī)組成的應(yīng)用系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,易對(duì)系統(tǒng)進(jìn)行電磁屏蔽等抗干擾措施。另一方面,單片機(jī)不易受外界的干擾。所以單片機(jī)應(yīng)用系統(tǒng)的可靠性比一般微機(jī)系統(tǒng)高得多。eq\o\ac(○,3)控制功能強(qiáng)。單片機(jī)采用面向控制的指令系統(tǒng),實(shí)時(shí)控制功能特別強(qiáng)。CPU可以直接對(duì)I/0口進(jìn)行輸入、輸出操作及邏輯運(yùn)算,并且具有很強(qiáng)的位處理能力。eq\o\ac(○,4)使用方便、容易產(chǎn)品化。單片機(jī)的體積小、功能強(qiáng)。能滿足許多小型對(duì)象的嵌入式應(yīng)用要求。2.4本次所用單片機(jī)本次所用單片機(jī)為STC89C52RC系列單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。其特點(diǎn)為:eq\o\ac(○,1)增強(qiáng)型8051單片機(jī);eq\o\ac(○,2)~;eq\o\ac(○,3)工作頻率:0~40MHz;eq\o\ac(○,4)程序空間:8KFlashmemory;eq\o\ac(○,5)片上集成512字節(jié)RAM;eq\o\ac(○,6)具有EEPROM功能;eq\o\ac(○,7)具有ISP/IAP功能,無(wú)需專用編程器,可通過(guò)串行口下載程序。3實(shí)驗(yàn)所用原件及電路3.1單片機(jī)最小系統(tǒng)最小系統(tǒng)是指在最小的外部電路條件下形成一個(gè)可獨(dú)立工作的應(yīng)用系統(tǒng),事實(shí)上單片機(jī)內(nèi)部資源已經(jīng)很豐富,一個(gè)內(nèi)部帶程序存儲(chǔ)器的單片機(jī)就構(gòu)成了一個(gè)最小系統(tǒng),cpu總是通過(guò)地址總線、數(shù)據(jù)總線和控制總線來(lái)與外部交換信息的。數(shù)據(jù)總線傳送指令碼和數(shù)據(jù)信息,各外圍芯片都要并接在它上面和cpu進(jìn)行信息交流。由于數(shù)據(jù)總線是信息的公工通道,個(gè)外圍芯片必須分時(shí)使用才不至于產(chǎn)生使用總線的沖突。由于Po分時(shí)傳送地址/數(shù)據(jù)信息,在接口電路中,通常配置地址鎖存器,有ALE信號(hào)鎖存低8位地址Ao~A7,以別離地址和數(shù)據(jù)信息。P2口傳送高8位地址A8~A15。PSEN為程序存儲(chǔ)器的控制信號(hào),是在取指令碼時(shí)或執(zhí)行MOVC指令時(shí)變?yōu)橛行D、WR為數(shù)據(jù)存儲(chǔ)器和I/O口的讀、寫控制信號(hào)。是執(zhí)行MOVX指令時(shí)變?yōu)橛行?。圖2單片機(jī)最小系統(tǒng)3.2動(dòng)態(tài)掃描鍵盤鍵盤是計(jì)算機(jī)系統(tǒng)中不可缺少的輸入設(shè)備,當(dāng)按鍵少時(shí)可接成線性鍵盤,當(dāng)按鍵較多時(shí),這樣的接法占用口線較多。將按鍵接成矩陣的形式,可以節(jié)省口線,例如兩個(gè)接口可按8*8的形式接64個(gè)按鍵。每個(gè)按鍵有它的行值和列值,行值和列值的組合就是識(shí)別這個(gè)按鍵的編碼。矩陣的行線和列線分別通過(guò)兩并行接口和CPU通信。每個(gè)按鍵的狀態(tài)同樣需變成數(shù)字量“0〞和“1〞,開關(guān)的一端通過(guò)電阻接Vcc(列)、而接地是通過(guò)程序輸出數(shù)字“0〞實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:eq\o\ac(○,1)確定有無(wú)鍵按下;eq\o\ac(○,2)判哪一個(gè)鍵按下,鍵的功能是什么;eq\o\ac(○,3)還要消除按鍵在閉合或斷開時(shí)的抖動(dòng)。兩個(gè)并行口中,一個(gè)輸出掃描碼,使按鍵逐行動(dòng)態(tài)接地(稱行掃描),另一個(gè)并行口輸入按鍵狀態(tài)(稱回饋信號(hào),鍵盤的列值),由行掃描值和回饋信號(hào)共同形成鍵編碼而識(shí)別按鍵、通過(guò)軟件查表,查出該鍵的功能。也可由硬件編碼器完成鍵的編碼。圖3鍵盤接線圖777B7D7EB7BBBDBED7DBDDDEE7EBEDEE表1鍵盤鍵編碼表1為鍵盤所對(duì)應(yīng)的編碼,通過(guò)逐行逐列掃描其值給P3。3.3實(shí)驗(yàn)所用數(shù)碼管LED數(shù)碼管的g~a七個(gè)發(fā)光二極管因加正電壓而發(fā)亮,因加零電壓而不能發(fā)亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼(段碼),如顯示“1〞,字形碼為06h。圖4LED顯示器動(dòng)態(tài)接口采用各數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示頻率較高時(shí),利用人眼的暫留特性,看不出閃爍顯示現(xiàn)象,這種顯示需要一個(gè)接口完成字形碼的輸出(字形選擇),另一接口完成各數(shù)碼管的輪流點(diǎn)亮(數(shù)位選擇)。圖5動(dòng)態(tài)掃描數(shù)碼管顯示電路3.4下載電路PL2303用于實(shí)現(xiàn)USB和標(biāo)準(zhǔn)RS-232串行端口之間的轉(zhuǎn)換,兩個(gè)獨(dú)立的大型緩沖用于兩種總線的連接.大型數(shù)據(jù)緩沖器用于USB的批量數(shù)據(jù)傳輸.自動(dòng)握手模式可用于串行通訊,因而可以到達(dá)遠(yuǎn)大于標(biāo)準(zhǔn)UART控制器的波特率。PL2303支持USB電源管理和遠(yuǎn)程喚醒協(xié)議.當(dāng)主機(jī)掛起時(shí)消耗極小的電能.所有功能集成在SOIC-28封裝內(nèi).芯片亦可以安裝在電纜線中,用戶只要簡(jiǎn)單地把聯(lián)在電腦主機(jī)或USB_HUB上,就可以實(shí)現(xiàn)與RS-232器件的通信。PL2303功能特點(diǎn)eq\o\ac(○,1)完全遵從USB1.1協(xié)議;

eq\o\ac(○,2)支持到RS-232接口的轉(zhuǎn)換;

eq\o\ac(○,3)支持自動(dòng)握手模式;

eq\o\ac(○,4)支持遠(yuǎn)程喚醒和電源管理;

eq\o\ac(○,5)發(fā)送和接收擁有獨(dú)立的256Bytes緩沖;eq\o\ac(○,6)支持內(nèi)部ROM和外部EEPROM配置器件;

eq\o\ac(○,7)內(nèi)建USB收發(fā)器。圖6下載電路4實(shí)驗(yàn)操作過(guò)程4.1裝軟件及驅(qū)動(dòng)由于實(shí)驗(yàn)都是在寢室做,因此需要在自己電腦上裝一下軟件及驅(qū)動(dòng),首先裝的是keil軟件,翻開單片機(jī)\keil750AHK文件夾,雙擊Setup進(jìn)入安裝界面,然后選擇“InstallSupportforAdditionalMicrocontrollerArchitectures〞進(jìn)行安裝,接著彈出一個(gè)“InstallShieldWizard〞窗口,點(diǎn)擊“EvalVersion〞,彈出一“SerupuVision2〞窗口,點(diǎn)擊“Next〞進(jìn)入“LicenseAgreement〞界面,選擇“Yes〞進(jìn)入“RestrictionsofEvaluationVersions〞界面,選擇“Next〞,接著進(jìn)入“ChooseDestinationLocation〞界面,選擇好安裝文件夾后點(diǎn)擊“Next〞進(jìn)入“CustomerInformation〞界面,填好信息后點(diǎn)“Next〞進(jìn)入“KeepConfiguration〞界面,點(diǎn)“Next〞自動(dòng)安裝,安裝完成后彈出“MaintenanceComplete〞界面,點(diǎn)“Finish〞便完成了。接著便開始裝下載驅(qū)動(dòng)了,首先將單片機(jī)面板和電腦聯(lián)通,翻開計(jì)算機(jī)設(shè)備管理器,在“其他設(shè)備〞里面有一個(gè)打感慨號(hào)的“Usb-SerialController〞,右鍵選擇“更新驅(qū)動(dòng)程序〞,選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件〞,然后選擇“瀏覽〞,依次翻開H:\Users\yuc\Desktop\TYD-51-1光盤\軟件包\STC51系列芯片程序下載軟件\主板集成usb-232芯片PL2303驅(qū)動(dòng)程序\HL-2303,雙擊“HL-2303〞進(jìn)行安裝,安裝完成后,再次進(jìn)入設(shè)備管理器,會(huì)有一個(gè)“端口〔COM和LPT〕〞,雙擊會(huì)出現(xiàn)“ProlificUSB-to-SerialBridge〔COM4〕〞便說(shuō)明下載驅(qū)動(dòng)以安裝完成。由于本次實(shí)驗(yàn)所用單片機(jī)面板是我們組買的整塊面板,賣家提供的光盤里有相應(yīng)的下載程序并不需要安裝,故而本次沒(méi)有安裝下載程序4.2hex文件生成翻開“keiluVision2〞,點(diǎn)擊“工程〞選擇“新工程〞,彈出“產(chǎn)生新工程〞窗口,輸入新建工程名,點(diǎn)擊“保存〞。然后彈出一個(gè)“為‘目標(biāo)1’選擇設(shè)備〞窗口,點(diǎn)擊“Almel〞選卡,選擇“AT89C52〞,然后點(diǎn)“確定〞,彈出“μVision3〞窗口,點(diǎn)“否〞。然后點(diǎn)左上角“文件〞欄,選擇“新建〞,然后彈出一Text1文本編輯框,點(diǎn)擊“保存〞,彈出一“另存為〞窗口,選擇保存位置后,輸入一文件名,后綴為.c或.asm(.c是用C語(yǔ)言編寫,.asm是用匯編編寫),接著點(diǎn)保存。然后雙擊“目標(biāo)1〞,右鍵“源代碼組1〞,點(diǎn)擊“添加文件到組‘源代碼組1’〞選卡,彈出一“添加文件到組‘源代碼組1’〞窗口,選擇剛開始保存的.c文件名,然后添加。接著右鍵“目標(biāo)1〞選擇“為‘目標(biāo)1’設(shè)置選項(xiàng)〞選卡,在輸出選卡里,將“產(chǎn)生HEX文件〔X:HEX文件格HEX-80〕〞選中,然后確定。接著編程,程序編完后按開始轉(zhuǎn)換,假設(shè)程序無(wú)誤那么產(chǎn)生hex文件,假設(shè)有語(yǔ)法問(wèn)題那么不能產(chǎn)生hex文件,需要進(jìn)行檢查和調(diào)試程序。4.3程序燒錄hex文件產(chǎn)生后便可以進(jìn)行燒錄了,首先翻開下載程序“STC-ISP-V479〞,將單片機(jī)面板與計(jì)算機(jī)相連,查看設(shè)備管理器,雙擊“端口〔COM和LPT〕〞選卡,看端口是多少,我的是COM4,于是便在“STC-ISP〞里COM里選擇COM4端口,接著點(diǎn)擊“OpenFile/翻開文件〞選卡,選擇要燒錄程序的hex文件,然后關(guān)閉單片機(jī)點(diǎn)擊“Download/下載〞,接著翻開單片機(jī),停留幾秒鐘便如下列圖所示,那么說(shuō)明下載成功。圖7程序下載圖5程序設(shè)計(jì)5.1程序#include"reg52.h"unsignedwei_tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};unsignedduan_tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f};unsignedled_buffer[]={0,1,2,3,4,5,6,7,8,9};intkey_code,key_press;//此時(shí)根據(jù)行和列的值,即為按鍵charcount=0;/***********************************************************數(shù)碼管顯示子程序***********************************************************/voiddisp(void){ P2=0xff;//關(guān)斷數(shù)碼管的位 P0=~duan_tab[led_buffer[count]];//為數(shù)碼管的段賦值 P2=wei_tab[count];//為數(shù)碼管的位賦值 count++; if(count>7)//當(dāng)顯示8個(gè)數(shù)后給count清零 { count=0; }}/***********************************************************讀鍵盤子程序***********************************************************/voidread_key(void){ unsignedcharx;P3=0xf0;//將鍵盤的列賦值0 x=P3|0x0f;//將鍵盤的行值付給x if(x!=0xff)//軟件的鍵盤防抖動(dòng) { P3=0xf0; x=P3|0x0f; if(x!=0xff)//如果鍵盤的行有低電平,那么有鍵按下 { P3=x;//將對(duì)應(yīng)的行賦值0 key_code=P3;//此時(shí)根據(jù)行和列的值,即為按鍵代碼 key_press=1;//將按鍵標(biāo)志位置1 } }}/***********************************************************將數(shù)碼管顯示的數(shù)值放在緩存區(qū)中子程序***********************************************************/voidget_data(longdat){ longx; x=dat; led_buffer[0]=x/10000000; x=x%10000000; led_buffer[1]=x/1000000; x=x%1000000; led_buffer[2]=x/100000; x=x%100000; led_buffer[3]=x/10000; x=x%10000; led_buffer[4]=x/1000; x=x%1000; led_buffer[5]=x/100; x=x%100; led_buffer[6]=x/10; x=x%10; led_buffer[7]=x;}/***********************************************************調(diào)用讀鍵盤程序并更具鍵盤值來(lái)選擇不同的數(shù)碼管顯示數(shù)字輸入***********************************************************/voidkey_fenxi(void){ while(1) { read_key();//調(diào)用read_key()讀鍵盤 if(key_press==1)//假設(shè)有鍵按下這執(zhí)行{ key_press=0;//給鍵盤按下標(biāo)志數(shù)清零 switch(key_code)//根據(jù)按下的值選擇 { case0xee:{get_data(92822002);} break;case0xed: {get_data(92822023);} break; case0xeb: {get_data(92822023);} break; case0xe7:{get_data(92822023);} break; case0xde: {get_data(92822027);} break;case0xdd: {get_data(92822023);} break; } disp();//調(diào)用disp()顯示輸入對(duì)應(yīng)的值}disp();//假設(shè)無(wú)按鍵按下那么顯示初始值}}/***********************************************************主函數(shù)***********************************************************/voidmain(void){ get_data(20230234); key_fenxi();}5.2程序分析首先是主程序main,其實(shí)本次main函數(shù)相當(dāng)簡(jiǎn)單,就兩個(gè)調(diào)用語(yǔ)句,get_data(20230234)語(yǔ)句為賦初值語(yǔ)句,使一開單片機(jī)數(shù)碼管就靜態(tài)顯示20230234,假設(shè)無(wú)鍵按下便一直顯示。另一條為調(diào)用key_fenxi()函數(shù)語(yǔ)句。而key_fenxi()函數(shù)其實(shí)可以稱得上是主函數(shù)了,由于key_fenxi()整個(gè)函數(shù)都是由while(1)語(yǔ)句主導(dǎo)且沒(méi)有跳出函數(shù)的語(yǔ)句,故而主函數(shù)一經(jīng)調(diào)用key_fenxi()后便一直執(zhí)行key_fenxi()。while〔1〕語(yǔ)句一開始通過(guò)調(diào)用read_key()函數(shù)進(jìn)行讀鍵盤,并通過(guò)if語(yǔ)句根據(jù)按鍵標(biāo)志位key_press大小來(lái)選擇執(zhí)行。當(dāng)有鍵按下時(shí)即key_press==1時(shí)首先對(duì)key_press清零,然后根據(jù)key_code值即按鍵值通過(guò)switch語(yǔ)句選擇執(zhí)行,當(dāng)按鍵值為0xee時(shí)數(shù)碼管顯示92822002,當(dāng)按鍵值為0xed時(shí)數(shù)碼管顯示92822023,當(dāng)按鍵值為0xeb時(shí)數(shù)碼管顯示92822023,當(dāng)按鍵值為0xe7時(shí)數(shù)碼管顯示92822023,當(dāng)按鍵值為0xde時(shí)數(shù)碼管顯示92822027 ,當(dāng)按鍵值為0xdd時(shí)數(shù)碼管顯示92822023。函數(shù)get_data是將要顯示的數(shù)字存到led_buffer[]數(shù)組里面,首先將要顯示的值賦值給x,由于x是長(zhǎng)整型且為8位數(shù),故而x/10000000結(jié)果為x千萬(wàn)位數(shù),而x%10000000值為x的后7位,依次類推,通過(guò)get_data函數(shù)依次將待要顯示的數(shù)按位存入數(shù)組led_buffer[]。函數(shù)read_key為讀鍵盤函數(shù),它通過(guò)逐行逐列掃描,根據(jù)對(duì)應(yīng)P3的值來(lái)顯示所按鍵的鍵碼,再傳給key_code,同時(shí)用key_press來(lái)作為按鍵標(biāo)志位,當(dāng)有鍵按下時(shí),key_press被置位為1。函數(shù)disp()為數(shù)碼管顯示程序,首先給P2賦值0xff,由本次所用共陽(yáng)極數(shù)碼管及電路可知,此時(shí)給二極管清零,數(shù)碼管沒(méi)有顯示。接著給依次P0賦所要顯示的數(shù)值,而同時(shí)給P2賦值,使數(shù)碼管對(duì)應(yīng)的位顯示所要顯示的值。通過(guò)key_fenxi〔〕函數(shù)循環(huán)調(diào)用來(lái)實(shí)現(xiàn)位的循環(huán),由于單片機(jī)運(yùn)行速度遠(yuǎn)快于人眼所能辨知的速度,故而雖然是依次逐個(gè)顯示數(shù)碼管,但人眼所見依然是靜態(tài)一起顯示。同時(shí)通過(guò)if語(yǔ)句來(lái)使count清零,從而實(shí)現(xiàn)循環(huán)顯示。圖8程序流程圖6運(yùn)行調(diào)試一開始我是用匯編語(yǔ)句寫的,先將P2的值給A,通過(guò)右循環(huán)后再傳給P2而P0的值是通過(guò)查表得來(lái)的,再通過(guò)跳轉(zhuǎn)指令進(jìn)行循環(huán)執(zhí)行,可調(diào)試完成后,進(jìn)行燒錄后,發(fā)現(xiàn)八個(gè)數(shù)碼管都顯示相同的數(shù)字。我便用keil進(jìn)行調(diào)試,可是調(diào)了好長(zhǎng)時(shí)間都沒(méi)有解決問(wèn)題,或許是我延時(shí)程序不太會(huì)寫吧,于是便想著走另一條路徑—C語(yǔ)言。后來(lái)編寫的C語(yǔ)言程序有點(diǎn)長(zhǎng),所以難免會(huì)出一些錯(cuò)誤,比方一開始我沒(méi)有g(shù)et_data〔〕函數(shù),而是通過(guò)建6個(gè)表,將我們組6個(gè)人的學(xué)號(hào)對(duì)應(yīng)的LED字形顯示代碼依次建6個(gè)邊,然后在key_fenxi〔〕函數(shù)里通過(guò)switch語(yǔ)句根據(jù)按鍵值選擇相應(yīng)的表格給led_buffer[]數(shù)組,在理論上應(yīng)該是行的通的,可編譯時(shí)老是出現(xiàn)“ProgramSize:data=110.1xdata=0code=467〞以及“目標(biāo)未產(chǎn)生〞,經(jīng)過(guò)不斷檢查和請(qǐng)教同學(xué)才明白是表建多了改了后便可以編譯了。圖9軟件調(diào)試截圖編譯完成后便開始下載燒錄了,燒錄完成后那數(shù)碼管出現(xiàn)亂碼,數(shù)碼管顯示相當(dāng)雜亂無(wú)章,并且按鍵也沒(méi)多大變化,燒過(guò)兩次后依然出現(xiàn)這種情況。于是我便翻開keil軟件,進(jìn)行運(yùn)行調(diào)試,如圖9,通過(guò)調(diào)試,發(fā)現(xiàn)是延時(shí)的問(wèn)題,我將延時(shí)函數(shù)給刪了,還有更改一下其它語(yǔ)句。再次燒錄的時(shí)便沒(méi)有這種情況了。面板也是按照我的設(shè)計(jì)思路走的,于是這次設(shè)計(jì)根本上便完成了。總結(jié)轉(zhuǎn)眼間為期兩周的單片機(jī)課程設(shè)計(jì)就要結(jié)束了,時(shí)間過(guò)得太快了。這次單片機(jī)課程設(shè)計(jì)我們組做的是“基于單片機(jī)的LED數(shù)碼管靜態(tài)顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)〞,說(shuō)實(shí)在的剛拿到這個(gè)題目我是很不情愿做這個(gè)的,因?yàn)橐婚_始我們組選的是二極管動(dòng)態(tài)循環(huán)顯示,而這程序我們買的單

溫馨提示

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