求一个汇编语言程序的定时器,目的是让蜂鸣器一秒响一次。最好能有解释,没有也无所谓

求一个汇编语言程序的定时器,目的是让蜂鸣器一秒响一次。最好能有解释,没有也无所谓,第1张

 两个子程序均实现延时1秒的功能,实现方式略有不同,但机制是一样的。

 

 

        CODE  SEGMENT

              ASSUME    CS:CODE

              ORG       100H

      START:  PUSH      CS

              POP       DS

              PUSH      CS

              POP       ES

              MOV       CX,10

              MOV       DL,7        ; 蜂鸣

        @00:

              MOV       AH,2

              INT       21H

              CALL      DELAY_PROC

              LOOP      @00

              

              MOV       AH,4CH

              INT       21H

     DELAY1S  PROC      NEAR

              PUSH      AX

              PUSH      CX

              PUSH      DX

              PUSH      SI

              PUSH      DI

              PUSHF

              MOV       AH,0

              INT       1AH

              MOV       SI,CX

              MOV       DI,DX

     @DELAY:

              MOV       AH,0

              INT       1AH

              SUB       DX,DI

              SBB       CX,SI

              CMP       DX,18       ; 延时1秒

              JB        @DELAY

              POPF

              POP       DI

              POP       SI

              POP       DX

              POP       CX

              POP       AX

              RET

     DELAY1S  ENDP

  ;================================================================

  DELAY_PROC  PROC      NEAR

              PUSH      ES

              PUSH      DX

              MOV       DX,40H

              MOV       ES,DX

              MOV       DX,ES:[006CH]

              ADD       DX,18       ; 延时1秒

    DELAY10:

              CMP       ES:[006CH],DX

              JBE       DELAY10

              POP       DX

              POP       ES

              RET

  DELAY_PROC  ENDP

       

      

        CODE  ENDS

              END       START

硬件:ESP32芯片、DS3231时钟芯片、五方向按键(带set和rst按键)、有源蜂鸣器、 LCD1602液晶屏(带PCF8574芯片,注意不是背光可调多种颜色的那种RGB1602)

软件:microPython

1、开始自动检测WIFI,检测到之后,自动从网络获取时间,并写入esp8266/esp32、同时写入ds3231时钟芯片中

2、如果不能联网,则自动从ds3231芯片获取时间

3、按中键,可以开启关闭屏幕背光

4、按set键,可以进入菜单,可以设置日期、时间、闹钟以及闹钟是否开启(默认每天循环)

5、液晶屏幕上,时间与温度中间,如果有个显示,表示闹钟是开启状态。 如果没有,则表示闹钟关闭

DS3231micropy : 从 >

如果是蜂鸣器的话,那么加一个电平信号就可以发声了。\x0d\FMQ EQU P10\x0d\ORG 0000H\x0d\LJMP MAIN\x0d\ORG 0030H\x0d\MAIN:\x0d\CPL FMQ\x0d\LCALL DELAY\x0d\SJMP MAIN\x0d\DELAY:\x0d\MOV R2,#200\x0d\DLY:\x0d\MOV R3,#250\x0d\DJNZ R3,$\x0d\DJNZ R2,DLY\x0d\RET\x0d\END

以上就是关于求一个汇编语言程序的定时器,目的是让蜂鸣器一秒响一次。最好能有解释,没有也无所谓全部的内容,包括:求一个汇编语言程序的定时器,目的是让蜂鸣器一秒响一次。最好能有解释,没有也无所谓、ESP32+时钟、闹钟、温度+microPython程序 (2020-10-09)、单片机用汇编语言怎么写一个蜂鸣器程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9861943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存