View Single Post
Old 25-03-2012, 01:14 AM   #6
1041002
Đệ tử 3 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 46
:
Smile Code viết bằng Mikroc đây

/*Ngon ngu Mikroc Pro v1.65
Tac gia Huynh Minh Trung (1041002)
CMU: 16f84*/
unsigned int mask(unsigned short num) {
switch (num) {
case 0 : return 0xc0;
case 1 : return 0xf9;
case 2 : return 0xa4;
case 3 : return 0xb0;
case 4 : return 0x99;
case 5 : return 0x92;
case 6 : return 0x82;
case 7 : return 0xf8;
case 8 : return 0x80;
case 9 : return 0x90;
} //case end
}//~
int digit_no, digit10, digit1, digit, i;

void interrupt() {
if (digit_no==0) {
PORTA.F3 = 0; // Turn off all 7seg displays
PORTB = digit1; // send mask for ones digit to PORTB
PORTA.F3 = 1; // turn on 1st 7 seg., turn off 2nd
digit_no = 1;
} else {
PORTA.F4 = 0; // Turn off all 7seg displays
PORTB = digit10; // send mask for tens digit to PORTB
PORTA.F4 = 1; // turn on 2nd 7 seg., turn off 1st
digit_no = 0;
}
TMR0 = 0; // clear TMRO
INTCON = 0x20; // clear TMR0IF and set TMR0IE
}
void hienthi(){
digit = i % 10u;
digit1 = mask(digit); // prepare ones digit
digit = (char)(i / 10u) % 10u;
digit10 = mask(digit); // prepare tens digit
}
void main(){
OPTION_REG = 0x80; // Timer0 settings
TMR0 = 0;
INTCON = 0xA0; // Disable PEIE,INTE,RBIE,T0IE
TRISA=0X00;
PORTA=0;
TRISB=0X00;
PORTB=0;

do{
PORTA=0;
i=10;
for(i;i>=0;i--){
hienthi();
PORTA.F0=1;
delay_ms(1000);
}
PORTA=0;
i=3;
for(i;i>=0;i--){
hienthi();
PORTA.F1=1;
delay_ms(1000);
}
PORTA=0;
i=20;
for(i;i>=0;i--){
hienthi();
PORTA.F2=1;
delay_ms(1000);
}

}while(1);
}
1041002 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn