LCD12864显示程序

  • 格式:doc
  • 大小:31.00 KB
  • 文档页数:7

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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