![]() |
|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#4 |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
code:
Code:
//***************************************************************************** // Author : nhh // Date : 03/04/06 // Hardware: PIC16F877A //***************************************************************************** #include <16F877A.h> #include <defs_16F877A.h> #include <lcd_lib.c> #fuses NOWDT,PUT,XT,NOPROTECT #use delay(clock=4000000) #use fast_io(b) #use fast_io(d) void hienthi(void); int a,i; const unsigned char dig[]={"0123456789abcdef"}; // ma hoa digital duoi dang mang // Chuong trinh ngat #int_RB void ngat_RB() { if((RBIF)&&(RBIE)) { { if(RB4&&RB0) a=dig[0]; } { if(RB4&&RB1) a=dig[4]; } { if(RB4&&RB2) a=dig[8]; } { if(RB4&&RB3) a=dig[12]; } //....... { if(RB5&&RB0) a=dig[1]; } { if(RB5&&RB1) a=dig[5]; } { if(RB5&&RB2) a=dig[9]; } { if(RB5&&RB3) a=dig[13]; } //........ { if(RB6&&RB0) a=dig[2]; } { if(RB6&&RB1) a=dig[6]; } { if(RB6&&RB2) a=dig[10]; } { if(RB6&&RB3) a=dig[14]; } //........ { if(RB7&&RB0) a=dig[3]; } { if(RB7&&RB1) a=dig[7]; } { if(RB7&&RB2) a=dig[11]; } { if(RB7&&RB3) a=dig[15]; } RBIF=0; //Xoa co ngat RB } hienthi(); while(bit_test(PORTB,4)) { } while(bit_test(PORTB,5)) { } while(bit_test(PORTB,6)) { } while(bit_test(PORTB,7)) { } delay_ms(1);//chong nay phim } // Chuong trinh chinh main() { set_tris_b(0b11110000); set_tris_d(0); set_tris_e(0); enable_interrupts(global); enable_interrupts(int_RB); ext_int_edge(H_to_L); portb=0; portc=0; lcd_init(); lcd_putcmd(0x01); printf(lcd_putchar,"gia tri phim:"); lcd_putcmd(0xc0); while(true) { portb=1; portb=2; portb=4; portb=8; } } void hienthi() { lcd_putcmd(0xc0); printf(lcd_putchar," "); lcd_putcmd(0xc0); lcd_putchar(a);// doc gia tri nut nhan lên man hinh LCD }
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
![]() |
![]() |
|
|