正文

【021】 延时法实现1个LED隔1s闪一次(汇编)2007-05-02 11:13:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wentao/25456.html

分享到:

  • ;**************************************************************************   
  • ; 标题: 延时法实现1个LED隔1s闪一次(汇编)   
  • ; 作者: wentao     http://blog.liuwentao.net   
  • ;                  http://wentao.programfan.com   
  • ; 参考: 延时子程序参考 http://blog.liuwentao.net/read.php?122   
  • ; 日期: 2007.2.21   
  • ; 软件: Keil A51 V8.00    
  • ; 芯片: AT89X51   
  • ; 说明: 实验板实测通过,这里1s并非精确值   
  • ; 声明: 自用存档!另仅供需要的朋友参考,请勿用做不道德转载及商业用途!    
  • ;**************************************************************************   
  •   
  •               org  0000h  
  •               jmp  start   
  •   
  • start:        clr  p1.0        ;P1.0口置为低电平,灯亮   
  •               call delay500ms  ;延时500毫秒   
  •               setb p1.0        ;P1.0口置为高电平,灯灭   
  •               call delay500ms  ;延时500毫秒   
  •               jmp  start       ;循环   
  •   
  • ;延时500毫秒子程序,12M晶振下,指令周期为12M×(1/12)=1us   
  •   
  • delay500ms:                  ;1us*500701=500.701ms   
  •              mov  r5#4     ;1+[1+(1+2*255)*244+2*244]*4+2*4=500701   
  • temp1:       mov  r6#244   ;1+(1+2*255)*244+2*244   
  • temp2:       mov  r7#255   ;1+2*255   
  •              djnz r7, $   
  •              djnz r6, temp2   
  •              djnz r5, temp1   
  •              ret  
  •   
  • end

  • 阅读(2994) | 评论(0)


    版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

    评论

    暂无评论
    您需要登录后才能评论,请 登录 或者 注册