سلام
با تشکر فراوان از تمامی دوستان
من در زیر نحوه ی کار رو با نمونه اوردم
1- تصحیح کردن دستورات :
برای مثال ، ما در هنگام راه اندازی lcd ، از دستورات زیر استفاده کردیم :
lcd_pin(PORT,RS,ENABLE,DB4,DB5,DB6,DB7);
در این کتابخانه بر خلاف LCD 8بیت امکان اتصال تک تک پایه های LCD به پین ای دلخواه از میکرو وجود دارد ، در این دستور PORT میتواند 1 به مفهوم پورت A و 2 به مفهوم پورت B باشد . به جای RS,ENABLE,DB4,DB5,DB6,DB7 شماره پورت دلخواه از میکرو را قرار دهید .
مثال :
lcd_pin(2,22,2,21,1,20,0);
در مثال بالا LCD به پورت B متصل شده است و اتصال پایه های ان مطابق تصویر زیر است :
(استفاده از اعداد حسابی به جای ادرس های هگز ، کار با LCD را ساده و جذاب تر میکند . )
بعد از پیکربندی پایه ها ، با استفاده از دستورات زیر میتوان با lcd کار کرد :
lcd_gotoxy(x,y);
دستور بالا مکان نما را به سطر x و ستون y میبرد ، در واقع نوشتن از سطر x و ستون y شروع میشود .
lcd_putsf(x);
با دستور بالا میتوان رشته x را بر روی lcd نمایش داد .
lcd_puts(x);
با دستور بالا میتوان عدد یا متغیر x را بر روی lcd نمایش داد .
lcd_gotoxy(1,1);
lcd_putsf("abc");
lcd_gotoxy(2,1);
lcd_puts(a);
درمثال بالا عبارت abc در سطر و ستون اول و مقدار متغیر a در سطر دوم وستون اول نمایش داده میشود .
Display_off( );
با دستور بالا lcd خاموش میشود .
Display_on();
دستور بالا lcd را روشن میکند .
cursor_off( );
دستور بالا مکان نمای lcd را خاموش میکند .
cursor_on ();
دستور بالا مکان نمای lcd را روشن میکند .
cursor_blink ( );
با دستور بالا مکان نما چشمک زن میشود .
shift_right (x) ;
دستور بالا موارد نوشته شده بر روی lcd را به اندازه ی x خانه به سمت راست جابجا میکند
shift_ left (x) ;
دستور بالا موارد نوشته شده بر روی lcd را به اندازه ی x خانه به سمت چپ جابجا میکند
lcd_clear();
دستور بالا lcd را پاک میکند .
کلیه دستوراتی که در بالا مشاهده میکنید ، توسط فردی که فایل هدر رو نوشته انتخاب شده و تغییر دادن اونا به سادگی قابل انجام هست .
خب حالا ما باید چه کار کنید ؟
ما باید دستورات موجود رو بر طبق دستورات استاندارد زبان c ویرایش کنیم .
فرضا من قبلا با کدویژن مقدار کاری کردم و نظر من در رابطه با هدر بالا این هست :
تنها دستوری که ناجور هست ، دستور پیکربندی پورت ها هست
نظر شخصی من این هست ، که این دستور رو به صورت زیر تغییر بدیم :
lcd_port=0x1B ;PORTA
نظر یکی دیگه استفاده از دستور زیر هست :
define lcd_port porta
define lcd_pin 0x1c
خلاصه اینکه در این بخش نیازی به دونستن نحوه ی کار وسیله و هدر و اشنایی با زبان c به صورت حرفه ای نیست .
هدف ما این هست که دستورات به فرم استاندارد باشه تا افرادی که قصد دارن از نرم افزار های مثل کدویژن یا ccs یا ... به طرف ارم بیان مشکلی نداشته باشن و با استفاده از هدر ها بتونن با این میکرو کنترلر دوست داشتنی کار کنن .
کلیه دستورات جدید جمع اوری میشه و بر طبق اون هدر ها ویرایش میشن .