Pic16f877a液晶代码无效

时间:2014-08-15 06:00:46

标签: pic microchip lcd mplab

我最近一直在学习微控制器,现在我正在尝试使用MPLAB X ide和XC8制作一个LCD程序,但是很难使用没有XC8的库,但这里根本没有工作的所有细节:

  1. 组件:
    • LCD LM016L
    • 微控制器pic16f877a
  2. 引脚连接:
    • 注册选择引脚 - >引脚E0,读/写引脚 - >引脚E1,寄存器选择引脚 - > pin E2
    • 数据线(8位模式)端口D。
  3. 现在这是整个代码:

            #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 个答案:

答案 0 :(得分:1)

如果您是微芯片微控制器的初学者,我建议您尝试使用Matrix Multimedia开发的流程代码软件,该软件提供图形编程环境,您只需将块放置到访问模块(例如您的情况下的LCD模块)而不是编写代码( flowcode将为您编写代码,您只需提供输入并获得输出)。最好的部分是,您可以看到您使用的每个块的c代码,这为初学者提供了一个清晰的想法,我应该编写什么程序来访问不同的模块,另一个最好的部分是,您可以在运行之前模拟流程代码软件上的整个代码。硬件和流程代码已经成为微芯片微控制器的最佳编译器之一。

答案 1 :(得分:0)

您可以通过electroSome使用XC8库。您可以从他们的网站下载库头文件并将其包含在您的项目中。这很容易。

使用此链接: Interfacing LCD with with PIC Microcontroller - MPLAB XC8

答案 2 :(得分:0)

虽然制作自己的函数是一个很好的做法,但我建议你使用已经编译和测试过的库来节省你的时间和精力,你也可以使用已经有一堆可用软件库的 MikroC 编译器,它更容易理解。