
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
目 錄
第1節 引 言??????????????????????????1
1.1 系統概述 ????????????????????????1
1.2 設計任務 ????????????????????????1
第2節 系統硬件設計???????????????????????2
2.1 系統的硬件構成及功能???????????????????2
2.2 AT89C2051單片機及其引腳說明???????????????2
2.3 CD4511芯片說明??????????????????????3
2.4 LED數碼管顯示說明????????????????????4
2.5 硬件電路?????????????????????????6
第3節 系統軟件設計???????????????????????7
3.1 系統的主程序設計?????????????????????7
3.2 系統的源程序設計?????????????????????7
第4節 系統調試與測試結果分析??????????????????9
第5節 結束語???????????????????????????10
參考文獻?????????????????????????????11
- 1 -
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
基于單片機的窄帶脈沖寬度檢測
第1節 引 言
一般單片機能夠檢測較寬的脈沖,但很難檢測窄帶脈沖,該系統只要是用于檢測
窄帶脈沖,并顯示其寬度的功能。
1.1 系統概述
本系統使用AT89C2051單片機,利用定時器T1門控GATE的功能,測量引腳
INT1
出現的正脈沖寬度,并用LED數碼管顯示出來。 上
1.2 設計任務
設計要完成的任務有硬件設計和軟件設計。硬件方面,AT89C2051單片機的P3.3
口測試外部脈沖。P1口可以接LED數碼管。軟件方面,利用單片機的定時完成正脈
沖寬度的讀取,然后用到P1口使LED數碼管顯示。
1
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
第2節 系統硬件設計
硬件電路關系到軟件的編程,也要有利用系統的實際應用。
2.1 系統的硬件構成及功能
本系統有以下幾個部件組成:單片機AT89C2051,CD4511芯片電源,LED數碼管
等。
單片機即單片微型計算機,是集CPU,ROM,RAM,I/O口,內部總線及中斷系統
于一體的微控制器,它體積小,重量輕,功能強,廣泛應用于智能產品及工業自動控
制上,而51單片機是各單片機最為典型和最有代表性的一種。
電源提供單片機正常工作,單片機只需+5V的電壓,可以通過220V的市電通過
變壓、整流穩壓來得到,維持系統的正常工作。
LED數碼管用于顯示所檢測外部輸入脈沖的寬度,直觀
2.2 AT89C2051單片機及其引腳說明
AT89C2051單片機是51系列單片機的一個成員,是8051單片機的簡化版。內部
自帶2K字節可編程FLASH存儲器的低電壓、高性能COMS八位微處理器,與Intel
MCS-51系列單片機的指令和輸出管腳相兼容。由于將多功能八位CPU和閃速存儲器
結合在單個芯片中,因此,AT89C2051構成的單片機系統是具有結構最簡單、造價最
低廉、效率最高的微控制系統,省去了外部的RAM、ROM和接口器件,減少了硬件開
銷,節省了成本,提高了系統的性價比。
AT89C2051單片機是一個有20個引腳的芯片,引腳配置如圖1所示。與8051相
比,AT89C2051減少了兩個對外端口(即P0、P2口),使它最大可能地減少了對外引
腳下,因而芯片尺寸有所減小。
圖1 AT89C2051引腳配置
AT89C2051芯片的20個引腳功能為:
VCC 電源電壓。
2
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
GND 接地。
RST 復位輸入。當RST變為高電平并保持2個機器周期時,所有I/O引腳復位
至“1”。
XTAL1 反向振蕩放大器的輸入及內部時鐘工作電路的輸入。
XTAL2 來自反向振蕩放大器的輸出。
P1口 8位雙向I/O口。引腳P1.2~P1.7提供內部上拉,當作為輸入并被外部
下拉為低電平時,它們將輸出電流,這是因內部上拉的緣故。P1.0和P1.1需要外部
上拉,可用作片內精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1),P1口輸
出緩沖器能接收20mA電流,并能直接驅動LED顯示器;P1口引腳寫入“1” 后,可
用作輸入。在閃速編程與編程校驗期間,P1口也可接收編碼數據。
P3口 引腳P3.0~P3.5與P3.7為7個帶內部上拉的雙向I/0引腳。P3.6在內部已
與片內比較器輸出相連,不能作為通用I/O引腳訪問。P3口的輸出緩沖器能接收20mA
的灌電流;P3口寫入“1”后,內部上拉,可用輸入。P3口也可用作特殊功能口,其
功能見表1。P3口同時也可為閃速存儲器編程和編程校驗接收控制信號。
2.3 CD4511芯片說明
CD4511是BCD鎖存—段碼譯碼—共陰LED驅動集成電路,其引腳如圖2所示,
各引腳功能如下:
圖2 CD4511各引腳配置
V:接正電源;
CC
V:接地;
SS
A, B, C, D:BCD碼輸入腳(A為最低位,D為最高位);
Qa~Qg:段碼輸出腳,高電平有效,最大可輸出25mA電流;
BI:熄滅,接低電平則Qa~Qg全部輸出低電平;
LT:點亮測試,接低電平則Qa~Qg全部輸出高電平;
LE:鎖存允許,接高電平鎖存,則輸出不會隨BCD碼輸入改變
2.4 LED數碼管顯示說明
由于系統要顯示的內容比較簡單,顯示量不多,所以選用數碼管既方便又經濟。
3
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
LED有共陰極和共陽極兩種。如圖所示。
二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發光二極管的陽
極連接在一起,接入+5V的電壓。一位顯示器由8個發光二極管組成,其中7個發光
二極管構成字型“8”的各個筆劃(段)a~g,另一個小數點為dp發光二極管。當在
某段發光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護各
段LED不被損壞,需外加限流電阻。
LED數碼管結構原理圖:
g f com a b
a
f b
g
e
c
d
dp
e d com c dp
符號和引腳
共陰極 高電平驅動 共陽極 低電平驅動
LED顯示數碼管通常由硬件7段譯碼集成電路,完成從數字到顯示碼的譯碼驅
動。本系統采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優勢還在
4
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機軟件完成從數字到顯示碼
的輪換。從LED數碼管結構原理圖可知,為了顯示字符,要為LED顯示數碼管提供
顯示段碼,組成一個“8”字形字符的7段,再加上1個小數點位,共計8段,因此
提供給LED數碼管的顯示段碼為1個字節。各段碼位與顯示段的對應關系如表:
段碼位
顯示段
D7 D6 D5 D4 D3 D2 D1 D0
dp g f e d c b a
各段碼位的對應關系
當用數據口連接LED數碼管a~dp引腳時,不同的連接方法,各段碼位與顯示
段有不同的對應關系。通常數據口的D0位與a段連接,D1位與b段連接,??D7
位與dp段連接,如上表所示,LED數碼管顯示的十六制數和空白字符與P的顯示段
碼。
字型 共陽極段 共陰極段 字型 共陽極段 共陰極段
0 C0H 3FH 9 90H 6FH
1 F9H 06H A 88H 77H
2 A4H 5BH B 83H 7CH
3 B0H 4FH C C6H 39H
4 99H 66H D A1H 5EH
5 92H 6DH E 86H 79H
6 82H 7DH F 84H 71H
7 F8H 07H 空白 FFH 00H
8 80H 7FH P 8CH 73H
LED顯示段碼
在該系統中,根據由于硬件連線的不同,各段碼的關系如下:
段碼位
顯示段
D7 D6 D5 D4 D3 D2 D1 D0
dp b a f g c d e
因此在該系統中所出現的LED數碼管顯示的十六進制數和空白字符與P的顯示段
碼也要根據此修改。
根據AT89C2051單片機灌電流能力強,拉電流能力弱的特點,選用共陽數碼管。
將AT89C2051的P1.0~P1.7分別與共陽數碼管的a~g及dp相連,高電平的位對應
的LED數碼管的段暗,低電平的位對應的LED數碼管的段亮,這樣,當P0口輸出
不同的段碼,就可以控制數碼管顯示不同的字符。例如:當P0口輸出的段碼為
11000000,數碼管顯示的字符為0。
數碼管顯示器有兩種工作方式,即靜態顯示方式和動態掃描顯示方式。為節省端
口及降低功耗,本系統采用動態掃描顯示方式。動態掃描顯示方式需要解決多位LED
數碼管的“段控”和“位控”問題,本電路的通過P1口實現:而每一位的公共端,
即LED數碼管的“位控”,則由P3口控制。這種連接方式由于多位字段線連在一起,
因此,要想顯示不同的內容,必然要采取輪流顯示的方式,即在某一瞬間,只讓其中
5
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
的某一位的字位線處于選通狀態,其它各位的字位線處于斷開狀態,同時字段線上輸
出這一位相應要顯示字符的字段碼。在這一瞬時,只有這一位在顯示,其他幾位則暗。
在本系統中,字位線的選通與否是通過PNP三極管的導通與截止來控制,即三極管
處于“開頭”狀態。
2.5 硬件電路
單片機的P3.3引腳接外部的脈沖源,通過內部的定時器控制計算脈沖個數,這
與單片機的晶振頻率有關。通過2片CD4511芯片輸出2個4位BCD碼,再輸出到
LED數碼管顯示。其具體的系統電路圖參見圖3所示。
圖3 系統電路圖
AT89C2051
RSTVCC
P1.7
P1.6
P1.5
P1.4
P3.3
P1.3
P1.2
P1.1
P1.0
GND
+5V
+5V
D
VLT Q
cca
C CD4511 .
B .
A .
Q
V LE
ss
g
+5V
D
VLT Q
cca
C CD4511 .
B .
A .
Q
V LE
ss
g
?
?
?
?
第3節 系統的軟件設計
6
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
本系統的軟件設計主要是通過定時器計脈沖個數,然后顯示在LED數碼管上。
3.1 系統主程序設計
通過外部脈沖輸入到P3.3口。當 引腳上出現高電平時,定時器T1即開始
INT1
對12分頻時鐘周期計數,直到 引腳變低電平為止,然后讀出T1計數器的值并
INT1
顯示。
圖4 脈沖源
假設我們使用的脈沖源如圖4所示。
3.2 系統源程序設計
ORG 0000H
AJMP START
ORG 1000H
;對定時器初始化 START:MOV TMOD,#90H
MOV TL1,#00H
MOV TH1,#00H
WAIT1:JB P3.3,WAIT1 ;等待 變低
SETB TR1 ;啟動T1計數
升高 ;等待 WAIT2:JNB P3.3,WAIT2
變低 ;等待 WAIT3:JB P3.3,WAIT3
CLR TR1 ;停止T1計數
MOV A,TL1 ;讀出TL1的計數值
CLR C
SUBB A,#30H
SWAP A
MOV 40H,A ;暫存A的內容
MOV A,TH1
INT1
INT1
INT1
7
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
CLR C
SUBB A,#30H
ANL A,40H
MOV DPTR,#TAB
MOV A,@A+DPTR
MOV P1,A ;輸出數字
MOV R7, #200
: MOV R6, #123 ;延時程序 DLY1
: DJNZ R6, DLY2 DLY2
: DLY2
NOP
DJNZ R7,DLY1
TAB:DB C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
END
8
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
第4節 系統調試與測試結果分析
9
二○一○年十月二十日
略
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
第4節 結 束 語
初學單片機,對所學知識掌握不夠全面,這次的系統設計有點粗糙,正所謂困難
重重,剛好有個電子鐘的課程設計,就按照它的設計過程的思想作為參考,本想把所
學知識全應用起來,做一個帶創新的思路的系統設計,但是還是沒有頭緒。結合老師
上課所講的,就決定做這個窄帶脈沖寬度檢測,因為這個對我來說比較容易理解,設
計思路比較清晰。
雖然這個設計沒有經過實物器件的調試,但是我體會到了,單片機設計的整個過
程。它需要系統整體設計,硬件設計,軟件設計,和調試測試等等步驟。軟件設計要
和硬件設計相結合,他們是有相互聯系的。在本系統中,難免有些錯誤,希望老師批
評指正。
《單片機》是一門實用型課程,學好這單片機對今后的工作是很有幫助的,雖然
課程已經學完,但不能把所學知識給忘了,而應該繼續學習,更深層次的學習,在此
感謝在學習中給予幫助的老師和同學,把單片機學的更好,把創新應用在實踐中。
10
二○一○年十月二十日
單片機課程設計————基于單片機的窄帶脈沖寬度檢測 prince
參考文獻
[1] 賈金玲,《單片機原理及應用——理論、實驗、課程設計》,電子科技大學出版社,2005年
[2] 徐永龍,《單片機原理及應用》,機械工業出版社,2004年
[3] 韓太林,《單片機原理及應用》,電子工業出版社,2004年
[4] 付曉光,《單片機原理與實用技術》,清華大學出版社,2004年
[5] 胡漢才,《單片機原理及系統設計》,清華大學出版社,2002年1月
[6] 余水寶,《單片機課程設計》,數理與信息學院,2006年6月
[7] 楊西明,朱騏,《單片機編程與應用入門》,機械工業出版社,2004年
11
二○一○年十月二十日

本文發布于:2023-11-03 01:43:48,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/169894702827205.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:基于單片機的窄帶脈沖寬度檢測_單片機課程設計.doc
本文 PDF 下載地址:基于單片機的窄帶脈沖寬度檢測_單片機課程設計.pdf
| 留言與評論(共有 0 條評論) |