该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

PSR_LAX:

RET

//子程序名称:PUTCHAR(A).;

PUTCHAR: //;在(CXPOS,CYPOS)字符位置写字符子程序

CALL CHARLCDPOS //;设置(CXPOS,CYPOS)字符位置的DDRAM地址

CALL LCDWD // ;写字符

RET

//子程序名称:GETCHAR(A).

GETCHAR: //;在(CXPOS,CYPOS)字符位置读字符子程序

CALL CHARLCDPOS //;设置(CXPOS,CYPOS)字符位置的DDRAM地址

CALL LCDRD ;读字符

RET;

//子程序名称:CHARLCDPOS().;

CHARLCDPOS: // ;设置(CXPOS,CYPOS)字符位置的DDRAM地址

PUSH ACC

ANL CXPOS,#0FH // ;X位置范围(0到15)

ANL CYPOS,#03H // ;Y位置范围(0到3)

MOV A,CYPOS // ;(CXPOS,CYPOS)对应DDRAM地址

CJNE A,#00,LPS_LA1 // ;(第一行)X: 第0----15个字符

MOV A,CXPOS // ; DDRAM: 0----0FH

JMP LPS_LAX

LPS_LA1:CJNE A,#01,LPS_LA2

MOV A,CXPOS // ;(第二行)X: 第0----15个字符

ADD A,#40H // ; DDRAM: 40----4FH

JMP LPS_LAX

LPS_LA2:CJNE A,#02,LPS_LAY

MOV A,CXPOS // ;(第三行)X: 第0----15个字符

ADD A,#10H // DDRAM: 10----1FH

JMP LPS_LAX

LPS_LAY:MOV A,CXPOS //;(第四行)X: 第0----15个字符

ADD A,#50H //;DDRAM: 50----5FH

LPS_LAX:ORL A,#80H //;设置DDRAM地址

CALL LCDWC

POP ACC

RET;

//子程序名称:CHARCURSORNEXT().;

CHARCURSORNEXT: //;置字符位置为下一个有效位置子程序

INC CXPOS //;字符位置加1

ANL CXPOS,#0FH //;字符位置CXPOS的有效范围为(0到15)

MOV R0,CXPOS

CJNE R0,#0,CSN_LAX //;CXPOS为0表示要换行

INC CYPOS

ANL CYPOS,#03H //;字符位置CYPOS的有效范围为(0到3)

CSN_LAX:

RET;

//子程序名称:LCDRESET().;

LCDRESET: //;SMC1604系列液晶显示控制器初始化子程序

MOV A,#38H // ;1604的显示模式字为38H

CALL LCDWC //;显示模式设置第一次

CALL DELAY3MS //;延时3MS

CALL LCDWC // ;显示模式设置第二次

CALL DELAY3MS //;延时3MS

CALL LCDWC //;显示模式设置第三次

CALL DELAY3MS //;延时3MS

CALL LCDWC //;显示模式设置第四次

CALL DELAY3MS //;延时3MS

MOV A,#08H //;显示关闭

CALL LCDWC

MOV A,#01H //;清屏

CALL LCDWC

CALL DELAY3MS //;延时3MS

MOV A,#06H //;显示光标移动设置

CALL LCDWC

MOV A,#0CH //;显示开及光标设置

CALL LCDWC

RET

RET

DELAY3MS: //;延时3MS子程序

MOV R1,#15

DL3_PA: MOV R2,#100

DJNZ R2,$

DJNZ R1,DL3_PA

RET;

//LCDWC,LCDWD,LCDRD为HD44780兼容芯片的MCS51模拟口线方式的基本子程序

//LCDWAITIDLE为内部子程序.//子程序名称:LCDWC(A).

LCDWC: //;送控制字子程序

CALL LCDWAITIDLE //;HD44780液晶显示控制器忙检测

CLR RSPIN //;RS=0 RW=0 E=高脉冲

CLR RWPIN

MOV P1,A

SETB EPIN

NOP

CLR EPIN

RET;

//子程序名称:LCDWD(A).;

LCDWD: //;送数据子程序

CALL LCDWAITIDLE //;HD44780液晶显示控制器忙检测

SETB RSPIN // ;RS=1 RW=0 E=高脉冲

CLR RWPIN

MOV P1,A

SETB EPIN

NOP

CLR EPIN

RET;

//子程序名称:LCDRD().;

LCDRD: //;读数据子程序

CALL LCDWAITIDLE //;HD44780液晶显示控制器忙检测

MOV P1,#0FFH

SETB RSPIN //;RS=1 RW=0 E=高脉冲

SETB RWPIN

SETB EPIN

NOP

MOV A,P1

CLR EPIN

RET;

//子程序名称:LCDWAITIDLE().

LCDWAITIDLE: //;忙检测子程序

PUSH ACC //;正常读写操作之前必须检测LCD控制器状态

MOV P1,#0FFH //;状态字的D7位为0表示LCD控制器空闲,可以

//;进行读写操作

CLR RSPIN //;RS=0 RW=1 E=高电平

