一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

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

来源:网络整理 发布时间:2018-12-18

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

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的地址

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

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

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 ;源程序结束

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: