• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于51单片机的交通灯延时问题怎么解决?

b93a4698b133abbe 2019-11-18 浏览量:984
关于51单片机的交通灯延时问题怎么解决?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 延时有2种方式

    一个是定时器,配置定时器的定时时间,可以用中断或是查询的方式

    一个是for循环延时for(i=0;i<0xffff;i++);

    • 发布于 2019-11-20
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 延时有两种办法一种用循环阻塞延时,还有一种用定时器暂时,定时器延时比较准确
    • 发布于2019-11-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 51单片机延时的方式就两个,软件空运行延时和定时器延时,但是推荐使用定时器延时,这样不会造成代码运行阻塞,还更加的精确。使用延时函数的话,可以红灯亮了,运行延时函数,之后红灯灭,绿灯亮,运行延时函数,之后红灯亮,绿灯灭,如此循环就行了。使用定时器的话,需要一个标志位,表示定时时间到了,在主函数里面判断这个标志位,如果标志位为1,就红灯亮,绿灯灭,清空标志位,如果标志位再次被置上,则绿灯亮,红灯灭,清标志,这里还需要主义的就是需要判断这个标志位是第几次被置上,这个就比较简单了。
    • 发布于2019-11-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 交通信号灯严格说来不叫延时,只是标准的时序,比如绿灯G秒亮->绿灯频闪6秒->黄灯频闪3秒->红灯亮R秒->红灯频闪3秒->绿灯 大致这样一个完整的时间循环,最多有控制G和Y这样两个参数,此外就是循环啦。

    这些都可以用定时器来进行控制。

    • 发布于2019-11-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 就用延时程序,主要就是确定好晶振的频率,这决定了延时程序的标准单位时间,然后需要延时多少就相应的写入多少个单位时间的循环程序,一旦单位时间的程序确定好之后,以后就可以重复利用,如果晶振的频率有变化就按照变化的频率倍数来修改程序里的参数就好了
    • 发布于2019-11-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用软件定时查询的方式,或者硬件定时器中断的方式。
    • 发布于2019-11-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 51单片机使用定时器+中断的方法可以产生较准确的延时
    • 发布于2019-11-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于51单片机的交通灯延时问题怎么解决?