單片機最小應用系統設計報告-單片機控制可測方波_第1頁
單片機最小應用系統設計報告-單片機控制可測方波_第2頁
單片機最小應用系統設計報告-單片機控制可測方波_第3頁
單片機最小應用系統設計報告-單片機控制可測方波_第4頁
單片機最小應用系統設計報告-單片機控制可測方波_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、桂 林 電 子 科 技 大 學單片機最小應用系統 設 計 報 告 指導老師: 學 生: 學 號:082011224桂林電子科技大學機電工程系目錄一、實驗課題及要求2二、實驗目的2三、系統硬件電路2硬件電路說明3最小系統控制部分6晶振電路6復位電路7四、軟件設計10程序流程圖10程序源代碼11五、設計總結14六、參考文獻14一、實驗課題及要求用8031單片機控制可測方波1100Hz,并顯示每分鐘計數的脈沖二、實驗目的1、 加深外部中斷指令的基本使用方法;2、 熟悉外部中斷處理程序的編程方法;3、 進一步熟悉8051內部定時/計數器的初始化、使用方法及編程方法;4、 進一步掌握8051中斷處理程序

2、的編程方法和應用;5、 掌握I/O接口的基本方法;6、 學會使用并熟練掌握電路繪制軟件Protel99SE(或DXP)。三、系統硬件電路整個設計主要包括單片機基本的晶振電路,按鍵復位電路,設計中需要的LED管,開關、按鍵等。具體的電路圖如下圖1所示圖1系統設計總電路圖 本次硬件系統包括單片機最小系統、外部中斷電路、LED顯示電路三部分在下面介紹中對每一部分都有詳細的說明。3.2 AT89C51單片機簡介 AT89S51單片機是美國ATMEL公司生產的低功耗,高性能CMOS 8位單片機,片內含4K bytes的可系統編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術

3、生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。圖2 AT89S51引腳圖AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含8k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及89C51引腳結構,芯片內集成了通用8位中央處理器和IS

4、P Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案。    1、AT89S51具有如下特點:40個引腳,8k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。2、AT89S51的運行模式 (1)空閑模式 在空閑模式下,CPU處于睡眠狀態,振蕩器和所有片內外圍電路仍然有效。空閑模式可由軟件設置進入(設ID

5、L1)。在這種模式下,片內RAM和SFR中的內容保持不變。空閑模式可通過任何一個允許中斷或硬件復位退出。 若用硬件復位方式結束空閑模式,則在片內復位控制邏輯發生作用前長達約兩個機器周期時間內,器件從斷點處開始執行程序。片內硬件禁止訪問內部RAM,但不禁止訪問端口。為避免采用復位方式退出空閑模式時對端口的不應有的訪問,在緊隨設置進入空閑指令(即設IDL1)的后面,不能是寫端口或外部RAM的指令。(2)掉電模式引起掉電模式的指令是執行程序中的最后一條指令(使PD1的指令)。在掉電模式下,振蕩器停止工作,CPU和片內所有外圍部件均停止工作,但片內RAM和SFR中的內容保留不變,直到掉電模式結束。 退

6、出掉電模式可用硬件復位或任何一個有效的外部中斷INT0和INT1。復位可重新設置SFR中的內容,但不改變片內RAM中的內容。在Vcc電源恢復到正常值并維持足夠長的時間之后,允許振蕩器恢復并達到穩定,方可進行復位,以退出掉電模式。3、MCS-51系列單片機的并行I/O口接口電路是微機必不可少的組成部分,并行輸入確出接口是CPU和外部進行信息交換的主要通道。MSC51系列單片有4個8位并行雙向I/O口P0P3,共32根I/O線。每一根線能獨立用作輸入或輸出。單片機可以外接鍵盤、顯示器等外圍設備還可以進行系統擴展,以解決硬件資源不足問題。4個并行口都是雙向口,既可以輸入又可以輸出。P0、P2口經常作

7、外部擴展存儲器時的數據、地址線,P3口除作I/O口外,每一根都有第二功能。這4個I/O口結構基本相同,但仍存在差別。(1) P1口是最常用的I/O口如圖3所示,因為不作數據地址線,其結構中沒有數據地址線,也沒有多路開關MUX,輸出驅動電路接有上拉電阻。P1口輸入輸出時與P0作I/O時相似,輸出數據時先寫入鎖存器,經Q端反相,再經場效應管反相輸出到引腳。輸入時,先向鎖存器寫l,使v管截止外部引腳信號由下方讀緩沖器送入內部總線,完成讀引腳操作。P1口也可以讀鎖存器。外部提升電阻將引腳拉升至高電平,但輸人的低電平信號能將其拉低,不會影響低電平的輸入。圖3 P1口一位結構(2) P3口為雙功能口,當P

8、3口作為通用I/O口使用時,它為準雙向口,且每位都可定義為輸入或輸出口,其工作原理同P1口類似。 (3)P3口還具有第二功能,其引腳描述,P3口特殊功能口線特殊功能信號名稱RXD串行輸入口TXD串行輸出口 外部中斷0輸入口 外部中斷1輸入口T0定時器0外部輸入口T1定時器1外部輸入口WR寫選通輸出口RD讀選通輸出口 晶振電路電源引腳Vcc和Vss Vcc:電源端,接5V。 Vss:接地端。 時鐘電路引腳XTAL1和XTAL2 XTAL1:接外部晶振和微調電容的一端,在片內它是振蕩器倒相放大器的輸入,若使用外部TTL時鐘時,該引腳必須接地。XTAL2:接外部晶振和微調電容的另

