微機綜合實踐課程設計._第1頁
微機綜合實踐課程設計._第2頁
微機綜合實踐課程設計._第3頁
微機綜合實踐課程設計._第4頁
微機綜合實踐課程設計._第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、桂林電子科技大學微機綜合實踐課程設計設計報告指導老師:吳兆華學牛: 劉芯豪學 號:桂林電子科技大學機電工程學院微機綜合實踐課程設計設計報告目錄一、設計題目 2二、設計內容與要求 2三、設計目的意義 2四、系統硬件電路圖 34.1 系統框圖 34.2 電路設計軟件 Altium Designer 34.3 元器件清單 44.4 電路的設計及注意事項 4441 電路原理圖和 PCB的設計44.4.2 注意事項 64.5 電路原理圖 74.6 圖形顯示 PCB8五、程序流程圖與源程序 95.1 程序流程圖 95.1.1 主程序流程圖 95.1.2 中斷子程序流程圖 105.2 源程序清單 115.2

2、.1 匯編語言程序 115.2.2 C 語言程序 15六、系統功能分析與說明 196.1 STC89C52RC單片機介紹196.1.1 STC89C52RC 單片機引腳功能 206.1.2 STC89C52RC單片機中斷系統 236.2 復位電路 266.3 晶振電路 276.4 按鍵電路 286.5 8 X8點陣LED顯示286.5.1 點陣顯示效果 29七、設計體會 31八、參考文獻 31一、設計題目步進電機控制系統設計二、設計內容與要求用8051單片機設計一個控制系統,控制 8*8點陣式LED循環顯示“”、“”和 心形圖,要求通過按鍵來選擇要顯示的圖形。顯示時間可調。三、設計目的意義隨著

3、社會的發展,單片機因其高可靠性和高性價比,在工業控制系統、智能化儀器儀表和智能接口等諸多領域內得到了極為廣泛的應用。LED電子顯示屏是利用發光二極管構成的點陣模塊或像素單元組成可變面積的顯示屏幕, 它具有高清晰度、 色彩鮮艷、 視角大、工作穩定、壽命長、功耗低等優點。由于采用單元模塊化結構,屏體大小可按 用戶要求靈活拼制;它的超高亮度,使它在戶內外顯示中具有不可替代的作用。隨著信 息產業的高速發展,LED顯示作為信息傳播的一種重要手段,已廣泛應用于室內外需要 進行服務內容和服務宗旨宣傳的公眾場所,例如戶內外公共場所廣告宣傳、機場車站旅 客引導信息、公交車輛報站系統、證券與銀行信息顯示、餐館報價

4、信息豆示、高速公路 可變情報板、體育場館比賽轉播、樓宇燈飾、交通信號燈、景觀照明等。顯然,LED顯示已成為城市亮化、現代化和信息化社會的一個重要標志。因此,本設計具有很強的現 實應用性,且是對我們所學知識應用的一個很好的檢驗。1、通過學習單片機原理, 初步了解如何用匯編語言實現對 51 單片機系統進行控制。 通過簡單圖形顯示控制的設計,將所學的知識融會貫通,鍛煉獨立設計、制作和調試單 片機應用系統的能力,為進一步的科研實踐活動打下一定的基礎。2、通過單片機最小系統的應用,掌握單片機內部定時 / 計數器應用與編程、及硬件 調試、設計方法。3、在這次的動手設計之后,領會單片機的應用系統的軟硬件調試

5、的方法,掌握單 片機編程方法,及軟件 keil C51 的使用方法,熟悉軟件調試過程及方法,對單片機系 統和LED顯示技術有了進一步的理解。4、課程設計中讓我們對點陣的工作原理有了了解,知道其點亮方式和掃描顯示圖 形,當我們在做擴展屏幕的時候會有一些直接的參考,為下一次可能用到而積累知識。5、制作電路板需要動手使用電烙鐵,焊錫,培養自己動手操作能力。6、本次做硬件電路使用 Altium Designer 電路設計軟件,讓我們對這個軟件有一 定的了解并掌握其軟件的基本功能,如何導入軟件庫,如何添加元器件的封裝,如何使用原理圖庫繪制原理圖,如何使用 PCB封裝庫繪制元器件封裝,如何在 PCB中擺放

