您的位置 首页 主动

PIC16F72 Timer1 运用

PIC16F72定时器1使用,程序执行结果,LED一闪一闪。使用到的寄存器具体请看datasheet#includepic.h>__CONFIG(11111110111001);//bit13.

PIC16F72 定时器1运用,程序履行成果,LED一闪一闪。

运用到的寄存器详细请看datasheet

#include __CONFIG(11111110111001);//bit13-bit7=1;bit6 欠压使能(1 enable);bit5=1;bit4 代码维护(0维护);
//bit3 上电延时(0 enable);bit2 看门狗(1 enable);bit1-bit0 时钟挑选 (11 RC 10 HS 01 XT OO LP)

#define uchar unsigned char
#define uint unsigned int

void Init(void); //初始化子程序
void delayms(unsigned int count);

#define LED1 RC0

/*********************************************/
void delayms(unsigned int count)
{
uint i,j;
for(i=0;ifor(j=0;j<120;j++);
}
/*********************************************/
void Init(void)
{
PORTA = 0B00000000;
PORTB = 0B00000000;
PORTC = 0B00000000;

TRISA = 0B00000000;//设置PORTA口为输出
TRISB = 0B00000001;//设置RB0为输入,作为按键口
TRISC = 0B00000000;//设置RC输出

RBPU=0;//PORTB上拉使能
ADCON1=0B11111111;//设置为数字I/O
}

//////////////////////中止服务程序/////////////////////////

void interrupt timer1_int(void)
{

TMR1IF=0;//铲除中止标志位

TMR1L=0;
TMR1H=250; //从头设置定时器时刻
counter++;
if(counter==100)
{
counter=0;
LED1=!LED1;
}

}
////////////主程序/////////////////////////
void main (void)
{
uchar i;
Init();//初始化程序
PORTC=0XFF;
PORTB=0XFF;
counter=0;

T1CON=0B00110101;
TMR1L=0;
TMR1H=250;
TMR1IE=1; //外设中止使能
PEIE=1;//使能定时器1 中止
GIE=1; //大局中止使能
while(1);

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/272024.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部