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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4645|回復: 2
打印 上一主題 下一主題
收起左側

單片機頻率計 匯編語言 數碼管顯示 帶proteus仿真及源碼

[復制鏈接]
跳轉到指定樓層
樓主


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


匯編語言源程序:
  1.         VALUEH        EQU        20H                        ;暫存TH1的值
  2.         VALUEL        EQU        21H                        ;暫存TL1的值
  3.         DATE0        EQU        22H         ;暫存計數值的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作為計數器溢出的次數


  27.                 MOV  TMOD,#15H             ;定時器1工作在定時方式
  28.                                                        ;定時器0工作在計數方式
  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           ;啟動計數
  36. W1:
  37.         LCALL   DISP                 ;顯示計數值
  38.         LJMP    W1
  39. ;------------------------------------------------------------------------
  40. INT_T0:                                                 ;中斷0作為計數器溢出
  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               ;關閉定時器
  54.                 CLR   TR1               ;關閉計數器
  55.                 MOV   VALUEL,TL0            ;存放計數值
  56.                 MOV   VALUEH,TH0
  57.                 
  58. LCALL        HTOD
  59.                                         ;將十六進制數轉換為十進制數
  60. RETUNE:
  61.          RETI
  62. ;-------------------------------------------------------------------------------------
  63. ;這段程序將VALUEH/VALUEL中的16進制數轉成10進制并且把5位數依次存入DATE0至DATE4
  64. ;-------------------------------------------------------------------------------------
  65. HTOD:
  66.       MOV        R2,VALUEH                        ;把計數器的值送到R2,R3
  67.           MOV        R3,VALUEL                        ;送到R2,R3后把R2,R3里面壓縮的十六位的二進制數轉換成十進制數
  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中的數放到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送到數碼管顯示
  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
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:72088 發表于 2016-9-25 19:39 | 只看該作者
不錯,我也會匯編,
回復

使用道具 舉報

板凳
ID:349169 發表于 2018-7-12 15:21 | 只看該作者
謝謝分享
回復

使用道具 舉報

無效樓層,該帖已經被刪除
5#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表