Keypad ile sevensegment tarama yontemi ccs compiler
#include<16f877a.h>
#use delay (clock=4m) #fuses brownout,hs,nowdt,nolvp #define col1 pin_d4 #define col2 pin_d5 #define col3 pin_d6 #define col4 pin_d7 #define row1 pin_d0 #define row2 pin_d1 #define row3 pin_d2 #define row4 pin_d3 void kp_scan (void); void main() { output_c(0x00); while(true) { kp_scan(); delay_ms(200); } } void kp_scan(void) { output_high(row1); output_high(row2); output_high(row3); output_high(row4); output_low (row1); if(input(col1)==0) output_c(0b00000111); //7 output_high (row1); output_low (row2); if(input(col1)==0) output_c(0b01100110); //4 output_high (row2); output_low (row3); if(input(col1)==0) output_c(0b00000110); //1 output_high (row3); output_low (row4); if(input(col1)==0) output_c(0b00111001); //c //////////////// output_high (row4); output_low (row1); if(input(col2)==0) output_c(0b01111111); //8 output_high (row1); output_low (row2); if(input(col2)==0) output_c(0b01101101); //5 output_high (row2); output_low (row3); if(input(col2)==0) output_c(0b01011011); //2 output_high (row3); output_low (row4); if(input(col2)==0) output_c(0b00111111); //0 //////////// output_high (row4); output_low (row1); if(input(col3)==0) output_c(0b01101111); //9 output_high (row1); output_low (row2); if(input(col3)==0) output_c(0b01111101); //6 output_high (row2); output_low (row3); if(input(col3)==0) output_c(0b01001111); //3 output_high (row3); output_low (row4); if(input(col3)==0) output_c(0b11110001); //f ////////// output_high (row4); output_low (row1); if(input(col4)==0) output_c(0b01110111); //a output_high (row1); output_low (row2); if(input(col4)==0) output_c(0b01111100); //b output_high (row2); output_low (row3); if(input(col4)==0) output_c(0b00111001); //c output_high (row3); output_low (row4); if(input(col4)==0) output_c(0b01011110); //d }
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...