View Single Post
Old 28-02-2014, 10:04 AM   #6
chauphuoc
Nhập môn đệ tử
 
Tham gia ngày: Feb 2014
Bài gửi: 2
:
Minh dag lam Do An ve "ĐIỀU KHIỂN ĐÓNG MỞ CỬA BẰNG THẺ RFID" dùng Pic 18F4680 va dùng phần mềm MPLAB
C18, mà không hiểu sao minh viết xong rùi dịch thì nó cứ báo lỗi hoài ak.mih tìm hoài mà cũng chưa ra được nữa, a e xem đoạn COSD minh viết bên dưới có bị thiếu sót hay sai chỗ nào thì sữa lại giúp minh với. Nếu a,e nào có cài MPLAB C18 thì sẵng tiện dịch đoạn COSD này giúp minh.Thank very much!

#include "DOOR_RFID.h"

INT1 KHOA =0,BAO_DONG = 0,KHONG_KHOA = 0;
INT16 COUNT_50Hz;
INT8 COUNT_LIMIT;
#int_TIMER2
void TIMER2_isr(void)

{
COUNT_50HZ++;
if (COUNT_50HZ >= 200) // 200*0,1=20ms (xung 50Hz)
{
COUNT_LIMIT = COUNT_LIMIT +1;
COUNT_50HZ =0;
OUTPUT_HIGH(SERVO);
}
if (COUNT_50HZ >= ON_DUTY)OUTPUT_LOW(SERVO);
}
void main()
{
INT8 MENU,I,K,V;
INT8 TEMP[5];
port_b_pullups (0B11100000);
START_UP();
LOAD_DATA();
LCD_PUTC('\f');
DOOR_CLOSE();
WHILE(TRUE) //
{
IF(BAO_DONG)
{
LCD_GOTOXY(1,2);
LCD_PUTC("CO DOT NHAP ");
BEEP_BUZZ(1);
DELAY_MS(300);
}

LCD_GOTOXY(1,1);
IF(INPUT(SENSOR)== 0)//SENSOR CUA DONG
{
IF(KHONG_KHOA == 0){
LCD_PUTC("Cua da dong! ");LCD_GOTOXY(1,2);LCD_PUTC("Ban khoa khong ? ");
WHILE (INPUT(SENSOR)== 0)
{
IF(PRESS(BUT_ENT,1))
{ KHONG_KHOA = 0;
KHOA = 1;
DOOR_CLOSE();BEEP_BUZZ(1); LCD_PUTC('\f');LCD_GOTOXY(1,2);LCD_PUTC("Cua dong va khoa");
KHONG_KHOA =1;BREAK;}// DE DONG CHOT KHOA CUA
IF(PRESS(BUT_CAN,1))
{
KHONG_KHOA = 1;
KHOA = 0;
LCD_PUTC('\f');
BEEP_BUZZ(3);LCD_GOTOXY(1,2);
LCD_PUTC("Cua khong khoa ");
BREAK;
}
DELAY_MS(100);
}
}
}
ELSE //CUA MO
{
LCD_PUTC('\f');
LCD_GOTOXY(1,2);
IF(KHOA == 1)//DANG KHOA MA CUA MO
{
BAO_DONG = 1;
}
ELSE {LCD_PUTC("Cua dang mo! ");KHONG_KHOA = 0;}

}
// xet cam bien cua co dong hay chua. neu chua thi bao cua dang mo
// CONTROL_SERVO();
// DELAY_MS(100);
// CONTROL_SERVO();
//DELAY_MS(1000);
// IF(PRESS(BUT_UP,0))ON_DUTY = ON_DUTY +1;
// IF(PRESS(BUT_DOW,0))ON_DUTY = ON_DUTY -1;
// PRINTF(LCD_PUTC,"%lD ",ON_DUTY);

if(read_4102(TEMP))
{
BEEP_BUZZ(3);
for (I = 0;I < 5 ; I++)TEMP[I] = xoay(TEMP[I]);
TAGNUM = MAKE32(TEMP[1],TEMP[2],TEMP[3],TEMP[4]);
// CONVERT_ID(TAGNUM);
// LCD_GOTOXY(1,1);
// PRINTF(LCD_PUTC,"%LD ",TAGNUM);
// FOR(I=0;I<10;I++)LCD_PUTC(DECIMAL[I]+48);
// LCD_GOTOXY(9,1);
K = SEACH_ID(ID,TAGNUM);
// PRINTF(LCD_PUTC,"%D ",K);
IF(K<50)
{
DOOR_OPEN();
KHOA =0;
BAO_DONG = 0;
LCD_GOTOXY(1,1);
LCD_PUTC("Khoa da mo ");
LCD_GOTOXY(1,2);
LCD_PUTC("Moi ");
FOR(V=5;V<12;V++)LCD_PUTC(STORE_ID[K][V]);// HIEN THI TEN CUA THE DA QUET;
LCD_PUTC("...! ");
DELAY_MS(4000);
}

ELSE {LCD_PUTC("\f"); LCD_GOTOXY(1,2);LCD_PUTC("The khong hop le "); DELAY_MS(1000);LCD_PUTC('\f');}
}
OUTPUT_HIGH(LED);
DELAY_MS(100);
OUTPUT_LOW(LED);
DELAY_MS(100);

IF(PRESS(BUT_MOD,1))// NHAN MOD DE CAI DAT HE THONG
{
LCD_PUTC("\f");
IF(ENTER_PASS() == 1)
{
MENU = CAI_DAT();
IF (MENU == 1) {DOOR_OPEN();BAO_DONG = 0; KHOA =0;}
IF (MENU == 2) WHILE( ADD_TAG()==1)DELAY_MS(100);
IF (MENU == 3) WHILE(DEL_TAG()==1)DELAY_MS(100);
IF (MENU == 4) WHILE(CHANGE_PASS()==1)DELAY_MS(100);
LOAD_DATA();
}
}
DELAY_MS(30);//
}

}

Xin chân thành cảm ơn!
chauphuoc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn