標(biāo)題: PROTEUS仿真:動(dòng)態(tài)驅(qū)動(dòng)顯示1-99(匯編程序) [打印本頁(yè)]

作者: 多喝點(diǎn)    時(shí)間: 2020-1-30 14:53
標(biāo)題: PROTEUS仿真:動(dòng)態(tài)驅(qū)動(dòng)顯示1-99(匯編程序)


仿真電路圖




仿真匯編程序:

  1. A_Bit EQU 20H
  2. B_Bit EQU  21h  ;十位數(shù)存放處
  3. TEMP  EQU 22h

  4. STAR:  MOV  TEMP, #0 ;初始化計(jì)數(shù)器

  5. STLOP:  
  6. ACALL  DISPLAY
  7. INC  TEMP
  8. MOV  A,TEMP
  9. CJNE  A,#100,NEXT ;=100重來(lái)
  10. MOV  TEMP,#0

  11. NEXT:
  12. LJMP  STLOP

  13. ;顯示子程序
  14. DISPLAY:
  15.       MOV A, TEMP ;將temp中 的數(shù)轉(zhuǎn)換成10進(jìn)制
  16.       MOV B,#10;
  17.       DIV AB;
  18.       MOV B_Bit,A ;十位在A
  19.       MOV A_Bit,B;個(gè)位在B
  20.       MOV DPTR,#TAB;指定查表啟始地址
  21.       MOV R0,#2;4

  22. DPL1:  MOV  R1,#100;250 ;顯示1000次
  23. DPLOP: MOV A,A_Bit;取個(gè)位數(shù)
  24.       MOVC A,@A+DPTR;查個(gè)位數(shù)的7段代碼
  25.       ;CPL A;
  26.       MOV  P1 ,A;送出個(gè)位的7段代碼
  27.       CLR  P2.7;
  28.       ACALL D1MS;延時(shí)顯示1ms
  29.       SETB P2.7;
  30.       MOV  A,B_Bit  ;取十位數(shù)
  31.       MOVC A, @A+DPTR ;查十位數(shù)的7 段代碼
  32.       ;CPL A;
  33.       MOV  P1 ,A;送出十位的7段代碼
  34.       CLR  P2.6;
  35.       ACALL D1MS;
  36.       SETB P2.6;
  37.       DJNZ  R1,DPLOP  ;100次沒完循環(huán)
  38.       DJNZ  R0,DPL1  ;2個(gè)100次沒完循環(huán)RET
  39.       ;延時(shí)4毫秒即2微秒* R7*R6(按12MHZ算)


  40. D1MS: MOV  R7 ,#5;10
  41.       D1:  MOV  R6,#50;
  42.            DJNZ R6,$;
  43.            DJNZ R7,D1;
  44.            RET;

  45. ;7段數(shù)碼管各劃的數(shù)字排列表,共陽(yáng)的七段花數(shù)
  46. TAB:
  47. DB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch,39h,5Eh,79h,71h;
  48. END;

復(fù)制代碼








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