當前位置:編程學習大全網 - 源碼下載 - 74HC164驅動數碼管循環顯示0~F的匯編程序求註釋

74HC164驅動數碼管循環顯示0~F的匯編程序求註釋

CLK EQU P1.0 ;定義端口P1.0在該程序中用CLK表示

HEIPING:MOV R0,#40 ;r0=40 BLACK子程序入口參數

LCALL BLACK ;調用BLACK

LP: MOV R6,#0 ;r6=0

MOV R3,#16 ;r3=16決定BEGIN子程序執行次數

MOV A,#0 ;a=0

BEGIN: MOV DPTR,#MyZiKu ;dptr=MYZIKU(首地址)

MOVC A,@A+DPTR ;a=欲顯示字符的字形碼

LCALL SHOW ;調用SHOW程序(顯示)

LCALL DELAY ;調用DELAY程序(延時)

INC R6 ;r6加1

MOV A,R6 ;a=r6

DJNZ R3,BEGIN ;r3減1不為0轉移到BEGIN

;BEGIN這壹段程序的作用是在LED上每隔DELAY程序設定的時間按順序顯示0~F 循環16次

LJMP LP ;轉移到LP執行

;延時程序 r0 r1 r2決定延時時間

DELAY: MOV R0,#0FFH ;r0=255

DLP: MOV R1,#0FFH ;r1=255

DLP1: MOV R2,#04H ;r2=4

DJNZ R2,$ ;r2減1不為0仍在該行再次執行

DJNZ R1,DLP1 ;r1減1不為0轉到DLP1

DJNZ R0,DLP ;r0減1不為0轉到DLP

RET ;退出

;顯示程序 該程序將循環8次顯示壹個字符

SHOW: MOV R0,#8 ;r0=8

SLP: CLR CLK ;P1.0輸出低電平

RRC A ;將存放在A中欲顯示的字符碼右移壹位(最低位存入C)

MOV A_B,C ;A_B(未見到妳程序中定義 應是個端口)=C

SETB CLK ;P1.0輸出高電平

DJNZ R0,SLP ;r0減1不為0轉到SLP 繼續輸出字形碼

RET

;該程序循環40次 P1.0輸出40個脈沖 同時端口A_B持續輸出低電平

BLACK: CLR CLK ;P1.0輸出低電平

CLR A_B ;A_B(未見到妳程序中定義 應是個端口)輸出低電平

SETB CLK ;P1.0輸出高電平

DJNZ R0,BLACK ;r0減1不為0轉到BLACK

RET

;0~F的字形碼

MYZIKU:

DB 77H,06H,0B3H,97H,0C6H ;"0,1,2,3,4"

DB 0D5H,0F5H,07H,0F7H,0D7H ;"5,6,7,8,9"

DB 0E7H,0F4H,71H,0B6H,0F1H,0E1H ;"A,B,C,D,E,F"

0101 0000 1289 1488 R4H5 Q533

  • 上一篇:JS上加的插件之類的
  • 下一篇:賀卡海報制作圖片-電子賀卡的制作方法
  • copyright 2024編程學習大全網