單片機最小系統設計課程設計_第1頁
單片機最小系統設計課程設計_第2頁
單片機最小系統設計課程設計_第3頁
單片機最小系統設計課程設計_第4頁
單片機最小系統設計課程設計_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機最小系統設計該單片機最小系統具有的功能:(1)具有2位led數碼管顯示功能。(2)具有八路發光二極管顯示各種流水燈。(3)可以完成各種奏樂,報警等發聲音類實驗。(4)具有復位功能。功能分析(1)兩位led數碼管顯示功能,我們可以利用單片機的p0口接兩個數碼管來現這個功能;(2)八路發光二極管顯示可以利用p1口接八個發光二極管實現這個功能;(3)各種奏樂、報警等發聲功能可以采用p2.0這個引腳接一蜂鳴器來實現。(4)利用單片機的第9腳可以設計成復位系統,我們采用按鍵復位;利用單片機的18、19腳可以設計成時鐘電路,我們利用單片機的內部振蕩方式設計的。 設計框圖硬件電路設計根據本系統的功能,

2、和單片機的工作條件,我們設計出下面的電路圖。元件清單的確定:數碼管:共陰極2只(分立)電解電容:10uf的一只30pf的電容2只220歐的電阻9只4.7k的電阻一只1.2k的電阻一只4.7k的排阻一只,12mhz的晶振一只有源5v蜂名器一只at89s51單片機一片常開按鈕開關1只緊鎖座一只(方便芯取下來的,綠色的)發光二極管(5mm紅色)8只萬能板電路版15*17cms8550三極管一只45v電池盒一只,導線若干。 七、硬件電路的焊接按照原理圖把上面的元件焊接好,詳細步驟省略。 相關程序編寫針對上面的電路原理圖,設計出本單片機最小系統的詳細功能:(1)、第一個發光二極管點亮,同時數碼管顯示“1

3、”。(2)、第二個發光二極管點亮,同時數碼管顯示“2”。(3)、依次類推到第八個發光二極管點亮,同時數碼管顯示“8”。以上出現的是流水燈的效果(4)、所有的發光二極管滅了,同時數碼管現實“0”。(5)、數碼管顯示“1”。(6)、數碼管顯示“2、”直到“9、a、b、c、d、e、f、y”。(7)、蜂鳴器發出九聲報警聲后重復上面所有步驟。(8)程序如下:org 0000h;偽指令,定義下面的程序代碼(機器代碼)從地址為0000h的單元存放。ljmp start;跳轉到標號為start的地方去執行。org 0030h;偽指令,定義下面的程序代碼(機器代碼)從地址為0030h的單元存放。start:mo

4、v p1,#0feh ;點亮第一個發光二極管。clr p2.7 ;送低電平到第一個數碼管,開啟數碼管。clr p2.6 ;送低電平到第二個數碼管,開啟數碼管。mov p0,#06h;讓數碼管顯示“1” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#0fdh;點亮第二個發光二極管。mov p0,#5bh;讓數碼管顯示“2” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#0fbh;點亮第三個發光二極管。mov p0,#4fh;讓數碼管顯示“3” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#0f7h;點亮第四個發光

5、二極管。mov p0,#66h;讓數碼管顯示“4” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#0efh;點亮第五個發光二極管。mov p0,#6dh;讓數碼管顯示“5” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#0dfh;點亮第六個發光二極管。mov p0,#7dh;讓數碼管顯示“6” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#0bfh;點亮第七個發光二極管。mov p0,#07h;讓數碼管顯示“7” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#7fh;點亮第八個發光二

6、極管。mov p0,#7fh;讓數碼管顯示“8” 。lcall delay;調用延時子程序,起到延時的目的。mov p1,#00h;滅了所有的發光二極管。mov p0,#3fh;讓數碼管顯示“0” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#06h;讓數碼管顯示“1” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#5bh;讓數碼管顯示“2” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#4fh;讓數碼管顯示“3” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#66h;讓數碼管顯示“

7、4” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#6dh;讓數碼管顯示“5” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7dh;讓數碼管顯示“6” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#07h;讓數碼管顯示“7” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7fh;讓數碼管顯示“8” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#6fh;讓數碼管顯示“9” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7fh;讓

8、數碼管顯示“a” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7fh;讓數碼管顯示“b” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7fh;讓數碼管顯示“c” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7fh;讓數碼管顯示“d” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7fh;讓數碼管顯示“e” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,#7fh;讓數碼管顯示“f” 。lcall delay;調用延時子程序,起到延時的目的。mov p0,

9、#7fh;讓數碼管顯示“y” 。lcall delay;調用延時子程序,起到延時的目的。mov r4,#9;送蜂鳴器的報警次數。loop:setb p2.0;不發聲lcall delay;調用延時子程序,起到延時的目的。clr p2.0;發聲。lcall delay;調用延時子程序,起到延時的目的。djnz r4,loop;發聲九次后向下執行。setb p2.0;關閉發聲ljmp start;跳轉到標號為start處執行,循環本程序。delay:mov r7,#200;這是延時子程序。d1:mov r6,#200d2:mov r5,#200d3:djnz r5,d3djnz r6,d2djnz

