當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]一、實(shí)驗(yàn)?zāi)康暮鸵蟆 〕醪綄W(xué)習(xí)和掌握MCS-51的體系結(jié)構(gòu)和匯編語(yǔ)言,了解Keil編程環(huán)境和程序下載工具的使用方法。了解數(shù)碼管輸出的原理及編程方式。二、實(shí)驗(yàn)設(shè)備  單片機(jī)測(cè)控實(shí)驗(yàn)系統(tǒng)  STC-ISP程序下載工具  K

一、實(shí)驗(yàn)?zāi)康暮鸵?br/>

  初步學(xué)習(xí)和掌握MCS-51的體系結(jié)構(gòu)和匯編語(yǔ)言,了解Keil編程環(huán)境和程序下載工具的使用方法。了解數(shù)碼管輸出的原理及編程方式。


二、實(shí)驗(yàn)設(shè)備

  單片機(jī)測(cè)控實(shí)驗(yàn)系統(tǒng)

  STC-ISP程序下載工具

  Keil開(kāi)發(fā)環(huán)境


三、實(shí)驗(yàn)內(nèi)容

  使用MCS-51匯編語(yǔ)言編寫程序,完成如下功能:

  1. 使用三個(gè)數(shù)碼管顯示十進(jìn)制數(shù)值(001~999,可任意設(shè)置);

  2. 每隔1秒,該數(shù)值自動(dòng)減一,直到歸零;

  3. 歸零后的下一秒,顯示一個(gè)新的十進(jìn)制數(shù)值(001~999,可任意設(shè)置);

  4. 每隔1秒,新數(shù)值繼續(xù)自動(dòng)減一,直到再次歸零;

  5. 重新執(zhí)行步驟1,循環(huán)往復(fù)。

  6. 當(dāng)開(kāi)關(guān)S1按下時(shí),暫停計(jì)數(shù);S1松開(kāi)時(shí),恢復(fù)計(jì)數(shù)。


四、實(shí)驗(yàn)步驟

1. 預(yù)習(xí)

  參考輔助材料,學(xué)習(xí)8031匯編語(yǔ)言以及實(shí)驗(yàn)原理。閱讀七段數(shù)碼顯示器的電路圖,重點(diǎn)理解右邊的LED顯示部分。

2. 簡(jiǎn)單程序錄入和調(diào)試

  MCS51單片機(jī)匯編語(yǔ)言的基本格式比較簡(jiǎn)單,程序中可以使用通用寄存器或者內(nèi)存單元進(jìn)行計(jì)算。另外,單片機(jī)的程序沒(méi)有退出到操作系統(tǒng)的概念,一般都是死循環(huán)程序。

  一個(gè)簡(jiǎn)單程序舉例如下:  

ORG 0000H ;復(fù)位起始地址
LJMP START ;中間地址保留給中斷向量表
ORG 0040H ;程序?qū)嶋H起始地址
START: ; 實(shí)際程序
MOV 40H, #0H

NEXT:

MOV A, 40H
INC A
MOV P0, A ;板上的P0口連接到8個(gè)LED,可以監(jiān)視運(yùn)行狀態(tài)
MOV 40H, A
MOV R6, #0FFH
L2:MOV R7, #0FFH
L1:DJNZ R7, L1
DJNZ R2, L2 ;延遲一段時(shí)間
LJMP NEXT
END

  參考Keil使用指南,創(chuàng)建工程,設(shè)置工程參數(shù),添加ASM文件,并錄入上面的簡(jiǎn)單程序。確保無(wú)編譯和鏈接錯(cuò)誤。


3. 程序調(diào)試 

  使用Keil環(huán)境可以進(jìn)行仿真調(diào)試。進(jìn)入“調(diào)試”菜單,開(kāi)始調(diào)試,可以單步運(yùn)行,或者先設(shè)置斷點(diǎn)然后連續(xù)運(yùn)行;可以在調(diào)試過(guò)程中觀察各個(gè)寄存器的值。還可以在sys區(qū)域觀察到當(dāng)前程序執(zhí)行的時(shí)間。


4. 編寫程序,完成功能

A、顯示

  本開(kāi)發(fā)平臺(tái)有3個(gè)數(shù)碼管,使用串行方式連接在一起,具體電路參見(jiàn)實(shí)驗(yàn)原理。要想輸出一個(gè)字形碼,就需要從高位到低位依次向移位寄存器輸出8個(gè)比特。移位寄存器的數(shù)據(jù)線和時(shí)鐘線分別接到單片機(jī)的P4.5和P4.4管腳,可以使用MCS-51里面的位操作指令進(jìn)行輸出。連續(xù)輸出3個(gè)字形,24個(gè)bit之后,欲顯示的字形將穩(wěn)定地顯示在數(shù)碼管上,程序可以轉(zhuǎn)而執(zhí)行其他工作。

  七段字形的編碼方式需要通過(guò)實(shí)驗(yàn)獲得。這些編碼作為程序中的常數(shù),使用DB命令存放。在程序中,需要將數(shù)值轉(zhuǎn)換為相應(yīng)的字形編碼,可以使用MOVC指令來(lái)完成。


