技术热线: 4007-888-234

基于PIC单片机的128*64(ST7920)的液晶PIC程序

更新时间: 2019-03-23
阅读量:2431

十年专注单片机方案开发的方案公司英锐恩,分享基于PIC单片机的128*64(ST7920)的液晶PIC程序。英锐恩现提供服务产品涉及主控芯片:8位单片机、16位单片机、32位单片机及各类运算放大器等。

list      p=16F84A            ; list directive to define processor
#include         ; processor specific variable definitions

__CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC

 

; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.
;***** VARIABLE DEFINITIONS

cblock 0X0c
w_temp
status_temp
TEMP1
TEMP2
TEMP3
TEMP4
TEMP5
START
COM
HDATA
LDATA
DATA8
DATACOUNT
index:2
indexback;真实的表中的序号
endc

#define CS PORTA,0   ;又名RS脚.
#define SID PORTA,1  ;又名R/W脚.
#define SCLK PORTA,2 ;又名E脚.
;**********************************************************************
  ORG     0x000             ; processor reset vector
    goto    main              ; go to beginning of program

 

main
MOVLW 00H

banksel TRISA
MOVWF TRISA
banksel PORTA
MOVLW 00H
MOVWF PORTA
;写指令前,先对START赋值0XF8,写数据前先对START赋值0XFA
pagesel INILCM
CALL INILCM
MOVLW 0XF8
banksel START
MOVWF START

MOVLW 0X80;设定DDRAM位址到位址计数器。
banksel COM
MOVWF COM
pagesel WRITE
CALL WRITE

MOVLW 0XFA
banksel START
MOVWF START

;*********************************用户程序
     ;显示全部文字:
  movlw 0X00;从第0个数开始取数。
  banksel index
  MOVWF indexback
DISPLAYLOOP:    
   MOVLW 0X00
   MOVWF index+1
   MOVF indexback,0
   MOVWF index
   pagesel    LWORDTABLE     
     call    LWORDTABLE           
     banksel COM
     MOVWF COM
    pagesel  WRITE
    CALL WRITE
    INCF indexback
   movf indexback,0
    ADDLW  low(wordtablestart)
     XORLW  low(wordtableend)  

   SKPZ
     GOTO  DISPLAYLOOP

 

; MOVLW 0xb5
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xc4
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xc3
; MOVWF COM
; pagesel WRITE
; CALL WRITE 

; MOVLW 0xfb
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xd7
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xd6
; MOVWF COM
; pagesel WRITE
; CALL WRITE 

; MOVLW 0xbd
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xd0
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xba
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xab
; MOVWF COM
; pagesel WRITE
; CALL WRITE

; MOVLW 0xc7
; MOVWF COM
; pagesel WRITE
; CALL WRITE

 

; MOVLW 0xef
;MOVWF COM
; pagesel WRITE
;CALL WRITE

 

;MOVLW 0xbb
;MOVWF COM

;pagesel WRITE
;CALL WRITE

 

; MOVLW 0xb3
; MOVWF COM
;pagesel WRITE
; CALL WRITE

 


;0xc4,0xc3,0xfb,0xd7,0xd6,0xbd,0xd0,0xba,0xab,0xc7,0xef,0xbb,0xb3

 

     pagesel