PDA

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



Caspian1361
20-11-2010, 15:53
با سلام خدمت دوستان و عرض تشکر بابت کمک هایی که می کنند.
بعد از کمک های دوستان موفق به راه اندازی و تعریف پورت بصورت ورودی و خروجی شدم.
در این مرحله می خوام LCD کاراکتری رو راه اندازی کنم. LCD من 4*20 هست. برنامه PMM3 جدید رو استفاده کردم چند تا سوال دارم:
1- اول اینکه ظاهرا باید lib_AT91SAM7X256.h رو اول برنامه اضافه کنیم چون ظاهرا تو LCd.h از AT91F_PIO_ClearOutput و امثال این توابع استفاده شده است.
2- توابع lcd_shift_right و lcd_shift_left رو نمی شناسه.

3- من lib_AT91SAM7X256.h رو اضافه کردم و تابع lcd_shift_right و lcd_shift_left رو هم حذف کردم، برنامه کامپایل شد، Hex هم درست کرد ولی چیزی رو LCD نشون نمی ده.

مشکل کجاست؟

برنامه من در زیر آورده شده است:

#include "AT91SAM7X256.h"
#include <lib_AT91SAM7X256.h>
#include "LCD.h"
#include "delay.h"
int main (void) {
int a=58;
#define LCD_bit 4
#define LCD_PORT B
#define LCD_RS 0
#define LCD_E 1
#define LCD_DB4 2
#define LCD_DB5 3
#define LCD_DB6 4
#define LCD_DB7 5

while(1) {


lcd_gotoxy(1,1);
lcd_putsf("You can see links before reply");
delay_s(1);

Display_off(); delay_s(1);
Display_on(); delay_s(1);

}
}

1nafar
20-11-2010, 20:54
سلام

1- اول اینکه ظاهرا باید lib_AT91SAM7X256.h رو اول برنامه اضافه کنیم چون ظاهرا تو LCd.h از AT91F_PIO_ClearOutput و امثال این توابع استفاده شده است.
والا نمیدونم چرا من نمیتونم چیزی که شما میگید رو توی هدر پیدا کنم !!! ( مجله رو دوباره دانلود کردم .... )

3- من lib_AT91SAM7X256.h رو اضافه کردم و تابع lcd_shift_right و lcd_shift_left رو هم حذف کردم، برنامه کامپایل شد، Hex هم درست کرد ولی چیزی رو LCD نشون نمی ده.
حذف کردن بخشی از هدر ، ممکنه باعث حذف شدن برخی از توابع بشه و در کارکرد قطعه اختلال ایجاد کنه .
مشکل برنامه ی شما توی کدی که نوشتید هست ، شما باید هدر lcd رو بعد از معرفی پایه ها فراخوانی کنید ، فایل پیوست رو دانلود کنید و فایل c رو با کد خودتون مقایسه کنید .
در این پروژه هدر های lcd و تاخیر مجله ی 3 وجود داره

Caspian1361
21-11-2010, 11:05
با تشکر از آقای هاشمی
برنامه ارسالی کار کرد و مشکلی نداشت.
فکر می کنم مشکل در برنامه صفحه 16 مجله هست. 2 تا ایراد داره:
1- بجای LCD_PORT B ، LCD_PORT_B آورده شده است.
2- lcd_init(); وجود نداره

چرا تو برنامه از #define LCD_bit 4 استفاده نمی کنید؟

1nafar
20-12-2010, 08:48
فکر می کنم مشکل در برنامه صفحه 16 مجله هست. 2 تا ایراد داره:
1- بجای LCD_PORT B ، LCD_PORT_B آورده شده است.
2- lcd_init(); وجود نداره
سلام
اینا اشکالات تایپی هست ، ...

چرا تو برنامه از #define LCD_bit 4 استفاده نمی کنید؟
این دستور استفاده بشه یا نشه ، lcd به صورت 8 بیت راه میافته .
اگه به جای 4 از 8 استفاده کنید اون وقت میتونید از lcd به 8 خط انتقال داده استفاده کنید .

bbj
17-02-2011, 18:14
خسته نباشيد

من فايلي رو كه مديريت سايت توي چند پست قبل داده بودند را دانلود كردم و از هدر lcd و dealy استفاده كردم. ( هدر lcd كلا براي انتقال داده به صورت 4 بيتي بود)

برنامه كامپايل ميشه ولي وقتي روي برد آزمايشي ميريزم كار نميكنه!!!


#include <AT91SAM7S256.H>
#define LCD_PORT_A
#define LCD_RS 6
#define LCD_E 8
#define LCD_DB4 15
#define LCD_DB5 16
#define LCD_DB6 17
#define LCD_DB7 18
#include "lcd.h"
#include "delay.h"
int main (void) {
lcd_init();
while(1)
{
lcd_clear();
lcd_gotoxy(1,1);
lcd_putsf("You can see links before reply (You can see links before reply)");
delay_s(1);
}}


اين برنامست اگه مشكلي به چشم مياد لطفا بهم بگيد. خيلي خيلي ممنون


از مديريت محترم سايت نيز به خاطر كمكهاي شاياني كه نا حالا به بنده كردند خيلي ممنونم