LM016L用proteus仿真没有显示
完全按步就搬,编译也通过了,就是没有显示.不知道为什么?ORG0000HLJMPMAINRSBITP2.0RWBITP2.1ENBITP2.2MAIN:;主程序LCALL...
完全按步就搬,编译也通过了,就是没有显示.不知道为什么?
ORG 0000H
LJMP MAIN
RS BIT P2.0
RW BIT P2.1
EN BIT P2.2
MAIN: ;主程序
LCALL INITIAL_LCD ;初始化LCD
LCALL WRITE_CGRAM
MOV A,#08H ;设置DDRAM地址
LCALL WR_CMD
LCALL WRITE_CHAR
SJMP $
DELAY:
MOV R6,#0AH
LOOP2:
MOV R7,#27H
LOOP1:
DJNZ R7,LOOP1
DJNZ R6,LOOP2
RET
WRITE_CGRAM: ;在CGRAM写"学习"字子程序
MOV A,#40H ;设置CGRAM地址
LCALL WR_CMD
MOV R1,#10H
MOV DPTR,#TABLE
LOOP_CGRAM:
MOV A,#00H
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ R1,LOOP_CGRAM
RET
WRITE_CHAR: ;显示5个字符子程序
MOV R1,#5H
MOV DPTR,#TABLE_DISP
LOOP_MAIN:
MOV A,#00H
MOVC A,@A+DPTR
INC DPTR
LCALL WR_DATA
DJNZ R1,LOOP_MAIN
RET
WR_CMD: ;写指令函数
CLR EN ;清使能信号
CLR RS ;RS=0,RW=0 写指令
CLR RW
MOV P0,A
SETB EN
LCALL DELAY
CLR EN
RET
WR_DATA: ;写数据函数
CLR EN ;清使能信号
SETB RS ;RS=1,RW=0写数据
CLR RW
MOV P0,A ;送数据
SETB EN ;设置使能信号
LCALL DELAY ;延时
CLR EN
RET
INITIAL_LCD: ;初始化LCD
MOV A,#38H
LCALL WR_CMD
MOV A,#0EH ;显示开关设置
LCALL WR_CMD
MOV A,#06H ;输入方式设置
LCALL WR_CMD
MOV A,#01H ;清屏指令
LCALL WR_CMD
RET
TABLE:
DB 15H,1FH,11H,0EH,02H,1FH,02H,00H ;"学"字
DB 1FH,01H,09H,05H,09,11H,03H,00H ;"习"字
TABLE_DISP:
DB 00H,01H,4DH,43H,55H ;"学习MCU"字符码
END 展开
ORG 0000H
LJMP MAIN
RS BIT P2.0
RW BIT P2.1
EN BIT P2.2
MAIN: ;主程序
LCALL INITIAL_LCD ;初始化LCD
LCALL WRITE_CGRAM
MOV A,#08H ;设置DDRAM地址
LCALL WR_CMD
LCALL WRITE_CHAR
SJMP $
DELAY:
MOV R6,#0AH
LOOP2:
MOV R7,#27H
LOOP1:
DJNZ R7,LOOP1
DJNZ R6,LOOP2
RET
WRITE_CGRAM: ;在CGRAM写"学习"字子程序
MOV A,#40H ;设置CGRAM地址
LCALL WR_CMD
MOV R1,#10H
MOV DPTR,#TABLE
LOOP_CGRAM:
MOV A,#00H
MOVC A,@A+DPTR
LCALL WR_DATA
INC DPTR
DJNZ R1,LOOP_CGRAM
RET
WRITE_CHAR: ;显示5个字符子程序
MOV R1,#5H
MOV DPTR,#TABLE_DISP
LOOP_MAIN:
MOV A,#00H
MOVC A,@A+DPTR
INC DPTR
LCALL WR_DATA
DJNZ R1,LOOP_MAIN
RET
WR_CMD: ;写指令函数
CLR EN ;清使能信号
CLR RS ;RS=0,RW=0 写指令
CLR RW
MOV P0,A
SETB EN
LCALL DELAY
CLR EN
RET
WR_DATA: ;写数据函数
CLR EN ;清使能信号
SETB RS ;RS=1,RW=0写数据
CLR RW
MOV P0,A ;送数据
SETB EN ;设置使能信号
LCALL DELAY ;延时
CLR EN
RET
INITIAL_LCD: ;初始化LCD
MOV A,#38H
LCALL WR_CMD
MOV A,#0EH ;显示开关设置
LCALL WR_CMD
MOV A,#06H ;输入方式设置
LCALL WR_CMD
MOV A,#01H ;清屏指令
LCALL WR_CMD
RET
TABLE:
DB 15H,1FH,11H,0EH,02H,1FH,02H,00H ;"学"字
DB 1FH,01H,09H,05H,09,11H,03H,00H ;"习"字
TABLE_DISP:
DB 00H,01H,4DH,43H,55H ;"学习MCU"字符码
END 展开
3个回答
展开全部
将用户程序编译为HEX文件。
利用模型复现实际系统中发生的本质过程,并通过对系统模型的实验来研究存在的或设计中的系统,又称模拟。这里所指的模型包括物理的和数学的,静态的和动态的,连续的和离散的各种模型。所指的系统也很广泛,包括电气、机械、化工、水力、热力等系统,也包括社会、经济、生态、管理等系统。当所研究的系统造价昂贵、实验的危险性大或需要很长的时间才能了解系统参数变化所引起的后果时,仿真是一种特别有效的研究手段。仿真的重要工具是计算机。仿真与数值计算、求解方法的区别在于它首先是一种实验技术。仿真过程包括建立仿真模型和进行仿真实验两个主要步骤。
利用模型复现实际系统中发生的本质过程,并通过对系统模型的实验来研究存在的或设计中的系统,又称模拟。这里所指的模型包括物理的和数学的,静态的和动态的,连续的和离散的各种模型。所指的系统也很广泛,包括电气、机械、化工、水力、热力等系统,也包括社会、经济、生态、管理等系统。当所研究的系统造价昂贵、实验的危险性大或需要很长的时间才能了解系统参数变化所引起的后果时,仿真是一种特别有效的研究手段。仿真的重要工具是计算机。仿真与数值计算、求解方法的区别在于它首先是一种实验技术。仿真过程包括建立仿真模型和进行仿真实验两个主要步骤。
展开全部
用Proteus仿真,要求将用户程序编译为HEX文件,“装入”CPU中。而且如果是与Keil联调的话,两个软件都要做一些设置。
追问
可我之前做的按键扫描程序没有出HEX文件, 也能点亮数码管啊!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VEE,没有接线?
看看我的百度空间,里面有实例。
看看我的百度空间,里面有实例。
更多追问追答
追问
能直接链接一下吗?
追答
留下邮箱吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询