Em mô phỏng cái mạch đếm xung bằng ngắt, nhưng không hiểu sao đưa code vào lại không nhút nhích j hết =.=, cứ 000 mãi ức chế
Code:
#include<htc.h>
#include <stdio.h>
#include <stdlib.h>
#include "lcd.h"
__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON & CP_OFF & BOREN_OFF & IESO_OFF & FCMEN_OFF & LVP_OFF & DEBUG_OFF); //1st config. Word
__CONFIG(BOR4V_BOR21V); //2st config. Word
#define _XTAL_FREQ 4000000 //tan so thach anh 4Mhz
int i, k, m, l ,a,b,c,j;
void ex_in_init()
{
GIE=1;
PEIE=1;
RBIF=0;
RBIE=1;
}
void init_port(void)
{
TRISB=0xff;
ANSEL=0;
ANSELH=0;
}
void interrupt isr()
{
if( (RBIF==1)&&(RBIE==1)&&(PEIE==1))
{ j=j+1;
RBIF=0;
}
}
void main(void)
{
ex_in_init();
init_port();
lcd_init();
while(1)
{
i=j;
lcd_clear();
a= i/100;
lcd_putc(a+48);
i= i-a*100;
b=i/10;
lcd_putc(b+48);
i= i-b*10;
c=i;
lcd_putc(c+48);
__delay_ms(100);
};
}
Attachments
-
95.4 KB Views: 4