6、元器件,如何選擇我們需要的線寬等等7、根據課題要求,從提出并選擇設計方案、查找確定所用元器件、設計并搭制硬 件電路、編程寫入并調試等一系列過程,鍛煉了分析、解決問題的能力及相互學習的精 神。8、在制作電路板之前,還是用了 proteus仿真軟件對電路圖進行仿真,驗證我們 所設計的原理圖是否合理,功能能否按照要去實現,最重要的還是學會了一個電路仿真 軟件,當我們身邊沒有單片機開發板時也可以通過仿真軟件來設計我們的電路,驗證我 們的程序。9、為我們以后的工作積累經驗,培養團隊的合作精神和分工協調能力,為今后能 獨立承擔起電路設計、能進行微機單片機應用系統的開發與設計工作打下一定的基礎。10、本次課

7、程設計我們三個人一個小組,每個人設計一個方案,最終經過討論分析 得到了我們小組最終的一個整體方案,培養我們對方案分析,解決問題和團隊合作的能 力。四、系統硬件電路圖4.1系統框圖硬件電路的設計框圖如圖1所示。電源復位電路8051單片機8X 8點陣電 路9按鍵電路圖1硬件電路的設計框圖4.2電路設計軟件Altium Designer我們在制作硬件,得到我們所需要的成品,需要運用各種 軟件,工具來實現我們的目的。首先知道我們需要什么元器件, 運用什么樣的電路圖,得到我們所需要的電路圖如何將電路放 到我們的銅板上面,焊接元器件,調試電路等等各種步驟,都需要我們了解,并親自動手操作。右圖是我們的小組制

8、作的硬件電路我們采用的軟件是 Altium Designer電路設計軟件,Altium Designer是原Protel軟件開發商Altium公司推出的一體化的 電子產品開發系統,主要運行在 Win dows 操作系統。這套軟件通過把原理圖設計、 電路仿真、PCB繪制編輯、拓撲邏輯自動 布線、信號完整性分析和設計輸出等技術的完美融合,其主要功能有:1. 原理圖設計;2. 印刷電路板設計;3. FPGA的開發;4. 嵌入式開發;5. 3D PCB 設計。基于這些優點,Altium Desig ner可以為設計者提供了全新的設計解決方案,使設 計者可以輕松進行設計,使用這款軟件將使電路設計的質量和

9、效率大大提高。我們的本 次課設只需使用其前面的兩點便可,有助于我們比較成功的完成課程設計任務。4.3元器件清單FootprintCommentLibRefDesignatorDescriptionQuantityRAD0.130PFCAPC1, C22RB.1/.2CAP-2CAP-2C31XTAL-1CRYCRYCY11RB.1/.2LEDLEDD11SIP2CON2CON2J1SouresConn ector1SIP-8*2點陣CON8*2J21sip-4CON4CON4J5Conn ector1SW1SW4SW4KEY1, KEY2,KEY3, KEY4, S15AXIAL0.41kRE

10、SR1, R32AXIAL0.410kRESR21SIP-910k排阻R41DIP-405151U11184.4電路的設計及注意事項4.4.1電路原理圖和PCB的設計第一步:新建一個工程繪制一個完整的電路圖,我們的第一步是建立一個工程文件,我們的后續工作都在這個工程文件下面進行,建立工程的步驟為:File New Project PCB Project。如下圖所示步驟:% Ahi幀65 - f rw Dsrajnwnts, Uw-niwi E ALJiUM| M DfiP 9* Mew Project 業indcw tijdp|Lj 勺e丄然后得到我們的工程文件,但這只是一個空的工程,里面什么

11、都沒有,只是給我們 開辟了一個空間,我們需要在這個空間里面加入我們的原理圖。第二步:新建一個原理圖建立完工程之后接下來我們需要建立一個能夠畫電路圖的原理圖,步驟為:File New Schematic。如下圖所示步驟% Altium Designer 6.9 * PCB”ProjzH,PrjPCB,Gcensed t ALTIUMD甚 P File yitw Proj#t Window HtlpJ |New丿 cherruttic呎代Open.Ctrl+OJ C penus System DocumerrtWu jPrefect. C81 VHDL Document第三步:新建一個PCB原理圖

