اطلاعیه
Collapse
No announcement yet.
سوالات مربوط به LCD های کاراکتری و گرافیکی
Collapse
این موضوع بسته شده است.
X
X
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
تو برنامه و یا تو سخت افزار جای پایه CS1 و CS2 رو عوض کنپروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری
دیدگاه
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
نوشته اصلی توسط امیر حسنی کاخکیتو برنامه و یا تو سخت افزار جای پایه CS1 و CS2 رو عوض کن
باتشکر از پاسختون این کار را هم کردم در این صورت تصویر سمت چپ رو در هر دو طرف نشون میده .
موفق باشید .روی هر پله که باشی ، خدا یک پله از تو بالاتر است ،
نه به خاطر اینکه خداست ، به خاطر اینکه دست تورا بگیرد .
باران به دلیل استمرارش سنگ را سوراخ می کند ،
نه به خاطر قدرتش !!!
این که چه کسی باشی و در چه موقعیتی به تصمیم خودتان بستگی دارد . ( دکتر شریعتی )
دیدگاه
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
سلام به همه ی اساتید
راستش من تازه شروع به کار با AVR و کلا میکروکنترلر کردم ... !
یه چندتا مدار بستم و حالا میخوام یه ال سی دی گرافیکی رو با Proteus شبیه سازی کنم ...
مقاله های پست اول همین تاپیک رو هم خوندم ، برای LCD حرفی/عددی مشکلی نداشتم اما
برای LCD گرافیکی (اون کتابخانه ای که دوستان زحمتش رو کشیده بودند) وقتی همون کد رو کپی/پیست کردم روی مدار خودم 28تا ارور از libش گرفت !!!
حالا میخواستم ببینم کسی هست که بتونه یه توضیح مختصر در مورد پایه های LGM12641BS1R و توابع اصلی اون توی کدویژن (مثل اون چیزی که توی پست اول برای LCD حرفی/عددی گذاشته بودند) برام بگه ؟!؟ آیا ؟ :cry2:
خیلی ممنون از دوستانی که میخوان کمک کنند :redface:
دیدگاه
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
من برنامه زیر رو وقتی توی پروتئوس امتحان میکنم جواب میده ولی روی میکرو جواب نمیده.
بارها و بارها هم امتحان کردم و پایه VEE رو هم بدون پتانسیومتر و با مقاومت به زمین وصل کردم.
اما روی صفحه نمایش هیچی نشون داده نمیشه.
مدل lcd :
JHD 162A
و این هم اتصال پایه ها
پایه 1 به زمین
پایه 2 به 5 ولت
پایه 3 با مقاومت به زمین( با مقاومت و بی مقاومتش تاثیری نداشت)
پایه 4 به PA0
پایه 5 به PA1
پایه 6 به PA2
پایه 7 تا 10 آزاد
پایه 11 به PA4
پایه 12 به PA5
پایه 13 به PA6
پایه 14 به PA7
پایه های 15 و 16 هم آزاد هستند.
البته دفعه اول که مدار رو بستم ،پایه های 13 تا 16 رو به PA4 تا PA7 وصل کرده بودم.
نور پشت lcd روشن هست ولی کاراکتری نمایش داده نمیشه.
کد:#include <mega32.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x1B ;PORTA #endasm #include <lcd.h> #include <delay.h> #include <stdio.h> // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTA=0x00; DDRA=0xFF; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // LCD module initialization lcd_init(16); while (1) { lcd_clear(); lcd_putsf("hi"); delay_ms(200); } }
به نظرم میکرو توی دستور lcd_init(16);l گیر میکنه چون کدهای قبل از اونو به درستی اجرا میکنه....
دیدگاه
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
نوشته اصلی توسط alihesسلام
چطور میتونم با استفاده از تاچ اسکرین و ال سی دس گرافیکی یه کلید تعریف کنم که با سلکت کردن کلید روی ال سی دی گرافیکی یکی از پینهام یک بشه
من یک پروژه درست کردم که دقیقاً همین کار رو میکنه و البته تو همین فروم هم گذاشتم . الان عجله دارم اگر پیدا نکردی بگو لینکشم بگم
موفق باشی :job:Aristar Group - Always And Forever
دیدگاه
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
نوشته اصلی توسط absa2004سلام من
یه lcd دارم که دو خطه
هر کار میکنم سطر اولش کاملا سیاه نشون میده
نمیدونم دیگه چی کار کنم ؟/؟
پروزه من راجع به finger print هست کسی میتونه در این رابطه کمکم کنه ؟
لطفا کمک کنید پروژه پایانیمه
با تشکر
من خودم قبلاً از این مشکلات ها زیاد داشتم. راه حلش همینه.
اضافه شده در تاریخ :
نوشته اصلی توسط digitalsnakeمن برنامه زیر رو وقتی توی پروتئوس امتحان میکنم جواب میده ولی روی میکرو جواب نمیده.
بارها و بارها هم امتحان کردم و پایه VEE رو هم بدون پتانسیومتر و با مقاومت به زمین وصل کردم.
اما روی صفحه نمایش هیچی نشون داده نمیشه.
مدل lcd :
JHD 162A
و این هم اتصال پایه ها
پایه 1 به زمین
پایه 2 به 5 ولت
پایه 3 با مقاومت به زمین( با مقاومت و بی مقاومتش تاثیری نداشت)
پایه 4 به PA0
پایه 5 به PA1
پایه 6 به PA2
پایه 7 تا 10 آزاد
پایه 11 به PA4
پایه 12 به PA5
پایه 13 به PA6
پایه 14 به PA7
پایه های 15 و 16 هم آزاد هستند.
البته دفعه اول که مدار رو بستم ،پایه های 13 تا 16 رو به PA4 تا PA7 وصل کرده بودم.
نور پشت lcd روشن هست ولی کاراکتری نمایش داده نمیشه.
کد:#include <mega32.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x1B ;PORTA #endasm #include <lcd.h> #include <delay.h> #include <stdio.h> // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTA=0x00; DDRA=0xFF; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x00; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // LCD module initialization lcd_init(16); while (1) { lcd_clear(); lcd_putsf("hi"); delay_ms(200); } }
به نظرم میکرو توی دستور lcd_init(16);l گیر میکنه چون کدهای قبل از اونو به درستی اجرا میکنه....
اما یه مساله دیگه ای هم هست. یه سری از LCD ها باید پایه 15 و 16 هم وصل بشه. شما 15 رو با یه مقاومت 100 اهم بزن به Vcc، 16 رو هم زمین کن، شاید اینم افاقه کرد.دانش فنی تا به عمل تبدیل نشده، ذره ای ارزش نداره. اما بعضی وقت ها باید از دانش برای باز کردن مرزهای جدیدی در علم استفاده کرد، نه اینکه اونها رو صرفاً فقط به عمل تبدیل کرد.
دیدگاه
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
سلام
من یه lcd دارم
راش انداختم
تمام فونتها حتی فارسی رو درست نمایش میده
اما دو تا مشکل داره:
اولی تو برنامه زیر:
$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
$lib "glcdks108.lbx"
Dim I As Byte
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Ce = 4 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
Cls
For I = 0 To 48 Step 16
Showpic 0 , I , A
Next
Do
Loop
End
A:
$bgf "a.bgf"
که a.bgf یک مربع 16*16پیکسلی هست
درست کار نمیکنه
مربع دوم با اولی تداخل داره و موقعی ک مربع سوم رسم میشه همه چیز رو lcd به سمت بالا حرکت میکنه
دوم اینکه در طول، 64 پیکسل اول درسته
اما نیمه دوم lcd درست کار نمیکنه
مثلا تو برنامه زیر:
$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
$lib "glcdks108.lbx"
Dim I As Byte
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portb , Ce = 4 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
Cls
For I = 0 To 111 Step 16
Showpic I , 0 , A
Next
Do
Loop
End
A:
$bgf "a.bgf"
فقط چهار مربع اول رو رسم میکنه
یا مثلا وقتی با حلقه یه عکس رو به سمت راست شیفت میدم تو64پیکسل اول درسته
از اون به بعد قاط میزنه و به صورت مورب حرکت میکنه و تصویر مرتب تکرار میشه
ممنون میشم مشکل من رو حل کنید
لطف میکنید اگه جواب رو برام میل کنید چون این تاپیک بینهایت شلوغه!
masoud_m_bf@yahoo.com
[move]متشکرم[/move]آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool
116 کتابخانه مورد نیاز برای Altium Designer
از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.
دیدگاه
-
پاسخ : سوالات مربوط به LCD های کاراکتری و گرافیکی
نوشته اصلی توسط aminl298سلام دوستان
نیاز شدید دارم به دیتا شیت این ال سی دی:TS240128D-1/B
کل اینترنتو زیر و رو کردم پیدا نکردم
اگه کسی داره ممنون میشم بذاره
منتظرم....
مرسی
روز خوبی داشته باشید. :cry2:
من برای دیتاشیت اون السیدی این pdf داشتم
امیدوارم به دردت بخوره
http://ifile.it/jz6758k/datasheet%5B1%5D.pdf
دیدگاه
دیدگاه