10、 r7,d1ret;延時子程序返回指令。end;結束偽指令。九、利用keil c51 軟件對上面的程序進行調試和編譯,產生*.hex文件,以便用編程器寫入單片機芯片中。十、編程器的使用:用編程器把電腦里生成的*.hex文件寫到芯片中。十一、產品調試:通上4.5v(三節電池)的電源,可以調試本系統,如果沒有錯誤就可以正常工作了。下面還有有一個網上copy的一個設計單片機課程設計題目:單片機最小系統一、設計題目:單片機最小系統四、任務與要求: 在智能化儀器儀表中,控制核心均為微處理器,而單片機以高性能、高速度、體積小、價格低廉、穩定可靠而得到廣泛應用,是設計智能化儀器儀表的首選微控制器,單片機結合

11、簡單的接口電路即可構成單片機最小系統,它是智能化儀器儀表的基礎,也是測控。監控的重要組成部分。 本課題任務與要求如下:1、 單片機可采用8031、8051、at89c51、at89c52、fosc=6mhz。2、 時鐘電路,復位電路的設計。3、 系統ram、rom的容量均為8kb。4、 顯示位數:8位。5、 鍵盤按鍵數:16個。6、 上電初始化顯示p.7、 能輸入、顯示十六進制數0f8、 編寫系統初始化主程序、鍵掃子程序、顯示子程序及其他所需要子程序。9、 計算機輸出設計說明書一分(包括各部分電路工作原理說明、程序清單及程序流程框圖),16開方框圖一張,電路原理總圖一張。10、 設計時間:一周

12、五、單片機最小系統總體方案設計提示 1、 可利用8031,ram,rom,8279構造單片機最小系統。2、 可利用8031,ram,rom,8155構造單片機最小系統。也可以利用at89c51(或at89c52),ram,8155構造單片機最小系統。請看我的程序然后修改 ,有問題可以在我們的論壇交流,qq群7344883設inter 8051片內ram78h-7fh單元為顯示緩沖區,依次從低到高存顯示數據 org 0000h ajmp main org 0080h main : mov sp, #60h mov r0, #08h mov r1, #78h lcall ml ;調清零子程序 mo

13、v r0, #64 ;清工作單元 mov r1, #20h lcall ml mov a, #03h ; 8155的初始化 mov dptr, #7f00h movx dptr,a st: mov 78h, #0ffh ;顯示p. mov 79h, #0ffh mov 7ah, #0ffh mov 7bh, #0ffh mov 7ch, #0ffh mov 7dh, #0ffh mov 7eh, #0ffhmov 7fh, #0ch lm: lcall dis ;調顯示顯示p. lcall shift ;調移位程序 lcall ltim ;調延時子程序 lcall kd1 ;調鍵掃程序 inc

14、 r0 ajmp lmdis: mov a, #03h ;顯示程序 mov dptr, #7f00h mov dptr,a mov r0, #78h mov r3, #01h mov a, r3 ld0: mov dptr, #7f01h movx dptr,a inc dptr mov a, r0 dir0: add a, #0dh movc a, a+pc dir1: movx dptr,a lcall dl inc r0 mov a, r3 jb acc.5,ld1 rl a mov r3, a ljmp ld0 ld1: ret dseg: db 3fh,06h,5bh,4fh,66h

15、 db 6dh,7dh,07h,7fh,6fh db 77h,7ch,39h,5eh,79h db 71hdl1: mov r7, #01h ;延時1msdl : mov r6, #0ffhdl6: djnz r6, dl6 djnz r7, dlretkd1: lcall dis ;鍵盤掃描程序 key1: lcall key jnz lk1 ni: acall dis ajmp key1 lk1: acall dis ;有鍵閉合2次延時 acall dis ;共12ms去抖動 acall k1 jnz lk2 lcall dis ajmp key1 lk2: mov r2, #0feh m

16、ov r4, #00h lk4: mov dptr, #7f01h mov a, r2 movx dptr, a inc dptr inc dptr movx a, dptr jb acc.0, lone mov a, #00h ajmp lkp lone: jb acc.1, next mov a, #08h ajmp lkp lkp: add a, r4 ;計算鍵碼 push acc ;保護鍵碼 lk3: acall dis acall k1 ;查鍵是否繼續閉合,若閉合再延時 jnz lk3 pop acc ret next: inc r4 mov a, r2 jnb acc.7, klm rl a mov r2, a ljmp lk4 ;進行下一次掃描 klm: ajmp key1 ;掃描完畢,開始新的一次ltim: mov r5, 01h ;延時子程序 lp3: mov r6, #0ffh lp2: mov r7, #0ffh lp1: mov r7, lp1 djnz r6, lp2 djnz r6, lp3ml: mov a, #60h ;清零子程序 mov r1, a inc r1 djnz r0, ml mm: mov a, #00h ;清顯示 mov r0, #08h mov r1, #78h lcall ml shift

溫馨提示

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

評論

0/150

提交評論