標(biāo)題: 單片機(jī)數(shù)碼管動態(tài)數(shù)碼顯示(匯編語言)含仿真程序,實物焊接圖 [打印本頁]

作者: BruceTan    時間: 2020-5-9 13:39
標(biāo)題: 單片機(jī)數(shù)碼管動態(tài)數(shù)碼顯示(匯編語言)含仿真程序,實物焊接圖
本設(shè)計為基礎(chǔ)項目實現(xiàn),不同之處采用的是匯編語言并附有設(shè)計文檔以及實物焊接圖供大家學(xué)習(xí)參考。附件中有仿真圖以及程序。
摘要:隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到了我們的生活,工作,科研各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹基于單片機(jī)控制的動態(tài)數(shù)碼顯示,00-99計數(shù)器的設(shè)計
一 引言
   隨著人們生活水平的提高,單片機(jī)控制無疑成為了人們追求的目標(biāo)之一,單片機(jī)技術(shù)已經(jīng)普及到了我們的生活,工作,科研各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù)。其中動態(tài)數(shù)碼顯示技術(shù)以及00-99計數(shù)器就是典型例子,但是人們對它的要求越來越高,要為現(xiàn)代人們的工作,科研,生活,提供更好的更方便的設(shè)施就需要從單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。
   本設(shè)計所介紹的動態(tài)數(shù)碼顯示,00-99計數(shù)器在許多數(shù)碼顯示技術(shù)相比與傳統(tǒng)數(shù)顯,具有讀數(shù)計數(shù)方便,顯示內(nèi)容自由多樣化,應(yīng)用方面有較為廣泛的應(yīng)用。該設(shè)計控制器使用AT89S52,能夠?qū)崿F(xiàn)動態(tài)數(shù)顯以及00-99計數(shù)器的功能。
二 單片機(jī)闡述
本次實驗共采用了單片機(jī)最小系統(tǒng),p0口,以及p2口,下述內(nèi)容將對以上部分進(jìn)行闡述。
單片機(jī)
最小系統(tǒng),也叫做單片機(jī)最小應(yīng)用系統(tǒng),是指用最少的原件組成單片機(jī)可以工作的系統(tǒng)。單片機(jī)最小系統(tǒng)的三要素就是電源、晶振、復(fù)位電路RST/Vpd(9
腳):復(fù)位信號輸入端。晶振工作時,在此引腳上保持兩個機(jī)器周期的高電平將使單片機(jī)復(fù)位
XTAL119腳)/XTAL218腳):內(nèi)部振蕩器的輸入端,接外部晶振;如果采用外部時鐘,XTAL2引腳連外部時鐘,XTAL1引腳要懸空。
P0口:P0口是一組8位漏極開路型雙向IO口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。  在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。  FIash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。
P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4
TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。
在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR) 時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。
flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。
動態(tài)數(shù)碼顯示設(shè)計任務(wù)
采用動態(tài)掃描的方法顯示五位字符串,12345”和“HELLO

1.設(shè)計方案和原理分析
原理分析:所謂動態(tài)數(shù)碼掃描顯示技術(shù)就是指:多位數(shù)碼管采用“并聯(lián)”動態(tài)接口,通過對各數(shù)碼管輪流循環(huán)點亮,實現(xiàn)多位數(shù)碼顯示。
當(dāng)循環(huán)掃描顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現(xiàn)象。
p0端口接動態(tài)數(shù)碼管的段碼,p2端口接動態(tài)數(shù)碼管的數(shù)位選擇端,p1.7接一個開關(guān),當(dāng)開關(guān)接高電平時,顯示“12345”字樣;當(dāng)開關(guān)接低電平時,顯示“HELLO”字樣。
項目1動態(tài)數(shù)碼-
序號
名稱
數(shù)量
1
單片機(jī)80c51
1
2
40P芯片座子
1
3
四聯(lián)體共陰數(shù)碼管
2
4
晶振12M
1
5
瓷片電容30PF
2
6
極性電容10uf
1
7
排阻3k9腳)
1
8
輕觸開關(guān)
1
9
電阻10k
2
10
通用焊接電路板15cm*20cm左右
1
“單片機(jī)系統(tǒng)”區(qū)域中的p0.0/AD0-P0.7/AD78芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的a-h端口上;
“單片機(jī)系統(tǒng)”區(qū)域中的p2.0/A8-P2.7/A158芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的S1-S8端口上:
“單片機(jī)系統(tǒng)”區(qū)域中的p1.7端口用導(dǎo)線連接到“查詢式鍵盤”區(qū)域中的SP1端口上;
3. 軟件設(shè)計
動態(tài)掃描方法。動態(tài)接口采用各數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現(xiàn)象,這種顯示需要一個接口完成字形碼的輸出(字形選擇),另一接口完成各數(shù)碼管的輪流點亮(數(shù)位選擇)。
在進(jìn)行數(shù)碼顯示的時候,要對顯示單元開辟8個顯示緩沖區(qū),每個顯示緩沖區(qū)裝有顯示的不同數(shù)據(jù)即可。
對于顯示的字形碼數(shù)據(jù)我們采用查表方法來完成。
匯編源程序
ORG   0000H
LJMP  START
ORG   0030H
START:
JB    P1.7,DIR1
MOV   DPTR,#TABLE1
SJMP     DIR
DIR1:
MOV    DPTR,#TABLE2
DIR:
MOV   R0,#00H
MOV   R1,#0FEH
MOV   R2,#0DFH
NEXT:
MOV   A,R1
MOV   P2,A
MOV   A,R0
MOVC  A,@A+DPTR
MOV   P0,A
MOV   A,R1
LCALL    DAY
INC    R0
RL     A
MOV    R1,A
CJNE    R1,#0DFH,NEXT
SJMP    START
DAY:
MOV    R5,#2
D2:
MOV           R6,#5
D1:
MOV    R7,#100
DJNZ   R7,$
DJNZ   R6,D1
DJNZ   R5,D2
RET
TABLE1:
DB    3FH,06H,5BH,4FH,66H,6DH
TABLE2:
DB    76H,79H,38H,38H,3FH,00H
END




51hei.png (10.29 KB, 下載次數(shù): 61)

51hei.png

動態(tài)數(shù)碼顯示.rar

62.18 KB, 下載次數(shù): 27, 下載積分: 黑幣 -5

仿真,程序,焊接圖


作者: Sjshshshjsj    時間: 2020-5-19 16:27
大佬  ,為啥仿真圖運行不了?

51hei.png (16.88 KB, 下載次數(shù): 52)

51hei.png

作者: BruceTan    時間: 2020-6-12 17:21
Sjshshshjsj 發(fā)表于 2020-5-19 16:27
大佬  ,為啥仿真圖運行不了?

按按鍵才會變化呀,實在不行重新加載hex文件,我這里顯示是沒有問題的,仔細(xì)看一下文章多試試




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1