久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

作者: 51黑ff    時間: 2016-9-25 17:14
標題: 單片機頻率計 匯編語言 數碼管顯示 帶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
復制代碼





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




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 人人玩人人添人人澡欧美 | 国产精品视频网站 | 久久一区二区三区四区 | 成年人在线观看视频 | 国产电影精品久久 | 成人网视频 | 一区二区视频在线 | 酒色成人网 | 国产专区视频 | 国产精品日产欧美久久久久 | 精品视频一区二区在线观看 | 中文字幕视频在线观看 | 玖玖国产| 日本理论片好看理论片 | 成人日韩 | 久在线精品视频 | 欧美日韩久久精品 | 日本成人中文字幕 | 久久成人精品视频 | 色爱综合 | 久久久人成影片一区二区三区 | 欧美群妇大交群中文字幕 | 国产精品a久久久久 | 深夜福利影院 | 青青草一区二区三区 | 超碰成人免费 | 一级片子| 国产免费人成xvideos视频 | 精品在线一区 | 中文字幕不卡视频在线观看 | 国产亚洲精品成人av久久ww | 亚洲精品一区二区三区蜜桃久 | av大片 | 欧美一区二区在线看 | 美女在线视频一区二区三区 | 波多野结衣一区二区三区在线观看 | 欧美综合久久 | 久久毛片| 欧美综合一区二区 | 日韩三极 | 日韩精品视频中文字幕 |