(۰۸-آبان-۱۳۸۸, ۰۲:۳۹:۴۸)hamedaj نوشته است: [ -> ]با سلام خدمت دوستان
چطوری میشه پایه های یک lcd رو به بیش از یک پورت در codevision متصل کرد؟
مثلاً D4-D7 به PORTB.4-PORTB.7 متصل شود و RS به PORTD.2 و ...
ظاهرا باید فایل Lcd.lib دستکاری بشه. اما نمی دونم چطوری؟
شما میتونید با دانلود ورژن جدید codevision 2.05 مشکل خود را حل کنید
(۰۹-آبان-۱۳۸۸, ۱۲:۳۹:۵۱)hamedaj نوشته است: [ -> ]کسی از دوستان راه حلی نداره؟
ببینید! بر روی برد من، پین های lcd به سه پورت B و C و D ، بصورت زیر متصل شده اند:
D4..D7 pins in LCD connected to PORTB.4 .. PORTB.7 in avr
RS pin in LCD connected to PORTC.3 in avr
E pin in LCD connected to PORTD.6 in avr
R/W pin in LCD connected PORTD.7
حالا من در CV نمی تونم برای lcd برنامه بنویسم. البته تا الان متوجه شدم که باید فایل کتابخانه ای lcd.lib رو تغییر بدم. برای این کار دو راه وجود داره: 1 - نوشتن یک lcd.lib جدید مطابق با خواسته های من. 2 - تغییر lcd.lib
من دنبال راه دوم هستم. چون راه اول زمان زیادی می بره و ریزه کاری های زیادی هم داره و حتی ممکنه بعداً برنامه دچار ناسازگاریهایی بشه و درست کار نکنه
البته همونطور که t3r!p3000 عزیز گفتن این کار تو بسکام براحتی امکانپذیره، اما من نمی دونم چرا در CV این قابلیت وجود نداره!!!!!
دوستان اگر راهی می دونن کمک کنن لطفاً
سلام:
با codevision جدید که 2.0.5 اومده میتونی بهطور دلخواه به هر بیت از هر پورتی که خواستید بدید.
موفق و موید باشید.
سلام دوستان هرچند من این موضوع رو دیر دیدم و ظاهرا مشکل دوستمون حل شده ولی چون قبلا این کار رو انجام دادم فایل اصلاح شده LCD.lib رو جهت استفاده از دو پورت برای دیتا و کامند براتون ارسال می کنم هرچند خودم یادم رفته چه کردم ولی خوب جواب می ده!دقیقا پایه ها رو طبق راهنمایCV انتخاب کنید فقط یک (nibble(4bit از یک پورت وبعدی از یک پورت دیگه
پروژه خودم--->
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port_con=0x18 ;PORTB
.equ __lcd_port_data=0x12 ;PORTD
#endasm
#include <lcd.h>
به عنوان مثال از PB4~PB7برای دیتا استفاده شده وبرای کنترل از PD0~PD3 استفاده شده!
اگر مشکلی داشتید در خدمتم
md.electronic at gmail[
attachment=6398]
(۱۴-آبان-۱۳۸۸, ۱۳:۱۹:۴۴)hamedaj نوشته است: [ -> ]ممنون از توجه شما دوست عزیز Sp!d3rm4n
مطالبی که شما مطرح کردین برای تغییر پورت کاری lcd می باشد. مثلاً تغییر از PORTB به PORTC یعنی کل پین های lcd با یک پورت کار می کند. اما همونطور که گفتم من می خوام با سه پورت کار کنه.
البته مشکل من حل شد و این کار رو تونستم در WinAVR انجام بدم (با تغییر یک کتابخانه lcd)
بهرحال ممنونم از توجهی که به من داشتین
این پست مال 84 هست و الان سال 91.اگه کسی این مشکل رو داشت باید با کدویژن 2.5 کار کنه. توی این ورژن مشکل تعیین پورت و پایه ها حل شده
(۰۸-آبان-۱۳۸۸, ۰۲:۳۹:۴۸)hamedaj نوشته است: [ -> ]با سلام خدمت دوستان
چطوری میشه پایه های یک lcd رو به بیش از یک پورت در codevision متصل کرد؟
مثلاً D4-D7 به PORTB.4-PORTB.7 متصل شود و RS به PORTD.2 و ...
ظاهرا باید فایل Lcd.lib دستکاری بشه. اما نمی دونم چطوری؟
(حالا چون دیدم که هنوز این پست بازدید داره و هنوز بهش پاسخ میدن منم این پاسخ رو قرار دادم)
اینکار که خیلی ساده هستش.
این مسیر رو دنبال کن:
Project/configure/C compiler/libraries/alphanumeric lcd
و بعد در اون قسمت به راختی و در عرض 2ثانیه این کارو انجام بدی.
این عکس:
![[تصویر: Lcd_c_c.jpg]](http://s1.picofile.com/file/7472086234/Lcd_c_c.jpg)
موفق باشید...