Bildirim
PICC ile yazılmış hazır grafik lcd kütüphanesi olan varmı arkadaslar
Amazon.com.tr: ?500'ye Sepette ?150 İndirim! promosyon
https://www.amazon.com.tr/promotion/psp/ABIJ4KOGES8I6
4 sa. önce paylaşıldı
Daha Fazla
Bu Konudaki Kullanıcılar:
Daha Az
2 Misafir - 2 Masaüstü
Giriş
Mesaj
-
-
arkadaslar yardımlarınınzı bekliyorum -
pp den @Klein usta demişki :
Bu kodu renesas için yazmıştım. birkaç değişiklikle pic için de kullanabilirsin.
/******************************* display **************************************/
#include "num0.h"
#include "num1.h"
#include "num2.h"
#include "num3.h"
#include "num4.h"
#include "num5.h"
#include "num6.h"
#include "num7.h"
#include "num8.h"
#include "num9.h"
#include "comma.h"
#include "space.h"
/************************* 320x240 LCM definations *******************************/
#define MAX_COL 320 //MAX COLUMN(SEGMENT)
#define MAX_ROW 240 // MAX ROW(COMMON)
#define CM 1
#define DT 0
#define TXT_LAYER 0
#define GRP_LAYER 2400
#define FX 0x87
#define FY 0x7
#define CR_SD 39
#define TC_P 66
#define L_F 239
#define APL 40
#define SAD_2L 0x60
#define SAD_2H 0x09
#define run_led p6_0
#define cr_str p8_1
#define cr_clk p8_2
#define cr_data p8_3
#define rt_str p8_4
#define rt_clk p8_6
#define rt_data p8_7
far const unsigned int divtable[] = {1000,100,10,1}; //
far const unsigned char segmap[] = {
// xabcdefg
0b10000001,
0b11001111,
0b10010010,
0b10000110,
0b11001100,
0b10100100,
0b10100000,
0b10001111,
0b10000000,
0b10000100}; //
unsigned char ledarray[8];
/***************************************************************/
void delayus(void){
unsigned int I;
I=2;
while(I--);
}
void code_w( unsigned char dataval){
delayus();
dispa0 = 1;
disprd = 1;
dispwr = 0;
delayus();
screenbus = dataval;
delayus();
dispwr=1;
}
void data_w(unsigned char dataval){
delayus();
dispa0=0;
disprd=1;
dispwr=0;
screenbus=dataval;
delayus();
dispwr=1;
}
void disp_on(void){
code_w(0x59);
data_w(0x14);
}
void disp_off(void){
code_w(0x58);
data_w(0x14);
}
void gotoxy(unsigned char x , unsigned char y ,unsigned int layer){
unsigned int temp;
temp=x+(y*40)+layer;
code_w(0x46);
data_w(temp);
data_w(temp/256);
}
void _far showbitmap(unsigned char x ,
unsigned char y,
unsigned char far *bitmap)
{
unsigned char I;
unsigned char Z;
unsigned int K = 2;
for(Z = 0; Z < bitmap[1] ; Z++){
gotoxy(x,Z+y,GRP_LAYER);
code_w(0x42);
for (I=0; I < bitmap[0] ; I++){
data_w(bitmap[K]);
K++;
}
}
}
void _far shownum(unsigned char x ,
unsigned char y,
unsigned char *num)
{
unsigned char V;
unsigned char T;
unsigned char k=0;
unsigned char X;
unsigned char Y;
X=x;
Y=y;
for(V = 0; num[V] !=0 ; V++){
T=num[V];
switch(T){
case '0': showbitmap(V*2+X-k,Y,num0);break;
case '1': showbitmap(V*2+X-k,Y,num1);break;
case '2': showbitmap(V*2+X-k,Y,num2);break;
case '3': showbitmap(V*2+X-k,Y,num3);break;
case '4': showbitmap(V*2+X-k,Y,num4);break;
case '5': showbitmap(V*2+X-k,Y,num5);break;
case '6': showbitmap(V*2+X-k,Y,num6);break;
case '7': showbitmap(V*2+X-k,Y,num7);break;
case '8': showbitmap(V*2+X-k,Y,num8);break;
case '9': showbitmap(V*2+X-k,Y,num9);break;
case ',': showbitmap(V*2+X,Y+11,comma);k=1;break;
case ' ': showbitmap(V*2+X-k,Y,spacechr);break;
}
}
}
void fillgraph(unsigned char x ,
unsigned char y,
unsigned char width,
unsigned char height,
unsigned char pattern)
{
unsigned char I;
unsigned char Z;
for(Z = 0; Z < height ; Z++){
gotoxy(x,Z+y,GRP_LAYER);
code_w(0x42);
for (I=0; I < (width) ; I++){
data_w(pattern);
}
}
}
void filltext(unsigned char x ,
unsigned char y,
unsigned char width ,
unsigned char height,
unsigned char pattern)
{
unsigned char I;
unsigned char Z;
for(Z = 0; Z < height ; Z++){
gotoxy(x,Z+y,TXT_LAYER);
code_w(0x42);
for (I=0; I < (width) ; I++){
data_w(pattern);
}
}
}
void _far writeln(unsigned char x , unsigned char y , unsigned char far *msg){
unsigned char I;
gotoxy (x,y,TXT_LAYER);
code_w(0x42);
for(I = 0; msg[I] != 0; I++){
data_w(msg[I]);
}
}
void writedecimal(unsigned char x , unsigned char y ,unsigned char length, unsigned char dataval){
unsigned char I;
gotoxy (x,y,TXT_LAYER);
code_w(0x42);
for(I = 3-length; I < 3; I++){
data_w(((dataval % divtable[I]) / divtable[I+1])+4;
}
}
void systemset(void){
code_w(0x40);
data_w(0x30); // internal cgrom , no d6 correction , 8 pixel char , single panel , inverse display
data_w(FX); // 87H 8bit per char , 2 ac frame
data_w(FY); // 07H 8bit per char
data_w(CR_SD); // 39D 40Col
data_w(TC_P); // 66
data_w(L_F); // 239D 240 Line
data_w(APL); // 40
data_w(0); // end
}
void scroll(void){
code_w(0x44);
data_w(0);
data_w(0);
data_w(L_F);
data_w(SAD_2L);
data_w(SAD_2H);
data_w(L_F);
data_w(0);
data_w(0);
data_w(0);
data_w(0);
}
void hdot_scr(void){
code_w(0x5A);
data_w(0x00);
}
void overlay(void){
code_w(0x5B);
data_w(0x01);
}
void csr_form(void){
code_w(0x5D);
data_w(0x07);
data_w(0x87);
}
void csr_dir(unsigned char dir){
code_w(0x4C+dir);
}
void cursor_on(void){
code_w(0x59);
data_w(0x17);
}
void cursor_off(void){
code_w(0x59);
data_w(0x14);
}
void clrscr(void){
fillgraph(0,0,40,240,0);
filltext(0,0,40,30,0);
}
void lcdinit(void){
systemset();
scroll();
hdot_scr();
overlay();
csr_form();
csr_dir(0);
}
/***********************************************************************************************
Led gösterge
***********************************************************************************************/
void send_rt(unsigned char *data){
unsigned char digitdata=0;
unsigned char I;
unsigned char Z;
unsigned char c;
rt_str=0;
for(Z=0;Z<6;Z++){
c=data[5-Z]-'0';
digitdata=segmap[c];
for(I=0;I<8;I++){
rt_clk=0;
rt_data= digitdata & 0x01;
delayus();
rt_clk=1;
digitdata >>=1;
}
}
rt_str=1;
}
void send_cr(unsigned char *data){
unsigned char digitdata=0;
unsigned char I;
unsigned char Z;
unsigned char c;
cr_str=0;
for(Z=0;Z<6;Z++){
c=data[5-Z]-'0';
digitdata=segmap[c];
for(I=0;I<8;I++){
cr_clk=0;
cr_data= digitdata & 0x01;
delayus();
cr_clk=1;
digitdata >>=1;
}
}
cr_str=1;
}
/****************** main **********************
lcdinit();
disp_off()
showbitmap(35,0, errortable);
drawmainmenu(3);
writeln(5,25,"Merhaba dünya");
disp_on();
/****************************************************/
/******************** Error Table ********************/
far const unsigned char errortable[] = {
2,16,
0b11111111,0b11111111,
0b11111110,0b01111111,
0b11111100,0b00111111,
0b11111100,0b00111111,
0b11111100,0b00111111,
0b11111100,0b00111111,
0b11111100,0b00111111,
0b11111100,0b00111111,
0b11111100,0b00111111,
0b11111100,0b00111111,
0b11111110,0b01111111,
0b11111111,0b11111111,
0b11111110,0b01111111,
0b11111100,0b00111111,
0b11111110,0b01111111,
0b11111111,0b11111111
};
-
Kontrolcusu nedir.ks serisi mi ya da t6963 serisi mi? -
quote:
Orjinalden alıntı: muuzoo
Kontrolcusu nedir.ks serisi mi ya da t6963 serisi mi?
işlemcisi KS
ayrıca musallim arkadaşımada teşeekur ederim
Sayfa:
1
Ip işlemleri
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X