Professional Documents
Culture Documents
h>
#include <string.h>
#include "NUC1xx.h"
#include "DrvSYS.h"
#include "DrvGPIO.h"
#include "DrvSPI.h"
#include "LCD.h"
#include "2DGraphics.h"
#include "ScanKey.h"
#define PIXEL_ON 1
#define PIXEL_OFF 0
#define X0 70 // Circle initial X
#define Y0 25 // Circle initial Y
#define R_BAR_X LCD_Xmax-1 // Right-Bar X-position
#define L_BAR_X 1 // Left-Bar X-position
UNLOCKREG();
DrvSYS_Open(50000000);
DrvSYS_SetOscCtrl(E_SYS_XTL12M,1);
DrvSYS_Delay(20000); // Delay for Xtal
stable
while(!SYSCLK->CLKSTATUS.XTL12M_STB);
DrvSYS_SelectHCLKSource(0);
LOCKREG();
init_LCD();
clear_LCD();
OpenKeyPad();
printS_5x7(25,15,"Tekan sembarang");
printS_5x7(15,30,"tombol untuk memulai");
printS_5x7(40,45,"permainan");
while (number==0)
{
number = Scankey();
}
clear_LCD();
while(1)
{
fgColor = FG_COLOR;
CircleBresenham(x, y, r, fgColor, bgColor); // draw a circle
RectangleFill(barL_x,barL_y, barL_x+3,barL_y+13, fgColor,
bgColor); // draw left line
RectangleFill(barR_x,barR_y, barR_x-3,barR_y+13, fgColor,
bgColor); // draw right line
fgColor = BG_COLOR;
CircleBresenham(x, y, r, fgColor, bgColor); // erase a circle
RectangleFill(barL_x,barL_y, barL_x+3,barL_y+13, fgColor, bgColor);
// erase left line
RectangleFill(barR_x,barR_y, barR_x-3,barR_y+13, fgColor,
bgColor);// erase right line
number = Scankey();
switch (number)
{
case 1 :
barL_y = barL_y-5;
break;
case 7 :
barL_y = barL_y+5;
break;
case 3 :
barR_y = barR_y-5;
break;
case 9 :
barR_y = barR_y+5;
break;
default :
break;
}
//number2=DrvUART_Read()