9、一端,在片內它是振蕩器倒相放大器的輸出,若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。系統擴展時,ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實現數據與低位地址的復用。圖4 系統晶振電路系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路(如圖5所示)。AT89S單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高

10、低、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩定和可靠地工作。外部程序存儲器讀選通信號,是讀外部程序存儲器的選通信號,低電平有效。程序存儲器地址允許輸入端 /VPP。 當為高電平時,CPU執行片內程序存儲器指令,但當PC中的值超過0FFFH時,將自動轉向執行片外程序存儲器指令。當為低電平時,CPU只執行片外程序存儲器指令。輸入/輸出口引腳P0、P1、P2和P3。P0口():該端口為漏極開路的8位準雙向口

11、,負載能力位8高LSTTL負載,它為8位地址線和8位數據線的復用端口。P1口():它是一個內部帶上拉電阻的8位準雙向I/O口,P1口的驅動能力為4個LSTTL負載。P2口():它為一個內部帶上拉電阻的8位準雙向I/O口,P2口的驅動能力也為4個LSTTL負載。在訪問外部程序存儲器時,它作存儲器的高8位地址線。P3口():P3口同樣是內部帶上拉電阻的8位準雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。復位電路復位使單片機處于起始狀態,并從此狀態開始運行MCS5-51單片機RST引腳為復位端,該引腳連續保持2個機器周期(24個時鐘振蕩周期)以上的高電平。可使單片機復位。本論

12、文使用的是外部復位電路,單片機在啟動后要從復位狀態開始運行,因此上電時要完成復位工作,稱上電復位,如圖6a所示。上電瞬間電容兩端的電壓不能發生突變,只RST端為高電平5v,上電后電容通過及RC電路放電RST端電壓逐漸下降,直至低電平0V,如圖6c所示。適當選擇R、C的值,使RST端的高I電平維持2個機器周期以上即可完成復位。單片機L在運行過程中,出于本身或外并干擾的原因會導致出錯。這時可按復位鍵以重新開始遠行,按鍵復位可分為按鍵電平復位或按健脈沖復位,如圖6b所示。按鍵脈沖復位和上電平復值的原理是一樣的,都是利用RC電路的放電原理,如圖6d所示。讓RST端能保持一段時間的高電平,以完成復位,按

13、鍵電平復位時,按鍵時間也應保持在兩個機器周期以上。(a) 上電復位 (b) 按鍵電平復位 (c) RC放電過程 (d) 電平復位過程圖5 單片機常用復位電路根據設計要求和計算簡便的原則,我們選擇12M的石英晶振、30PF的電容、+5V電源,最小系統如下:圖6最小系統連接圖數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(COM)的數碼管。共陽數碼管在應用時應將公共極COM接到

14、+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM)的數碼管。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。 靜態顯示驅動:靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二

15、-十進制譯碼器譯碼進行驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個數碼管靜態顯示則需要5×840根I/O端口來驅動,要知道一個89S51單片機可用的I/O端口才32個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。 動態顯示驅動:數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼

16、,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位數碼管的點亮時間為12ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的I/O端口,而且功耗更低。圖7四位數碼管引腳圖四位數碼管引腳如上圖所示,在實際判別中,讓有小數點的端對著

17、自己,上面引腳的功能為1,a,f,2,3,b下面引腳為e,d,p,c,g,4根據七段數碼管的連接原則,可以將abcdefg分別依次連接在P0口,然后由P2口控制片選信號就可以了 四、軟件設計開始啟動定時器緩存區初始化調用數字轉換程序調用顯示程序 END一分鐘 LED1 equ 40hLED2 equ 41hLED3 equ 42h;存放三個數碼管段碼org 0003h;外部中斷0入口地址Ljmp T0_INTorg 1bh;定時器1中斷入口jmp t1_int;org 0000hljmp mainorg 0030hmain: MOV R1,#00H SETB EA SETB EX0;外部中斷

18、SETB ET1;定時器中斷 setb it0;外部中斷0在下降沿時工作 mov tmod,#00010000b;1作定時器 setb tr1;激活定時器 MOV TL1,#00H MOV TH1,#4CH MOV SP,#60H mov R0,#200;延遲10S ;MOV R3, #40H BCD: mov A,R1; mov B,#100; DIV AB; DA A MOV LED3,A;存百位 MOV A,B MOV B,#10 DIV AB DA A MOV LED2,A;存十位 MOV LED1,B;存個位 LCALL DISPLAY LJMP BCD DISPLAY: MOV P

19、0,#0FFH MOV R4,#11111110B MOV R3,#3 LOOP: MOV A,R4 MOV P2,A ;MOV R5,LED1 ;MOV A,R5 ;MOV A,R5 MOV A,LED1 MOV DPTR , #TAB MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV A,R4 RLC A MOV R4,A ;INC R5 ;MOV LED1,LED2 INC LED1 DJNZ R3,LOOP ;JB ACC.3,DISPLAY RETI t0_int: ;外部中斷0 PUSH PSWPUSH ACC INC R1 POP ACC POP PSW RETI t1_int: ;定時器中斷 PUSH PSWPUSH ACC DJNZ R0,GO CLR EX0 GO: POP ACC POP PSW RETI delay:;5MS MOV R6,#10D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;數碼管的顯示碼表 end 五、設計總結P

溫馨提示

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

評論

0/150

提交評論