久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4684|回復(fù): 2
收起左側(cè)

PIC16F877A 1602 LCD 問題

[復(fù)制鏈接]
ID:51458 發(fā)表于 2013-8-9 22:40 | 顯示全部樓層 |閱讀模式
請(qǐng)問有人可以幫我看看為什么我的代碼在isis中可以顯示但燒到單片機(jī)后只顯示一行方格啊?代碼如下:
        list                p=16f877A        ; list directive to define processor
        #include        <p16f877A.inc>        ; processor specific variable definitions
       
        __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF

        COUNT EQU 24H    ;定義計(jì)數(shù)寄存器地址
        TMP1  EQU 25H    ;定義臨時(shí)寄存器地址
        PORTA   EQU 5H   ;定義RA口數(shù)據(jù)寄存器地址
        PORTC   EQU 7H   ;定義RC口數(shù)據(jù)寄存器地址
        TRISA   EQU 85H  ;定義RA口方向控制寄存器地址
        TRISC   EQU 87H  ;定義RC口方向控制寄存器地址


        ORG 00H;
        NOP              ;放置一條ICD必需的空操作指令
          GOTO MAIN
        ORG  0004H
MAIN
        BSF STATUS, RP0                ;SELECT BANK1 定義RA口,RC口全部為輸出
        BCF STATUS, RP1               
        MOVLW B'10000000'
        MOVWF TRISB                        ;MAKE PIN 7 INPUT ELSE INPUT
          MOVLW 07H
          MOVWF ADCON1            ;設(shè)置RA口全部為普通數(shù)字IO口
          MOVLW 00H
          MOVWF TRISA
        MOVWF TRISC
        MOVWF TRISD
        MOVLW B'00001100'                ;時(shí)器,
        MOVWF OPTION_REG        ;時(shí)器,預(yù)分頻器分配給定時(shí)器0,分頻比1:32;開啟RB口弱上拉.
        BCF STATUS, RP0                ;SELECT BANK0
        BCF STATUS, RP1
        CLRF PORTB                        ;MAKE DEFAULT PORTB 0
        CLRF PORTD
        BSF PORTA,0

;***********************
;  LCD DISPLAY
;***********************
        CALL DELAY              ;調(diào)用廷時(shí),剛上電LCD復(fù)位不一定有PIC快
        MOVLW 38H
        MOVWF PORTC
        CALL ENABLEA
        CALL DELAY
        MOVLW 38H
        MOVWF PORTC
        CALL ENABLEA
        CALL DELAY
        MOVLW 38H
        MOVWF PORTC
        CALL ENABLEA
        CALL DELAY
        MOVLW 38H
        MOVWF PORTC
        CALL ENABLEA
        CALL DELAY
          MOVWF 08H
        MOVWF PORTC
        CALL ENABLEA
        MOVLW 01H
          MOVWF PORTC             ;清屏MAKE COMMAND FOR LCD TO CLEAR DISPLAY
          CALL ENABLE
        CALL DELAY
          ;MOVLW B'00111000'
          ;MOVWF PORTC             ;8位2行5x7點(diǎn)陣 MAKE COMMANDS FOR LCD TO DISPLAY 16X2 CHARACTER 5X7 PER CHAR 8BIT DATA COMMUNICATION
          ;CALL ENABLE
        ;MOVLW 0FH               ;文字不動(dòng),光標(biāo)自動(dòng)右移 ENTRY MODE, SET INCREMENT MOVING CURSOR
          ;MOVWF PORTC            
          ;CALL ENABLE
        MOVLW 06H               ;文字不動(dòng),光標(biāo)自動(dòng)右移 ENTRY MODE, SET INCREMENT MOVING CURSOR
          MOVWF PORTC            
          CALL ENABLE
        MOVLW 0CH               ;顯示器開、光標(biāo)開、閃爍開 MAKE COMMAND FOR LCD TO DISPLAY ON, CURSOR OFF, BLINK OFF
          MOVWF PORTC
          CALL ENABLE
        MOVLW 80H
          MOVWF PORTC             ;顯示位置
          CALL ENABLE
        MOVLW B'01001010'         ;J
        MOVWF PORTC
        BSF PORTA,1
        BCF PORTA,2
        BCF PORTA,3
        CALL DELAY_LCD
        BSF PORTA,3
         
;DISPLAY SUBROUTE
;***********************
;******************************************************
TABLE              ;取第一行的顯示碼
        ADDWF PCL,1    ;地址偏移量加當(dāng)前PC值
        RETLW B'01001010'         ;J
        RETLW B'01000001'        ;A
        RETLW B'01000011'        ;C
        RETLW B'01001011'        ;K
        RETLW B'00111010'        ;:
        RETLW B'01001111'        ;O
        RETLW B'01001110'        ;N
        RETLW 20H                            ;空格
        RETLW 20H                            ;空格
        RETLW B'01010110'        ;V
        RETLW B'01001111'        ;O
        RETLW B'01001001'        ;I
        RETLW B'01000011'        ;C
        RETLW B'01000101'        ;E
        RETLW B'01001101'        ;M
        RETLW B'01001111'        ;O
        RETLW 00H
