PIC
勤奋好学的强哥
这个作者很懒,什么都没留下…
展开
-
PIC 1508 TIM1的定时器中断使用
TIM1有点复杂了,慢慢理吧。先写一篇最简单的TIM1的溢出中断的使用。 花了十分钟,看了数据手册关于溢出中断的部分,写了如下代码void main(){ OSCCON = 0x78;//16M __delay_ms(20); ANSELCbits.ANSC6 = 0; TRISCbits.TRISC6 = 0; PORTCb...原创 2019-01-10 20:20:35 · 762 阅读 · 0 评论 -
PIC 1508 TIM1的定时器门控的理解
TIM1的门控部分还是有点理解难度的。看了两个多小时的数据手册,最后总结出来其实TIM1的门控就是硬件三态门,只是在简单的三态门逻辑基础上有提升。控制TIM1计数的门控源有4个,分别如下图所示一般常用00 和 01 比较多啦。门控极性的选择由T1GCON 寄存器的 T1GPOL 位控制。最简单的门控使用只需要配置以上两幅图的出现的寄存器各自的位就好了。配置步骤如下:1...原创 2019-01-11 10:59:31 · 2141 阅读 · 0 评论 -
PIC 1508 DAC使用
PIC的DAC使用还是相当简单的。DAC即Digital to analog converter,数字模拟转换器。PIC的DAC精度只有5位,是真的低,所以说使用PIC的DAC只是玩玩而已。如果在项目中真的需要用到DAC,估计需要用DAC专用芯片了。DAC的输出电压计算公式为Vout=【(Vsource+ - Vsource-)*DACR[4:0]/2*5】+Vsource-...原创 2019-01-11 15:22:51 · 1710 阅读 · 0 评论 -
PIC 1508 WDT使用
看门狗在大程序中的使用中的使用还是非常有必要的 #pragma config WDTE = ON // Watchdog Timer Enable (WDT enabled)#define _XTAL_FREQ 16000000 //16Mvoid main(){ OSCCON = 0x78;//16M __delay_ms(20); ...原创 2019-01-11 17:21:11 · 467 阅读 · 0 评论 -
PIC 1508 EEPROM
EEPROM读、擦、写。unsigned int eeprom_read(unsigned int address){// GIE =0; unsigned int data = 0; PMCON1bits.CFGS = 0;//访问闪存程序存储器 PMADRH = address / 256; PMADRL = address % 2...原创 2019-01-11 20:06:30 · 429 阅读 · 0 评论 -
PIC 1508 TIM0的定时器使用
使用TIM0的频率计算公式f=FOSC/4/PS/TMR0 (TMR0是TIM0的数据寄存器) void main(){ OSCCON = 0x78;//主频率为16M 即FOSC = 16M __delay_ms(50); ANSC6 = 1; TRISC6 = 0; RC6 = 1;//RC6接了一盏LED ...原创 2019-01-09 11:43:48 · 579 阅读 · 0 评论 -
PIC 1508 TIM2的定时器使用
使用TIM2的频率计算公式f=FOSC/4/T2CKPS/T2OUTPS/TMR2 (TMR2是TIM2的数据寄存器) void main(){ OSCCON = 0x78;//主频率为16M 即FOSC = 16M __delay_ms(50); ANSC6 = 1; TRISC6 = 0; RC6 = 1;//RC6接了一盏LE...原创 2019-01-09 14:20:25 · 474 阅读 · 2 评论 -
PIC 脉冲调控PWM模块
PWM的输出引脚通过PWMxCON寄存器的第7位 PWM 模块使能位(PWMxEN)配置为PWM输出其中输出脚分别为 RC5-----PWM1 RC3-----PWM2 RA2-----PWM3 RC1-----PWM4 个人总结关于PIC的PWM模块配置的一般步骤,感觉数据手册推荐的配置方法略微麻烦。①配置系统时钟②配置PWM引脚为输出...原创 2019-01-10 19:22:23 · 4209 阅读 · 1 评论