亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lm032l.asm

?? 轉(zhuǎn)載別人ds18b20proteus作品希望對(duì)proteus library里沒有ds18b20的xdjm們有用!
?? ASM
字號(hào):
;
; This program interfaces to a Hitachi (LM032L) 2 line by 20 character display
; module. The program assembles for 4-bit data interface. LCD_DATA is the port
; which supplies the data and LCD_CTRL the control lines ( E, RS, R_W ) to the
; LM032L. 
; This program only handles the data though the high nibble.
;****************************************************************************
;* This file and the resulting compiled code copyright1993-96 Steve Lawther *
;*      Use of any of this code requires Steve Lawther to have a credit     *
;*        within the source code. Commercial use of any of this code        *
;*           requires the permission of the author, Steve Lawther           *
;*   For more details read 'README.TXT' or email steve.lawther@gecm.com     *
;****************************************************************************

    include P16F628A.inc
    include tempdemo.inc
    include lm032l.inc
    include wait.inc

    errorlevel  -302            ;Eliminate bank warning

LCD_DATA         EQU     PORTB
LCD_DATA_TRIS    EQU     TRISB
LCD_CTRL         EQU     PORTB

#define LED     PORTB, 0    ; LED - clear for lit, set for off

; LCD Display Commands and Control Signal names.
#define LCD_E    LCD_CTRL,1     ; LCD Enable control line
#define LCD_R_W  LCD_CTRL,2     ; LCD Read/Write control line
#define LCD_RS   LCD_CTRL,3     ; LCD Register Select control line

    global DISPLAY_RESET, SEND_CHAR_W, SEND_CHAR, SEND_CMD_W
    global LOAD_CGRAM, LOAD_CGRAM_LOC
    extern longdelay, shortdelay    ;DELAY.ASM
    extern uchars                   ;TEMPDEMO.ASM
;
 page
;
; Initilize the LCD Display Module
;****************************************************************************
;*
;*              DISPLAY RESET
;*
;****************************************************************************

PROG CODE

DISPLAY_RESET
;needs to have full routine to initialize corrupted display
;first setup lcd port - all outputs

    bsf     STATUS, RP0     ; Bank 1
    movlw   b'00000000'
    movwf   LCD_DATA_TRIS   ;set all to output
    bcf     STATUS, RP0     ; Bank 0
    clrf    LCD_DATA        ;set all port low
    bsf LED
    ;clrf    LCDflags        ;set to cmd next etc
;have to wait 15ms here
    clrwdt
    Wait    35 Millisec, 0
    clrwdt
;clear LCD port to all low here!!!!!!!!!!!!!!!
    movlw   b'00110001'     ; Command for 8-bit interface high nibble vv-B.0=1
    movwf   LCD_DATA        ; ie 0011xxxx
    bsf     LCD_E
    nop                     ;incase the clk is >8MHz
    ;nop                     ;incase the clk is >16MHz
    bcf     LCD_E
;have to wait 4.1ms here            
    Wait    4100 Microsec, 0
    bsf     LCD_E           ;nibble is already setup
    nop                     ;incase the clk is >8MHz
    ;nop                     ;incase the clk is >16MHz
    bcf     LCD_E
;have to wait 100us here
    Wait    100 Microsec, 0
    bsf     LCD_E           ;nibble is already setup
    nop                     ;incase the clk is >8MHz
    ;nop                     ;incase the clk is >16MHz
    bcf     LCD_E
;have to wait 100us here
    Wait    100 Microsec, 0
    movlw   b'00100001'     ; Command for 4-bit interface high nibble vv-B.0=1
    movwf   LCD_DATA        ; ie 0010xxxx
    bsf     LCD_E
    nop                     ;incase the clk is >8MHz
    ;nop                     ;incase the clk is >16MHz
    bcf     LCD_E
    clrwdt
;from here interface is 4 bit and busy can be checked
                            ;          001DL NF**
    movlw   FUNC_SET        ;has to be 0010  10XX
    call    SEND_CMD_W
                            ;0000 1DCB
    movlw   DISP_OFF        ;0000 1000
    call    SEND_CMD_W

;****************************
;*                          *
;*    INITIALIZE DISPLAY    *
;*                          *
;****************************
INIT_DISPLAY
    movlw   DISP_ON         ; Display On, Cursor On
    call    SEND_CMD_W

    movlw   CLR_DISP        ; Clear the Display
    call    SEND_CMD_W
    Wait    2 Millisec, 0
                            ;0000 01IS
    movlw   ENTRY_INC       ;0000 0110
    call    SEND_CMD_W

    return
    page
;*******************************************************************
;* The LCD Module Subroutines                                      *
;*******************************************************************
;
;*******************************************************************
;*SendChar - Sends character to LCD                                *
;*This routine splits the character into the upper and lower       *
;*nibbles and sends them to the LCD, upper nibble first.           *
;*******************************************************************
;
SEND_CHAR_W
    movwf   CHARBUF         ;Character to be sent is in W so put in
                            ;local CHARBUF
SEND_CHAR
    call    BUSY_CHECK      ;Wait for LCD to be ready
    movf    CHARBUF, W
    andlw   0x0F0           ;Get upper nibble into upper half port
    iorlw   0x01            ;vv-LED off

    movwf   LCD_DATA        ;Send data to LCD
    ;bcf     LCD_R_W         ;Set LCD to read
    bsf     LCD_RS          ;Set LCD to data mode
    call    LCDtglclk       ;saving space - sod readability thou
    ;bsf     LCD_E           ;toggle E for LCD
    ;nop                     ;incase the clk is >8MHz
    ;;nop                     ;incase the clk is >16MHz
    ;bcf     LCD_E
    swapf   CHARBUF, w
    andlw   0x0F0           ;Get lower nibble into upper half port
    iorlw   0x01            ;vv-LED off

    movwf   LCD_DATA        ;Send data to LCD
    bsf     LCD_RS          ;Set LCD to data mode
LCDtglclk   bsf     LCD_E   ;toggle E for LCD
            nop             ;incase the clk is >8MHz
            ;nop            ;incase the clk is >16MHz
            bcf     LCD_E
            return

;*******************************************************************
;* SEND_CMD - Sends command to LCD                                 *
;* This routine splits the command into the upper and lower        *
;* nibbles and sends them to the LCD, upper nibble first.          *
;*******************************************************************

SEND_CMD_W
    movwf   CHARBUF         ; Character to be sent is in W so put in
                            ;local CHARBUF
SEND_CMD
    call    BUSY_CHECK      ; Wait for LCD to be ready
    movf    CHARBUF, W
    andlw   0x0F0           ; Get upper nibble into lower half port
    iorlw   0x01            ;vv-LED off

    movwf   LCD_DATA        ; Send data to LCD
    ;bcf     LCD_R_W         ; Set LCD to read
    ;bcf     LCD_RS          ; Set LCD to command mode
    call    LCDtglclk       ;saving space - sod readability thou
    ;bsf     LCD_E           ; toggle E for LCD
    ;nop                     ;incase the clk is >8MHz
    ;;nop                     ;incase the clk is >16MHz
    ;bcf     LCD_E
    swapf   CHARBUF,w
    andlw   0x0F0           ; Get lower nibble into lower half port
    iorlw   0x01            ;vv-LED off

    movwf   LCD_DATA        ; Send data to LCD
    goto    LCDtglclk       ;saving space - sod readability thou
    ;bsf     LCD_E           ; toggle E for LCD
    ;nop                     ;incase the clk is >8MHz
    ;;nop                     ;incase the clk is >16MHz
    ;bcf     LCD_E
    ;return

