PIC单片机(Peripheral Interface Controller)是一种用来开发和控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是CPU,PIC 共享的部分相当于人的神经系统。
今天玩红外遥控的解码! 先了解红外接收的原理: 遥控器使用方便,功能多.目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。如果能将遥控器上许多的按键解码出来.用作单片机系统的输入.则解决...
#include //时间函数的测试 非定时器的使用 软件仿真 调试debug的使用 //在watch当中可以添加特殊功能寄存器和变量等 #define uint unsigned int #define uchar unsigned char void delayChar(uchar n);//uchar的取值在0~256之间 ...
1.PIC16F876a结果寄存器 ADCON1状态寄存器的7bit位定义了输出结果是左对齐还是右对齐,比较迷茫,不懂在说什么,查阅了一下DataSheet,如下: 从上面的示意图可以看出,结果寄存器的对齐方式是为了方便我们读取转换后的数据。示意图不是...
在Android红外遥控器项目中使用了输出比较OC1(PWM)模块来产生38KHz PWM脉冲,脉冲占空比与红外信号发射距离以及产品功耗有关。其中占空比越大,发射距离越远,功耗越大。红外载波的占空比一般在1/3左右。 3 天前 上传 ...
1.PIC16F877A单片机框架 1.1 为何性能如此之高? PIC单片机之所以有很高的性能是因为其具备如下特性: 内部为哈佛结构、寄存器文档、大多数单指令周期、指令流水线操作、长字型指令、指令数很少、指令实现的功能基本不重复 1.2 什么是哈佛...
关于PIC单片机串口数据接收,如果数据接口一直可以检测数据,那么即使关闭RCIE,实际上也会接收数据,当数据源源不断地进来时,你再使能RCIE的时候其实也只能接收到关闭之后的两个数据,此后再也无法进入中断。解决这样的方法为关闭引脚为...
许多人说PIC单片机一大的优势就是低功耗,那我们就来讨论,讨论低功耗的实现。 1,睡眠(sleep) 睡眠方式是我们最常用的一种方式来降低功耗,但睡眠期间单片机不能做任何的事情。对于那些没事情就睡着,有事情就做一下的情况...
什么是定时器? 定时器顾名思义就是用来定时的。在单片机应用中常常用于各种各样的定时。比如让LED灯每隔 1S 亮一次。 这个1S 就是由定时器做到的。 指令周期 指令周期就是单片机执行一个指令所花费的时间。这也是定时器定时的最小时间...
1.前言 PIC16F876a异步串口通信的定义以及寄存器控制,这里不再多谈,前面已经进行过详细的分析。这里注意集中在几个关键点上。 串口中断服务程序应该注意什么? 利用串口助手进行调试应该注意什么? 串口助手接收不到数据的几种可能因素...
在执行sleep(); 函数前,可以将不用的引脚设置为模拟输入,高阻态模式。ANSELAbits.ANSA4 = 1; //进入sleep前,将LED IO口设置为模拟输入 TRISAbits.TRISA4 = 1; 如果设置为数字输入的话,将会提高功耗,约40uA(单个IO)ANS...
1.USART用于异步通讯详解 1.1 USART的异步工作模式 在异步工作模式下, USART 采用的是标准非归零 ( NRZ编码格式 :一位起始位、8 位或 9 位数据位和一位停止位 )。最常用的数据格式是 8 位。片内专用的 8 位波特率发生器可用于由振荡...
PIC中档单片机蜂鸣器原理图: 使用示例: /******************************************************************************* * 跳线接法:短接P2的2、3 * 功能描述:无源蜂鸣器发声 ************************************************...
一、编写程序,使用RC2的PWM功能生成频率250Hz的正弦波 #include #define uint8 unsigned char #define uint16 unsigned int __CONFIG(FOSC_HS &WDTE_OFF &BOREN_OFF &PWRTE_OFF &LVP_OFF); //设置配置位 //WDTE_OFF:disab...
基本信息: 系统:Windows10 编译器:MPLAB X IDE V3.26 + XC8 V1.45 单片机:PIC18F66K22 下载器:PICKit3 一、串口初始化 /* 函数名:void USART1_Init( void ) 功能:使用的是串口1,串口初始化 */ void USART1_Init( void )...
PIC单片机的每四个时钟周期为一个内部指令周期 例如:8MHz的晶振,则内部指令周期为1/(8/4)= 0.5 uS 实例一:35us, 8MHz的晶振, 8位定时器, 分频比1/2 , 初值 E4 实例二:156.25us , 32768Hz的晶振, 8位定时...