找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3152|回复: 2
打印 上一主题 下一主题
收起左侧

单片机红外霍尔传感测速仪的源代码 汇编和c语言都有

[复制链接]
跳转到指定楼层
楼主
红外霍尔传感测速仪的源代码  给大家分享一下

红外霍尔传感测速仪的源代码.zip (4.71 KB, 下载次数: 31)

下面是汇编的源码:

  1. D_TMP  EQU 35H
  2. COUNT1 EQU 36H
  3. COUNT2 EQU 37H

  4. ORG 0000H
  5. LJMP MAIN
  6. ORG 0003H
  7. LJMP ZHONGDUAN
  8. ORG 000BH
  9. LJMP TT0
  10. ORG 0030H
  11. MAIN:
  12.      MOV 30H,#00H   ;显示缓冲单元30H~33H
  13.      MOV 31H,#00H
  14.      MOV 32H,#00H
  15.      MOV 33H,#00H
  16.      mov 20h,#00h     ;计数标志位20H
  17.      MOV R6,#00H      ;脉冲计数单元R6\R7
  18.      MOV R7,#00H
  19.      MOV P0,#0FFH
  20.      MOV P1,#00H
  21.      MOV P2,#0FFH
  22.      MOV P3,#0ffH
  23.      MOV COUNT1,#50    ;1S定时计数值
  24.      MOV COUNT2,#60    ;1分定时计数值
  25.      MOV TMOD,#01h
  26.      MOV TL0,#00H      ;20ms定时初值
  27.      MOV TH0,#70H
  28.      SETB TR0
  29.      SETB ET0
  30.      SETB EX0
  31.      SETB IT0
  32.      SETB PT0
  33.      SETB EA
  34. LOOP:LCALL DISPLAY      ;调用显示程序
  35.      JNB 00h,LOOP       ;计数标志位为0,则等待
  36.      LCALL HEXTOBCDD    ;调用十六进制数十十进制子程序
  37.      LCALL bcd          ;BCD码子程序
  38.      CLR A
  39.      MOV R6,A           ;脉冲计数单元清0
  40.      MOV R7,A
  41.      CLR 00h            ;计数标志位清0
  42.      SJMP LOOP          ;继续循环

  43. ZHONGDUAN:                   ;中断0程序
  44.      MOV A,R7
  45.      ADD A,#1
  46.      MOV R7,A
  47.      MOV A,R6
  48.      ADDC A,#0
  49.      MOV R6,A
  50.      CJNE R6,#27H,NEXT  ;计数最大值9999
  51.      CLR   A
  52.      MOV   R6 , A
  53.      MOV   R7 , A
  54. NEXT:RETI

  55. TT0:  DJNZ count1,NEXT1  ;T0中断程序
  56.       ;MOV COUNT1,#50        ;分转速计
  57.       ;DJNZ COUNT2,NEXT1
  58.       CLR EA
  59.       SETB 00H           ;计数标志位置1,则执行计数
  60.       MOV COUNT1,#50
  61.       ;MOV COUNT2,#60
  62.       SETB EA
  63. NEXT1:MOV TL0,#00H
  64.       MOV TH0,#70H
  65.       RETI


  66. HEXTOBCDD:MOV  A , R6               ;由十六进制转化为十进制
  67.          PUSH  ACC
  68.          MOV   A , R7
  69.          PUSH  ACC
  70.          MOV   A , R2
  71.          PUSH  ACC
  72.          CLR   A
  73.          MOV   R3 , A
  74.          MOV   R4 , A
  75.          MOV   R5 , A
  76.          MOV   R2 , #10H
  77. HB3:     MOV   A  , R7              ;将十六进制中最高位移入进位位中
  78.          RLC   A
  79.          MOV   R7 , A
  80.          MOV   A  , R6
  81.          RLC   A
  82.          MOV   R6 , A
  83.          MOV   A  , R5              ;每位数加上本身相当于将这个数乘以2
  84.          ADDC  A  , R5
  85.          DA    A
  86.          MOV   R5 , A
  87.          MOV   A  , R4
  88.          ADDC  A  , R4
  89.          DA    A                       ;十进制调整
  90.          MOV   R4 , A
  91.          MOV   A  , R3
  92.          ADDC  A  , R3
  93.          DJNZ  R2 , HB3
  94.          POP   ACC
  95.          MOV   R2 , A
  96.          POP   ACC
  97.          MOV   R7 , A
  98.          POP   ACC
  99.          MOV   R6 , A
  100.          RET

  101. BCD:     MOV   R0 , #30H
  102.          MOV   A  , R5
  103.          ANL   A  , #0FH    ;屏蔽R5中的低4位
  104.          MOV   @R0 , A      ;存回以30H为地址的房间
  105.          MOV   A  , R5      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  106.          SWAP  A            ;R5高低4位互换
  107.          ANL   A  , #0FH    ;屏蔽R5中的低4位
  108.          INC   R0           ;存储地址加1指向31H
  109.          MOV   @R0 , A      ;存回以31H为地址的房间
  110.                              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  111.          MOV   A  , R4      ;R4中的内容存A
  112.          ANL   A , #0FH     ;屏蔽低4位
  113.          INC   R0           ;存储地址加1指向32H
  114.          MOV   @R0 , A      ;存回以32H为地址的房间
  115.          MOV   A   , R4     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  116.          SWAP  A            ;R4高低位互换
  117.          ANL   A  , #0FH    ;屏蔽R5中的低4位
  118.          INC   R0           ;存储地址加1指向33H
  119.          MOV   @R0 , A      ;存回以31H为地址的房间
  120.          RET


  121. DISPLAY:                    ;显示程序
  122.          MOV A,30H
  123.          LCALL MM
  124.          MOV P0,A
  125.          CLR P2.0
  126.          LCALL DELAY

  127.          MOV A,31H
  128.          LCALL MM
  129.          MOV P0,A
  130.          CLR P2.1
  131.          LCALL DELAY

  132.          MOV A,32H
  133.          LCALL MM
  134.          MOV P0,A
  135.          CLR P2.2
  136.          LCALL DELAY

  137.          MOV A,33H
  138.          LCALL MM
  139.          MOV P0,A
  140.          CLR P2.3
  141.          LCALL DELAY
  142.          RET

  143. MM:     MOV P2,#0FFH
  144.          MOV P0,#0FFH
  145.          MOV DPTR,#TAB
  146.          MOVC A,@A+DPTR
  147.          RET
  148. TAB:     DB    03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH   ;七段码表

  149. DELAY:   MOV D_TMP,#90;  100us延时
  150.          LCALL DELAY1
  151. DELAY1:  DJNZ D_TMP,$
  152.          RET
  153.          END
复制代码



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:667554 发表于 2020-2-27 15:47 | 只看该作者
没有仿真吗?想要图
回复

使用道具 举报

板凳
ID:667554 发表于 2020-2-27 15:47 | 只看该作者
没有仿真图吗?想看仿真图
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表