晶振为6Mhz编写一个1S延时的子程序怎么写

问问题描述

晶振为6Mhz编写一个1S延时的子程序怎么写,有没有大神路过?求指点迷津!

答精选答案

最佳答案

用中断,定时器工作方式1,计数最大数为65536,那么从15536开始计数,达到65536要计50000次,6M的晶振机器周期为2微秒,那么溢出一次耗时为100000微秒,计数溢出10次即为1秒钟 ORG 000BH AJMP TIME0 ORG 30H MAIN: MOV 30H,#00H;先把30H地址的数据清零,用做给溢出计数用 MOV TMOD,#00000001B MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0 LOOP:AJMP LOOP TIME0:PUSH ACC PUSH PSW INC 30H;进入中断后就自增 MOV A,30H CJNE A,#10,T_RET;看计数器的溢出到了10次没,没有就跳到T_RET再继续从15536计数 T_L1:延时1秒到了,写自己的程序吧。

MOV 30H,#00H;记得把溢出计数器再次清零 T_RET:MOV TH0,#3CH MOV TL0,#0B0H POP PSW POP ACC RETI END

本文来自作者[欢乐淘商城]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/971434.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 欢乐淘商城
    欢乐淘商城 2026年09月30日

    我是公众科技网的签约作者“欢乐淘商城”!

  • 欢乐淘商城
    欢乐淘商城 2026年09月30日

    希望本篇文章《晶振为6Mhz编写一个1S延时的子程序怎么写》能对你有所帮助!

  • 欢乐淘商城
    欢乐淘商城 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 欢乐淘商城
    欢乐淘商城 2026年09月30日

    本文概览:用中断,定时器工作方式1,计数最大数为65536,那么从15536开始计数,达到65536要计50000次,6M的晶振机器周期为2微秒,那么溢出一次耗时为100000微秒,计数溢出10次即为1秒钟 ORG 000BH AJMP TIME0 ORG 30H MAIN: MOV 30H,#00H;先把30H地址的数据清零,用做给溢出计数用 MOV TMOD,#00000001B MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0 LOOP:AJMP LOO

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们