Допоможіть мені із зміною коду, який записує байт в ЖК

C

crocklip

Guest
Привіт, я використовую HITECH PICC V.3 компілятор запрограмувати PIC16F877A. Я хотів би інтерфейс із стандартним 16X2 Hitachi LCD. У всякому разі, я планую використовувати приклад програми, яка поставляється разом з програмним забезпеченням. Наступний код є звичайним використовується для запису байта в LCD в 4-бітному режимі. # Визначити LCD_DATA PORTD # визначити LCD_STROBE () ((LCD_EN = 1), (LCD_EN = 0)) / * запис байта в LCD в 4-бітному режимі * / недійсним lcd_write (непідписані символ с) {DelayUs (40); LCD_DATA = ((C >> 4) & 0x0F); LCD_STROBE (); LCD_DATA = (C & 0x0F); LCD_STROBE ();} Як ви можете бачити, все PORTD використовується в якості "LCD_DATA". Однак я хотів би використовувати тільки 2-5 біта PORTA, як і інші біти вже прийнято. Враховуючи, що я дійсно не розумію рутини я не можу змінити код, щоб задовольнити моє власне! Чи може хто-небудь сказати мені, як я можу це зробити? Напевно, дурне запитання, але будь-яка допомога буде здорово!
 
Це довгий постріл, але спробувати це? # Визначити LCD_DATA PORTA # визначити LCD_STROBE () ((LCD_EN = 1), (LCD_EN = 0)) / * запис байта в LCD в 4-бітному режимі * / недійсним lcd_write (непідписані символ с) {DelayUs (40); LCD_DATA = ((C >> 4) & 0b00111100); LCD_STROBE (); LCD_DATA = (C & 0x0F); LCD_STROBE ();} ..................... ............ Під вашим порту ініціалізації, запишіть ADCON1 = 0b10000010; це є Аке порт AI / O порт замість аналогової. Крім того, TRISA = 0x00; зробити все вихідні порти. Я сподіваюся, що це допомагає ... (Про верб послав UA вечора потребує вашої допомоги) [розмір = 2] [COLOR = # 999999] Додано після 54 секунд: [/color] [/SIZE] упс .. ця .. недійсним lcd_write (непідписані символ с) {DelayUs (40); LCD_DATA = ((C >> 4) & 0b00111100); LCD_STROBE (); LCD_DATA = (C & 0b00111100); LCD_STROBE ();}
 

Welcome to EDABoard.com

Sponsor

Back
Top