访问电脑版页面

导航:老古开发网手机版PIC单片机驱动LCD

PIC单片机实现LCD1602显示字母A

导读:
关键字:
lcd1602显示,PIC单片机,

PIC单片机LCD1602显示单个A字程序

STATUS EQU 3H ;定义状态寄存器地址

PORTA EQU 5H ;定义RA口数据寄存器地址

PORTC EQU 7H ;定义RC口数据寄存器地

PORTD EQU 8H ;定义RD口数据寄存器地址

TRISA EQU 85H ;定义RA口方向控制寄存器地址

TRISC EQU 87H ;定义RC口方向控制寄存器地址

TRISD EQU 88H ;定义RD口方向控制寄存器地址

ADCON1 EQU 9FH ;定义ADC模块控制寄存器1的地址

;********************

Z EQU 2 ;定义0状态位的位地址

RP0 EQU 5 ;定义页选位RP0的位地址

;*********************

RS EQU 2 ;LCD寄存器选择信号脚定义在RD.2脚

RW EQU 1 ;LCD读/写信号脚定义在RD.1脚

E EQU 0 ;LCD片选信号脚定义在RD.0脚

;**********************

ORG 000H

NOP ;放置一条ICD必需的空操作指令

GOTO MAIN

ORG 0008H

MAIN

BSF STATUS,RP0

MOV LW 07H

MOV WF ADCON1 ;设置RA口全部为普通数字IO口

MOV LW 00H ;定义RA口,RC,RD口全部为输出

MOV WF TRISC

MOV WF TRISD

BCF STATUS,RP0

CALL DELAY ;调用廷时,刚上电LCD复位不一定有PIC快

MOV LW 01H

MOV WF PORTC ;清屏

CALL ENABLE

MOV LW 38H

MOV WF PORTC ;8位2行5x7点阵

CALL ENABLE

MOV LW 0FH

MOV WF PORTC ;显示器开、光标开、闪烁开

CALL ENABLE

MOV LW 06H

MOV WF PORTC ;文字不动,光标自动右移

CALL ENABLE

MOV LW 0C0H

MOV WF PORTC ;写入显示起始地址(第一行第一个位置)

CALL ENABLE

MOV LW 41H

MOV WF PORTC ;字母“A”的代码

BSF PORTD,RS

BCF PORTD,RW

BCF PORTD,E

CALL DELAY

BSF PORTD,E

GOTO $

ENABLE

BCF PORTD,RS ;写入控制命令的子程序

BCF PORTD,RW

BCF PORTD,E

CALL DELAY

BSF PORTD,E

RETLW 0

;********************************************

DELAY

;子程序名,也是子程序入口地址

MOV lw 0ffh ;将外层循环参数值FFH经过W

MOV wf 20h ;送入用作外循环变量的20H单元

lp0 MOV lw 0ffh ;将内层循环参数值FFH经过W

MOV wf 21h ;送入用作内循环变量的21H单元

lp1 nop

decfsz 21h,1 ;变量21H内容递减,若为0跳跃

goto lp1 ;跳转到LP1处

decfsz 20h,1 ;变量20H内容递减,若为0跳跃

goto lp0 ;跳跃到LP0处

return ;返回主程序

end ;源程序结束

来源:工程师周亮   作者:lhl545545  2018/12/17 15:58:00
栏目: [ PIC单片机驱动LCD]

相关阅读

PIC单片机驱动LCD模块的设计

PIC单片机显示程序分享

PIC单片机使LCD面板产生闪烁效果的设计

如何采用PIC单片机更新LCD数据

PIC单片机实现LCD1602显示字母A

以PIC单片机为主要核心控制元件的LED模块书写显示屏设计

PIC单片机对数码管的动态扫描显示设计

基于PIC单片机和LCD模块对电流的驱动