新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC16Fxxx的LCD驅動程序(適用于HD44780兼容的驅動器)

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

        作者: 時間:2012-08-12 來源:網絡 收藏

        ()

        本文引用地址: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顯示屏相關文章:lcd顯示屏原理


        lcd相關文章:lcd原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平乐县| 临夏县| 明水县| 马鞍山市| 枣阳市| 吉林省| 洛南县| 简阳市| 湖南省| 治多县| 徐汇区| 孝感市| 嘉义市| 清徐县| 涟水县| 合肥市| 兴城市| 张家口市| 凌源市| 无极县| 任丘市| 红桥区| 浪卡子县| 那坡县| 修武县| 浦城县| 洪洞县| 边坝县| 鲁山县| 太谷县| 邛崃市| 舟山市| 建水县| 阿拉善右旗| 文登市| 思南县| 张北县| 沭阳县| 德保县| 安龙县| 聂拉木县|