![]() |
|
|
#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. |
|
|
|
|
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|