12、只是給我們提供繪制理論電路的地方,只是一個簡單的物理電路圖,最終需 要制作刻錄電路圖形在電路板上面的是 PCB建立好工程和電路圖之后我們還需要建立 一個PCB它是聯系理論電路與實物電路的橋梁,步驟為:File New PCB如下圖所示步驟暫 Altium Designer .9 Sht1 .SchDoc - PCB Projectt .PqPCB,Lcenwd to ALTIUMK D費 file dit yiew Prcjt Mace eiign Tocli fieporti Window HdpSchematic一 Open.jjSytferti Documtmt4ImportCtrf +

13、 F41JHDL Document最后得到有一個元整的工程文件,里面包含我們的“.SchDoc和“ .PcbDoc兩個文件,在這個工程文件中根據我們的方案繪制電路圖和PCB4.4.2 注意事項繪制原理圖的注意事項:1、我們要保證所需要的原理圖元器件在我們的原理圖庫中存在, 如果沒有,我 們建立一個原理圖庫,繪制我們需要的元器件,步驟為: File New Library Schematic Library 。繪制好元器件之后并對元器件添加封裝和設置器件的參數;2、 放置每一種元器件的第一個時,按下TAB鍵,修改元器件的屬性,則再次放 下該器件時已經具有封裝、參數值以及順序編號;3、連線不方便或

14、者距離較遠時,利用網絡標號來表示電器鏈接;4、使用ERC來檢查我們的電路原理圖連線是否有問題, 從而消除電路漏連,重 復編號等錯誤,提高我們電路原理圖設計的可靠性;5、放置電路原理圖之前, 有些器件可能是沒有添加有封裝, 或者封裝錯誤, 所 以當我們選擇元器件的時候先按下 TAB鍵來添加或者修改我們元器件合適的封裝, 防止我們使用了錯誤的封裝無法安插元器件,減少錯誤的發生。繪制PCB的注意事項:1、 繪制PCB的第一步是元器件的布局,根據PCB走線最短原則,按照電路圖將 電路劃分成不同的功能模塊,如電源部分,驅動部分,CPU部分的放置,然后根據 PCB的尺寸和安裝整體移動各相關模塊, 這樣就能

15、保證相同模塊內的走線最短, 各個 模塊之間的連接最合理;2、布局時充分利用CrossProbe工具圖標迅速找到PCB和Sch中對應的元器件, 方便布局;3、可以從Sch通過CrossProbe工具圖迅速找到PCB中對應的元器件,也可以 從PCB中通過CrossProbe工具圖迅速調到原理中相應元器件或網絡標號相應的位 置;4、在進行布線時,很多同學都喜歡使用自動布線功能,方便,節省時間。我們 最好不要使用自動布線,采用模塊化布局,然后邊調整邊走線的方式,使我們的電 路圖形看起來更加簡潔美觀。5、導線寬度設計, 布線之前我們需要設計我們的線性規則, 導線的寬度至少為 28mil ,防止導線寬度過

