0% found this document useful (0 votes)
9 views3 pages

Btap 1

Uploaded by

0308221065
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views3 pages

Btap 1

Uploaded by

0308221065
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

#INCLUDE <16F887.

H>
#FUSES XT
#USE DELAY(CLOCK=20M)
#USE PWM(CCP2, OUTPUT=PIN_C1,TIMER=2, FREQUENCY=250)
#DEFINE LCD_ENABLE_PIN PIN_A3
#DEFINE LCD_RW_PIN PIN_A2
#DEFINE LCD_RS_PIN PIN_A1
#DEFINE LCD_DATA4 PIN_D4
#DEFINE LCD_DATA5 PIN_D5
#DEFINE LCD_DATA6 PIN_D6
#DEFINE LCD_DATA7 PIN_D7
#INCLUDE <LCD.C>
CHAR SOPHIM=0;
INT8 SLN=0;
int8 i=0;
int8 j=0;
int8 A;

#BYTE PORTD=0X08
#BYTE PORTC=0X07
#BYTE PORTB=0X06
void led (A){
PWM_SET_DUTY_PERCENT(A);
}

VOID quetphim()
{
WHILE(TRUE)
{

OUTPUT_C(0B11101111);
IF(INPUT(PIN_C0)==0){DELAY_MS(50);WHILE(INPUT(PIN_C0)==0);SOPHIM=10;break;}
IF(INPUT(PIN_C1)==0){DELAY_MS(50);WHILE(INPUT(PIN_C1)==0);SOPHIM=3;break;}
IF(INPUT(PIN_C2)==0){DELAY_MS(50);WHILE(INPUT(PIN_C2)==0);SOPHIM=2;break;}
IF(INPUT(PIN_C3)==0){DELAY_MS(50);WHILE(INPUT(PIN_C3)==0);SOPHIM=1;break;}

OUTPUT_C(0B11011111);
IF(INPUT(PIN_C0)==0){DELAY_MS(50);WHILE(INPUT(PIN_C0)==0);SOPHIM=11;break;}
IF(INPUT(PIN_C1)==0){DELAY_MS(50);WHILE(INPUT(PIN_C1)==0);SOPHIM=6;BReak;}
IF(INPUT(PIN_C2)==0){DELAY_MS(50);WHILE(INPUT(PIN_C2)==0);SOPHIM=5;Break;}
IF(INPUT(PIN_C3)==0){DELAY_MS(50);WHILE(INPUT(PIN_C3)==0);SOPHIM=4;Break;}

OUTPUT_C(0B10111111);
IF(INPUT(PIN_C0)==0){DELAY_MS(50);WHILE(INPUT(PIN_C0)==0);SOPHIM=12;BReak;}
IF(INPUT(PIN_C1)==0){DELAY_MS(50);WHILE(INPUT(PIN_C1)==0);SOPHIM=9;Break;}
IF(INPUT(PIN_C2)==0){DELAY_MS(50);WHILE(INPUT(PIN_C2)==0);SOPHIM=8;Break;}
IF(INPUT(PIN_C3)==0){DELAY_MS(50);WHILE(INPUT(PIN_C3)==0);SOPHIM=7;Break;}

OUTPUT_C(0B01111111);
IF(INPUT(PIN_C0)==0){DELAY_MS(50);WHILE(INPUT(PIN_C0)==0);SOPHIM=13;Break;}
IF(INPUT(PIN_C1)==0){DELAY_MS(50);WHILE(INPUT(PIN_C1)==0);LCD_GOTOXY(j-
i,2);lcd_putc(" ");SOPHIM=23;SLN-=2;i++;Break;}
IF(INPUT(PIN_C2)==0){DELAY_MS(50);WHILE(INPUT(PIN_C2)==0);SOPHIM=0;BReak;}
IF(INPUT(PIN_C3)==0){DELAY_MS(50);WHILE(INPUT(PIN_C3)==0); }
}
}
VOID MAIN()
{
SET_TRIS_D(0X00);
SET_TRIS_B(0X00);
SET_TRIS_C(0B11110000);
LCD_INIT();
OUTPUT_B(0X00);
LAP:
LCD_GOTOXY(3,1);
LCD_PUTC("VU ANH TUAN");

LCD_GOTOXY(2,2);
PRINTF(LCD_PUTC,"SO PHIM=");

IF(SOPHIM<20){

IF(SLN==1){
i=0;
LCD_GOTOXY(10,2); j=10;
IF(SOPHIM<10)
{
PRINTF(LCD_PUTC,"%D",SOPHIM);
}

IF(SLN==2)
{
LCD_GOTOXY(11,2); j=11;
IF(SOPHIM<10)
{
PRINTF(LCD_PUTC,"%D",SOPHIM);
}

IF(SLN==3)
{
LCD_GOTOXY(12,2); j=12;
IF(SOPHIM<10)
{
PRINTF(LCD_PUTC,"%D",SOPHIM);
}

IF(SLN==4)
{
LCD_GOTOXY(13,2); j=13;
IF(SOPHIM<10)
{
PRINTF(LCD_PUTC,"%D",SOPHIM);
}
LCD_GOTOXY(13,2); j=13;
IF(SOPHIM<10)
{
PRINTF(LCD_PUTC,"%D",SOPHIM);
}
}
}

quetphim();
SLN++;
IF(SLN>4){SLN=1;}
GOTO LAP;

You might also like