Pic16f877a жк-код не работает

Я недавно изучал микроконтроллер, и теперь я пытаюсь сделать программу для ЖК-дисплея с MPLAB X ide и XC8, но сложным образом, не используя библиотеки XC8, но она не работает, вот все детали:

  1. Компоненты:
    • LCD LM016L
    • Микроконтроллер pic16f877a
  2. Контактные соединения:
    • Зарегистрировать выбранный вывод -> вывод E0, Считать / записать вывод -> вывод E1, Зарегистрировать выбрать вывод -> вывод E2
    • Линии передачи данных (режим 8 бит) порт D.

Теперь это весь код:

        #include "config.h"

        //port E pin 0 --> RS, pin 1 --> R/W, pin 2 --> En
        #define RS TRISE0
        #define RW TRISE1
        #define EN TRISE2


        void blinkEnable(void);
        void check_if_busy(void);
        void send_a_command(int command);
        void send_a_character(int character);


        void main(){

            blinkEnable();
            __delay_ms(10);
            check_if_busy();
            __delay_ms(10);
            send_a_command(0x01);
            __delay_ms(10);
            send_a_character(0x46);

            while(1){
            }

        }

        void blinkEnable(){

            TRISEbits.EN = 1;
            __delay_ms(10);
            TRISEbits.EN = 0;
            __delay_ms(10);


        }
        void check_if_busy(){

            TRISEbits.RS = 0;
            TRISEbits.RW = 1;
            TRISDbits.TRISD7 = 1;
            while(PORTDbits.RD7 == 1){


            }

        }
        void send_a_command(int command){
            TRISEbits.RW = 0;
            TRISEbits.RS = 0;

            PORTD = command;

        }
        void send_a_character(int character){
            TRISEbits.RW = 0;
            TRISEbits.RS = 1;

            PORTD = character;

        }

3 ответа

Если вы новичок в микроконтроллере микрочипа, я рекомендую вам попробовать программное обеспечение FlowCode, разработанное Matrix Multimedia, которое предоставляет среду графического программирования, в которой вам просто нужно разместить блоки для доступа к модулям (например, к модулю LCD в вашем случае) вместо написания кода (код потока напишет код для вас, и вы просто должны дать вход и получить выход). Самое приятное то, что вы можете видеть код c для каждого блока, который вы использовали, что дает ясное представление для начинающих, какую программу следует написать для доступа к различным модулям, а еще лучше то, что вы можете смоделировать весь код в программном обеспечении потока кода перед запуском на Аппаратное обеспечение и код потока получили один из лучших компиляторов для микроконтроллеров микрочипа.

Вы можете использовать библиотеку XC8 с помощью electroSome. Вы можете скачать заголовочный файл библиотеки с их сайта и включить его в свой проект. Это очень просто.

Используйте эту ссылку: Интерфейсный ЖК-дисплей с микроконтроллером PIC - MPLAB XC8

Хотя это хорошая практика создания ваших собственных функций, но я предлагаю вам использовать уже скомпилированные и протестированные библиотеки, чтобы сэкономить ваше время и усилия, также вы можете использовать компилятор MikroC, который уже имеет множество доступных программных библиотек, и это намного проще понимать.

Другие вопросы по тегам