51单片机c语言延时0.2s,单片机延时与中断常见问题及相关解答

新手在单片机开发应用过程中,时而出现延时与中断的问题,那该怎么解决呢?

一些人会把单片机中断和延时概念搞混,首先我们先来理清楚单片机中断和延时的概念。中断是停止当前正执行的任务,转而去执行中断任务,等中断任务执行结束后继续回来执行当前正在运行的任务。开启中断源之后,有初始化中断、响应中断等都是从中断入口地址处执行中断程序的,建议有中断程序尽可能的简洁,越短越好。而延时仅仅是主程序在执行的过程中不断调用的一段子程序。

下边为大家分享一下大多数单片机包含PIC单片机开发在内的延时与中断的常见问题及解决方法。

1、单片机延时程序的延时时间怎么算的?

答:如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的。

如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.059

2 MHz、12 MHz或6 MHz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1 μs和2

μs,便于精确延时。本程序中假设使用频率为12 MHz的晶振。最长的延时时间可达216=65 536

μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。

2、求个单片机89S51 12M晶振 用定时器延时10分钟,控制1个灯就可以

答:可以设50ms中断一次,定时初值,TH0=0x3c、TL0=0xb0。中断20次为1S,10分钟的话,需中断12000次。计12000次后ÿ

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值