收藏 分销(赏)

LCD12864显示程序(汇编语言).doc

上传人:pc****0 文档编号:7664767 上传时间:2025-01-11 格式:DOC 页数:7 大小:49KB 下载积分:10 金币
下载 相关 举报
LCD12864显示程序(汇编语言).doc_第1页
第1页 / 共7页
LCD12864显示程序(汇编语言).doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
;实验目的:熟悉12864LCD的使用 ;12864LCD带中文字库 ;编程让12864LCD显示公司名称“深圳乾龙盛电子”,公司电话“075528187975”,公司传真“0755-28187976” ;硬件设置: ;关断所有拨码开关。 #include<p16f877a.inc> ;__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_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 ;“TEL0755-28187975” MOVLW LOW(TAB1C) MOVWF POINT MOVLW HIGH(TAB1C) MOVWF POINT1 MOVLW 10H MOVWF COUNT MOVLW 88H CALL SEND_I CALL QUSHU HAN_WR2D ;“FAX0755-28187976” 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 CALL DELAY1 CALL DELAY1 MOVLW 08H ;关显示 CALL SEND_I CALL DELAY1 MOVLW 0CH ;开显示 CALL SEND_I CALL DELAY1 CALL DELAY1 MOVLW 08H ;关显示 CALL SEND_I CALL DELAY1 MOVLW 0CH ;开显示 CALL SEND_I CALL DELAY1 CALL DELAY1 RETURN ;***********************清屏******************************* CLEAR_P MOVLW 1H ;清除显示 CALL SEND_I RETURN ;***********************取数显示程序*********************** QUSHU CLRF TEMP ;偏移地址清0 QUSHU1 MOVFW TEMP ADDWF POINT,0 ;求偏移地址 MOVWF POINT2 CALL TAB1 ;查表 CALL SEND_D ;送LCD显示 INCF TEMP,1 ;偏移地址加1,查找下一个数据 CALL DELAY DECFSZ COUNT,1 GOTO QUSHU1 RETURN ;************************送数据到LCD*********************** ;写数据子程序 ;RS=1,RW=0,E=高脉冲,D0-D7=数据 ;********************************************************** SEND_D MOVWF TEMP1 ;暂存数据 CALL CHK_BUSY ;判断总线是否忙 BSF RS BCF RW MOVFW TEMP1 MOVWF PORTD ;送出数据 BSF E NOP NOP BCF E RETURN ;************************送命令到LCD*********************** ;写指令子程序 ;RS=0,RW=0,E=高脉冲,D0-D7=指令码 ;********************************************************** SEND_I MOVWF TEMP1 ;暂存命令 CALL CHK_BUSY ;判断总线是否忙 BCF RS BCF RW MOVFW TEMP1 MOVWF PORTD ;送命令 BSF E NOP NOP BCF E RETURN ;************************判断总线是否忙******************** ;测忙碌子程序 ;RS=0,RW=1,E=H,D0-D7=状态字 ;********************************************************** CHK_BUSY BANKSEL TRISD MOVLW 0FFH MOVWF TRISD ;D口设置为输入 CLRF STATUS MOVLW 0FFH MOVWF PORTD BCF RS BSF RW CHECK_BUSY_1 NOP NOP NOP BSF E NOP NOP NOP BTFSS PORTD,7 ;D7为高表示总线忙,为低表示总线空闲 GOTO $+6 NOP NOP NOP BCF E GOTO CHECK_BUSY_1 BCF E BANKSEL TRISD CLRF TRISD ;恢复D口为输出 CLRF STATUS RETURN ;***************************延时程序*************************** DELAY MOVLW 0afH MOVWF 20H MOVLW 0ffh MOVWF 21H DECFSZ 21H,1 GOTO $-1 DECFSZ 20H,1 GOTO $-5 RETURN ;***************************延时程序1************************** ;显示闪烁用 DELAY1 MOVLW 05H MOVWF 22H CALL DELAY DECFSZ 22H,1 GOTO $-2 RETURN ;***************************数据表格************************** TAB1 MOVFW POINT1 MOVWF PCLATH MOVFW POINT2 MOVWF PCL TAB1A dt 0C9,0EE ;深 dt 0DB,0DA ;圳 dt 0C7,0AC ;乾 dt 0C1,0FA ;龙 dt 0CA,0A2 ;盛 dt 0B5,0E7 ;电 dt 0D7,0D3 ;子 TAB1B ;WWW.PIC16.COM dt ' ', ' ', 'W', 'W', 'W', '.', 'P', 'I', 'C', '1','6', '.', 'C', 'O', 'M', ' ' TAB1C ;TEL0755-28187975 dt 'T', 'E', 'L' ,'0' ,'7', '5' ,'5','-', '2', '8','1', '8' ,'7','9' ,'7','5' TAB1D ;FAX0755-28187976 dt 'F', 'A', 'X', '0', '7', '5', '5', '-','2', '8','1', '8', '7', '9', '7', '6' ;***************************源程序结束************************ end
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服