;*******************************************************************
;* This routine checks the busy flag, returns when not busy        *
;*******************************************************************
;
BUSY_CHECK
    bsf     STATUS, RP0     ; Select Register page 1
    movlw   0xF0            ; st 0xF1 Set high nibble + keep INT for input
    movwf   LCD_DATA_TRIS
    bcf     STATUS, RP0     ; Select Register page 0
    bcf     LCD_RS          ; Set LCD for Command mode
    bsf     LCD_R_W         ; Setup to read busy flag
    bsf     LCD_E           ; Set E high
    nop                     ;incase the clk is >8MHz
    ;nop                     ;incase the clk is >16MHz
    movf    LCD_DATA, W     ; Read upper nibble busy flag, DDRam address
    bcf     LCD_E           ; Set E low
    ;andlw   0x0F0           ; Mask out lower nibble ***chng 1/10/96
    andlw   0x80            ; Mask out lower nibble ***chng 1/10/96
    ;movwf   TEMP
    nop
    bsf     LCD_E           ; Toggle E to get lower nibble
    nop
    nop                     ;incase the clk is >8MHz
    ;nop                     ;incase the clk is >16MHz
    ;swapF   LCD_DATA, W     ; Read lower nibble DDRam address
    bcf     LCD_E
    ;andlw   0x0F            ; Mask out upper nibble
    ;iorwf   TEMP, F         ; Combine nibbles
    xorlw   0x80
    btfsc   STATUS, Z
    ;btfsc   TEMP, 7         ; Check busy flag, high = busy
    goto    BUSY_CHECK      ; If busy, check again
    bcf     LCD_R_W
    bsf     STATUS, RP0     ; Select Register page 1
    movlw   b'00000000'
    movwf   LCD_DATA_TRIS   ; Set for output
    bcf     STATUS, RP0     ; Select Register page 0
    return

LOAD_CGRAM
; load user defined characters
    movlw   0x40
    call    SEND_CMD_W
; start address passed in temp_lo (reuse temp_lo memory)
; running address in temp_hi (reuse temp_hi memory)
; loop counter in acc_hi (reuse acc_hi memory)
LOAD_CGRAM_LOC
    clrf    temp_hi
    movf    temp_lo, W
    addwf   temp_hi, F
    movlw   0x08
    movwf   acc_hi

