新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC16Fxxx的LCD驅(qū)動程序(適用于HD44780兼容的驅(qū)動器)

        PIC16Fxxx的LCD驅(qū)動程序(適用于HD44780兼容的驅(qū)動器)

        作者: 時間:2012-08-12 來源:網(wǎng)絡(luò) 收藏

        ()

        本文引用地址:http://www.104case.com/article/171045.htm

        ;************************************************
        ;* .ASM *
        ;************************************************
        ;* Contains subroutines to control an external *
        ;* lcd panel in 4-bit mode. These routines *
        ;* were designed specifically for the panel on *
        ;* the MCU201 workshop demo board, but should *
        ;* work with other s with a type *
        ;* controller. *
        ;* Routines include: *
        ;* - InitLCD to initialize the LCD panel *
        ;* - putcLCD to write a character to LCD *
        ;* - SendCmd to write a command to LCD *
        ;* - clrLCD to clear the LCD display *
        ;* - L1homeLCD to return cursor to line 1 home*
        ;* - L2homeLCD to return cursor to line 2 home*
        ;* - PutHexLCD to write a HEX Code to LCD *
        ;* - Hex2ASCII to convert 4 bits to ASCII Code*
        ;************************************************
        ;
        list p=16f877
        #i nclude p16f877.inc>
        ;
        ; Defines for I/O ports that provide LCD data control
        ; PORTB.0 - PORTB.3 are Data Pins for LCD Module
        ; PORTB.4 is E Control Signal for LCD
        ; PORTB.5 is RS Control Signal for LCD
        ; PORTC.2 is BackLight Control pin for LCD Module
        ;
        global InitLCD
        global putcLCD
        global clrLCD
        global L1homeLCD
        global L2homeLCD
        global SendCmd
        global PutHexLCD
        global Hex2ASCII
        ;
        LCD_DATA equ PORTB
        LCD_CNTL equ PORTB

        ; Defines for I/O pins that provide LCD control
        RS equ 5
        E equ 4

        ; LCD Module commands
        DISP_ON EQU 0x00C ; Display on
        DISP_ON_C EQU 0x00E ; Display on, Cursor on
        DISP_ON_B EQU 0x00F ; Display on, Cursor on, Blink cursor
        DISP_OFF EQU 0x008 ; Display off
        CLR_DISP EQU 0x001 ; Clear the Display
        ENTRY_INC EQU 0x006 ;
        ENTRY_INC_S EQU 0x007 ;
        ENTRY_DEC EQU 0x004 ;
        ENTRY_DEC_S EQU 0x005 ;
        DD_RAM_ADDR EQU 0x080 ; Least Significant 7-bit are for address
        DD_RAM_UL EQU 0x080 ; Upper Left coner of the Display
        ;

        ; Directs linker to provide 4 variables in GPR memory
        UDATA
        Byte RES 1
        Byte1 RES 1
        Count RES 1
        Count1 RES 1
        W_BUFR RES 1
        Hex_Bfr RES 1
        ;
        PROG1 CODE
        ;*******************************************************************
        ;* The LCD Module Subroutines *
        ;* Command sequence for 2 lines of 5x16 characters *
        ;*******************************************************************
        InitLCD
        BANKSEL TRISB
        movlw 0xc0 ; Initialize inputs/outputs for LCD
        movwf TRISB
        BANKSEL LCD_DATA
        clrf LCD_DATA ; Clear LCD data control bits
        ;
        movlw .50 ; Power=On delay 50mS

        LCD顯示屏相關(guān)文章:lcd顯示屏原理


        lcd相關(guān)文章:lcd原理

        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 武城县| 金平| 友谊县| 开鲁县| 宁波市| 鸡东县| 富顺县| 怀仁县| 来安县| 诸城市| 耒阳市| 绵阳市| 屏山县| 谢通门县| 乌鲁木齐县| 通榆县| 卫辉市| 望奎县| 吉木萨尔县| 吴堡县| 申扎县| 泌阳县| 万年县| 陈巴尔虎旗| 抚顺县| 筠连县| 敦化市| 杂多县| 浠水县| 辽中县| 长葛市| 吴忠市| 南通市| 桐梓县| 延边| 无锡市| 巨野县| 腾冲县| 安龙县| 延川县| 普安县|