标题: led灯以随机次数闪烁 单片机汇编语言程序 [打印本页]

作者: illhurt    时间: 2019-7-27 09:20
标题: led灯以随机次数闪烁 单片机汇编语言程序
8盏led灯以随机数点亮

单片机源程序如下:
  1. ;===============================================================================
  2. ;                   Key-LED
  3. ;                   AT89C2051,12Mhz,1 Key,1 LED
  4. ;===============================================================================
  5. KeyPort             Bit    P3.0                   ;0:Pressed
  6. LEDPort             EQU   P1
  7. ;===============================================================================
  8. ;===============================================================================
  9. ;===============================================================================
  10.                     Org    0000H
  11.                     AJmp   Main
  12. ;===============================================================================
  13. Delay:              Mov    R6,#0
  14. Delay1:             Mov    R7,#0
  15.                     Djnz   R7,$
  16.                     Djnz   R6,Delay1
  17.                     Ret
  18. ;-------------------------------------------------------------------------------
  19. FlashLED:           
  20.                                         
  21.                             mov    LedPort,B
  22.                     
  23.                             ;Clr    LEDPort                ;Light up
  24.                     ACall  Delay
  25.                     
  26.                             Mov    A,B
  27.                             Cpl    A
  28.                             mov    LedPort,A
  29.                     
  30.                             ;Setb   LEDPort                ;Dark
  31.                     ACall  Delay
  32.                     Ret
  33. ;===============================================================================
  34. Main:               Mov    Sp,#07H

  35.                     Mov    A,#1

  36. ;                    Mov    LedPort,#00000001b
  37. ;                             Mov    A,LedPort
  38. ;-------------------------------------------------------------------------------
  39. MainLoop:           Jb     KeyPort,loop
  40.                     Acall  Delay
  41.                             Inc    A                      ;add the number of lighting
  42.                     Acall  Delay
  43.                     ;Acall  Delay
  44.                             ;Acall  Delay
  45.                     
  46.                     CJNE   A,#15,Mainloop
  47. ;                    Acall  Delay
  48.                     
  49.                             clr    A
  50.                             sjmp   Mainloop
  51.                     
  52. loop:               ;Jb     KeyPort,MainLoop       ;No Key, Wait
  53.                     
  54.                     Mov    R5,A
  55.                     
  56.                             Mov    B,A
  57.                             Mov    A,LedPort
  58.                             Clr    A

  59.                     
  60. L:                  ACall  FlashLED
  61.                     Djnz   R5,L

  62.                     Jb    KeyPort,$
  63.                     SJmp   MainLoop
  64. ;===============================================================================
  65.                     End
复制代码

所有资料51hei提供下载:
拓展.zip (57.4 KB, 下载次数: 4)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1