pic如何包含nop/pic如何使用
PIC单片机休眠,功耗
〖壹〗、PIC单片机的功耗非常低,这使得它在许多应用中表现优异 。在休眠模式下 ,其功耗大约为1uA左右,这在电池供电的应用中尤其重要。然而,当单片机处于工作状态时 ,其功耗会受到多个因素的影响,包括工作频率 、负载大小以及供电电压等。以我所使用的PIC16F690为例,我选用的是3768KHz的晶振 ,供电电压为6V 。
〖贰〗、彻底的保密性。PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。近来 ,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小 。7) 自带看门狗定时器,可以用来提高程序运行的可靠性。8) 睡眠和低功耗模式。
〖叁〗、没错 ,频率越高,速度越快。但有的时候,执行某些功能的时候并不需要如此高的频率 。因为频率越大 ,功耗也会越大。看看PIC单片机的数据手册后面的电气特性那篇就可以知道,1M或者32K的频率下电源所需电流要比4M和8m时候的药小很多。或许你做实验时觉得这多出的几百微安或者几毫安不值得省 。
〖肆〗 、如果PIC单片机的I/O口作为输入引脚使用,初始化时必须要关比较器 ,否则,不会响应。看门狗溢出会导致单片机从休眠中醒来。使用PT2262和单片机做发射端时,如果用电池 ,要做到最省电 。正常时,单片机休眠,PTT2262不上电,可以用三极管控制PTT2262的电源端 ,仅在发射时上电一次。
PIC单片机用c语言编写程序产生38khz的方波
具体的硬件配置你可以查看单片机的技术参数,只要使用一个定时器即可。配置成定时溢出模式,也可以配置成频率输出模式 ,还有比较匹配模式都行,主要是要看各个模式的工作方式,和相关寄存器的配置方式 。
采用红外线避障方法 ,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大 ,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。 接收管输出TTL电平,有利于单片机对信号的处理。采用红外线发射与接收原理 。
不是光靠三极管驱动这么简单。要增加遥控距离 ,你必须加调制和解调。例如用红外发送某种频率,如38k赫兹的方波,这叫做调制。在接收端经过选频滤波,排除了未经调制的干扰信号 ,只接收这特定频率的有用信号,这样就提高了对有用信号的接收灵敏度,所以可增大识别的距离 。
使用89C2051芯片 将按键信号调制在 38KHz 的载波信号上通过三极管放大后发射出去。红外编码为: 全码 =引导码+系统码+系统反码+数据码+数据反码。89C2051 的 P1口构成矩阵式键盘 ,用T1产生定时中断,驱动P3产生一个38K的方波,作为红外线的调制基波 。
输出13微秒高电平、输出13微秒低电平 ,循环输出几十次。这点小事就不用麻烦定时器了。用软件延时即可,定时器可以干其他更重要的活 。另外,无论6Mhz ,还是12MHz,都不能得到准确的38KHz。相差尽可能小一些就可以了,外接电路 ,一般来说,要求并不是很苛刻的。
如果只是你自己想玩的话,要什么协议啊!你自己定一个就行了,但要尊守一点 ,要以38KHz的方波来驱动红外发射LED,同时要把这38KHz的波形斩断,也就是编码 。对应的接收管会在接收到38KHz的红外信号时输出低电平 ,没有信号就输出高电平,很好用的,你试试。
在pic中如何用C语言编写程序?
第1章/:C语言简介 1 程序与计算机架构:计算机通过执行指令来完成任务 ,程序是指令的集合。2 数字系统:理解二进制和十六进制,为C语言操作提供基础 。3 C语言介绍:C语言起源于汇编语言,具有高效、灵活等特点。
//通过按键校时:K10--小时 ,K11--分钟,K12--秒(归零),K13-星期 ,BR1--年,RB2--月,RB3--日。
需要看你芯片的datasheet,比如 16F874A 16F877A 这个都是计数寄存器的地址。2 PopQueue应该是一个弹出队列的函数 。将队列首弹出到msg中 ,返回值为PopSuccess表示取数据成功,取到的数据会存在msg中。一般用于中断传数据给主线程。这个在主线程中接收 。3 __CONFIG(x) 一般是配置寄存器的。
单片机延时问题20问
单片机延时程序的延时时间如何计算?若使用循环语句,通常无法精确计算 ,但通过软件仿真可以大致了解时间长短。为了实现精确延时,通常需借助定时器功能,延时时间与晶振频率相关 。常见晶振频率如10592 MHz 、12 MHz或6 MHz ,选取12 MHz晶振易于实现标准波特率,且一个机器周期为1 μs,便于精确控制。
延迟时间设置不够大可能是导致问题的原因。在单片机C51中 ,延时函数的内层循环200,在12M晶振的情况下,大约相当于1点几毫秒 。由于1000毫秒等于1秒 ,因此这样的延时时间实际上是相当短的。你可以尝试将x调整到几十或几百,以观察不同设置下的效果差异。以下是在KEIL仿真环境中观察到的结果 。
【1】延时函数编译后的代码不同。两个仿真环境模拟的CPU不同、指令集不同。指令效率有高低。【2】另外机器周期和晶振震荡周期之间的关系在不同CPU情况下,也可能是不同的 。如“数字雷达 ”所说:理想的延时,应该采用中断。应当理解编译概念、指令延时的原理和CPU运行机制。
这个当然不可以 ,I2C是一种总线的协议,上面可以挂接很多器件,为了识别所以每次用的时候都要延时 。
相当于循环了600*X=600*10=6000次。可以根据自己的需要来定。你说得对 ,可以写一个就行 。但是有些芯片,你在控制他时,时序要求非常严格 ,如果延时太长或延时太短,都不会运行出结果。如果需要小延时的地方(只需几个us),只写一个就可以。如果需要延时几ms ,只写一个,可能达不到延时要求 。
PIC单片机PIC16F877能控制舵机吗?
PIC16F877单片机内部资源丰富,广泛应用于工业控制领域。我们研制了基于PIC16F877单片机的同步电动机新型智能励磁控制系统 ,控制程序可以实时计算,利用内部的捕捉单元可以很容易实现自动投励、全压投切电路。
主控制器采用PIC16F877 单片机作为CPU 。 PIC16F87X系列单片机是美国Microchip 公司的高性能 8 位CMOS 微处理器。PIC16F877 共有5 个I/ O 端口, 分别是RA 、RB、RC、RD 、RE ,除了通用I/ O 功能外 ,这些端口还具有各自不同的专用功能,例如PWM 输出、计数器输入、外部电平中断 、I2C 总线接口等。
有了PIC单片机的控制核,只要改变外围驱动、保护、输出电路 ,即可对不同功率 、不同电压或内部结构不同的无刷直流电机实现控制。
系列的核心是intel的MCS51,许多公司在此基础上开发了自家的51单片机,包括ATMEL公司的AT89S52 ,STC公司的STC89C52RC,华邦和摩托罗拉也有生产 。AVR系列则以ATMEL公司的ATmega16为代表,此系列单片机以其高性能和低功耗著称。
AVR系列则以ATMEL公司的ATmega16为代表 ,该系列单片机以其高效性能而闻名。PIC系列则以MICROCHIP公司的PIC16F877为典型代表,其特点是体积小巧,功能强大且费用相对便宜 。除了上述8位单片机系列 ,还有一些专用的工业单片机,这些单片机在某些特定领域有着出色的表现,但它们通常不为大众所熟知。
PIC系列:以MICROCHIP公司的PIC16F877为代表。另外,还有专用的工业单片机 ,平时看到得比较少,比如台湾的合泰、义隆,三星 ,这些单片机往往体积小,功能很强但比较专一,费用很便宜 ,比如开发设备很贵,一般人用不起 。前两年出现的STM8实力也非常强。
你的意思是所有的单片机最快速度就是1us了,象PIC单片机 、AVR单片机等...
传统的单片机是12T工作模式,也就是说12个时钟周期为一个指令周期 ,所以12M晶振时为1us(NOP),当晶振频率大于12M时就小于1us了。
不可以简单地认为,如果一个单片机的主频是1MHz ,那么它在1秒内可以执行1百万条汇编程序 。 实际上,单片机的主频指的是其时钟速度,即每秒钟可以产生1百万次时钟周期。
如果一个单片机的主频是1MHz,那么他的指令周期就是1us ,即1MHz的倒数。
AVR也是采用RISC技术,哈佛结构,相比PIC而言AVR运算速度快 ,相同时钟频率运行时,AVR是PIC16的7倍,是8051的28倍之多 。凌阳单片机侧重音视频处理。有一款电视机芯片做的不错。大学的时候记得它最有特点的就是语音功能。
AVR单片机特点如下:AVR系列单片机采用了RISC(精简指令集计算机)结构 ,使得它们拥有1MIPS/MHz的高速处理能力 。这意味着,每秒可执行百万条指令,兆赫兹的速度下性能卓越。另一个显著特点是 ,AVR单片机具有强大的内部资源。