欢迎来到天天文库
浏览记录
ID:50783882
大小:20.00 KB
页数:3页
时间:2020-03-14
《PIC程序经典解析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、此文档收集于网络,如有侵权,请联系网站删除PIC功能程序集锦电平变化中断INT0注释:IO引脚上的高低电平变化(部分IC可设置上升沿或下降沿响应)可产生中断将MCU从休眠状态唤醒。———————————————————————————————————————voidInitial_IOC(void)//初始化电平变化中断(PIC16F1828){IOCAP=0x00;//禁止A端口上升沿触发IOCAN=0x04;//允许RA2下降沿触发IOCBP=0x10;//允许RB4上升沿触发IOCBN=0xe0;//允许RB7/RB6/RB5下降沿触发INTCONbi
2、ts.IOCIF=0;//未发生电平变化中断(清0)INTCONbits.IOCIE=1;//允许电平变化中断}voidInitial_IOC(void)//初始化电平变化中断(PIC16F616){IOCA=0B00111100;//允许RA2/RA3/RA4/RA5电平变化中断INTCONbits.RAIF=0;//未发生电平变化中断(清0)INTCONbits.RAIE=1;//允许电平变化中断}脉宽调制PWM注释:———————————————————————————————————————voidInitial_PWM(void)(PIC16F18
3、28){TRISCbits.TRISC6=1;//禁止输出PR2=0x9c;//TIMER2周期值CCP4CON=0x3f;//占空比低2为10、配置为PWM模式CCPR4L=0x3e;//占空比高8位CCPTMRS0=0x3f;//CCP4基于TIMER2产生T2CON=0x07;//TIMER2使能TIMER2、前预分频比64TRISCbits.TRISC6=0;//允许输出}ADC电压读取注释:———————————————————————————————————————voidADC_Converter(void)//ADC转换(PIC16F1828
4、){FVRCON=0xd3;//使能内部4.096V固定参考电压模块while(!FVRRDY);//电压稳定标志位ADCON1=0B10100011;//右对齐、FOSC/32、4096为参考电压ADCON0bits.CHS=0x09;//通道AN9ADCON0bits.ADON=1;//开启ADC转换模块此文档仅供学习与交流此文档收集于网络,如有侵权,请联系网站删除DelayMS(1);ADCON0bits.GO=1;//开始转换while(ADCON0bits.GO);Voltage=(ADRESH<<8)
5、ADRESL;//读取2进制值ADCON0b
6、its.ADON=0;//关闭}温度指示器注:温度测试范围为-40~+85、单颗二极管的电压范围为0.494~0.659V、温度需校正。———————————————————————————————————————voidTEMP_instructions(void)//温度指示(PIC16F1828){FVRCON=0xf3;//使能4096固定参考电压模块while(!FVRRDY);//电压稳定标志位ADCON1=0B10100011;//右对齐、FOSC/32、4096为参考电压ADCON0bits.CHS=0x1d;//温度指示器通道ADCON0b
7、its.ADON=1;//开启ADC转换模块DelayMS(1);ADCON0bits.GO=1;//开始转换while(ADCON0bits.GO);Voltage=(ADRESH<<8)
8、ADRESL;//读取2进制值FVRCON=0x00;//关闭固定参考电压模块ADCON0bits.ADON=0;//关闭以降低静耗}初始化定时器1注释:———————————————————————————————————————voidInitial_Timer(void)(PIC16F1828){TMR1H=0x0b;//(1/8)*4*8*(65536-3036
9、)=0.25定时0.25STMR1L=0xdc;T1CON=0B00110001;//FOSC/4、1:8预分频、禁止专用振荡、同步时钟、启动Timer1PIR1bits.TMR1IF=0;//TMR1寄存器未溢出(清0)PIE1bits.TMR1IE=1;//允许TMR1溢出中断INTCONbits.PEIE=1;//使能所有外设中断INTCONbits.GIE=1;//总中断开}电容传感(CPS)模块注释:———————————————————————————————————————voidInitial_CPS(void)//初始化电容传感模块(PIC
10、16F1828){TMR0=0x00;//清计数器O
此文档下载收益归作者所有