LCD12864显示程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;实验目的:熟悉12864LCD的使用
;12864LCD带中文字库
;编程让12864LCD显示公司名称“深圳乾龙盛电子”,公司电话“0975”,公司传真“6”;硬件设置:
;关断所有拨码开关。
#include<>
;__CONFIG
_DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_H S_OSC
;芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 #define RS PORTA,5 ;命令/数据选择
#DEFINE RW PORTA,4 ;读/写选择
#DEFINE E PORTA,3 ;使能信号
#DEFINE PSB PORTA,2 ;并口/串口选择(H/L)
#DEFINE RST PORTA,0 ;复位信号
;-----------------------------------------------
LCD_X EQU 30H ;页地址
LCD_Y EQU 31H ;Y地址
COUNT EQU 32H ;循环计数用
COUNT1 EQU 33H ;循环计数用
COUNT2 EQU 34H ;循环计数用
POINT EQU 35H ;查表偏移地址
POINT1 EQU 36H ;查表偏移地址
POINT2 EQU 37H ;查表偏移地址
TEMP EQU 38H ;临时寄存器
TEMP1 EQU 39H ;临时寄存器
;-----------------------------------------------
ORG 0000H ;复位地址
NOP ;ICD需要的空指令
GOTO MAIN ;跳转到主程序
;**********************主程序************************
MAIN
BANKSEL TRISA
CLRF TRISA ;A口输出
CLRF TRISD ;D口输出
BANKSEL ADCON1
MOVLW 06H
MOVWF ADCON1 ;A口全为数字口
CLRF STATUS
BCF RST ;复位LCD
CALL DELAY ;延时一段时间
BSF RST ;清除复位信号
NOP
BSF PSB ;并口通讯
;**************************初始化**********************
MOVLW 30H ;基本指令操作
CALL SEND_I
MOVLW 01H ;清除显示
CALL SEND_I
MOVLW 06H ;指定在写入或读取时,光标的移动方向 CALL SEND_I
MOVLW 0CH ;开显示,关光标,不闪烁
CALL SEND_I
;***********************显示汉字************************
HAN_WR2
CALL CLEAR_P ;清屏
HAN_WR2A ;“深圳乾龙盛电子”
MOVLW LOW(TAB1A)
MOVWF POINT
MOVLW HIGH(TAB1A)
MOVWF POINT1 ;获取表格的首地址
MOVLW 0eH ;数数据字节个数(7个汉字共14字节) MOVWF COUNT
MOVLW 81H ;页地址
CALL SEND_I
CALL QUSHU
HAN_WR2B ;“WWW。PIC16。COM”
MOVLW LOW(TAB1B)
MOVWF POINT
MOVLW HIGH(TAB1B)
MOVWF POINT1
MOVLW 10H
MOVWF COUNT
MOVLW 90H
CALL SEND_I
CALL QUSHU
HAN_WR2C ;“TEL5”
MOVLW LOW(TAB1C)
MOVWF POINT
MOVLW HIGH(TAB1C)
MOVWF POINT1
MOVLW 10H
MOVWF COUNT
MOVLW 88H
CALL SEND_I
CALL QUSHU
HAN_WR2D ;“FAX6”
MOVLW LOW(TAB1D)
MOVWF POINT
MOVLW HIGH(TAB1D)
MOVWF POINT1
MOVLW 10H
MOVWF COUNT
MOVLW 98H
CALL SEND_I
CALL QUSHU
CALL DELAY
CALL FLASH ;调用闪烁程序
CALL CLEAR_P ;清屏
GOTO HAN_WR2 ;返回重新显示
;************************写准备**************************** WR_ZB
MOVLW 30H
CALL SEND_I
MOVFW LCD_Y ;Y地址
CALL SEND_I
MOVFW LCD_X ;页地址
CALL SEND_I
RETURN
;*************************闪烁程序************************* FLASH
MOVLW 8H ;关显示
CALL SEND_I
CALL DELAY1
MOVLW 0CH ;开显示
CALL SEND_I