سلام.کسی نمیتونه کمکی کنه؟
من با این کتابخونه در اتمل استودیو LCD گرافیکی با کنترلر KS0108 رو راه انداختم ولی مشکلی دارم.
اونم اینه که حروف رو درست نشون نمیده و سر و ته نشون میده و مختصات دهی اشتباهه.مشکل از کجا میتونه باشه؟
مثلا" مرکز دایره در مختصات (40,40) رو میبره اینجا :
یا مثلا" با مختصات (64,32) باید بره وسط LCD ولی میره اینجا :
تو این دو تا عکس من 3 تا دایره هم مرکز دارم رسم با شعاع های مختلف.
کد عکس اول :
[PHP]
#include <avr/io.h>
#include "graphic.h"
#include "KS0108.h"
#include "font5x8.h"
#include <util/delay.h>
int main(void)
{
DDRB=0xff;
DDRD=0xff;
GLCD_Initalize();
GLCD_ClearScreen();
GLCD_Circle(40,40,10);
_delay_ms(500);
GLCD_Circle(40,40,15);
_delay_ms(500);
GLCD_Circle(40,40,20);
_delay_ms(500);
}
[/PHP]کد عکس دوم :
[PHP]
#include <avr/io.h>
#include "graphic.h"
#include "KS0108.h"
#include "font5x8.h"
#include <util/delay.h>
int main(void)
{
DDRB=0xff;
DDRD=0xff;
GLCD_Initalize();
GLCD_ClearScreen();
GLCD_Circle(64,32,10);
_delay_ms(500);
GLCD_Circle(64,32,15);
_delay_ms(500);
GLCD_Circle(64,32,20);
_delay_ms(500);
}
[/PHP]و این هم کد پیکر بندی LCD .پایه ای رو اشتباه زدم؟
[PHP]
#define KS0108_DATA_PORT PORTD
#define KS0108_DATA_DIR DDRD
#define KS0108_DATA_PIN PIND
#define KS0108_CTRL_PORT PORTB
#define KS0108_CTRL_DIR DDRB
#define KS0108_RS (1 << 2)
#define KS0108_RW (1 << 1)
#define KS0108_EN (1 << 0)
#define KS0108_CS1 (1 << 3)
#define KS0108_CS2 (1 << 4)
#define KS0108_CS3 (1 << 4)
[/PHP]
وقتی نوشته مینویسم اینجوری میشه :