




已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機設計與實訓設計報告 題 目: 數(shù)碼管滾動顯示控制 姓 名: 王偉杰 班 級: 自動化四班 學 號: 2014550430 指導老師: 張瑩 提交日期: 2016年10月29日 目錄一、 設計題目與要求31.1設計題目31.2設計要求3二、 系統(tǒng)方案設計32.1硬件電路設計31.單片機最小系統(tǒng)簡介32.數(shù)碼管顯示電路62.3硬件選型及說明61. ST89C51單片機62. 四位一體七段共陰極顯示數(shù)碼管8三、 系統(tǒng)原理圖設計與仿真93.1系統(tǒng)仿真圖93.2系統(tǒng)仿真結果10四、 程序設計114.1程序設計114.2程序流程圖12五、 系統(tǒng)調試145.1系統(tǒng)硬件調試145.2系統(tǒng)軟件調試14六、總結與體會14附錄一16附錄二17附錄三271、 設計題目與要求單片機課程設計是一門實踐課程,要求學生具有制作調試單片機最小系統(tǒng)及外設的能力,能夠掌握單片機內部資源的使用。單片機課程設計內容包括硬件設計、制作及軟件編寫、調試,學生在熟練掌握焊接技術的基礎上,能熟練使用單片機軟件開發(fā)環(huán)境Keil C51編程調試,并使用STC ISP調試工具采用串口下載方式聯(lián)調制作的單片機最小系統(tǒng)。單片機課程設計題目包含基本部分及擴展部分,基本部分即單片機最小系統(tǒng)部分,擴展部分是對單片機內部資源及外部IO口的功能擴展,使制作的單片機系統(tǒng)具有一定的功能。1.1設計題目 數(shù)碼管滾動顯示控制1.2設計要求 自制一個單片機最小系統(tǒng),包括串口下載、復位電路,采用兩個四位一體數(shù)碼管作為顯示器件,通過按鈕選擇實現(xiàn)四種滾動顯示模式,例如從左至右,從右至左,內縮,外擴等,滾動信息可以是數(shù)字或有意義的英文字符。2、 系統(tǒng)方案設計2.1硬件電路設計本設計的硬件電路主要包括的模塊有:單片機最小系統(tǒng)、七段數(shù)碼管顯示模塊、1.單片機最小系統(tǒng)簡介單片機最小系統(tǒng),或者稱為最小應用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng).對51系列單片機來說,最小系統(tǒng)一般應該包括:單片機、晶振電路、復位電路。結構圖如下:圖2.1單片機最小系統(tǒng)各部分的功能介紹如下:復位電路:復位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤是系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復位鍵以重新啟動。MCS-51單片機的復位電路由片內、片外兩部分組成,進行復位操作時,外部電路需在復位引腳RST端產生大于兩個機器周期的高電平信號,RST引腳通過片內施密特觸發(fā)器與復位電路相連(施密特觸發(fā)器的作用是脈沖整型和抑制噪聲)。MCS-51單片機的復位操作有兩種方式:上電復位和上電按鈕復位。圖2.2復位電路圖晶振電路(時鐘電路): 時鐘電路是單片機的心臟,它用于產生單片機工作所需要的時鐘信號。單片機本身就是一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應在唯一的時鐘信號控制下嚴格地按時序進行工作。單片機的時鐘產生方法有內部時鐘方式和外部時鐘方式,大多數(shù)單片機應用系統(tǒng)采用內部時鐘方式,本系統(tǒng)采用的亦是內部時鐘方式。在MCS-51芯片內部有一個高增益反相放大器,XTAL1、XTAL2引腳分別為該反相放大器的輸入端和輸出端,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調電容,形成反饋電路,就構成了一個穩(wěn)定的自激振蕩器。 圖2.3時鐘電路圖2.數(shù)碼管顯示電路圖2.4數(shù)碼顯示電路2.3硬件選型及說明1. ST89C51單片機MCS-51把微型計算機的主要部件都集成在一塊心片上,使得數(shù)據(jù)傳送距離大大縮短,可靠性更高,運行速度更塊。由于屬于芯片化的微型計算機,各功能部件在芯片中的布局和結構達最優(yōu)化,抗干擾能力加強,工作亦相對穩(wěn)定。因此,在工業(yè)測控系統(tǒng)中,使用單片機是最理想的選擇。單片機屬于典型的嵌入式系統(tǒng),所以它是低端控制系統(tǒng)最佳器件。8051是MCS-51系列單片機的典型產品。8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線:引腳介紹:電源:VCC - 芯片電源,接+5V;VSS - 接地端; 時鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端控制線: ALE/PROG:地址鎖存允許/片內EPROM編程脈沖: ALE功能:用來鎖存P0口送出的低8位地址; PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。 PSEN:外ROM讀選通信號。 RST/VPD:復位/備用電源: RST(Reset)功能:復位信號輸入端; VPD功能:在Vcc掉電情況下,接備用電源。 EA/Vpp:內外ROM選擇/片內EPROM編程電源: EA功能:內外ROM選擇端; Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。 I/O線:4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。圖2.5 89c51引腳圖2. 四位一體七段共陰極顯示數(shù)碼管圖2.6數(shù)碼管引腳圖3、 系統(tǒng)原理圖設計與仿真3.1系統(tǒng)仿真圖圖3.1系統(tǒng)仿真圖3.2系統(tǒng)仿真結果圖3.2系統(tǒng)正在運行圖3.3系統(tǒng)正在運行4、 程序設計4.1程序設計 數(shù)碼管動態(tài)顯示程序包含顯示數(shù)字、部分字母符號、小數(shù)點、數(shù)碼管閃爍、數(shù)碼管消隱等。其它程序輸出到顯示程序的數(shù)據(jù)既可以是BCD碼、二進制碼、ASCII碼、自定義顯示碼等。由硬件電路工作原理可知,為了顯示穩(wěn)定的數(shù)據(jù),每秒必須顯示數(shù)據(jù)50次以上,才能達到預期目的。MCS-51 單片機內部有兩個16 位可編程的定時器/計數(shù)器T0 和T1。它們即可用作定時器方式,又可用作計數(shù)器方式。其中T0 由TH0 和TL0 計數(shù)器構成;T1 由TH1 和TL1 計數(shù)器構成。工作于定時器方式時,通過對機器周期(新型51單片機可以對振蕩周期計數(shù))的計數(shù),即每一個機器周期定時器加1,來實現(xiàn)定時。故系統(tǒng)晶振頻率直接影響定時時間。如果晶振頻率為12MHZ,則定時器每隔(1/12MHZ)12=1us 加1。工作于計數(shù)器方式時,對P3.4 或P3.5 管腳的負跳變(10)計數(shù)。它在每個機器周期的S5P2 時采樣外部輸入,當采樣值在這個機器周期為高,在下一個機器周期為低時,計數(shù)器加1。因此需要兩個機器周期來識別一個有效跳變,故最高計數(shù)頻率為晶振頻率的1/24。特殊功能寄存器TMOD 用于定時器/計數(shù)器的方式控制。高4 位用于設置T1,低4 位用于設置T0。單片機內部定時器/計數(shù)器的使用,簡而概之:(1)如需用中斷,則將EA和相關中斷控制位置1;(2)根據(jù)需要設置工作方式,即對TMOD設置;(3)然后啟動計數(shù),即對TR0或TR1置1。(4)如使用中斷,則計數(shù)溢出后硬件會自動轉入中斷入口地址;如使用查詢,則必須對溢出中斷標志位TF0或TF1進行判斷。4.2程序流程圖圖4.1主程序圖5、 系統(tǒng)調試5.1系統(tǒng)硬件調試在領完課程設計所需的元器件并檢查是否是自己所需要,并且根據(jù)電路原理圖進行電路板的焊制,在焊接過程中注意不要虛焊和短路。焊接完成后首先對電路板上的線路進行檢查是否有錯漏和重復。并且用萬用表測試電路中有無虛焊短接的情況。在測試無誤后,向單片機燒錄程序,并接通電源進行測試。在第一次上電過程中,數(shù)碼管并沒有顯示出如期的結果,用萬用表對焊接點進行再一次的排查并對線路進行檢查,發(fā)現(xiàn)單片機底座有幾個虛焊點,并重新對其進行焊制。5.2系統(tǒng)軟件調試在keil編譯器下進行程序的編寫,以子程序為單位進行調試,并且利用proteus軟件進行仿真實驗并結合電路板進行整機調試。六、總結與體會此次的課程設計是基于單片機的數(shù)碼管滾動顯示控制。單片機是自動化的重要課程,學習的時候十分用心,也同時也為這次的課程設計打下了理論基礎。但是由于學習到的更多涉及于課本知識并沒有靈活的掌握,所以說在設計的過程中也需要不斷的翻閱書籍,以此來達到完成順利完成課程設計任務,在這段學習與制作的過程中鞏固了我在課堂上學習到的內容,而且鍛煉到了我個人的自我學習能力及制作能力。在課程設計最開始是做Proteus仿真,從最小系統(tǒng)開始做。單片機最小系統(tǒng)是指用最少的元件組成的單片機可以工作的系統(tǒng)。應該包括:單片機、晶振電路、復位電路等。我上學期做過數(shù)電的課程設計所以這次看到器件這么少電路圖這么簡單還覺得很高興。然而做完仿真開始焊接時才發(fā)現(xiàn)從單片機芯片出來的連接數(shù)碼管的線路在仿真中隱藏了只留下了引腳,導致我在焊接的時候一下多了十多根線打亂我的節(jié)奏,好在最后還是踉踉蹌蹌地焊完了。在第一次調試的時候并沒有現(xiàn)象,這令我十分惶恐,仔細檢查才發(fā)現(xiàn)仿真中21 20引腳的都略去了而這幾個針腳正是連接vcc跟地的引腳,后來將它焊上了。給我的啟發(fā)是以后在做完仿真焊接的時候一定要每個引腳的過,因為仿真中它將芯片的引腳打亂了順序而且有的引腳也省略了,仿真跟真實的焊接還是不同的。還有就是拿到仿真先別急著焊接,還是要大致地考慮器件的布局跟正反面的走線,提前理清思路焊的時候才能游刃有余,不至于慌忙。而且在制作仿真的過程中也有了瓶頸,大一學的c語言忘得差不多了好在同學的幫助下才解決了問題,另外焊接只是一方面,后續(xù)的檢測診斷才是關鍵,不可能一下子焊好就可以使用,在焊接的過程中難免有一些焊點漏焊虛焊的。每一次的課程設計對我都是一種拔高跟歷練,在一次次的課程設計中我會不斷地進步,提升自己的解決問題的能力,跟動手焊接能力,還有故障排查能力,做課程設計固然需要智慧然而堅持跟耐心也是很關鍵的,這幾樣缺一不可,否則很難做出成功的作品。我相信我會一步步地慢慢變好變強。附錄一元器件清單器件名稱數(shù)量Stc89c54單片機1電容若干七段共陰極數(shù)碼管2電阻若干微動開關2芯片插座3驅動1晶振1附錄二#include/-定義使用的IO口-/#define GPIO_DIG P2/段選#define GPIO_PLACE P0/位選sbit k =P10;/-定義全局變量-/unsigned char code DIG_PLACE8 = 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位選控制 查表的方法控制unsigned char code DIG_CODE17 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼unsigned char DisplayData8;/用來存放要顯示的8位數(shù)的值/-聲明全局函數(shù)-/void Displaykey();void Runkey();void first();void step1();void step2();void step3();void step4();signed char delay;signed char i;unsigned char j;signed char i1;unsigned char step=1;/* 函 數(shù) 名 : main* 函數(shù)功能 : 主函數(shù)*/void main(void)unsigned char a;for(a=0; a8; a+)DisplayDataa = DIG_CODEa; /存放段碼first(); /設置定時器初值和工作方式while(1) Displaykey();/掃描按鍵 Runkey(); /執(zhí)行相對應的按鍵步驟 /* 函 數(shù) 名 :first()* 函數(shù)功能 : 設置初值*/void first() TMOD=0x01; /設置T0為定時器 工作方式0 TH0=(65536-20000)/256;TL0=(65536-20000)%256; /設置計數(shù)器初值,定時時間為20msIE=0x82; /允許定時器0中斷 /* 函 數(shù) 名 :Displaykey();* 函數(shù)功能 : 按鍵掃描*/void Displaykey() if(k=0) TR0=1; /啟動定時器0 /* 函 數(shù) 名 :void time0() interrupt1 using 1* 函數(shù)功能 : 定時器0*/ void time0() interrupt 1 using 1 unsigned char a; TH0=(65536-20000)/256;TL0=(65536-20000)%256; /方式1需要重置定時器的初值 if(k=0) /定時20ms去除按鍵抖動 while(1) if(k=1) break; /判斷按鍵是否彈起 step=step+1;/進入下一個工作方式 if(step=5) step=1; switch(step) case 1: i=0; break; /設置步驟1的初值 case 2: i=7; break; /設置步驟2的初值 case 3: i=0; i1=7; break; /設置步驟3的初值 case 4: i=3; i1=4; break; /設置步驟4的初值 a+; while(a=20) /利用定時器進行延時 延時時間為20ms*50=1sa=0;delay=1; /延時結束標志位TR0=0; /關閉定時器 /* 函 數(shù) 名 :Runkey();* 函數(shù)功能 : 按鍵執(zhí)行和選擇*/void Runkey() switch(step) case 1: step1(); break; case 2: step2(); break; case 3: step3(); break; case 4: step4(); break; /* 函 數(shù) 名 : step1* 函數(shù)功能 : 右掃程序*/void step1()GPIO_PLACE = DIG_PLACEi; /發(fā)送位選GPIO_DIG = DisplayDatai; /發(fā)送段碼j = 10; /掃描間隔時間設定while(j-);GPIO_DIG = 0x00;/消隱TR0=1; /開定時器延時while(delay=1) delay=0; i=i+1; /延時時間到,數(shù)碼管位選移動 while(i=8) i=0; /* 函 數(shù) 名 : step2* 函數(shù)功能 : 左掃程序*/void step2()GPIO_PLACE = DIG_PLACEi; /發(fā)送位選GPIO_DIG = DisplayDatai; /發(fā)送段碼j = 10; /掃描間隔時間設定while(j-);GPIO_DIG = 0x00; /消隱TR0=1;while(delay=1) delay=0; i=i-1; /延時時間到,數(shù)碼管位選移動 while(i=-1) i=7; /* 函 數(shù) 名 : step3* 函數(shù)功能 : 內縮程序* 輸 入 : 無* 輸 出 : 無*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會所茶樓管理制度
- 會議體系管理制度
- 會議期間管理制度
- 太原工業(yè)學院《就業(yè)指導-職業(yè)生涯規(guī)劃》2023-2024學年第二學期期末試卷
- 華北科技學院《貝葉斯統(tǒng)計導論》2023-2024學年第二學期期末試卷
- 永城職業(yè)學院《醫(yī)療營銷管理》2023-2024學年第二學期期末試卷
- 低碳園區(qū)管理制度
- 住宅樓施工管理制度
- 體重異常管理制度
- 作業(yè)發(fā)布管理制度
- 康復進修匯報
- 2024年云南省中考物理試題含答案
- 2024年石家莊市市屬國企業(yè)面向社會公開招聘403名管理人員及專業(yè)技術人員高頻難、易錯點500題模擬試題附帶答案詳解
- 醫(yī)藥代表聘用合同模板
- 2024-2030年中國公路工程行業(yè)市場發(fā)展分析及前景預判與投資研究報告
- 2.4圓周角(第1課時)(課件)九年級數(shù)學上冊(蘇科版)
- 桿塔組立施工安全檢查表
- DL∕T 1392-2014 直流電源系統(tǒng)絕緣監(jiān)測裝置技術條件
- 2024年山東省高中學業(yè)水平合格考生物試卷試題(含答案詳解)
- 電影敘事與美學智慧樹知到期末考試答案章節(jié)答案2024年南開大學
- YYT 0663.3-2016 心血管植入物 血管內器械 第3部分:腔靜脈濾器
評論
0/150
提交評論