Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

C:\Users\Ho Quoc Bao\Downloads\vd1.

c
#include <16f887.h>
#fuses intrc_IO
#use delay(clock=8M)
#define RS pin_c5
#define RW pin_c6
#define E pin_c7
#define output_lcd output_a
signed int16 x,y,n;
signed int8 dem=0;
void LCD_COMMAND(int8 dl){
output_low(RW);
output_low(RS);
output_lcd(dl);
output_high(E);
output_low(E);
delay_ms(1);
}
void LCD_DATA(int8 dl){
output_low(RW);
output_high(RS);
output_lcd(dl);
output_high(E);
output_low(E);
delay_ms(1);
}
LCD_goto_xy(int8 x, int8 y){
const unsigned int8 dc[]={0x80,0xc0,0x94,0xd4};
LCD_COMMAND(dc[x] + y);
}
void setup_LCD(){
LCD_COMMAND(0x38); delay_ms(5);
LCD_COMMAND(0x0c);
LCD_COMMAND(0x01); delay_ms(1);
}
unsigned int16 ma7doan[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,

void chuyen_tt(){
if(input(pin_e0)==0){
delay_ms(20);
if(input(pin_e0)==0){
dem++;
if(dem>3) dem=0;
while(input(pin_e0)==0);
}

1
C:\Users\Ho Quoc Bao\Downloads\vd1.c
}
if(input(pin_e1)==0){
delay_ms(20);
if(input(pin_e1)==0){
dem--;
if(dem<0) dem=3;
while(input(pin_e1)==0);
}
}
}
void hieuung1(){// sang dan
output_d(ma7doan[1]);
for(n=12;n>=0;n--){
chuyen_tt();
y=0xfff<<n;
output_b(y);
output_c(y>>8);
delay_ms(100);

}
}
void hieuung2(){ // tat dan
output_d(ma7doan[2]);
for(n=0;n<=12;n++){
chuyen_tt();
y=0xfff<<n;
output_b(y);
output_c(y>>8);
delay_ms(100);

}
}
void hieuung3(){ // sang dich
output_d(ma7doan[3]);
for(n=0;n<=12;n++){
chuyen_tt();
y=1<<n;
output_b(y);
output_c(y>>8);
delay_ms(100);

}
}
void hieuung4(){ // tat dich

2
C:\Users\Ho Quoc Bao\Downloads\vd1.c
output_d(ma7doan[4]);
for(n=12;n>=0;n--){
chuyen_tt();
y = ~(1<<n);
output_b(y);
output_c(y>>8);
delay_ms(200);
}
}
void main()
{
set_tris_a(0);
set_tris_b(0);
set_tris_c(0);
set_tris_d(0);
set_tris_e(0xff);
setup_LCD();
LCD_goto_xy(0,4);
LCD_DATA("SANG DAN");
LCD_goto_xy(1,4);
LCD_DATA("TAT DAN");
LCD_goto_xy(2,4);
LCD_DATA("SANG DICH");
LCD_goto_xy(3,4);
LCD_DATA("TAT DICH");

while(TRUE)
{
if(dem==0) {
LCD_goto_xy(0,2);
LCD_DATA(0x7e);
LCD_goto_xy(1,2);
LCD_DATA(" ");
LCD_goto_xy(2,2);
LCD_DATA(" ");
LCD_goto_xy(3,2);
LCD_DATA(" ");
hieuung1();
}
if(dem==1){
LCD_goto_xy(0,2);
LCD_DATA(" ");
LCD_goto_xy(1,2);
LCD_DATA(0x7e);

3
C:\Users\Ho Quoc Bao\Downloads\vd1.c
LCD_goto_xy(2,2);
LCD_DATA(" ");
LCD_goto_xy(3,2);
LCD_DATA(" ");
hieuung2();
}
if(dem==2){
LCD_goto_xy(0,2);
LCD_DATA(" ");
LCD_goto_xy(1,2);
LCD_DATA(" ");
LCD_goto_xy(2,2);
LCD_DATA(0x7e);
LCD_goto_xy(3,2);
LCD_DATA(" ");
hieuung3();
}
if(dem==3){
LCD_goto_xy(0,2);
LCD_DATA(" ");
LCD_goto_xy(1,2);
LCD_DATA(" ");
LCD_goto_xy(2,2);
LCD_DATA(" ");
LCD_goto_xy(3,2);
LCD_DATA(0x7e);
hieuung4();
}

You might also like