;-------------------- ----------------------------------
TABLE1                  ;取第二行的顯示碼
        ADDWF PCL,1         ;地址偏移量加當(dāng)前PC值                                                        
        RETLW B'01000100'        ;D
        RETLW B'01010101'        ;U
        RETLW B'01001100'        ;L
        RETLW B'01000101'        ;E
        RETLW B'00111010'        ;:
        RETLW B'01001111'        ;O
        RETLW B'01001110'        ;N
        RETLW 20H      ;空格
        RETLW 20H      ;空格
        RETLW B'01001110'        ;N
        RETLW B'01001111'        ;O
        RETLW B'00111010'        ;:
        RETLW B'01001111'        ;O
        RETLW B'01001111'        ;O
        RETLW 20H      ;空格
        RETLW 20H      ;空格
        RETLW 00H
;*******************************************************
WRITE1
  CLRF COUNT          ;送第一行數(shù)字程序
WRITE_A
  MOVFW COUNT
  CALL TABLE
  MOVWF TMP1
  CALL WRITE3
  INCF COUNT,1
  MOVFW TMP1
  XORLW 00H
  BTFSS STATUS,Z
  GOTO WRITE_A
  RETLW 0
;*************************
WRITE2                 ;送第二行數(shù)子程序
  CLRF COUNT
WRITE2_A
  MOVFW COUNT
  CALL TABLE1
  MOVWF TMP1
  CALL WRITE3
  INCF COUNT,1
  MOVFW TMP1
  XORLW 00H
  BTFSS STATUS,Z
  GOTO WRITE2_A
  RETLW 0
;**************************
WRITE3                 ;送數(shù)據(jù)到LCD子程序
  MOVWF PORTC
  BSF PORTA,1                        ;RS_PIN#1
  BCF PORTA,2                        ;RW_PIN#2
  BCF PORTA,3                        ;E_PIN#3
  CALL DELAY
  BSF PORTA,3                        ;E_PIN#3
  RETLW 0
;*******************************************
ENABLEA
  BCF PORTA,1        ;RS_PIN#1寫入控制命令的子程序
  BCF PORTA,2                 ;RW_PIN#2
  BCF PORTA,3                 ;E_PIN#3
  CALL DELAY
  BSF PORTA,3                ;E_PIN#3
  RETURN
;*******************************************
ENABLE
  BCF PORTA,1        ;RS_PIN#1寫入控制命令的子程序
  BCF PORTA,2                 ;RW_PIN#2
  BCF PORTA,3                 ;E_PIN#3
  CALL DELAY_LCD
  BSF PORTA,3                ;E_PIN#3
  RETURN

DELAY_LCD
        MOVLW 0FFH
        MOVWF PORTC
        BCF PORTA,1
        BSF PORTA,2
        BCF PORTA,3
        NOP
        BSF PORTA,3
        BTFSC PORTC,7
        GOTO DELAY
        RETURN
DELAY                   ;5mS 子程序名,也是子程序入口地址
        MOVLW 01FH          ;將外層循環(huán)參數(shù)值FFH經(jīng)過W
        MOVWF 20H          ;送入用作外循環(huán)變量的20H單元\
lp0
    MOVLW 0A0H          ;將內(nèi)層循環(huán)參數(shù)值FFH經(jīng)過W
        MOVWF 21H           ;送入用作內(nèi)循環(huán)變量的21H單元
lp1
        DECFSZ 21H,1         ;變量21H內(nèi)容遞減,若為0跳躍
        GOTO lp1           ;跳轉(zhuǎn)到LP1處
        DECFSZ 20H,1         ;變量20H內(nèi)容遞減,若為0跳躍
        GOTO lp0           ;跳躍到LP0處
        return                 ;返回主程序
END

回復(fù)

使用道具 舉報(bào)

ID:51773 發(fā)表于 2013-8-10 00:01 | 顯示全部樓層
isis工程文件上傳一下看看
回復(fù)

使用道具 舉報(bào)

ID:51458 發(fā)表于 2013-8-10 22:08 | 顯示全部樓層
麻煩解壓后看一下。謝謝!

Simulation.rar

31.64 KB, 下載次數(shù): 15, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人av电影免费在线观看 | 日韩中文字幕在线免费 | 国产一区二区影院 | 久久久久久久一区 | 九九伊人sl水蜜桃色推荐 | 视频1区 | 美女天天操 | 天天插天天射天天干 | 国产成人午夜高潮毛片 | 中文在线播放 | 日韩精品一区二区三区在线播放 | 国产欧美一区二区三区在线看 | 我爱操| 国产亚洲一区二区三区 | 久视频在线观看 | 一区二区三区精品视频 | 久久一区二区av | 国产一伦一伦一伦 | 九九热在线免费视频 | 成人免费在线视频 | 夜夜爽99久久国产综合精品女不卡 | 中文字幕av第一页 | 操操日 | 国产99在线 | 欧美 | 亚洲一区国产 | 日批av| 精品成人在线视频 | 精品熟人一区二区三区四区 | 四虎在线观看 | 国产无人区一区二区三区 | 高清亚洲 | 婷婷免费视频 | 一区二区三区亚洲精品国 | 成年免费大片黄在线观看岛国 | 九九色九九 | 日韩av在线一区 | 成人在线免费观看 | 欧美大片一区 | 中文字幕 欧美 日韩 | 国产精品视频专区 | 国产欧美一区二区三区久久手机版 |