找回密码
 立即注册

QQ登录

只需一步,快速开始

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

写了一个霍尔测速的程序,但是proteus无法通过仿真,有没有大神帮忙看一下代码

[复制链接]
跳转到指定楼层
楼主
ID:542000 发表于 2019-9-24 22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想法是利用T0定时,T1计数,T1记得的脉冲数用来计算速度与里程。代码附在下面,求大神帮忙看一下!
  1. DATA1 EQU 60H
  2. DATA2 EQU 62H
  3. DATA3 EQU 64H
  4. KEY1  EQU P0.0

  5. ORG 0000H
  6. START:        MOV DATA1,#00H
  7.                 MOV DATA2,#00H
  8.                 MOV DATA3,#00H
  9.                 MOV SP,#70H
  10.                 MOV 40H,#00H
  11.                 MOV TH0,#03CH
  12.                 MOV TL0,#0B0H
  13.                 MOV TH1,#00H
  14.                 MOV TL1,#00H
  15.                 MOV IE,#10001010B
  16.                 MOV TMOD,#01010001B
  17.                 MOV DPTR,#TABLE

  18. MAIN:        SETB TR0
  19.                 SETB TR1
  20.                 MOV R0,40H
  21.                 CJNE R0,#0AH,$
  22.                 LCALL SPEED
  23.                 LCALL DIS1
  24.         AJMP MAIN

  25. INT_TIMER:
  26.                 MOV TH0,#03CH
  27.                 MOV TL0,#0B0H
  28.                 CLR TR1
  29.                 MOV DATA1,TL1
  30.                 MOV A,DATA1
  31.                 ADD A,DATA2
  32.                 MOV DATA2,A
  33.                 INC 40H
  34.                 JNC R
  35.                 INC DATA3
  36.                 R:RETI
  37.                
  38. DIS1:        MOV A,80H
  39.                 MOVC A,@A+DPTR       
  40.                 SETB P2.3
  41.                 MOV P0,A
  42.                 CLR P2.3
  43.                 LCALL DELAY
  44.                 MOV A,81H
  45.                 MOVC A,@A+DPTR       
  46.                 SETB P2.4
  47.                 MOV P0,A
  48.                 CLR P2.4
  49.                 LCALL DELAY
  50.                 MOV A,82H
  51.                 MOVC A,@A+DPTR       
  52.                 SETB P2.5
  53.                 MOV P0,A
  54.                 CLR P2.5
  55.                 LCALL DELAY
  56.                 RET
  57. DIS2:        MOV A,83H
  58.                 MOVC A,@A+DPTR       
  59.                 SETB P2.0
  60.                 MOV P0,A
  61.                 CLR P2.0
  62.                 LCALL DELAY
  63.                 MOV A,84H
  64.                 MOVC A,@A+DPTR       
  65.                 SETB P2.1
  66.                 MOV P0,A
  67.                 CLR P2.1
  68.                 LCALL DELAY
  69.                 MOV A,85H
  70.                 MOVC A,@A+DPTR       
  71.                 SETB P2.2
  72.                 MOV P0,A
  73.                 CLR P2.2
  74.                 LCALL DELAY
  75.                 SETB P2.3
  76.                 MOV P0,#80H
  77.                 CLR P2.3
  78.                 LCALL DELAY
  79.                 MOV A,86H
  80.                 MOVC A,@A+DPTR       
  81.                 SETB P2.4
  82.                 MOV P0,A
  83.                 CLR P2.4
  84.                 LCALL DELAY
  85.                 MOV A,87H
  86.                 MOVC A,@A+DPTR       
  87.                 SETB P2.5
  88.                 MOV P0,A
  89.                 CLR P2.5
  90.                 LCALL DELAY
  91.                 RET
  92.                        
  93. SPEED:        MOV A,DATA1
  94.                 MOV B,#0EH
  95.                 MUL AB
  96.                 MOV B,#64H
  97.                 DIV AB
  98.                 MOV 80H,A
  99.                 MOV A,B
  100.                 MOV B,#0AH
  101.                 DIV AB
  102.                 MOV 81H,A
  103.                 MOV A,B
  104.                 MOV 82H,A
  105.                 MOV DATA1,#00H
  106.                 RET
  107. MILAGE:        MOV A,DATA3
  108.                 MOV B,#0C8H
  109.                 DIV AB
  110.                 MOV 83H,A
  111.                 MOV A,B
  112.                 MOV B,#014H
  113.                 DIV AB
  114.                 MOV 84H,A
  115.                 MOV A,B
  116.                 MOV B,#02H
  117.         DIV AB
  118.         MOV 85H ,A
  119.         MOV A,B
  120.         MOV A,DATA2                 
  121.                 MOV B,#032H                           
  122.         DIV AB
  123.         MOV 86H, A
  124.         MOV A,B
  125.         MOV B,#05H            
  126.         DIV AB
  127.         MOV 87H,A
  128.         RET
  129.                
  130. DELAY:        MOV R7,#250
  131. DL0:         MOV R6,#2
  132. DL1:        MOV R5,#2
  133. DL2:        DJNZ R5,DL2
  134.         DJNZ R6,DL1
  135.                 DJNZ R7,DL0
  136.                 RET
  137.                
  138. TABLE:        DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
  139.                 END
复制代码



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

使用道具 举报

沙发
ID:275826 发表于 2019-9-25 08:00 | 只看该作者
现在还在用汇编语言呀,改C51吧
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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