欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機頻率計 匯編語言 數(shù)碼管顯示 帶proteus仿真及源碼 [打印本頁]

作者: 51黑ff    時間: 2016-9-25 17:14
標題: 單片機頻率計 匯編語言 數(shù)碼管顯示 帶proteus仿真及源碼


用51單片機匯編語言做的頻率計的所有資料下載: 六位頻率計.zip (32.79 KB, 下載次數(shù): 40)


匯編語言源程序:
  1.         VALUEH        EQU        20H                        ;暫存TH1的值
  2.         VALUEL        EQU        21H                        ;暫存TL1的值
  3.         DATE0        EQU        22H         ;暫存計數(shù)值的BCD碼
  4.         DATE1        EQU        23H
  5.         DATE2        EQU        24H
  6.         DATE3        EQU        25H
  7.         DATE4        EQU        26H
  8.                 DATE5   EQU 27H
  9.         COUNT        EQU 30H
  10. ;-----------------------------------------------------------------------------
  11.                 ORG    0000H
  12.                 SJMP   MAIN
  13.                 ORG    000BH
  14.                 LJMP   INT_T0       
  15.                 ORG           001BH
  16.                 LJMP   INT_T1

  17. MAIN:        MOV        DPTR,#TABLE

  18.                 MOV        20H,#00H                 ;存儲空間初始化
  19.                 MOV        21H,#00H
  20.                 MOV        22H,#00H
  21.                 MOV        23H,#00H
  22.                 MOV        24H,#00H
  23.                 MOV        25H,#00H
  24.                 MOV        26H,#00H
  25.                 MOV        30H,#00H
  26.                 MOV  R1,#00H                 ;R1作為計數(shù)器溢出的次數(shù)


  27.                 MOV  TMOD,#15H             ;定時器1工作在定時方式
  28.                                                        ;定時器0工作在計數(shù)方式
  29.                 MOV         TH1,#3CH
  30.                 MOV         TL1,#0B8H
  31.                 MOV         TH0,#00H
  32.                 MOV         TL0,#00H
  33.                 MOV         IE,#8AH                 ;開啟定時器0和1

  34.                    SETB   TR0           ;啟動定時
  35.                 SETB   TR1           ;啟動計數(shù)
  36. W1:
  37.         LCALL   DISP                 ;顯示計數(shù)值
  38.         LJMP    W1
  39. ;------------------------------------------------------------------------
  40. INT_T0:                                                 ;中斷0作為計數(shù)器溢出
  41.                                                         ;溢出R1加1
  42.             MOV   TH0,#00H
  43.                 MOV   TL0,#00H
  44.              INC   R1
  45.                 CLR   TF0
  46.                 RETI                          

  47. INT_T1: MOV   TH1,#3CH
  48.                 MOV   TL1,#0B8H
  49.                 INC   COUNT
  50.                 MOV   A,COUNT
  51.             CJNE  A,#20,RETUNE            ;是否計滿1秒
  52.         MOV   COUNT,#00H
  53.                 CLR   TR0               ;關(guān)閉定時器
  54.                 CLR   TR1               ;關(guān)閉計數(shù)器
  55.                 MOV   VALUEL,TL0            ;存放計數(shù)值
  56.                 MOV   VALUEH,TH0
  57.                 
  58. LCALL        HTOD
  59.                                         ;將十六進制數(shù)轉(zhuǎn)換為十進制數(shù)
  60. RETUNE:
  61.          RETI
  62. ;-------------------------------------------------------------------------------------
  63. ;這段程序?qū)ALUEH/VALUEL中的16進制數(shù)轉(zhuǎn)成10進制并且把5位數(shù)依次存入DATE0至DATE4
  64. ;-------------------------------------------------------------------------------------
  65. HTOD:
  66.       MOV        R2,VALUEH                        ;把計數(shù)器的值送到R2,R3
  67.           MOV        R3,VALUEL                        ;送到R2,R3后把R2,R3里面壓縮的十六位的二進制數(shù)轉(zhuǎn)換成十進制數(shù)
  68.           CLR        A                                        ;然后存放到R4,R5,R6中
  69.           MOV        R4,A
  70.           MOV        R5,A
  71.           MOV        R6,A
  72.           MOV        R7,#18H
  73. LOOP1:
  74.       CLR        C
  75.           MOV        A,R3
  76.           RLC        A
  77.           MOV        R3,A
  78.           MOV        A,R2
  79.           RLC        A
  80.           MOV        R2,A
  81.       MOV        A,R1
  82.           RLC        A
  83.           MOV        R1,A  
  84.                
  85.           MOV        A,R6
  86.       ADDC        A,R6
  87.           DA        A
  88.           MOV        R6,A
  89.                
  90.           MOV        A,R5
  91.       ADDC        A,R5
  92.           DA        A
  93.           MOV        R5,A
  94.                
  95.           MOV        A,R4
  96.       ADDC        A,R4
  97.           DA        A
  98.           MOV        R4,A
  99.       DJNZ        R7,LOOP1

  100. CZ:   MOV        R0,#DATE5                ;把R4,R5,R6中的數(shù)放到DATE0~DATE5中
  101.           MOV        A,R6
  102.           ANL        A,#0FH
  103.           MOV        @R0,A
  104.          
  105.           DEC        R0
  106.           MOV        A,R6
  107.          SWAP        A
  108.           ANL        A,#0FH
  109.           MOV        @R0,A
  110.           
  111.           DEC        R0
  112.           MOV        A,R5
  113.           ANL        A,#0FH
  114.           MOV        @R0,A
  115.          
  116.           DEC        R0
  117.           MOV        A,R5
  118.           SWAP        A
  119.           ANL        A,#0FH
  120.           MOV        @R0,A                            
  121.           
  122.           DEC        R0
  123.           MOV        A,R4
  124.           ANL        A,#0FH
  125.           MOV        @R0,A

  126.           DEC        R0
  127.           MOV        A,R4
  128.           SWAP        A
  129.           ANL        A,#0FH
  130.           MOV        @R0,A
  131.           RET

  132. ;-----------------顯示子程序----------------------------------------------
  133. DISP:                                   
  134.          MOV        A,DATE5                   ;把DATE5~DATE0送到數(shù)碼管顯示
  135.          MOVC        A,@A+DPTR
  136.      MOV    P2,#0FFH
  137.      CLR    P2.2
  138.      MOV    P1,A
  139.      LCALL  DL1MS
  140.          SETB   P2.2

  141.          MOV    A,DATE4
  142.          MOVC        A,@A+DPTR
  143.      MOV    P2,#0FFH
  144.          CLR    P2.3
  145.      MOV    P1,A
  146.      LCALL  DL1MS
  147.      MOV    P2,#0FFH

  148.          MOV    A,DATE3
  149.          MOVC        A,@A+DPTR
  150.      MOV    P2,#0FFH
  151.          CLR    P2.4
  152.      MOV    P1,A
  153.      LCALL  DL1MS
  154.      MOV    P2,#0FFH

  155.          MOV        A,DATE2
  156.          MOVC        A,@A+DPTR
  157.      MOV    P2,#0FFH
  158.          CLR    P2.5
  159.      MOV    P1,A
  160.      LCALL  DL1MS
  161.      MOV    P2,#0FFH

  162.          MOV    A,DATE1
  163.          MOVC        A,@A+DPTR
  164.      MOV    P2,#0FFH
  165.          CLR    P2.6
  166.      MOV    P1,A
  167.      LCALL  DL1MS
  168.      MOV    P2,#0FFH

  169.          MOV    A,DATE0
  170.          MOVC        A,@A+DPTR
  171.      MOV    P2,#0FFH
  172.          CLR    P2.7
  173.      MOV    P1,A
  174.      LCALL  DL1MS
  175.      MOV    P2,#0FFH

  176.          RET
  177. ;-----------------------------------------------------------------------
  178. DL1MS: MOV    R6,#14H     ;1MSDELAY
  179. DL1:   MOV    R7,#19H
  180. DL2:   DJNZ   R7,DL2
  181.        DJNZ   R6,DL1
  182.        RET

  183. TABLE: DB  3FH,06H,5BH,4FH,66H
  184.            DB  6DH,7DH,07H,7FH,6FH
  185.            END
復(fù)制代碼





作者: 新鄉(xiāng)家電維修    時間: 2016-9-25 19:39
不錯,我也會匯編,
作者: 行者孫武松    時間: 2018-7-12 15:21
謝謝分享




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