مشاكل مع PIC18F4620 وشاشات الكريستال السائل

M

mariale442

Guest
أنا المهاجرة قانون بلدي PIC18F452 إلى PIC18F4620 وأنا عالقة مع رمز شاشات الكريستال السائل.ماذا كان يعمل بشكل جيد في الوقت الحالي ليس 452 في 4620.
لا احد واجهتها مع هذا النوع من المشاكل.

فمن prety بكثير من المهم بالنسبة لي لجعل هذا الشيء العمل حتى أي نوع من المساعدة سيكون موضع تقدير.

أشكركم جميعا.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" />

وأضاف بعد 16 دقيقة :هذا هو قانون بلدي.

أنا لا أعرف الذي هو مشكلة

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" />-------------------------------------------------- ---------------------------------------------
وهذا هو الملف المصدر :
-------------------------------------------------- ---------------------------------------------

# تشمل "lcdconfig.h"
# تشمل <p18f4620.h>

lcd_wait باطل () ؛
lcd_init باطل () ؛
ملغاة wrcmd (تشار) ؛

ملغاة وقفة (المترجم ارقام)
/ / أداة روتينية إلى وقفة
/ / لفترة من الزمن.
(بينما (ارقام --)
(/ * * لا تفعل شيئا /
)
)

ملغاة lcd_init ()
/ / التهيئة عرض الكريستال السائل.
(بورتا TRISA = = 0 ؛
TRISB = PORTB = 0xFF ؛
ADCON1 = 7 ؛
wrcmd (0x30) ؛ / / 8 بت واسطة -- 1 سطر.
wrcmd (LCD_SETVISIBLE 0 x04) ؛ / / العرض فقط -- لا المؤشرات.
wrcmd (LCD_SETMODE 0 x02) ؛ / / التلقائية الحالية -- عرض تحول اليسار.
wrcmd (LCD_SETDDADDR 0 x0f) ؛ / / الموقف المبدئي اليمين المتطرف.
)

ملغاة clearscreen ()
/ / مسح الشاشة الكريستالية وإعادة تعيين
/ / الموقف المبدئي.
(wrcmd (LCD_CLS) ؛
wrcmd (LCD_SETDDADDR 0 x00) ؛
)

/***** دالات الأداة المساعدة *****/

/ / أكتب الأمر إلى عرض الكريستال السائل.
ملغاة wrcmd (تشار cmdcode)
(TRISB = 0 ؛
PORTB = cmdcode ؛

/ / الكتابة إلى PORTB لتحط في عرض البيانات.
/ / تبديل الدبوس 'ه' لإرسال الأوامر.
بورتا = LCD_CMD_WR ؛
بورتا | = E_PIN_MASK ؛

نوب () ؛
بورتا & = ~ E_PIN_MASK ؛

lcd_wait () ؛
)

ملغاة wrdata (تشار البيانات)
/ / كتابة الأحرف إلى عرض الكريستال السائل.
(TRISB = 0 ؛
PORTB = البيانات ؛

بورتا = LCD_DATA_WR ؛
بورتا | = E_PIN_MASK ؛

نوب () ؛

بورتا & = ~ E_PIN_MASK ؛

lcd_wait () ؛
)

/ / انتظر العلم مشغول لشاشات الكريستال السائل واضحة.
ملغاة lcd_wait ()
(بايت حالة ؛
TRISB = 0xFF ؛

بورتا = LCD_BUSY_RD ؛
يفعل
(بورتا | = E_PIN_MASK ؛

نوب () ؛

الحالة = PORTB ؛
بورتا & = ~ E_PIN_MASK ؛
في حين) (مركز & 0x80) ؛
)

تشار buf [16] = "1. Consultar" ؛

/ / التهيئة لدينا متغيرات واستدعاء
/ / الجمعية الروتينية التهيئة بتقنية الكريستال السائل.

ملغاة calc_display (تشار buf [16])
/ / استخدام المخرجات والروتين من Clearscreen
/ / * * LCD_Write ملف تجميع لإخراج أسكي القيم لشاشات الكريستال السائل.
(INT8 ط ؛
clearscreen () ؛
(ط = 0 ؛ ط <strlen (buf) ؛ ط )
/ / (اذا (buf [calc_testkey (buf [ط]) | | buf [ط] == 0x2D)
(
wrdata (buf [ط]) ؛
وقفة (5000) ؛
)
/ /)
)باطلة الرئيسي (الفراغ)
(lcd_init () ؛
calc_display (buf) ؛
)-------------------------------------------------- ---------------------------------------------
هذا هو رأس الملف :
-------------------------------------------------- ---------------------------------------------

typedef باطل باطل ؛
typedef المترجم كثافة العمليات ؛
typedef قعت INT8 شار ؛
typedef قعت INT16 كثافة العمليات ؛
typedef قعت Int32 طويلة ؛
typedef غير الموقعة كلمة قصيرة ؛
typedef شار شار ؛
typedef غير الموقعة تشار بايت ؛
typedef تعويم مزدوجة ؛
typedef طويلة طويلة ؛
typedef INT8 BOOL ؛

/ / شاشات الكريستال السائل التكوين

تعريف # MAX_DISPLAY_CHAR 16/ / سجلات العناوين شاشات الكريستال السائل (بورت باء)
تعريف # LCD_CMD_WR 0x00
تعريف # LCD_DATA_WR 0x01
تعريف # LCD_BUSY_RD 0x02
تعريف # LCD_DATA_RD 0x03

/ / أوامر شاشات الكريستال السائل
تعريف # LCD_CLS 0x01
تعريف # LCD_HOME 0x02
تعريف # LCD_SETMODE 0x04
تعريف # LCD_SETVISIBLE 0x08
تعريف # LCD_SHIFT 0x10
تعريف # 0x20 LCD_SETFUNCTION
تعريف # LCD_SETCGADDR 0x40
تعريف # LCD_SETDDADDR 0x80

تعريف # E_PIN_MASK 0x04

# تعريف مزورة 0
تعريف # الحقيقية 1

-------------------------------------------------- ------------------------------------------
meeeeeee مساعدة...

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="يبكي" border="0" />
 
مرحبا mariale442

وكنت أتساءل لماذا لا تهاجر إلى 18F4520 أوصى وهو تقريبا نفس الشريحة -- وربما كنت بحاجة أكبر فلاش من 4620؟

الهجرة إلى 4620 يتطلب عناية أكثر من ذلك بقليل.

الاختيار ADCON0 وADCON1 -- أنهم ليسوا indentical على 452 و 4620
وأعتقد أن المشكلة قد تكون في شاشات الكريستال السائل في منطقة initalisation.-- أنا لم يتم فحصها في التفصيل.

...الموسوعي

 

Welcome to EDABoard.com

Sponsor

Back
Top