![]() |
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Jul 2010
Bài gửi: 17
: |
1 số chỗ chưa hiểu trong đoạn code, mong được giải đáp
em có đọc một đoạn code như sau:
//************************************************** *************************** // Author : nhh // Date : 03/04/06 // Hardware: PIC16F877A //************************************************** *************************** #include <16F877A.h> #include <def_877A.h> #fuses NOWDT,PUT,XT,NOPROTECT #use delay(clock=4000000) #use fast_io(b) #use fast_io(c) int a; const unsigned char dig[]={0b00111111,0b00000110, 0b01011011,0b01001111,\ 0b01100110,0b01101101,0b01111101,0b00000111,0b0111 1111,0b01101111,0b01110111,\ 0b01111100,0b00111001,0b01011110,0b11111001,0b1111 0001}; // 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 } } // Chuong trinh chinh void main() { set_tris_b(0b11110000); set_tris_c(0); enable_interrupts(global); enable_interrupts(int_RB); ext_int_edge(H_to_L); portb=0; portc=0; while(true) { portb=1; portb=2; portb=4; portb=8; portc=a; } } 1/ các anh cho em hỏi tại sao ta lại có thể mã hóa được như thề này const unsigned char dig[]={0b00111111,0b00000110, 0b01011011,0b01001111,\ 0b01100110,0b01101101,0b01111101,0b00000111,0b0111 1111,0b01101111,0b01110111,\ 0b01111100,0b00111001,0b01011110,0b11111001,0b1111 0001}; 2/ các anh giải thích hộ em ý nghĩa của đoạn code này: while(true) { portb=1; portb=2; portb=4; portb=8; portc=a } thanks! |
![]() |
![]() |
![]() |
#2 |
Đệ tử 1 túi
Tham gia ngày: Jul 2010
Bài gửi: 17
: |
BUZZ! Anybody here? Có ai giúp đỡ nhập môn đệ tử này với.
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 1 túi
Tham gia ngày: Dec 2009
Bài gửi: 11
: |
biết gì nói đó
const unsigned char dig[]={0b00111111,0b00000110, 0b01011011,0b01001111,\
0b01100110,0b01101101,0b01111101,0b00000111,0b0111 1111,0b01101111,0b01110111,\ 0b01111100,0b00111001,0b01011110,0b11111001,0b1111 0001}; cái này chỉ là mả led 7 đoạn thồi.Tùy thuộc vào A chung hay K chung mà có mã khác nhau. còn muốn giải thĩ kĩ hơn thì poss luôn sơ đồ nguyên lý lên mình coi mới biết chính sác được. |
![]() |
![]() |
![]() |
#4 |
Đệ tử 1 túi
Tham gia ngày: Dec 2009
Bài gửi: 11
: |
![]() while(true)
{ portb=1; portb=2; portb=4; portb=8; portc=a } đoạn cos này nếu mà mình đoán ko nhầm thì đây là một đoạn quét led. |
![]() |
![]() |
![]() |
#5 |
Đệ tử 1 túi
Tham gia ngày: Jul 2010
Bài gửi: 17
: |
mình tải chương trình này ở đây
http://www.picvietnam.com/forum/show...p?t=357&page=2 (post #19) bạn giải thích cho mình rõ hơn được ko? A chung hay K chung thì thế nào? cả việc quét led nữa nhé. thanks! |
![]() |
![]() |
![]() |
|
|