SETB RWPIN

SETB EPIN

MOV R0,#20

WTD_PA: NOP ;

JNB P1.7,WTD_LAX //;D7=0 表示LCD控制器空闲,则退出检测

DJNZ R0,WTD_PA //;D7=1 表示LCD控制器忙,则继续检测

//;若忙时间超过100uS,则表示LCD控制器硬件;出错,退出检测

NOP // ;用户可在此设置错误代码,或仿真时设置断点

WTD_LAX:

CLR EPIN

POP ACC

RET

c语言怎么用movc指令,【图片】求助大佬用c语言帮忙编写下程序【c程序吧】_百度贴吧...相关推荐

  1. c语言作业答案运行成功图片,桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验1 C程序的运行环境和最简单的C程序设计...

    成绩:优 评语:做的很不错,加油. 批改时间:2013-11-2 11:52:54 批改老师: 实验1 C程序的运行环境和最简单的C程序设计 学号: 姓名: 实验日期:2013-10-20 1. 实验 ...

  2. C语言显示相位的程序,【图片】求助大佬用c语言帮忙编写下程序【c程序吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 PSR_LAX: RET //子程序名称:PUTCHAR(A).; PUTCHAR: //;在(CXPOS,CYPOS)字符位置写字符子程序 CALL C ...

  3. 用c语言程序画圣诞树,【图片】用C语言画一棵“圣诞树”(前方高能,学渣小心避让!)【广西科技大学吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #define PI 3.14159265359 float sx, sy; float sdCir ...

  4. c4droid语言实现窗口,【图片】[c4droid源码]一个简单的计算器源码_c4droid吧_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //弧度转角度 //接楼上 double htoj(double a) { return 180*a/P; } //产生0~1之间的浮点随机数 doubl ...

  5. c语言ds12c887,【图片】关于DS12C887时间芯片的使用心得【单片机吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面是完整的代码: #include #define uchar unsigned char sbit Time_DS=P1^7; sbit Time_R ...

  6. c语言快递费计算用switch,求助。。关于用switch编写简易计算器

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 case'1': printf("请输入要计算的数字\n"); scanf("%lf",&a); scan ...

  7. python话费充值_【图片】话费充值解决方案(附代码)转载【开发吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 话费充值服务 继上次介绍的流量充值.我们还需要做话费充值,还是在APIX平台找的话费充值服务,http://www.apix.cn/services/sh ...

  8. ue4 开发动作游戏_【图片】第三人称动作游戏开发日志【虚幻4吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天我们继续来制作格斗游戏的角色动作部分.接下来轮到锁链下降和物体拖拽的动作,这2个动作相对于锁链荡漾还是比较简单的. 锁链下降是角色在高处的时候,用机械 ...

  9. php ppt转换成图片格式,帮忙看下,这个程序实现使用office的COM组件将ppt转换为图片...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人比较菜,看不出来为什么,只支持office2003或者是office2007.请问如何能改为更高版本的吗,因为这两个版本只有32位的,在64位系统下调 ...

最新文章

  1. 2019年度CSDN博客之星TOP10榜单揭晓,你上榜了吗?
  2. filewriter判断是否关闭_警示丨小伙用打火机检测煤气罐是否泄漏,瞬间被火焰吞噬!...
  3. 搞不懂的算法-排序篇1
  4. 算法整理:Boyer-Moore 投票算法
  5. 后版权时代——为什么我不看好网易云的音乐社区,而看好腾讯的长音频?
  6. 拿下编程界的奥林匹克世界冠军,22岁的她加入了华为
  7. Python列表以及列表的处理方法
  8. C#发送Email邮件方法总结
  9. mongodb副本集修改配置问题
  10. ue4 运行禁用鼠标_从零开始——三:关闭电脑无用服务提高运行速度
  11. 装饰器模式与代理模式的区别_JS设计模式(三):装饰器模式、代理模式
  12. Android Camera(5)---Android Camera调用流程
  13. Windows与Linux下查看占用端口的进程
  14. 转: gob编解码
  15. bat命令调用rar进行文件夹压缩
  16. 一个厂商网站的SQL安全检测 (啊D、明小子)
  17. Python开发制作酷狗和QQ音乐下载器
  18. 聪明女婿VS刁蛮丈母娘之三十六计【转载】
  19. 非线性动力学 matlab,非线性动力学matlab
  20. 弹出usb大容量储存设备时出问题【无法结束SYSTEM进程情况,explorer.exe重启无用 | 已解决】

热门文章

  1. sencha Touch 2.4 学习之 XTemplate模板
  2. PHP函数spl_autoload_register()用法和__autoload()介绍(转)
  3. 【转】struts1的struts-config.xml的配置说明
  4. 深入系统底层trace
  5. 【LOJ#6036】[雅礼集训2017Day4]编码
  6. 高并发编程基础(线程池基础)
  7. mysql,jdbc、连接池
  8. Java基础——Ajax(一)
  9. NSNtification 在多线程中的运用
  10. 关于 HTTP 请求头的内容