① PIC 如何利用定时器或是watchdog实现产时间的休眠唤醒。比如我想实现5分钟休眠,如何实现请高手指点
你可以启动一个定时器,如每隔一定时间中断,如100ms中断一次,用一个寄存器如TIME来累计中断的次数,显然5分钟需中断3000次。每次按键中断prw程序让TIME清0c因此只有在5分钟内都没按键12TIME才有可能达到3000mqu只有当TIME值大于3000时才让单片机进入休眠状态ae即在定时器中断时,如果TIME的值超过3000就进入休眠kosw
② PIC单片机有什么特点
1) PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。比如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。PIC系列从低到高有几十个型号,可以满足各种需要。其中,PIC12C508单片机仅有8个引脚,是世界上最小的单片机.
该型号有512字节ROM、25字节RAM、一个8位定时器、一根输入线、5根I/O线,市面售价在3-6元人人民币。这样一款单片机在象摩托车点火器这样的应用无疑是非常适合。PIC的高档型号,如PIC16C74(尚不是最高档型号)有40个引脚,其内部资源为ROM共4K、192字节RAM、8路A/D、3个8位定时器、2个CCP模块、三个串行口、1个并行口、11个中断源、33个I/O脚。这样一个型号可以和其它品牌的高档型号媲美。
2) 精简指令使其执行效率大为提高。PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:1的代码压缩,速度提高4倍。
3) 产品上市零等待(Zero time to market)。采用PIC的低价OTP型芯片,可使单片机在其应用程序开发完成后立刻使该产品上市。
4) PIC有优越开发环境。OTP单片机开发系统的实时性是一个重要的指标,象普通51单片机的开发系统大都采用高档型号仿真低档型号,其实时性不尽理想。PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。就我个人的经验看,还没有出现过仿真结果与实际运行结果不同的情况。
5) 其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。
6) 彻底的保密性。PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。
7) 自带看门狗定时器,可以用来提高程序运行的可靠性。
8) 睡眠和低功耗模式。虽然PIC在这方面已不能与新型的TI-MSP430相比,但在大多数应用场合还是能满足需要的。
③ pic单片机休眠面试外设和定时器还工作吗
休眠后
它的I/O口保持休眠前的状态,WDT被清0,定时器依旧工作,内部AD模块停止工作;至于外设与单片机所处的状态没有关系。
④ 单片机高手帮忙呀,PIC单片机睡眠指令怎么写呀
sleep(); //括号里填时间,秒
⑤ pic单片机,键盘控制,休眠唤醒后,五分钟内无任何操作,则又进入休眠状态,程序怎么写啊
你可以启动一个定时器,如每隔一定时间中断,如100ms中断一次,用一个寄存器如TIME来累计中断的次数,显然5分钟需中断3000次。
每次按键中断,程序让TIME清0。因此,只有在5分钟内都没按键,TIME才有可能达到3000。只有当TIME值大于3000时才让单片机进入休眠状态,即在定时器中断时,如果TIME的值超过3000就进入休眠。
⑥ PIC单片机休眠,看门狗唤醒复位了
是楼主说对了,刚我看了下数据手册,不同型号,看门狗唤醒结果确实不同PIC12F508数据手册中的《特殊寄存器的初始化》表:再看看PIC16F883数据手册中的情况:12F508看门狗唤醒,电平变化唤醒,PCL的值是从头开始的,PIC16F883中却不相同,看门狗唤醒,电平变化唤醒都是原PC值+1;所以楼主的理解是正确的,具体看楼主使用的是什么型号的CPU了,详情查看对于的数据手册。 查看更多答案>>
⑦ PIC单片机的某些I/O口没有电平变化唤醒功能,要如何让这些I/O口也能唤醒程序
PIC单片机有电平变化唤醒功能的。一般是PORTB口上可以有电平变化唤醒。(前提是这款芯片要有PORTB口,有的很简单的PIC是没有这个口的。比如PIC10系列PIC12系列。PIC16以上系列都有PORTB口的。)
其实不仅仅是PIC所有的单片机如果要从休眠模式下唤醒用的方法都是差不多的。
1. 复位(上电复位,看门狗复位等等)
2. 就是你要用到的方法。中断唤醒。比如说像这个电平变化唤醒。当你PORTB某一个或几个I/O上电平有变化。则芯片产生一个中断标志位。利用中断然后就能唤醒单片机了。
我帮你查了一款用的比较多的PIC16F886芯片。
根据数据手册它的中断唤醒有以下几种:
下列外设中断可以将器件从休眠状态唤醒:
1. TMR1 中断。Timer1 必须用作异步计数器。
2. ECCP 捕捉模式中断。
3. A/D 转换(当A/D 时钟源为FRC 振荡器时)。
4. EEPROM 写操作完成。
5. 比较器输出状态变化。
6. 电平变化中断。
7. 来自INT 引脚的外部中断
8. EUSART 间隔检测, I2C 从动模式。
⑧ 如何配置才能将PIC单片机再睡眠状态下的功耗降到几十个uA左右
如果只是说单片机的功耗,关闭单片机所有IO的输出/输入电流后,只要进入休眠,就能满足要求。
但更多的是,外围电路在单片机休眠时,存在各种导通电流,导致整机静态电流过大
⑨ 单片机睡觉模式时单片机处于什么状态,是不是什么功能都关闭了
单片机睡眠模式时单片机处于睡眠状态,但是单片机的多数功能还是可以使用的,如PIC单片机的看门狗是可以工作的,AD转换模块、RB口键盘中断、异步串行中断等一些主要功能都是可以工作的,而且利用中断功能可以把单片机从睡眠状态唤醒。
⑩ 有没有高手知道PIC单片机如果是片内振荡的,怎么查看它的振荡频率,也就是说怎么才能知道它在休眠OR工作
可以用如下测试方法:
在主循环里面写一段测试程序:让某个I/O口输出高电平,然后软件延时,再输出低电平,因为是在主循环里面,这段程序会周而复始的执行。然后用示波器观察I/O是不是有方波输出,如果有,则在工作,否则处于休眠!!