版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 第1章研究背景及設(shè)計目的要求1</p><p> 1.1 研究背景1</p><p> 1.2 設(shè)計目的要求1</p><p> 第2章設(shè)計的方案及基本原理2</p><p><b> 2.1設(shè)計方案2
2、</b></p><p><b> 2.2基本原理2</b></p><p> 第3章 程序設(shè)計5</p><p> 3.1主程序流程圖5</p><p><b> 3.2程序代碼5</b></p><p> 第4章 調(diào)試結(jié)果及分析6</
3、p><p> 4.1調(diào)試運行及結(jié)果6</p><p> 4.2調(diào)試結(jié)果分析7</p><p> 第5章 心得與體會8</p><p><b> 參考文獻9</b></p><p><b> 附 錄10</b></p><p>
4、研究背景及設(shè)計目的要求</p><p><b> 1.1 研究背景</b></p><p> 隨著電子科技的逐步發(fā)展,單片機領(lǐng)域發(fā)展逐步趨向集成化,微型化,本設(shè)計利用凌陽單片機控制6個LED數(shù)碼管的顯示,完成本課程設(shè)計需要熟悉凌陽單片機的工作原理,了解該款16位單片機的內(nèi)部結(jié)構(gòu)如圖1-1所示,以及它功能上的特性:體積小、集成度高、可靠性好且易于擴展。µ’
5、nSP?家族把各功能部件模塊化地集成在一個芯片里,內(nèi)部采用總線結(jié)構(gòu),因而減了各功能部件之間的連線,提高了其可靠性和抗干擾能力。</p><p> 圖1-1 凌陽單片機內(nèi)部結(jié)構(gòu)圖</p><p> 數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元,按能顯示多少個“8”可分為1位、2位、4位等數(shù)碼管要正常顯示,
6、就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。其驅(qū)動方式具體原理將在后續(xù)介紹。</p><p> 1.2 設(shè)計目的要求</p><p> 1.熟悉SPCE061A控制LED數(shù)碼管顯示的方法。 </p><p> 2.進一步熟悉µ’nSP?匯編語言和C語言程序設(shè)計。 </
7、p><p> 3.最終實現(xiàn)設(shè)計效果由六個LED數(shù)碼管移位循環(huán)顯示0~9,即: “012345” , “123456” , “234567” ,……, “890123” ,“901234”……。</p><p> 設(shè)計的方案及基本原理</p><p><b> 2.1設(shè)計方案</b></p><p> 運用 Windo
8、ws 系統(tǒng)和 µ’nSP? IDE 仿真環(huán)境的 PC 機一臺以及61板一套、LED鍵盤模組一套、10 針排線兩根來控制LED,通過程序的設(shè)置使LED顯示程序中的數(shù)字,即顯示“0”“1”“2”“3”“4”“5”“6”“7”“8”“9”。</p><p><b> 2.2基本原理</b></p><p> 數(shù)碼管由7個發(fā)光二極管組成,行成一個日字形,它們可以
9、共陰極,也可以共陽極.通過解碼電路得到的數(shù)碼接通相應的發(fā)光二極而形成相應的字,這就是它的工作原理基本的半導體數(shù)碼管是由7個條狀的發(fā)光二極管(LED)按圖2-1(a)所示排列而成的,可實現(xiàn)數(shù)字“0~9”及少量字符的顯示。另外為了顯示小數(shù)點,增加了1個點狀的發(fā)光二極管,因此數(shù)碼管就由8個LED組成,我們分別把這些發(fā)光二極管命名為“a,b,c,d,e,f,g,dp”,排列順序如下圖2-1。</p><p> 圖2-1
10、 管腳排列及內(nèi)部結(jié)構(gòu)</p><p> LED顯示器中每個發(fā)光二極管要通過5mA—20mA電流才能達到正常亮度,如圖2-2LED原理圖。SPCE061A的輸入電流可達到12mA,輸出可達5mA,實際上不用驅(qū)動電路即可達到正常亮度,為了可靠性設(shè)計可采用晶體管構(gòu)成驅(qū)動電路。這樣,由于視覺暫留現(xiàn)象,我們看到的便是6只顯示器同時在顯示。</p><p> 圖2-2 LED原理圖</p&g
11、t;<p> 當需要某一位數(shù)碼管顯示數(shù)字時,只需要先選中這位數(shù)碼管的位信號,再給顯示數(shù)字的段碼。比如當在第一個數(shù)碼管上顯示一個“6” 時,如圖 2-3,先選中第一位數(shù)碼管的位信號(實驗箱上標號是“1”),即先給和“1”相連接的 I/O口送1;再把段碼設(shè)置為0x007d,即在 a、c、d、e、f、g各段引出的端口檢測到高電平,就可以顯示一個“6”出來。</p><p> 圖2-3 數(shù)碼管顯示“6”
12、</p><p> 要實現(xiàn)每個數(shù)碼管分別顯示不同數(shù)字的效果,例如,要顯示“123456”,則需要不斷地快速刷新數(shù)碼管的顯示狀態(tài),即先使第一個數(shù)碼管顯示數(shù)字“1”,其他數(shù)碼管熄滅,然后熄滅第一個數(shù)碼管,第二個數(shù)碼管顯示數(shù)字“2”,以此類推。其中晶體管共集電極接法由圖2-4給出。這樣,利用人眼的視覺殘留效應,就產(chǎn)生了“123456”同時顯示出來的效果。</p><p> 圖2-4晶體管共集
13、電極接法</p><p> 數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一, 動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,如圖2-5所示連接方法。另外為每個數(shù)碼管的公共極COM 增加位選通控制電路,位選通由各自獨立的 I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制
14、,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通在輪流顯示過程中,每位數(shù)碼管的點亮時間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p> 圖2-5 SPCE061
15、A和6位LED顯示電路模塊的連接</p><p> 按照上面數(shù)碼管的顯示原理,當要在第四個數(shù)碼管上顯示一個“E”時,先要通過 IOB12 端口給“4”端口送一個 1,選中第四個數(shù)碼管;由圖 4-1 可以看出,顯示“E”時,需要 a、d、e、f、g段被點亮,所以給 IOA0、IOA3、IOA4、IOA5、IOA6 端口各送一個 1,則在 a、d、e、f、g 端口各能檢測到一個高電平,就可以點亮 a、d、e、f、g
16、 段,顯示一個“E” 。</p><p><b> 第3章 程序設(shè)計</b></p><p><b> 3.1主程序流程圖</b></p><p> 程序運行具體過程,開始時單片機進行初始化,將屬性寄存器,方向寄存器數(shù)據(jù)寄存器清零,并設(shè)置系統(tǒng)時鐘自身開始計數(shù)。當初始計數(shù)小于等于99循環(huán)遞歸自身過程,當DIG>
17、99時計數(shù)器開始自加時,以此控制位置變量POS使其在自累加的時候控制數(shù)碼管顯示位數(shù),小于6時循環(huán)累加到達6即清零重新開始計數(shù)這樣完成了數(shù)碼管位數(shù)的顯示控制。圖3-1主程序流程圖。</p><p><b> 圖3-1 主流程圖</b></p><p><b> 3.2程序代碼</b></p><p> 主程序代碼如附錄
18、所示</p><p> 第4章 調(diào)試結(jié)果及分析</p><p> 4.1調(diào)試運行及結(jié)果</p><p> 打開凌陽單片機運行環(huán)境,將預存寫好的程序輸入到編輯欄內(nèi),打開單片機主電源,避免冷啟動使單片機出現(xiàn)漂移,經(jīng)檢查無誤后進行運行主程序,同時觀察程序運行狀況避免死循環(huán)導致死機現(xiàn)象。調(diào)試結(jié)果如圖4-1使數(shù)碼管顯示“123456”和圖4-2是數(shù)碼管顯示“012345
19、”所示。</p><p> 圖4-1數(shù)碼管顯示“123456”</p><p> 圖4-2數(shù)碼管顯示“012345”</p><p> 4.2 調(diào)試結(jié)果分析</p><p> 程序運行過程中出現(xiàn)了諸多情況,在確定主程序正確無誤的情況下,出現(xiàn)報錯,可能是在輸入程序時忘記了注釋和主程序的區(qū)分,誤將主程序作為注釋,致使程序運行丟失了必要語句
20、從而發(fā)生機械中斷。在運行程序過程中,出現(xiàn)了LED顯示不規(guī)則數(shù)碼的現(xiàn)象,原因是未將LED所有管腳與I/O口進行短接,漏接了若干個管腳造成輸出與程序設(shè)計上的不匹配。當程序準確無誤時發(fā)現(xiàn)顯示數(shù)碼過程中LED數(shù)碼管始終閃爍不定,原因是在設(shè)計過程中單片機驅(qū)動LED頻率過低造成人眼能觀察到他的刷新過程,類似細節(jié)問題應該在編輯程序的時候給予足夠的重視。如果要測試定時中斷頻率,只要在中斷中對這個測試口取反,即可通過示波器觀測中斷頻率;要測試主程序運行周
21、期,只要把取反指令放在主程序循環(huán)圈中,即可;要測試一次復雜計算(或其它動作)需要消耗多少時間,我們只需在計算之前把測試口變?yōu)楦唠娖剑鹊接嬎憬Y(jié)束后立即把輸出口恢復到低電平,這段高電平的時間長度,即為計算消耗時間;兩個動作之間的延時時間,我們也可以按照上一條方法一樣,在兩個動作發(fā)生前把測試口分別取一次反。</p><p><b> 第5章 心得與體會</b></p><p
22、> 通過這次的課程設(shè)計作品的制作讓我對單片機的理論有了更加深入的了解,同時在具體的制作過程中我們發(fā)現(xiàn)現(xiàn)在書本上的知識與實際的應用存在著不小的差距,書本上的知識很多都是理想化后的結(jié)論,忽略了很多實際的因素,或者涉及的不全面,可在實際的應用時這些是不能被忽略的,我們不得不考慮這方的問題,這讓我們無法根據(jù)書上的理論就輕易得到預想中的結(jié)果,有時結(jié)果甚至很差別很大。通過這次實踐使我更深刻的體會到了理論聯(lián)系實際的重要性,我們在今后的學習工作
23、中會更加的注重實際,避免只會紙上談兵。首先,學習單片機要有一定的基礎(chǔ):電子技術(shù)方面要有數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;編程語言要求匯編語言或C語言。要想成為單片機高手,建議首先學習匯編語言,盡管匯編語言屬于低級語言,編程效率低,但是較C語言具有目標代碼簡短,占用內(nèi)存少,執(zhí)行速度快等優(yōu)點,更重要的是能使我們盡快熟悉單片機的內(nèi)部結(jié)構(gòu),并能對其進行精確的控制。</p><p> 為期一個星期的課程
24、設(shè)計已經(jīng)結(jié)束,在這一星期的學習、設(shè)計、搜索資料過程中我感觸頗深。使我對抽象的理論有了具體的認識。通過這次課程設(shè)計,我掌握了常用元件的識別和測試;熟悉了常用的儀器儀表;了解了電路的連接、測試方法;以及如何提高電路的性能等等。</p><p> 這個課程設(shè)計課我還不是很熟悉,第一次做難免會感到陌生,而且對很多基本的東西都不是很清楚,在一定程度上影響了我們的課程設(shè)計的質(zhì)量,希望能在以后的時間里認真學習好這些基礎(chǔ)的東西
25、。我對這個課程設(shè)計課有著深刻的體會:要想做好這個課程設(shè)計,就必須認認真真地去做,不要怕麻煩,遇到不懂的問題就要主動去問同學或者老師。</p><p><b> 參考文獻</b></p><p> [1]胡宴如.模擬電子技術(shù)[M].北京高等教育出版社,2000.3.</p><p> [2]彭介華.電子技術(shù)課程設(shè)計指導[M].北京高等教育出
26、版社,1997.</p><p> [3]羅亞非.凌陽16位單片機應用基礎(chǔ)[M].北京航空航天大學出版社,2005.</p><p> [4]邱關(guān)源.電路[M].北京高等教育出版社,2006.5.</p><p> [5]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京高等教育出版社,2006.5.</p><p> [6]參考網(wǎng)址www.unsp
27、.com</p><p><b> 附 錄</b></p><p><b> 主程序如下所示:</b></p><p> .include hardware.inc</p><p> .define LED_SEG 0x00ff</p><p> .define
28、LED_DIG 0x3f00</p><p><b> .ram</b></p><p> .var Pos,Dig,TimerCnt</p><p><b> .data</b></p><p><b> DigCode:</b></p><p&g
29、t; .dw 0x3F,0x06,0x5B,0x4F,0x66</p><p> .dw 0x6D,0x7D,0x07,0x7F,0x6F</p><p><b> .code</b></p><p> .public LedDispDig</p><p> LedDispDig:</p>&l
30、t;p> push r1,r2 to [sp]</p><p><b> r1=1</b></p><p> [P_Watchdog_Clear]=r1</p><p> r1=[P_IOB_Dir]</p><p> [P_IOB_Dir]=r1</p><p> r1=[P_
31、IOB_Attrib]</p><p> r1|=LED_DIG+LED_SEG</p><p> [P_IOB_Attrib]=r1</p><p><b> r1=0x0080</b></p><p><b> r2=[Pos]</b></p><p> L_
32、SetIOBHigh:</p><p> r1=r1 LSL 1</p><p><b> r2-=1</b></p><p> jnzL_SetIOBHigh</p><p> [P_IOB_Data]=r1</p><p><b> r1=[Dig]</b>&
33、lt;/p><p> r2=DigCode</p><p><b> r2+=r1</b></p><p><b> r1=[r2]</b></p><p> r2=[P_IOB_Buffer]</p><p><b> r2|=r1</b><
34、;/p><p> [P_IOB_Data]=r2</p><p> pop r1,r2 from [sp]retf</p><p> .public _main</p><p> r1=0L_MainLoop:</p><p> r2=1000L_TimerLoop:</p><p
35、><b> [Dig]=r1</b></p><p><b> r3=1</b></p><p><b> [Pos]=r3</b></p><p> L_DigLoop:call LedDispDig</p><p> r3=[Dig]r3+=1cmp r
36、3,9</p><p> jna L_DigNext</p><p><b> r3=0</b></p><p> L_DigNext:</p><p><b> [Dig]=r3</b></p><p> r3=[Pos] r3+=1</p>
37、<p><b> [Pos]=r3</b></p><p><b> cmp r3,6</b></p><p> jna L_DigLoop</p><p><b> r2-=1</b></p><p> jnz L_TimerLoop</p>
38、;<p><b> r1+=1</b></p><p><b> cmp r1,9</b></p><p> jna L_MainLoop</p><p><b> r1=0</b></p><p> jmp L_MainLoop</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機數(shù)碼管
- 單片機驅(qū)動數(shù)碼管顯示設(shè)計-c語言
- 單片機驅(qū)動數(shù)碼管簡單小實驗
- 單片機課程設(shè)計--兩位數(shù)碼管顯示設(shè)計
- 單片機技術(shù)課程設(shè)計報告(數(shù)碼管電子時鐘)
- 單片機原理及應用課程設(shè)計--單只數(shù)碼管顯示數(shù)字
- 單片機課程設(shè)計--用數(shù)碼管設(shè)計的可調(diào)式數(shù)字鐘
- 單片機控制數(shù)碼管顯示程序
- 單片機控制數(shù)碼管顯示數(shù)字
- 單片機課程設(shè)計-8位8段led數(shù)碼管動態(tài)掃描顯示解讀
- 單片機課程設(shè)計----凌陽spce061a聲控小車
- c51單片機03數(shù)碼管
- 【doc】單片機課程設(shè)計 基于at89s52單片機的數(shù)碼管顯示音樂盒的設(shè)計
- 數(shù)碼管顯示課程設(shè)計報告
- plc數(shù)碼管顯示課程設(shè)計
- 單片機原理及應用課程設(shè)計--數(shù)碼管動態(tài)顯示滾動示單個數(shù)字設(shè)計
- 單片機課程設(shè)計--鍵盤輸入在led數(shù)碼管上的顯示
- 凌陽單片機流水燈
- 用單片機控制數(shù)碼管顯示數(shù)字的設(shè)計與研究
- 嵌入式課程設(shè)計--led數(shù)碼管驅(qū)動程序
評論
0/150
提交評論