![]() |
![]() |
#5 | |
Đệ tử 6 túi
Tham gia ngày: Jul 2007
Bài gửi: 154
: |
Trích:
Code:
#include<18f4550.h> #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOBROWNOUT #device 18F4550*=16 ADC=10 #use delay(clock=48000000) #include<E:\595\font9moi.c> #include<E:\595\font7.c> #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) #priority rda #use fast_io(a) #byte porta=0x05 #use fast_io(b) #byte portb=0x06 #use fast_io(c) #byte portc=0x07 #use fast_io(d) #byte portd=0x08 #use fast_io(e) #byte porte=0x09 #define clk pin_b4 #define data pin_b5 #define lock pin_b6 //********** DIA CHI CAC EPPROM ************************************************ #define add1 0x06 // 30 byte #define add2 0x25 // 34 byte #define add3 0x49 // 80 byte #define add4 0x9f // 100 byte #define b1 0x01 #define b2 0x02 #define b3 0x03 #define b4 0x04 //================== void giao_tiep(); void viet_eeprom(); void doc_eeprom1(); void doc_eeprom2(); void doc_eeprom3(); void doc_eeprom4(); void trabang(); #INT_RDA void giao_tiep() { int8 c; disable_interrupts(global); output_low(pin_b0); output_low(pin_b1); output_low(pin_b2); output_low(pin_b3); c = getc(); putc(c); k=c; if(k==255) { viet_eeprom(); } else { chu[s]=k; s++; delay_ms(500);} enable_interrupts(global); } //**************************************************** #INT_EEPROM void viet_eeprom() { int i,l,x; disable_interrupts(global); if(chu[0]==251)// chuoi 1 { write_eeprom(b1,s); for(i=0;i<s;i++) // s { write_eeprom(add1+i,chu[i]); } } if(chu[0]==252) // chuoi 2 { write_eeprom(b2,s); for(i=0;i<s;i++) // s { write_eeprom(add2+i,chu[i]); } } if(chu[0]==253)// chuoi 3 { write_eeprom(b3,s); for(i=0;i<s;i++) // s { write_eeprom(add3+i,chu[i]); } } if(chu[0]==254) // chuoi 4 { write_eeprom(b4,s); for(i=0;i<s;i++) // s { write_eeprom(add4+i,chu[i]); } } for(i=0;i<s+2;i++) {chu[i] = 10;} s=0; printf("W "); enable_interrupts(global); } //**************************************************** void doc_eeprom1() { int i,l; disable_interrupts(global); for(i=0;i<f1;i++) { l = read_eeprom(add1+i); chu[i] = l; } enable_interrupts(global); printf("C1 "); } //********************************************************** void doc_eeprom2() { int i,l; disable_interrupts(global); for(i=0;i<f2;i++) { l = read_eeprom(add2+i); chu[i] = l; } enable_interrupts(global); printf("C2 "); } //**************************************************** void doc_eeprom3() { int i,l; disable_interrupts(global); for(i=0;i<f3;i++) { l = read_eeprom(add3+i); chu[i] = l; } enable_interrupts(global); printf("C3 "); } //********************************************************** void doc_eeprom4() { int i,l; disable_interrupts(global); for(i=0;i<f4;i++) { l = read_eeprom(add4+i); chu[i] = l; } enable_interrupts(global); printf("C4 "); } //==================== void main() { set_tris_b(0); set_tris_a(0); set_tris_c(0); set_tris_e(0); set_tris_d(0); output_b(0); output_e(16); enable_interrupts(INT_eeprom); enable_interrupts(INT_RDA); enable_interrupts(global); printf("v "); delay_ms(3000); while(true) { // printf("/"); f1 = read_eeprom(b1); f2 = read_eeprom(b2); f3 = read_eeprom(b3); f4 = read_eeprom(b4); doc_eeprom1(); trabang(); doc_eeprom2(); trabang(); doc_eeprom3(); trabang(); doc_eeprom4(); trabang(); trabang1(); dichtrai1(); } } thay đổi nội dung bởi: namqn, 19-03-2008 lúc 06:31 PM. |
|
![]() |
![]() |
|
|