專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

51系列匯編語言

作者:未知   來源:會員上傳   點擊數(shù):  更新時間:2014年05月20日   【字體:

 

a)  單個按鍵與多個LED燈(位操作輸入與字節(jié)操作輸出)判斷與子程序
此處只是將輸出指令由位指令換成了字節(jié)指令,而輸入判斷仍然是位判斷指令。
ORG 0000H
MAIN:
  CLR C
   MOV C,P2.0 ;獲取P2.0位狀態(tài) 送位累加器;位與字節(jié)轉換需要判斷指令
JNC ZIJIE;JC位累加器—進位位為1轉移到ZIJIE ,
JNC位累加器為0轉移到ZIJIE,否則順序執(zhí)行。
MOV C,P1.0
ZIJIE:;子程序起始
MOV  A,#00H
    MOV  P3A
RET;子程序結束并返回調用處
END
 
 
b)  單個按鍵與多個LED燈(位操作輸入與位、字節(jié)操作輸出)
l  位輸入控制位或字節(jié)輸出
ORG 0000H
MAIN:
  CLR C
   MOV C,P1.0 ;獲取P1.0位狀態(tài) 送位累加器;位與字節(jié)轉換需要判斷指令
JNC ZIJIE      ;JC位累加器—進位位為1轉移到ZIJIE ,JNC位累加器為0轉移到ZIJIE,否則順序執(zhí)行。
  MOV P0.0,C ;送位累加器到P0.0位等,P1.0位狀態(tài)變化則輸出隨之變化
    ACALL  DELAY   ; 調延時子程序
  MOV P0.1,C
      ACALL  DELAY
  MOV P0.2,C
      ACALL  DELAY
  MOV P0.3,C
    ACALL  DELAY 
  MOV P0.4,C
    ACALL  DELAY 
         MOV P0.5,C
    ACALL  DELAY          MOV P0.6,C
    ACALL  DELAY    MOV P0.7,C    ACALL  DELAY     
SJMP MAIN ;相對轉移時間短,用AJMP絕對轉移時間長,RET是用于子程序的返回
ZIJIE:
  MOV A,#00H
  MOV P2,A      ACALL  DELAY 
  MOV P3,A    ACALL  DELAY
     CLR A      MOV P0,A
   MOV P1,A     ACALL  DELAY  
  RET
  DELAY:      ; 延時子程序 - 這是一個非常有用、而且常見的一個子程序
  MOV R5,#04H    ;將16進制數(shù)04H傳遞給寄存器R5
F1:
  DJNZ  R7, F1 ;寄存器R7減1非0跳轉到F1,直到減為0順序執(zhí)行下一指令
  RET       ; 子程序結束,返回子程序入口處  ACALL  DELAY   ; 調延時子程序 
  END
l  位輸入控制字節(jié)輸出
 
 
c)  單個按鍵與單個電機控制開環(huán)控制
單“位”P口1位--單個燈位輸出,單個按鍵控制硬控制與軟控制
一個按鍵,一盞照明燈,一個繼電器。硬件接口問題—線路連接、硬件硬驅動問題(程序稱為軟驅動)。
一個按鍵,兩盞燈(指示、照明),一個繼電器。硬件接口問題—線路連接、硬件硬驅動問題。程序稱為軟驅動:就是利用兩個端口,通過延時或計時器完成轉換。
說明:
硬件特性,驅動與控制信號,程序編寫
由繼電器引出的強電驅動電器的控制問題,如電動機交流電機、直流電機、步進電機、伺服電機;單項或多項
 
1.  單個開關(按鍵)與多個LED數(shù)碼管點陣問題最小系統(tǒng)輸出擴展
a)        單個按鍵與多個LED燈(位操作輸入與字節(jié)操作輸出)
b)        單個按鍵與多個LED數(shù)碼管(位操作輸入與字節(jié)操作輸出)數(shù)組
c)         單個按鍵與多個數(shù)碼管(位操作輸入與多字節(jié)操作輸出)靜態(tài)數(shù)組
d)        多個按鍵與多個數(shù)碼管(位操作輸入與字節(jié)操作輸出)動態(tài)掃描函數(shù)
e)         單個按鍵與多個數(shù)碼管點陣(位操作輸入與字節(jié)操作輸出)靜態(tài)
f)         多個按鍵與多個數(shù)碼管點陣(位操作輸入與字節(jié)操作輸出)動態(tài)

 

關閉窗口

相關文章