; 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输出口
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 )中
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
上一篇:芯海单片机按开始键后实现闪烁
下一篇:芯海单片机外部中断程序
推荐阅读最新更新时间:2024-03-16 13:21