load
    movf    temp_hi, W
    call    uchars
    call    SEND_CHAR_W
    incf    temp_hi, F
    decfsz  acc_hi, F
     goto    load
    return

    end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性一级生活| 久久国内精品自在自线400部| 国产成人免费视频| 久久人人爽爽爽人久久久| 蜜臀精品一区二区三区在线观看| 欧美电视剧免费全集观看| 久久99精品国产.久久久久| 日韩午夜av一区| 精品一二三四区| 久久久久久久电影| 97se亚洲国产综合自在线观| 亚洲啪啪综合av一区二区三区| 91精品1区2区| 日韩精品每日更新| 精品国产三级电影在线观看| 东方欧美亚洲色图在线| 中文字幕一区二区三区四区| 在线亚洲欧美专区二区| 日产欧产美韩系列久久99| 精品国产免费一区二区三区香蕉| 国产成人精品三级麻豆| 亚洲精品欧美激情| 日韩一区二区免费视频| 国产一区二区三区香蕉| 亚洲乱码精品一二三四区日韩在线 | 中文成人av在线| 91亚洲午夜精品久久久久久| 国产婷婷一区二区| 777午夜精品视频在线播放| 欧美熟乱第一页| 欧美精品乱码久久久久久按摩| 欧美精品乱码久久久久久| 久久噜噜亚洲综合| 亚洲男人的天堂在线观看| 美女在线观看视频一区二区| 国产精品夜夜嗨| 欧美四级电影在线观看| 欧美大胆人体bbbb| 亚洲视频一区二区在线观看| 日韩av一二三| 99视频精品全部免费在线| 欧美一区二区三区四区高清| 中文字幕第一区第二区| 天天色综合成人网| 91亚洲资源网| 欧美国产国产综合| 美腿丝袜在线亚洲一区| 欧美自拍偷拍一区| 久久久久久久综合色一本| 亚洲h在线观看| 成人国产精品免费网站| 日韩精品一区二区三区在线观看 | 717成人午夜免费福利电影| 久久久蜜桃精品| 同产精品九九九| 91农村精品一区二区在线| 久久久国产一区二区三区四区小说 | 日本伊人色综合网| 99精品热视频| 亚洲国产成人私人影院tom| 日韩国产欧美在线播放| 欧美中文字幕一二三区视频| 亚洲国产经典视频| 国产一区二区三区免费看| 欧美一区二区视频在线观看| 亚洲欧洲综合另类在线| 成人av电影在线网| 久久久久9999亚洲精品| 精品一区二区三区蜜桃| 日韩视频在线永久播放| 日韩精品成人一区二区三区| 欧美三日本三级三级在线播放| 国产精品激情偷乱一区二区∴| 国产一区二区伦理| 久久日一线二线三线suv| 蜜臀久久99精品久久久久宅男| 欧美丰满美乳xxx高潮www| 亚洲成a人片综合在线| 欧美三级韩国三级日本三斤| 亚洲五月六月丁香激情| 在线观看欧美精品| 婷婷国产在线综合| 欧美男同性恋视频网站| 五月婷婷综合在线| 日韩欧美你懂的| 国内欧美视频一区二区 | 99久久精品国产麻豆演员表| 国产午夜亚洲精品理论片色戒| 国产一区二区日韩精品| 国产亚洲一区二区三区| 成人av免费在线观看| 国产精品嫩草久久久久| 一本到不卡免费一区二区| 一区二区三区自拍| 欧美日韩一区二区在线观看| 日韩成人一级大片| 久久女同精品一区二区| 99精品视频在线免费观看| 亚洲天堂免费在线观看视频| 欧美日韩极品在线观看一区| 日韩国产欧美在线观看| 久久久91精品国产一区二区三区| 成人91在线观看| 一区二区三区在线高清| 日韩一二在线观看| 高清在线不卡av| 亚洲狠狠爱一区二区三区| 日韩欧美一卡二卡| 波多野洁衣一区| 丝袜美腿亚洲综合| 国产欧美日韩久久| 欧美色男人天堂| 国产成+人+日韩+欧美+亚洲| 亚洲精选在线视频| 久久日一线二线三线suv| 99久久精品久久久久久清纯| 日韩精品欧美精品| 中文字幕亚洲精品在线观看| 欧美精品久久久久久久多人混战| 国产成人综合视频| 亚洲图片欧美综合| 欧美国产日韩亚洲一区| 欧美久久久久久久久久| 高清成人在线观看| 视频在线观看91| 日本一区二区视频在线| 日韩免费看网站| 欧美日韩三级一区二区| 99re这里只有精品视频首页| 久久激情五月婷婷| 亚洲国产视频直播| 国产精品久久久久永久免费观看| 日韩一区二区三区精品视频| 色综合中文综合网| 久久久久久久久久久久久女国产乱| 欧美在线短视频| 成人av影视在线观看| 精品无码三级在线观看视频| 亚洲一区在线观看网站| 中文字幕一区二区三区在线播放| 欧美精品一区二区蜜臀亚洲| 欧美亚洲一区二区在线观看| 成人av电影免费观看| 国产精品伊人色| 久久精品999| 美女被吸乳得到大胸91| 五月婷婷激情综合| 亚洲精品日日夜夜| 亚洲精品视频在线| 亚洲免费在线观看视频| 中文字幕va一区二区三区| 久久综合一区二区| 久久综合久久综合久久| 精品久久久久99| 欧美va日韩va| 日韩一区二区在线观看视频| 911精品国产一区二区在线| 在线观看亚洲a| 欧美日韩免费观看一区二区三区| 91福利在线看| 欧美亚洲一区二区在线| 欧美色图天堂网| 欧美人xxxx| 欧美成人一区二区三区片免费| 日韩欧美国产电影| 欧美精品一区二区三区很污很色的| 日韩欧美综合一区| 精品国产91九色蝌蚪| 亚洲精品一线二线三线| 中文字幕免费观看一区| 国产精品免费久久| 一区二区三国产精华液| 午夜精品123| 激情深爱一区二区| 成人综合婷婷国产精品久久| 97久久超碰国产精品电影| 色哟哟国产精品| 日韩免费看的电影| 国产精品人成在线观看免费 | 免费观看久久久4p| 国产裸体歌舞团一区二区| av电影在线不卡| 欧美巨大另类极品videosbest | 亚洲视频1区2区| 日韩激情av在线| 粉嫩嫩av羞羞动漫久久久| 91国偷自产一区二区三区成为亚洲经典 | 久久综合九色综合97婷婷| 国产精品久久久久久久久动漫| 亚洲一区欧美一区| 国产又黄又大久久| 欧美日韩一区小说| 久久久久国产免费免费 | 久久久久久一二三区| 中文一区二区完整视频在线观看| 亚洲欧洲国产日韩| 亚洲影视在线播放| 国产一区二区调教| 欧美日韩免费不卡视频一区二区三区| 国产精品一区二区在线看|