用单片机做简易家电定时控制器?单片机用中断和定时怎么延时?

2024-03-22 15:32:29 文章来源 :网络 围观 : 评论
后台-系统设置-扩展变量-手机广告位-内容正文顶部

  用单片机做简易家电定时控制器?

  还可以使用现成的TPC4-4TD型定时程序控制器,可以控制4路负载,还有4路输入开关的控制,输出定时0——200小时,一共60行设置程序,每行程序有一个延时定时器和一个输出定时器。采用表格设置,无需编程。不仅可以实现定时控制,还可以实现程序控制。不过这个控制器一般都是用于工业设备控制使用,价格380元。还有控制更多输出电器负载的型号。 下面补充回答你对单片机编程的问题: 用单片机编制简易家电控制器并不复杂,只要你学过汇编语言或者单片机C语言也是比较简单的入门程序。程序基本涉及到三个部分,一是按键扫描程序,二是显示程序,这两个程序配合实现对家电控制器操作和设置;三是定时部分,定时部分使用单片机内部的定时器,需要编写定时器的初始化和定时器的中断程序。最好亲自尝试程序的编写,有个这样的课题也是使自己提升的最佳机会。 有个捷径就是参考别人的示例程序,拿来理解修改,这也是学习过程,可以快速掌握。下的功夫越多,自己获得的就更多。

  单片机用中断和定时怎么延时?

  1.软件延时

  利用多个指令的执行来延时,累加每个指令的运行时间,来计算出延时的总时间。一般写成一个延时函数。

  如,以下是10ms软件延时。

  delay_10ms() {

  int c = 1000; // 调整常数,以达到要求的延时,但很难!

  while(c != 0) {

  c--;

  }

  }

  以上函数被调用一次,就延时10ms,多次调用可以达到任意更大的时间要求。

  !但是,在延时时,就其它什么事也做不了了,就是干等啊!

  2.硬件延时

  利用定时器/计数器芯片,或用微控制器内部的定时器/计数器,实际上,它就是对晶振的分频(分频系数可编程设置),得到一个精确的低频的周期信号,用这个周期信号(比如10ms)去触发中断,每10ms调用一次定时中断服务程序。在定时中断服务程序中加入计数变量,就可以得到任意的定时了。

  在10ms没有到时,微控制器可以运行其它程序,10ms到时再自动进去中断服务程序以处理定时任务,不会像软件延时阻塞了。

  3.操作系统中,都有个硬件延时,和定时中断,可以看ucos ii中的源码,节拍时钟,和汇编语言实现的定时中断。

  4.硬件延时,要占用一个定时器/计数器硬件资源。

  

用单片机做简易家电定时控制器?单片机用中断和定时怎么延时?

  

用单片机做简易家电定时控制器?单片机用中断和定时怎么延时?

  

用单片机做简易家电定时控制器?单片机用中断和定时怎么延时?

  

用单片机做简易家电定时控制器?单片机用中断和定时怎么延时?

来源:文章来源于网络,如有侵权请联系我们删除。
来源:文章来源于网络,如有侵权请联系我们删除。

相关文章

留言与评论(共有 0 条评论)
   
验证码:
推荐文章