微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 芯海自带笔段式LCD

芯海自带笔段式LCD

时间:04-11 来源:互联网 点击:

;============================================
; filename: 自带笔段式lcd.asm
; chip : csu1181b
; author :
; date : 2012-07-27
;============================================
include csu1181b.inc
;============================================
; program start
;============================================

org000h
gotoA1
ORG05H
;*******************************************
;主程序段
;*******************************************
A1:BCFLCDCH,5 ;设置SEG口位LCD输出口

MOVLW10110111B ;设置LCDENR
MOVWFLCDENR
A2:
BSFNETF,0 ;开模拟电源

MOVLWLCD2 ;位
MOVWFFSR0 ;间接寻址地址

MOVLW4 ;位数
MOVWF90H ; 位数寄存器

MOVLW0 ;显示内容默认值
MOVWF95H ; 显示内容控制寄存器

MOVLW10 ;加1循环次数
MOVWF9AH ;加1循环次数寄存器

A3:
MOVLWQ1 ;数据表地址
ADDWF95H,0 ;显示内容
MOVWFEADRL ;选定后数据表地址
MOVP ;查表并将数据存到(W)及(EDATH )中

MOVWFIND0 ;将W中的数存到间接寻址内的寄存器中
INCFFSR0,1 ;间接寻址地址位加1

MOVFWEDATH ;将EDATH中的数存w中
MOVWFIND0 ;将W中的数存到间接寻址内的寄存器中
INCFFSR0,1 ;间接寻址地址位加1

DECFSZ90H,1 ;判断是否显示完4位
GOTOA3 ;没显示完则继续显示

MOVLWLCD2 ;LCD显示位
MOVWFFSR0 ;间接寻址地址

MOVLW4 ;位数
MOVWF90H ; 位数寄存器

INCF95H,1 ;显示内容加1
CALLM001 ;延时
DECFSZ9AH,1 ;判断是否将内容显示完
GOTOA3 ;没显示完则继续显示
GOTOA1 ;返回反复执行
;*****************************************************
;延时子程序段
;*****************************************************

M001:MOVLW1
MOVWF80H
M002:MOVLW248
MOVWF81H
M003:MOVLW250
MOVWF82H
M004:DECFSZ82H,1
GOTOM004
DECFSZ81H,1
GOTOM003
DECFSZ80H,1
GOTOM002
RETURN
;*******************************************
;数据表
;*******************************************
Q1:
DW070DH ;0
DW0600H ;1
DW030EH ;2
DW070AH ;3
DW0603H ;4
DW050BH ;5
DW050FH ;6
DW0700H ;7
DW070FH ;8
DW070BH ;9

end

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top