21-02-2011, 09:40 AM | #11 |
Đệ tử 2 túi
Tham gia ngày: Jan 2011
Bài gửi: 36
: |
mình đã làm theo cách của bạn viết ra cái này .biên dịch ok nhưng vdk nó không chạy ko biết vì sao??? nản luôn!
Code:
#include <16F877A.h> #device *=16 adc=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=4000000) #include <lcd.c> #define LCD_DATA_PORT getenv("SFR:PORTD") #define LCD_ENABLE_PIN PIN_D0 //// #define LCD_RS_PIN PIN_D1 //// #define LCD_RW_PIN PIN_D2 #define LCD_DATA4 PIN_D4 //// #define LCD_DATA5 PIN_D5 //// #define LCD_DATA6 PIN_D6 //// #define LCD_DATA7 PIN_D7 //// #byte portA =0x05 //// #bit A1= portA.1 //// #bit A2= portA.2 #bit A3= portA.3 signed int count,i,d,k; int up() { if(A1==0) { delay_ms(100); while(A1==0) continue; delay_ms(10); return 0; } } int down() { if(A2==0) { delay_ms(150); while(A2==0) continue; delay_ms(10); return 0; } } void push_key() //// { if(up()==0) { ++count; //dem so lan bam nut if(count>99)count=99; }; if(down()==0) //nut o chan B2 duoc nhan { --count; //dem so lan bam nut if(count<0)count=0; }; printf(lcd_putc,"%u",count); delay_ms(10); } int chose() { if(A3==0) { delay_ms(100); while(A3==0) continue; delay_ms(10); return 0; } } void main() { set_tris_a(0b00001110); lcd_init(); lcd_gotoxy(9,1); // cot 9 hang 1 lcd_putc("Menu controler"); lcd_gotoxy(1,2); lcd_putc("K="); lcd_gotoxy(3,2); if(k==0)lcd_putc("0"); // hien gia tri trong lan truoc else printf(lcd_putc,"%i",k); lcd_gotoxy(7,2); lcd_putc("I="); lcd_gotoxy(9,2); if(i==0)lcd_putc("0"); else printf(lcd_putc,"%i",i); lcd_gotoxy(13,2); lcd_putc("D="); lcd_gotoxy(14,2); if(d==0)lcd_putc("0"); else printf(lcd_putc,"%i",i);// hien thi so khai man hinh LCD lcd_gotoxy(3,2); //lcd_send_byte(0,0x0A); lcd_send_byte(0,0x0E); //con tro nhap nhay while(up()==0||down()==0) push_key(); if(chose()==0) { write_eeprom(0x01,count); //luu gia tri vao eeprom k=read_eeprom(0x01); // lcd_gotoxy(9,2); lcd_send_byte(0,0x0E); //nhap nhay con tro while(up()==0||down()==0) //chinh gia tri push_key(); if(chose()==0) { write_eeprom(0x02,count); //chuong trinh su dung 3 vong i=read_eeprom(0x02); // lap while de lua chon menu lcd_gotoxy(14,2); lcd_send_byte(0,0x0E); while(up()==0||down()==0); push_key(); if(chose()==0) { write_eeprom(0x03,count); d=read_eeprom(0x03); lcd_gotoxy(3,2); lcd_send_byte(0,0x0E); } } } } |
|
|