PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال در مورد glcd و میکرو pic



mohamad_musav
11-03-2013, 21:06
دوستان
من یه عکس رو به صورت کد در اوردم و میخوام تو glcd 128*64 باید با چه دستوری نشون بدمشون.؟
ممنون میشم کمک کنید.
برای پاک کردن صفحه باید چیکار کرد؟ بازم ممنون.

2morteza
25-03-2013, 01:49
باچه کامپایلر کار می کنی

mohamad_musav
25-03-2013, 14:03
باچه کامپایلر کار می کنی

سلام
با کامپایلر ccs

amin1139
25-03-2013, 16:56
نمونه برنامه برای glcd داخل خود ccs هست البته خیلی مهم که مارک LCD شما چی باشه و ساخت چه شرکتی باشه یکم کداشون با هم فرق میکنه و برای پاک کردن هم راه خاصی وجود نداره جز اینکه 00هگز رو به تمام خونه های lcd بدین
اگه مثالشو نتونستین پیداگنین آدرس این تاپیک رو بهم پیام خصوصی بدین تا براتون بفرستم اینم بگم که کار با این ال سی دی و PIC دردسرش زیاد هست و زیاد کار میبره با میکروکنترلر های دیگه شاید راحتتر باشه
موفق باشید

amin1139
27-03-2013, 22:57
بفرمایید اینم مثالش :0013:

mohamad_musav
27-03-2013, 23:28
تشکر دوست عزیز:wink:

mohamad_musav
29-03-2013, 11:44
بفرمایید اینم مثالش :0013:

سلام
در مورد مثالی که گذاشتی سوال دارم. ممنون میشم راهنمایی کنی.
به ابتدای برنامه توجه کنید:


#if defined(__pcm__)
#include <16f877.h>
#fuses hs,nowdt,noprotect,nolvp
#use delay(clock=20000000)

#elif defined(__pch__)
#include <18f452.h>
#fuses hs,nowdt,noprotect,nolvp
#use delay(clock=20000000)
#define fast_glcd // try commenting this out to see the differences
#endif
چرا دونوع میکرو معرفی کرده؟؟؟؟


#include <16f877.h>

و


#include <18f452.h>

بعد این دستور برای چیه؟


#if defined(__pcm__)

بابت کمکتون تشکر

mohamad_musav
21-04-2013, 23:44
:(

mohammad_sth
01-05-2013, 12:06
سلام بر مهندس عزیز و عیدتم مبارک باشه یک پروسه کاری میگم بهت انجام بده ایشالا که مشکلت حل می شه 1- فایلی رو که قرار دادم رو دانلود کن 2-عکسی که می خواهی بندازی رو LCD رو ببر تو فتوشاپ بعد به فرمت Bitmap ذخیره کن سایز عکست هم باید 128*64 باشه بعد از این که ذخیره کردی برنامه رو باز کن برو به قسمت load bmp عکس رو قرار بده سپس اون قسمت پایین سمت راست microC code رو انتخاب کن کد تبدیل شده رو کپی کن بریز روی برنامت یک چیزی مثل این میشه
unsigned char const logo[1024] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,254,254,254,254,254,254,254,254,254,254,254,254, 254, 6, 2,
0, 0, 0, 0,240,252,254,254,254,254,254,254,254,254,254,254,
254,254,254,254,254,254,254,254,254,254,254,254,25 4,254, 0, 0,
0, 0, 0, 0,224,224,224,224,224,224,224,224,224,224,224,224,
224,224,224,224,224,224,224, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,252,252,252,252,252,252,252,252,
0,255,255,255,255,255,255,255,255,255,255,255,255, 249,244,204,
188,124,252,252,248,251,231,159,127,255,255,255,25 5,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,25 5,255, 0,252,
252,252,252, 0,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
0,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,
255,254,249,247,239,223, 63,255,254,254,249,231,223, 63,127,255,
255,255,255,255,255,255,255,255,255,255,255,255,25 5,255, 0,255,
255,255,255, 0,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
0,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,
255,255,255,255,255,255,255,254,253,251,231,223, 63,255,254,253,
243,239,159, 63,255,255,255,255,255,255,255,255,255,255, 0,255,
255,255,255, 30,222,222,222,222,222,222,222,222,222,222,222,222 ,
222,222,222,222,222,222,222, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
0,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,25 4,240, 15,255,
255,255,255,248, 3,255,255,255,255,255,255,255,255,255, 0,255,
255,255,255, 0,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
0,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,
255,255,255,255,255,255,255,255,127, 63,223,223,227,253,254, 63,
191,159,225,253,254,255,255,255,255,255,255,255,25 5,255, 0,255,
255,255,255, 0,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
248,249,249,249,249,249,249,249,249,249,249,249,24 9,249,249,249,
249,249,249,249,249,253,253,254,255,255,255,255,25 5,249,248,249,
249,249,249,249,249,249,249,249,249,249,249,249,24 9,249,248,251,
251,251,251,250,250,250,250,250,250,250,250,250,25 0,250,250,250,
250,250,250,250,250,250,250, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,25 5,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,25 5,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,25 5,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,25 5,255,255,255,
255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
بعد این قسمت رو هم اضافه کن
void glcd_logo()
{
int16 n0=0;
int i,j;
int1 cs=0;
// Loop through the vertical pages
for(i = 0; i <8; ++i)
{
output_low(GLCD_DI); // Set for instruction
glcd_writeByte(GLCD_LEFT, 0b01000000); // Set horizontal address to 0
glcd_writeByte(GLCD_RIGHT, 0b01000000);
glcd_writeByte(GLCD_LEFT, i | 0b10111000);// Set page address
glcd_writeByte(GLCD_RIGHT, i | 0b10111000);
output_high(GLCD_DI); // Set for data

// Loop through the horizontal sections
for(j = 0; j < 128;++j)
{
if(j<64) cs=GLCD_LEFT;else cs=GLCD_RIGHT;
glcd_writeByte(cs,logo[n0]); // Turn pixels on or off
//delay_us(5);
n0++;
}
}
}
بعد تو قسمتی که می خواهی عکس رو نمایش بده این یک خط رو هم بنویس
glcd_logo();
و تمام البته بگم این پروسه کاری برای lcd model ks0108 هستش

mohammad_sth
01-05-2013, 12:09
راستی یادم رفت فرکانس کاریتم بیار پایین با 20MHZ باید برنامت رو با fast_glcd بنویسی که من نتیجه جالبی نگرفتم با اون البته جواب میده ولی سخت