B、時(shí)間

  本實(shí)驗(yàn)要求的按時(shí)間顯示數(shù)值,直接通過(guò)軟件延時(shí)來(lái)實(shí)現(xiàn),也就是若干次空循環(huán)來(lái)完成,不需要使用單片機(jī)內(nèi)部的定時(shí)器等硬件資源。由于在后面的實(shí)驗(yàn)中也要使用軟件的延時(shí)子程序,因此這里預(yù)先做準(zhǔn)備。
  本單片機(jī)使用12MHz主頻的晶振,結(jié)合MCS51的體系結(jié)構(gòu)和指令時(shí)序,可以計(jì)算每條指令的運(yùn)行時(shí)間,也可以通過(guò)Keil環(huán)境的調(diào)試功能來(lái)檢查程序片段的執(zhí)行時(shí)間。當(dāng)然,最后可以通過(guò)程序執(zhí)行的總體運(yùn)行結(jié)果來(lái)調(diào)整時(shí)間。希望同學(xué)能夠通過(guò)這個(gè)過(guò)程,得出一段能夠精確到1ms的子程序,重復(fù)調(diào)用1000次,從而達(dá)到定時(shí)1s的效果。從而完成實(shí)驗(yàn)要求2。

C、開(kāi)關(guān)

  在本實(shí)驗(yàn)板上設(shè)置了兩個(gè)開(kāi)關(guān)S1和S2,分布接入到8031的P3.6和P3.7,開(kāi)關(guān)按下時(shí),輸入0,松開(kāi)時(shí),輸入1。利用這個(gè)開(kāi)關(guān)完成實(shí)驗(yàn)要求3。

  五、實(shí)驗(yàn)原理

  本實(shí)驗(yàn)采用3個(gè)74HC164級(jí)聯(lián)控制三個(gè)數(shù)碼管的顯示,具體實(shí)驗(yàn)原理如下圖所示。其中使用單片機(jī)P4.5作為模擬串口數(shù)據(jù),使用P4.4模擬串口時(shí)鐘,CLR端接高電平。使用上一個(gè)74HC164的Q7作為下一個(gè)74HC164的輸入端。

  P4 EQU 0C0H
  MOV P4.4, C
  SETB P4.4

  74HC164是高速CMOS 器件。74HC164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過(guò)兩個(gè)輸入端(A或B)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個(gè)輸入端或者連接在一起,或者把不用的輸入端接高電平,一定不要懸空。

  時(shí)鐘 (CLK) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到Q0,Q0 是兩個(gè)數(shù)據(jù)輸入端(A和B)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長(zhǎng)度。

  主復(fù)位(CLR)輸入端上的一個(gè)低電平將使其它所有輸入端都無(wú)效,同時(shí)非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。


六、實(shí)驗(yàn)代碼

ORG 0000H
LJMP START
ORG 0050H

START:

;初始化
P4 EQU 0C0H ;申明P4地址
P4SW EQU 0BBH ;申明P4SW地址
CLK EQU P4.4
DAT EQU P4.5
KEY EQU P3.6
MOV DPTR,#TAB
MOV P4SW,#70H ;STC單片機(jī)P4.4、P4.5、P4.6有第二功能定義,
;通過(guò)P4SW寄存器設(shè)置這三口的工作方式,當(dāng)為1時(shí),是通用I/O
;此處設(shè)置P4.4、P4.5、P4.6為通用I/O

AGAIN: ;死循環(huán)

;顯示設(shè)置
MOV R6,#3 ;個(gè)位設(shè)置
MOV R5,#4 ;十位設(shè)置
MOV R4,#5 ;百位設(shè)置


LOOP:

;顯示各位
MOV A,R6
MOV DPTR,#TAB
MOVC A,@A+DPTR
LCALL DISPLAY ;調(diào)用顯示函數(shù)

MOV A,R5
MOV DPTR,#TAB
MOVC A,@A+DPTR
LCALL DISPLAY

MOV A,R4
MOV DPTR,#TAB
MOVC A,@A+DPTR
LCALL DISPALY

LCALL DELAY ;調(diào)用延遲函數(shù)

;按下key時(shí)的暫停操作
PAUSE:NOP
JNB KEY,PAUSE

;數(shù)字調(diào)整,減一操作
;個(gè)位調(diào)整
DEC R6 ;每次計(jì)數(shù)減一
CJNE R6,#0FFH,LOOP ;R6!=-1時(shí)跳轉(zhuǎn)到LOOP,否則,順序執(zhí)行
MOV R6,#9

;十位調(diào)整
DEC R5
CJNE R5,#0FFH,LOOP
MOV R5,#9

;百位調(diào)整
DEC R4
CJNE R4,#0FFH,LOOP
;MOV R4,#9

LJMP AGAIN


;顯示子程序
DISPLAY:
MOV R0,#8
COUNT:
CLR CLK ;P1.0輸出低電平
RLC A ;將存放在A中欲顯示的字符碼右移一位(最低位存入C)
MOV DAT,C
SETB CLK ;P1.0輸出高電平
DJNZ R0,COUNT ;R0減1不為0轉(zhuǎn)到SLP 繼續(xù)輸出字形碼
RET


;延時(shí)子程序
DELAY:
MOV R1,#0FFH
STOP:
MOV R2,#1FH
DEL:
MOV R3,#0FFH
DJNZ R3,$
DJNZ R2,DEL
DJNZ R1,STOP

RET

TAB:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