mình đánh lại chương trình trên ,CCS thông báo không có lỗi gì nhưng khi mô phỏng không chạy được.
mong mọi người tìm ra chỗ sai hộ mình!
thank!
Code:
#include "C:\Documents and Settings\Administrator\Desktop\thu\giai ma ban phim\giai ma ban phim.h"
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=4000000)
//giai ma ban phim
#use fast_io(b)
#use fast_io(c)
#byte portb = 0x06
#byte portc = 0x07
#byte intcon = 0x000B
#bit RB0 = portB.0
#bit RB1 = portB.1
#bit RB2 = portB.2
#bit RB3 = portB.3
#bit RB4 = portB.4
#bit RB5 = portB.5
#bit RB6 = portB.6
#bit RB7 = portB.7
#bit RBIF = intcon.0 //dinh nghia ham ngat cong RB
#bit RBIE = intcon.3 //dinh nghia bit ngat RB
int a;
const unsigned char digital[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f\
0x77,0x7c,0x39,0x5e,0x79,0x71};
//tao ham ngat
#int_ext
void ngat_RB(){
IF((RBIF)&&(RBIE)){
if(RB4&&RB0)
{ a = digital[0];}
if(RB5&&RB0)
{a = digital[1];}
if(RB6&&RB0)
{ a = digital[2];}
if(RB7&&RB0)
{a = digital[3];}
////
if(RB4&&RB1)
{ a = digital[4];}
if(RB5&&RB1)
{a = digital[5];}
if(RB6&&RB1)
{a = digital[6];}
if(RB7&&RB1)
{a = digital[7];}
////
if(RB4&&RB2)
{a = digital[8];}
if(RB5&&RB2)
{a = digital[9];}
if(RB6&&RB2)
{a = digital[10];}
if(RB7&&RB2)
{a = digital[11];}
RBIF =0; //xoa co ngat
}
}
//tao ham chinh
void main(){
set_tris_b(0xf0);
set_tris_c(0x00);
portb = 0;
portc = 0;
enable_interrupts(int_ext); //ngat toan bo
ext_int_edge(H_to_L);
enable_interrupts(global);
while(true){
portb = 1;
portb = 2;
portb = 4;
portb = 8;
portc = a;
}
}