16、小,在腐蝕電路圖形時導線斷開,有些同學在腐蝕電路板的 時候因為導線寬度設計不合理,制作電路板時導線被腐蝕掉;6、線間距設計,至少為 10mil ,防止導線挨得過近,產生短路,或者在信號流 通時產生信號干擾;7、焊盤設計, 焊盤用于焊錫與元器件的連接, 我們的焊盤大小設計要合理, 按 照手工焊接的話,我們的焊盤直徑為 75mil ,孔的大小約為 40mil ,設計合理的焊盤 大小,防止在鉆孔的時候把焊盤鉆掉。4.5電路原理圖4 EE 劉品(HIFH Ma,- n0kK T;J k; K!M MUf; kk一 in r u n p 勺 討川-9 譏 4 i - y 忙監益E E E炸E *営E :

17、氏徨當貝煬石aPLI -aTlllv%$=n0- .4LH ”-sau-J8od 1 9寸五、程序流程圖與源程序5.1程序流程圖5.1.1主程序流程圖345.1.2中斷子程序流程圖外中斷0子程序流程圖定時器0中斷子程序流程圖5.2 源程序清單5.2.1 匯編語言程序CNTA EQU 30HCOUNT EQU 31HORG 00H ; 程序起始地址LJMP STARTORG 03H ;外中斷 0程序入口LJMP INIT0ORG 0BH ; 定時器 0中斷程序入口地址LJMP T0XORG 30HSTART:MOV CNTA,#00H ; 初始化MOV COUNT,#00HMOV R0,#20M

18、OV TMOD,#01H ;T0 工作模式 1MOV TH0,#(65536-50000) / 256 ; 設置初值MOV TL0,#(65536-50000) MOD 256MOV IP,#01HCLR CSETB TR0; 啟動定時器 0SETB ET0; 定時器 0中斷允許SETB EX0SETB IT0SETB EA ; 開總中斷WT1:MOV R6,#5 ; 消抖MOV R7,#248D1:DJNZ R7,$ ;R7減 1 不為 0 則繼續減,直至為零DJNZ R6,D1 ;R6減 1 不為 0 則轉到 D1 處WT2處JB P1.0,WT2 ; 辨別按鍵狀態,若按鍵沒按下,則轉到M

19、OV COUNT,#00H ; 顯示第一個圖形WT2:MOV R6,#5MOV R7,#248D2:DJNZ R7,$DJNZ R6,D2JB P1.1,WT3MOV COUNT,#01H ; 顯示第二個圖形WT3:MOV R6,#5MOV R7,#248D3:DJNZ R7,$DJNZ R6,D3JB P1.2, WT4 ; 顯示第三個圖形MOV COUNT,#02HWT4:MOV R6,#5MOV R7,#248D4:DJNZ R7,$DJNZ R6,D4JB P1.1,NEXTL1:LCALL DELAYNEXT:SJMP WT1;DELAY:MOV R6,#250L2:NOPNOPDJ

20、NZ R6,L2RETLOOP:NOPMOV DPTR,#TAB ;TAB 表首地址送 DPDRMOV A,CNTA ;MOVC A,A+DPTR ; 查表 TABMOV P2,AMOV DPTR,#GRAPH ;GRAPH 表首地址送 DPDRMOV A,COUNTMOV B,#8MUL ABADD A,CNTAMOVC A,A+DPTR ; 查表 GRAPHMOV P0,AINC CNTAMOV A,CNTACJNE A,#8,NEXMOV CNTA,#00HLJMP LOOPINIT0:CLR EX0MOV A,R0ADDC A,#20MOV R0,ACJNE R0,#100,NEXMO

21、V R0,#20SETB EX0T0X:NOPMOV TH0,#(65536-50000) / 256 ; 重置初值MOV TL0,#(65536-50000) MOD 256DJNZ R0,NEXINC COUNTMOV R1,COUNTCJNE R1,#02H,NEXMOV COUNT,#00HNEX: RETITAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FHGRAPH: DB 00H,08H,78H,3CH,3CH,78H,08H,00H; ,0DB 00H,3CH,7EH,7EH,7EH,7EH,3CH,00H; ,1DB 00H,0CH,

22、1H,3H,7CH,3EH,1EH,0CH ; 心形,2*END5.2.2 C 語言程序#include#define uchar unsigned char#define uint unsigned intuchar table8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/ 列掃描數組uchar Figure38=/ 字模取模方式 陰碼 逆向 逐列式0x00,0x08,0x78,0x2C,0x2C,0x78,0x08,0x00,/*,0*/0x00,0x3C,0x7E,0x7E,0x7E,0x7E,0x3C,0x00,/*,1*/0x00,0x0C,0

23、x1E,0x3E,0x7C,0x3E,0x1E,0x0C,/*心形 ,2*/;uchar lie; / 列掃描uchar hang;/行掃描uchar time;/定時時間uchar temp;/暫存 P1 口狀態uint count=20;*/* 函數功能:延時函數/* void delay(uint z) */* 入口參數: z */* 出口參數:無 */void delay(uint n)uint i,j;for(i=n;i0;i-)for(j=110;j0;j-);/*/* 函數功能:檢查 P1 口哪個按鍵按下*/* void check() */* 入口參數:無*/* 出口參數:無*

24、/ void check()temp=P1;temp=temp&0x1f;if(temp!=0x1f)delay(5);temp=P1;temp=temp&0x1f;if(temp!=0x1f)switch(temp)case 0x1e: hang=0; break;case 0x1d: hang=1; break;case 0x1b: hang=2; break;default :break;I*/* 函數功能:主函數 */*void main()*/* 入口參數:無*/* 出口參數:無*/ 選擇 T0 工作模式 1/ 定時時間為 50ms/ 打開總中斷/ 打開外部中斷 0/ 打開定時器 0

25、 中斷void main()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;EX0=1;ET0=1;IT0=1;/外中斷 0 下降沿觸發TR0=1;IP=0x01; /while(1)check();for(lie=0;lie曇451單片機要復位只需要在第9引腳接個高電平持續2US就可以實現,那這個復位過 程是如何實現的,我們進一步解釋。在單片機系統中,系統上電啟動的時候復位一次,當按鍵按下的時候系統再次復位, 如果釋放后再按下,系統還會復位。所以可以通過按鍵的斷開和閉合在運行的系統中控制其復位在電路圖中,電容的的大小是 3

26、0uF,電阻的大小是10k。所以根據公式,可以算出 電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需 要的時間是10K*10UF=0.3S也就是說在電腦啟動的0.3S內,電容兩端的電壓時在03.5V增加。這個時候10K 電阻兩端的電壓為從51.5V減少(串聯電路各處電壓之和為總電壓)。所以在0.3S內, RST引腳所接收到的電壓是5V1.5V。在5V正常工作的51單片機中小于1.5V的電壓信 號為低電平信號,而大于1.5V的電壓信號為高電平信號。所以在開機 0.3S內,單片機 系統自動復位(RST引腳接收到的高電平信號時間為 0.3S左右)。按鍵按下的時候

27、為什么會復位:在單片機啟動0.3S后,電容C兩端的電壓持續充電為5V,這是時候10K電阻兩端的電壓接近于0V, RST處于低電平所以系統正常工作。 當按鍵按下的時候,開關導通,這個時候電容兩端形成了一個回路,電容被短路,所以 在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓 在0.3S內,從5V釋放到變為了 1.5V,甚至更小。根據串聯電路電壓為各處之和,這個 時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系 統自動復位。6.3晶振電路14Ts162Ts2051單片機振蕩電路連接圖如下:P3.4(T0P3.5CT1P3.6(-WP

28、3.7(-RJXTAL2XTAL151GNDGNDAT89C52中有一個用于構成內部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放外石英晶體或陶瓷諾振器一起構成自激振蕩器,給單片機計時器提供晶振周期。外接石英晶體(或陶瓷諾振器)及電容 C1、C2接在放大器的反饋回路中構成并聯振蕩電路。對 的大小會輕微影響振蕩頻率的高低、振蕩器不作的穩定性、起振的難易 程序及溫度穩定性,如使用陶瓷諾振器建議選擇4PF 士 10PF。6.4按鍵電路KEY1 KEY2 KEY3 KEY4的作用分別是選擇顯示“五角星”,“圓形”,“心形”,和 調整顯示時間,其電路如下圖所示:孑NDKEY1 KEY2

29、KEY3 KEY4分別于單片機的 P1.0,P1.1,P1.2,P3.2 引腳相連,當KEY1 KEY2 KEY3其中一個按鍵按下時,單片機的I/O 口讀取到低電平,通過函數編程 從而選擇某個圖形進行顯示在 8*8點陣上面。我們設置圖形的初始顯示時間1s,為KEY4 連接的P3.2 口是外部中斷0的輸入端口,按一次就會觸發一次外部中斷,時間就會相 應的加一秒,當產生九次中斷,也就是按鍵按下了九次,圖形顯示時間為10s,當再產生一次中斷觸發,顯示時間又跳回 1s顯示。6.5 8 X 8點陣LED顯示8X8點陣為陣列形式,右圖為共陽 極8X 8點陣LED外觀及引腳圖,其等效 電路下圖所示,只要其對

30、應的X、丫軸順 向偏壓,即可使LED發亮。例如如果想使左上角LED點亮,則Y0=1,X0=0即可應用時限流電阻可以放在X軸或Y軸o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o oo ooo o ooo o ooo o ooo o ooo o ooo o ooo o ooo0 b F J A 1 G Moooooooooooooooo2 Q E 7 C B *Y0UcaE1面.EgI3(1)1iA JInloikYH3) nJ J0 14% MY5(2)1d-i9 2兀廠亦J01ai3 jy? ro)“0921Sil2Xy電路連接如下圖所示:P04 1P06 2P21 3P22 4P07 5P24 6P05 7P02 8J2點陣1612TTwP27P26P01P20P03P25P23P00我們用單片機的P0 口和P2 口分別與點陣的列和行進行連接,點陣的列為陽極,行 為陰極,因為該

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論