⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h21.asm

📁 (1)完成键盘
💻 ASM
字号:
; DC motor
; ASM for MCS51
mode   equ 082h
STATUS equ 08001h
PORTA  equ 08000h
CTL    equ 08003h

CS0832 equ 09000h

DC_P   equ 0
count0 equ 40
count1 equ 41

       org   0h
       jmp   start
delay:
       mov   r5,#10
       mov   r6,#0
       mov   r7,#0
ddd:
       djnz  r7,ddd
       djnz  r6,ddd
       djnz  r5,ddd
       ret

read:
       mov   TMOD, #01               ; 16位计时
       clr   TR0
       mov   TH0, #0
       mov   TL0, #0
       mov   dptr, #STATUS
r_0:   movx  a,@dptr
       jnb   acc.DC_P, r_0           ; 等待低电平完
r_1:   movx  a,@dptr
       jb    acc.DC_P, r_1           ; 等待高电平完

       setb  TR0

r_2:   movx  a,@dptr
       jnb   acc.DC_P, r_2           ; 等待低电平完
r_3:   movx  a,@dptr
       jb    acc.DC_P, r_3           ; 等待高电平完
       clr   TR0
       mov   count0,TH0
       mov   count1,TL0
       ret

start:
       mov   dptr, #CS0832
       mov   a, #0ffh
       movx  @dptr, a
       call  delay                   ; 等待电机运转稳定
       call  read                    ; 读取时间


       mov   dptr, #CS0832           ; 设断点,观察上次时间
       mov   a, #0c0h
       movx  @dptr, a
       call  delay                   ; 等待电机运转稳定
       call  read

       mov   dptr, #CS0832           ; 设断点,观察上次时间
       mov   a, #040h                ; 电机反转
       movx  @dptr, a
       call  delay                   ; 等待电机运转稳定
       call  read                    ; 读取时间


       mov   dptr, #CS0832           ; 设断点,观察上次时间
       mov   a, #00h                 ; 电机反转加速
       movx  @dptr, a
       call  delay                   ; 等待电机运转稳定
       call  read

       ljmp  $                       ; 设断点,观察上次时间

       end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -