×
嵌入式 > 技术百科 > 详情

芯海自带笔段式LCD

发布时间:2020-06-20 发布时间:
|
;============================================
; filename: 自带笔段式lcd.asm
; chip    : csu1181b
; author  :
; date    : 2012-07-27
;============================================
include csu1181b.inc
;============================================
; program start
;============================================
 
  org   000h
  goto  A1
  ORG   05H
;*******************************************
;   主程序段
;*******************************************  
A1:  BCF   LCDCH,5 ;设置SEG口位LCD输出口
  MOVLW  10110111B ;设置LCDENR
  MOVWF  LCDENR
A2: 
  BSF   NETF,0 ;开模拟电源
  
  MOVLW  LCD2 ;位
  MOVWF  FSR0 ;间接寻址地址
  
  MOVLW  4 ;位数
  MOVWF  90H ; 位数寄存器
  
  MOVLW  0 ;显示内容默认值
  MOVWF  95H ; 显示内容控制寄存器
  
  MOVLW  10 ;加1循环次数
  MOVWF  9AH ;加1循环次数寄存器
  
A3: 
  MOVLW  Q1 ;数据表地址
  ADDWF  95H,0 ;显示内容
  MOVWF  EADRL ;选定后数据表地址
  MOVP ;查表并将数据存到(W)及(EDATH )中
  MOVWF  IND0 ;将W中的数存到间接寻址内的寄存器中
  INCF  FSR0,1 ;间接寻址地址位加1
 
  MOVFW  EDATH ;将EDATH中的数存w中
  MOVWF  IND0 ;将W中的数存到间接寻址内的寄存器中
  INCF  FSR0,1 ;间接寻址地址位加1
  
  DECFSZ  90H,1 ;判断是否显示完4位
  GOTO  A3 ;没显示完则继续显示
  
  MOVLW  LCD2 ;LCD显示位
  MOVWF  FSR0 ;间接寻址地址
  
  MOVLW  4 ;位数
  MOVWF  90H ; 位数寄存器
  
  INCF  95H,1 ;显示内容加1
  CALL  M001  ;延时
  DECFSZ  9AH,1 ;判断是否将内容显示完
  GOTO  A3 ;没显示完则继续显示
  GOTO  A1 ;返回反复执行
;*****************************************************
;   延时子程序段
;***************************************************** 
 
M001: MOVLW  1
  MOVWF  80H
M002: MOVLW  248
  MOVWF  81H
M003: MOVLW  250
  MOVWF  82H
M004: DECFSZ  82H,1
  GOTO  M004 
  DECFSZ  81H,1
  GOTO  M003
  DECFSZ  80H,1
  GOTO  M002
  RETURN
;******************************************* 
;   数据表
;******************************************* 
Q1:
  DW  070DH ;0
  DW  0600H ;1
  DW  030EH ;2
  DW  070AH ;3
  DW  0603H ;4
  DW  050BH ;5
  DW  050FH ;6
  DW  0700H ;7
  DW  070FH ;8
  DW  070BH ;9
  end




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Semtech的LoRa技术携手Chipsafer将牧场连接至云端