سلام دوستان.
من میخام یه lcd 2*16رو با آرم راه اندازی کنم.
اما نمیدونم چرا جواب نمیده.
این برنامه ای هست که واسه مجله شماره 4 هست.
#include "at91sam7x256.h"
#include "lib_at91sam7x256.h"
#include "lcd.h"
#include "delay.h"
int main(void){
int a=58;
lcd_pin(2,21,22,23,24,25,26);
while (1){
lcd_gotoxy(2,5);
lcd_putsf("rthgdyehfn");
cursor_on();
delay_s(5);
cursor_off();
delay_s(5);
cursor_blink();
delay_s(5);
Display_off();
delay_s(5);
Display_on();
delay_s(5);
lcd_clear();
delay_s(5);
lcd_gotoxy(2,1);
lcd_putsf("xxxxxxxx");
delay_s(5);
lcd_gotoxy(1,2);
lcd_puts(a);
delay_s(5);
lcd_shift_right(5);
delay_s(5);
lcd_clear();
lcd_putsf("123654789");
delay_s(5);
lcd_shift_left(4);
delay_s(5);
lcd_clear();
}
}
برنامه در ظاهر مشکلی نداره و وقتی F7رو میزنم برنامه کامپایل میشه.
و بعد با نرم افزار H-Converterبه کد BINتبدیل میکنم و با نرم افزار SAM-PROG v2.3هم روی میکرو پروگرام میکنم.
برد رو با یه برنامه که توی مجله شماره 2 داده بودین تست کردم و LEDزرد رو چشمک زن میکنه.
LCDرو هم روی برد بورد وصل کردم
پایه های 1و3و5 رو زمین کردم.
پایه 4 رو به B.0
پایه 6 روبه B.1
پایه 11 رو به B.2
پایه 12رو به B.3
پایه 13 روبه B.4
پایه 14 رو هم به B.5پورت Bبرد میکرو وصل کردم
البته برد رو با کابل هارد به برد بورد وصل کردم و کابل رو با اهم متر تست کردم درست بود.
البته چون LCD از نوع آبی بود واسه همین پایه های 15 و 16 رو هم به 5ولت وصل کردم.
میکرو رو هم بعد اینکه پروگرام میکنم وقتی دوباره به رایانه وصل میکنم رایانه نمیشناسش.
مبیع تغذیه واسه LCD و میکرو هم از پورت USB به صورت جدا گانه استفاده میکنم.
البته وقتی که پین های پورت B (همونایی که توی برنامه ازش استفاده میکنم) رو با ولت متر اندازه گیری میکنم(مثبت رو به پین و منفی رو به بدنه USBموجود روی برد میکرو وصل کردم) مقدار 3.3ولت رو نشون میده.
البته با تاخیر که فکر کنم تاخیر به خاطر برنامه هست
LCDهم از نوع TS1620A-21/Bهست.
ممنون میشم دوستان مشکل کار رو بهم بگن.خودم 2روزه دارم باهاش ور میرم ولی درست نشد.