标题: 这程序什么意思啊 [打印本页]
作者: 信望哈哈 时间: 2015-4-16 12:09
标题: 这程序什么意思啊
RS BIT P2.0 //定义接口
RW BIT P2.1
E BIT P2.2
ORG 0000H
SJMP START
ORG 0030H
START:
LCALL LCDINIT
MAIN:
MOV A,#80H
LCALL BUSY
LCALL WRTC
MOV R2,#04H
MOV DPTR,#TAB1
LCALL DELAY
LCALL WRTD
MOV A,#0C0H
LCALL BUSY
LCALL WRTC
MOV R2,#04H
MOV DPTR,#TAB2
LCALL DELAY
LCALL WRTD
LCALL DELAY1
LCALL DELAY1
MOV A,#01H
LCALL BUSY
LCALL WRTC
MOV A,#80H
LCALL BUSY
LCALL WRTC
MOV R2,#0FH
MOV DPTR,#TAB4
LCALL DELAY
LCALL WRTD
LCALL DELAY1
LCALL DELAY1
MOV A,#01H
LCALL BUSY
LCALL WRTC
MOV A,#80H
LCALL BUSY
LCALL WRTC
MOV R2,#0FH
MOV DPTR,#TAB5
LCALL DELAY
LCALL WRTD
LCALL DELAY1
LCALL DELAY1
MOV A,#01H
LCALL BUSY
LCALL WRTC
LJMP MAIN
LCDINIT:
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#38H
LCALL WRTC
LCALL DELAY
MOV A,#38H
LCALL WRTC
LCALL DELAY
MOV A,#38H
LCALL WRTC
LCALL DELAY
MOV A,#38H
LCALL BUSY
LCALL WRTC
MOV A,#08H
LCALL BUSY
LCALL WRTC
MOV A,#01H
LCALL BUSY
LCALL WRTC
MOV A,#06H
LCALL BUSY
LCALL WRTC
MOV A,#0CH
LCALL BUSY
LCALL WRTC
MOV A,#40H
LCALL BUSY
LCALL WRTC
MOV R2,#40H
MOV DPTR,#TAB3
LCALL BUSY
LCALL WRTD
RET
WRTC:
CLR RS
CLR RW
CLR E
MOV P0,A
LCALL DELAY ;延时5ms
SETB E
LCALL DELAY ;延时5ms
CLR E
RET
WRTD: MOV R1,#00H
AGAIN: MOV A,R1
MOVC A,@A+DPTR
SETB RS
CLR RW
CLR E
MOV P0,A
LCALL DELAY
SETB E
LCALL DELAY
CLR E
INC R1
MOV A,R1
MOV B,R2
CJNE A,B,AGAIN
RET
BUSY:
PUSH ACC
CLR RS
SETB RW
TT0: SETB E
MOV A,P0
CLR E
ANL A,#80H
JNZ TT0
POP ACC
RET
TAB1:
DB 00H,01H,02H,03H
TAB2:
DB 04H,05H,06H,07H
TAB3:
DB 03H,07H,0fH,1FH,1FH,1FH,1FH,1FH
DB 18H,1EH,1FH,1FH,1FH,1FH,1FH,1FH
DB 07H,1FH,1FH,1FH,1FH,1FH,1FH,1FH
DB 10H,18H,1cH,1EH,1EH,1EH,1EH,1EH
DB 0FH,07H,03H,01H,00H,00H,00H,00H
DB 1fH,1FH,1FH,1FH,1FH,0FH,07H,01H
DB 1fH,1FH,1FH,1FH,1FH,1CH,18H,00H
DB 1CH,18H,10H,00H,00H,00H,00H,00H
TAB4: DB " Electrical 516 "
TAB5: DB " CS UNIVERSITY "
DELAY: MOV R6,#10
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
DELAY1:
MOV R3,#30H
DL1:
MOV R4,#26H
DL0:
MOV R5,#82H
DJNZ R5,$
DJNZ R4,DL0
DJNZ R3,DL1
RET
作者: mybigapple 时间: 2015-4-16 21:53
汇编语言写的程序。
RS BIT P2.0 //定义接口
RW BIT P2.1
E BIT P2.2
这几行代码是定义LCD数据命令,读写,使能端。
汇编语言的程序知道得少,不能乱说。懂得大侠来。
作者: 8055 时间: 2015-4-17 07:51
我也不懂,只看出是一个特殊的LCD初始化,没去了解发那些指令是什么意思,然后显示轮流显示4个表格的内容。没有特殊功能,仅仅是一个练习程序。
作者: eclidtf 时间: 2015-4-18 09:59
类似于LCD16**系列的控制程序
,汇编语言
作者: wangkuli 时间: 2015-4-18 11:46
汇编语言不会
作者: 不留余力 时间: 2015-4-19 21:59
没接触汇编语言
作者: liuzhaoxin1020 时间: 2017-3-6 12:47
LCD初始化
作者: davg1 时间: 2017-3-6 22:32
很久不用汇编语言了。
作者: 1125793620 时间: 2017-3-7 12:41
汇编语言。。不会,现在一般都C语言
作者: 伯德的巢穴 时间: 2017-3-7 16:25
试试反编译再读读C?
作者: 黃昭旨 时间: 2017-3-7 16:55
沒有一些些註解我也看不懂你這在寫什麼,麻煩給註解
作者: echo110 时间: 2017-3-7 19:54
汇编,太难了,用c吧还是
作者: yangfu1982 时间: 2017-3-7 20:52
定义各种字节,没想到汇编语言这么有用,想当年我学的通透,如今都忘 了。
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |