(601)單片機99倒計時_第1頁
(601)單片機99倒計時_第2頁
(601)單片機99倒計時_第3頁
(601)單片機99倒計時_第4頁
(601)單片機99倒計時_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

?單片機?

課程設計說明書

專業(yè)班級:自動化〔四〕

姓名:陶青涂衛(wèi)根何磊王林坤

學號:080310252080310251080310216080310201

指導教師:郭玉

設計時間:2023/12/17

物理與電氣工程學2023年12月17日

摘要

隨著計算機在社會領域的滲透,單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。

目的:〔1〕初步掌握單片機控制功能的根本使用方法及根本硬件電路的工作原理,包括設計任務,設計題目的方案論證。通過查閱資料,器件選擇,確定方案,寫出總結報告。

〔2〕培養(yǎng)一定的自學能力和獨立分析問題、解決問題的能力。包括學會自己分析解決問題的方法,對設計中遇到的問題,能通過獨立思考、查閱工具書、參考文獻,尋找答案。

〔3〕通過嚴格的科學訓練和工程設計實踐,逐步樹立嚴肅認真、一絲不茍、實事求是的科學作風,并培養(yǎng)自己在實際工作中應具有的生產(chǎn)觀點,經(jīng)濟觀點和全局觀點。

方法:利用開發(fā)板和keil軟件經(jīng)過燒寫程序在數(shù)碼管上實現(xiàn)倒計時顯示

結果:將程序燒寫進開發(fā)板,99秒倒計時,按下s3鍵實現(xiàn)暫停與啟動

結論:在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。

關鍵詞

ATM89C52;共陰數(shù)碼管;keil軟件;晶體振蕩器;

目錄

1主要元器件介紹…………1

1.1AT89C52芯片概述…………2

1.2LED數(shù)碼管顯示器概述……………………3

1.3其他元器件介紹及參數(shù)……………………4

2單片機的最小系統(tǒng)與復位電路……5

2.1最小系統(tǒng)……………………6

2.2復位電路設計………………7

2.3顯示電路設計………………8

2.4總體硬件電路設計…………9

3keil軟件……………………10

4程序框圖……………………11

5軟件程序…………………12

6教材及參考書………………13

7感悟……………14

1主要元器件介紹

1.1ATM89C52芯片概述

ATM89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得ATM89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。ATM89C52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,ATM89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。8位微控制器8K字節(jié)在系統(tǒng)可編程FlashATM89C52P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏

輯電平。對P0端口寫“1〞時,引腳用作高阻抗輸入。

當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,

P0具有內部上拉電阻。

在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗

時,需要外部上拉電阻。

P1口:P1口是一個具有內部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅動4個

TTL邏輯電平。對P1端口寫“1〞時,內部上拉電阻把端口拉高,此時可以作為輸入

口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流〔IIL〕。

此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入〔P1.0/T2〕和時器/計數(shù)器2

的觸發(fā)輸入〔P1.1/T2EX〕,具體如下表所示。

在flash編程和校驗時,P1口接收低8位地址字節(jié)。

引腳號第二功能

P1.0T2〔定時器/計數(shù)器T2的外部計數(shù)輸入〕,時鐘輸出

P1.1T2EX〔定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制〕

P1.5MOSI〔在系統(tǒng)編程用〕

P1.6MISO〔在系統(tǒng)編程用〕

P1.7SCK〔在系統(tǒng)編程用〕

P2口:P2口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個

TTL邏輯電平。對P2端口寫“1〞時,內部上拉電阻把端口拉高,此時可以作為輸入

口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流〔IIL〕。

在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器〔例如執(zhí)行MOVX@DPTR〕

時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發(fā)送1。在使用

8位地址〔如MOVX@RI〕訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內容。

在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。

P3口:P3口是一個具有內部上拉電阻的8位雙向I/O口,p3輸出緩沖器能驅動4個

TTL邏輯電平。對P3端口寫“1〞時,內部上拉電阻把端口拉高,此時可以作為輸入

口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流〔IIL〕。

P3口亦作為ATM89C52特殊功能〔第二功能〕使用,如下表所示。

在flash編程和校驗時,P3口也接收一些控制信號。

端口引腳第二功能

P3.0RXD(串行輸入口)

P3.1TXD(串行輸出口)

P3.2INTO(外中斷0)

P3.3INT1(外中斷1)

P3.4TO(定時/計數(shù)器0)

P3.5T1(定時/計數(shù)器1)

P3.6WR(外部數(shù)據(jù)存儲器寫選通)

P3.7RD(外部數(shù)據(jù)存儲器讀選通)

此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。

RST——復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復位。

ALE/PROG——當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE〔地址鎖存允許〕輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。

對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖〔PROG〕。

如有必要,可通過對特殊功能存放器〔SFR〕區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE禁止位無效。

PSEN——程序儲存允許〔PSEN〕輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令〔或數(shù)據(jù)〕時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。

EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器〔地址為0000H-FFFFH〕,EA端必須保持低電平〔接地〕。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。

如EA端為高電平〔接Vcc端〕,CPU那么執(zhí)行內部程序存儲器的指令。

FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。

振蕩器特性:

XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的上下電平要求的寬度。

1.2LED數(shù)碼管顯示器概述

本設計中采用的是共陰兩位數(shù)碼管

共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。

段碼位

D7

D6

D5

D4

D6

D2

D1

D0

顯示段

pd

g

f

e

d

e

b

a

字型

共陽極段碼

共陰極段碼

字型

共陽極段碼

0

C0H

3FH

9

90H

1

F9H

06H

A

88H

2

A4H

5BH

B

83H

3

B0H

4FH

C

C6H

4

99H

66H

D

A1H

5

92H

6DH

E

86H

6

82H

7DH

F

84H

7

F8H

07H

空白

FFH

8

80H

7FH

P

8CH

數(shù)碼管的驅動方式:靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個數(shù)碼管靜態(tài)顯示那么需要5×8=40根I/O端口來驅動,要知道一個89S51單片機可用的I/O端口才32個呢:〕,實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。

1.3其他元器件介紹及參數(shù)

晶振,電容,電阻排,電解電容,開關,asp接口,按鍵

晶振采用頻率為12MHZ,連接的兩個電容為22pF;電解電容為10uF;

2單片機的最小系統(tǒng)與復位電路

2.1最小系統(tǒng)

最小系統(tǒng)就是單片機在發(fā)揮具體測控功能時所必須的組成局部。為復位電路,振蕩電路,單片機,I/O口,電源組成。

時鐘頻率電路的設計

單片機內部有一個時鐘振蕩電路,只要外界一個振蕩源就能產(chǎn)生一定的時鐘信號送到單片機內部的各個單元,決定單片機的工作速度。時鐘電路如以下圖:

外部震蕩源電路

一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容C1、C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C1、C2的典型值為30pf。

單片機在工作時,有內部振蕩器產(chǎn)生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù),f表示。圖中的時鐘頻率為12MHz,即f=12MHz,那么時鐘周期為1/12us。

2.2復位電路設計

單片機的第九腳RES為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如下:

圖中由按鍵S17以及電解電容C10構成了高電平復位或S18以及C11構成了低電平復位電路。其中通過跳線J13選擇由于單片機是高電平復位還是低電平復位。所以當按下S17時,單片機的9腳RESET管腳處于高電平,此時單片機處于復位狀態(tài)。當上電后,由于電容緩慢充電,單片機的9腳電壓逐步由高向低轉化,經(jīng)過一段時間后,單片機的9腳處于穩(wěn)定的低電平狀態(tài),此時單片機上復位完畢,系統(tǒng)程序從0000H開始執(zhí)行。

值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知存放器及存儲器的值都恢復到了初始值,而前面的功能介紹中提到的倒計時時間的記憶功能。

單片機的第九腳RES為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現(xiàn)復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài)。

2.3顯示電路設計

顯示功能與硬件關系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。

數(shù)碼管顯示電路如以下圖:

在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,另一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設計中根據(jù)實際情況采用的是動態(tài)顯示方法。

2.4總體硬件電路設計

本設計系統(tǒng)由單片機I/O口擴展系統(tǒng)、LED數(shù)碼顯示系統(tǒng)、按鍵系統(tǒng)、復位系統(tǒng)等幾大局部組成。軟件上采用匯編語言編程,經(jīng)過整機調試,實現(xiàn)了99秒倒計時及復位功能。

3keil軟件使用

Keil軟件用于對程序的調試和編輯。其界面如下:

Keil界面

用到了Keil軟件,集成調試環(huán)境,集成了編輯器、譯碼器、調試器,支持軟件模擬,支持工程管理功能強大的觀察窗口,支持所有的數(shù)據(jù)類型。樹狀結構顯示,一目了然,支持ASM〔匯編〕、C語言多模塊源程序混合調試,在直接修改、編譯、調試源程序,錯誤指令定位。功能很強大,

4程序框圖

開始

程序初始化

是否產(chǎn)生外部中斷

是否進入工作狀態(tài)

進入設定狀態(tài)

判斷是否足夠1秒

倒計時時間減1

是否到0

返回

設定子程序流程圖〔按鍵處理〕按S3

初始化

按S17

暫停

返回

5軟件程序

ORG0000H

LJMPMAIN

ORG0003H

LJMPINTR0

ORG000BH

LJMPINTRR1

ORG0100H

MAIN:

MOV20H,#99

MOV21H,#9

MOV22H,#9

MOVTH0,#8AH

MOVTL0,#0D8H

MOVTMOD,#01H

MOVR7,#20

SETBET0;T0中斷允許

SETBEA;CPU中斷允許〔總允許〕位

SETBIT0;開中斷〔邊沿觸發(fā)〕

SETBEX0;INT0中斷允許

SETBTR0

DISPLAY:

MOVR1,#01H

MOVDPTR,#TAB

MOVA,21H

MOVCA,@A+DPTR

MOVP0,A

MOVP2,R1

LCALLD10ms

MOVR1,#0

MOVDPTR,#TAB

MOVA,22H

MOVCA,@A+DPTR

MOVP0,A

MOVP2,R1

LCALLD10ms

JMPDISPLAY

;遞減,溢出那么清0

INTR1:DJNZR7,L3

DEC20H

MOVA,20H

CLRC

SUBBA,#0

JZL2

;TOBCD轉碼

MOVA,20H

MOVB,#10

DIVAB

MOV21H,B

MOV22H,A

MOVR7,#20

JMPL3

L2:MOV20H,#99

MOV21H,#9

MOV22H,#9

MOVR7,#20

L3:MOVTH0,#8AH

MOVTL0,#0D8H

RETI

;延時程序

D10ms:MOVR6,#10

D1ms:MOVR5,#20

DL:NOP

NOP

DJNZR5,DL

DJNZR6,D1ms

RET

INTR0:CPLTR0

RETI

;顯示碼表

TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH

DB6FH,77H,7CH,39H,5EH,79H,71H,40H,00H

END

6教材及參考書

[1]胡漢才,單片機原理及其接口技術,清華大學出版社

[2]鄒逢興,微型計算機接口原理與技術,國防科技大學出版社

[3]閻凱,微型計算機硬件設計原理分析與維修,科學出版社

[4]何立民,MCS-51系列單片機應用系統(tǒng)設計系統(tǒng)配置與接口技術,北京航空航天大學出版社

[5]沈德金,MCS-51系列單片機接口電路與應用程序實例,北京航空航天大學出版社

7感悟

回憶起此次單片機課程設計,我仍感慨頗多,學到了很多的東西。同時不僅穩(wěn)固了以前所學過的知識,而且還學到了很多在書本上所沒有學到過的知識。在實際設計中才發(fā)現(xiàn),書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。一切問題必須要靠自己一點一滴的解決,而在解決的過程當中你會發(fā)現(xiàn)自己在飛速的提升。對于單片機設計,其硬件電路是比較簡單的,主要是解決程序設計中的問題,而程序設計是一個很靈活的東西,提升了解決問題的邏輯思維和創(chuàng)新能力和團隊合作精神,它才是一個設計的靈魂所在。因此可以說

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論