92程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

RSEQUP2.0;定义命令/数据选择端为P2.0ENEQUP2.1;定义使能端为P2.1WWREQUP2.2;定义数据读写端为P2.2ORG0HJMPBEGINBEGIN:CLREN;使能端先为低,液晶显示禁止CALLSET_LCD;调显示子程序SET_LCDCALLWCCGRAM;向CCRAM中写入自定义字符子程序MOVA,#00H;把WCCRAM子程序中定义的自定义字符送累加器AMOVB,#15;设置显示位置为第“1”行的第16列CALLLCDP1;调第一行显示子程序LCDP1JMP$;无限循环SET_LCD:;SET_LCD子程序CLREN;清使能端CALLINIT_LCD1;调显示屏初始化子程序INIT_LCD1MOVR5,#10;R5设为10CALLDELAY;延时,LCD初始化15msMOVDPTR,#LMESS1;把要显示的字符串1的地址给数据指针MOVA,#1;把行号“1”送给累加器ACALLLCD_PRINT;调显示输出子程序LCD_PRINTMOVDPTR,#LMESS2;把要显示的字符串2的地址给数据指针MOVA,#2;把行号“2”送给累加器ACALLLCD_PRINT;调显示输出子程序LCD_PRINTRET;返回INIT_LCD1:;液晶显示初始化子程序MOVA,#3CH;8位I/O口初始化CALLWCOM;调写命令子程序WCOMMOVA,#0EH;双列显示,字型使用5*7点阵CALLWCOM;调写命令子程序WCOMMOVA,#04H;光标每次向右移一位,显示屏不移动CALLWCOM;调写命令子程序WCOMMOVA,#01H;清除LCD显示屏CALLWCOM;调写命令子程序WCOMRET;返回LCD_PRINT:;显示输出子程序LCD_PRINTCJNEA,#1,LINE2;如果A≠1,执行LINE2子程序LINE1:MOVA,#80H;如果A=1,送液晶显示第一行的显示地址给ACALLWCOM;调写命令子程序JMPFILL;调逐字符写入子程序FILLLINE2:MOVA,#0C0H;送液晶显示第二行的显示地址给ACALLWCOM;调写命令子程序FILL:CLRA;A清零MOVCA,@A+DPTR;把字符串的首字符送出CJNEA,#0,L1;判断A是否等0,即字符串结束否,不等于0转L1RET;返回L1:CALLWDATA;字符串逐个送出子程序L1,调写数据子程序WDATAINCDPTR;数据指针加1JMPFILL;调逐字符写入子程序FILLRET;返回EN1:;使能信号子程序SETBEN;令使能端EN为高CALLDELAY1;调延时子程序DELAY1CLREN;令使能端EN为低CALLDELAY1;调延时子程序DELAY1RET;返回DELAY1:;延时子程序DELAY1MOVR7,#5DJNZR7,$RETWCOM:;写命令子程序MOVP0,A;把已经送给A的命令再送到P0口CLRRS;清RS,写命令条件之一CLRWWR;清WR,写命令另外一个条件CALLEN1;调使能脉冲子程序EN1RET;返回WDATA:;写数据子程序WDATAMOVP0,A;把已经送给A的显示数据送到P0口SETBRS;设RS为1,写数据条件之一CLRWWR;设WR为0,写数据的另外一个条件CALLEN1;调使能脉冲子程序EN1RET;返回DELAY:;延时子程序DELAYMOVR6,#50D1:MOVR7,#100DJNZR7,$DJNZR6,D1DJNZR5,DELAYRETLMESS1:DBAT89C51-LM016L,0;显示在第一行的字符串,0为结束标志LMESS2:DBZhuQinghuiTest,0;显示在第二行的字符串,0为结束标志LCDP1:;在第一行某列显示字符的子程序PUSHACC;把累加器A中的内容压入堆栈MOVA,B;把B中的内容“15”送给AADDA,#80H;把液晶显示的首行地址加上“15”送入A,得首行末地址CALLWCOM;调命令写入子程序WCOMPOPACC;弹出堆栈内容到A中CALLWDATA;调显示数据写入子程序WDATARET;返回LCDP2:;在第二行第某列显示字符的子程序PUSHACC;把累加器A中的内容压入堆栈MOVA,B;把B中的内容“15”送给AADDA,#0C0H;把液晶显示的第二行地址加上“15”送入A,得第二行末地址CALLWCOM;调命令写入子程序WCOMPOPACC;弹出堆栈内容到A中CALLWDATA;调显示数据写入子程序WDATARET;返回WCCGRAM:;写CGRAM子程序MOVA,#40H;设CGRAM首字符首行地址CALLWCOM;调命令写入子程序SETBRS;设RS为1MOVA,#04H;字符首行编码值送累加器CALLWDATA;调数据写入子程序MOVA,#0AH;字符第二行编码值送累加器CALLWDATA;调数据写入子程序MOVA,#11H;字符第三行编码值送累加器CALLWDATA;调数据写入子程序MOVA,#0AH;字符第四行编码值送累加器CALLWDATA;调数据写入子程序MOVA,#04H;字符第五行编码值送累加器CALLWDATA;调数据写入子程序MOVA,#0AH;字符第六行编码值送累加器CALLWDATA;调数据写入子程序MOVA,#04H;字符第七行编码值送累加器CALLWDATA;调数据写入子程序MOVA,#00H;字符第八行编码值送累加器CALLWDATA;调数据写入子程序RET;返回END;程序结束

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功