2.3系统调试
<1)硬件调试:
在P.态下,按SCAL键。
用扁平线连JX9座<2)运行程序或在实验系统处于P.态下,输入[22E0]→[EXEC]。
三.设计结论
液晶显示频上显示:
上海电机学院BX1003+姓名
四.收获与体会
随着仪器、仪表、电子设备等智能化程度的提高,单片机系统的液晶显示模块使用的也越来越广泛。
在单片机与液晶的接口中,关键是要满足液晶的时序要求;在软件编程中,关键是要进行正确的初始化、操作及显示内容的代码。
在这次实验的调试过程中LCD128*64的液晶显示总是显示错位与乱码,经过检查后发现,每个字符的代码后都多打了一个“,”,导致编译装载的程序施行起来都乱码。
LCD显示器每一格都分上下,所以输入空的代码是要考虑一个单位需要两行空格字符,不然就会出现错位。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。
参考文献:
[1]《80x86/Pentiun微机原理与接口技术》余春暄,机械工业出版社,2008.9;
[2]《微机原理与接口技术》吉海彦主编,机械工业出版社,2007.7;
附录一:
程序清单
CODESEGMENT
ASSUMECS:
CODE
PAEQU0FF28H
PCTLEQU0FF2BH
RSNEQU00H。
PC0
RSEQU01H
RWNEQU02H。
PC1
RWEQU03H
ENEQU04H。
PC2
EEQU05H
CS1NEQU08H。
PC4
CS1EQU09H
CS2NEQU0ah。
PC5
CS2EQU0bh
ORG22E0h。
2FE0H
JMPSTART
YRDB?
ZRDB?
PAGDB?
Y16DB?
pag7db?
FLDB?
START:
MOVDX,PCTL
MOVAL,80H
OUTDX,AL
MOVFL,00H
MOVCX,0003H
CALLDELAYXMS
MOVDX,PCTL
MOVAL,EN
OUTDX,AL
MOVAL,RS
OUTDX,AL
MOVAL,CS1
OUTDX,AL
MOVAL,CS2N
OUTDX,AL
MOVAL,RSN
OUTDX,AL
MOVDX,PA
MOVAL,3FH。
WRON
OUTDX,AL
CALLWRITE
MOVCX,0001H
CALLDELAYXMS
MOVDX,PCTL
MOVAL,CS2
OUTDX,AL
MOVAL,CS1N
OUTDX,AL
MOVAL,RSN
OUTDX,AL
MOVDX,PA
MOVAL,3FH
OUTDX,AL
CALLWRITE
MAIN:
。
MOVCX,000FH
MOVBX,OFFSETTAB5
CALLZXL。
DISP1-SCREEN
。
MOVCX,000aH
。
CALLDELAYXMS
。
MOVBX,OFFSETTAB6
。
CALLZXL
。
MOVCX,000FH
。
CALLDELAYXMS
JMP$。
MAIN
ZXL:
MOVDX,PCTL。
DISP1-SCREEN
MOVAL,CS2N
OUTDX,AL
MOVAL,CS1。
DISPL-SCREEN
OUTDX,AL
CALLXPAGE。
SETX,Y,PAG
CALLCOM。
DISP
MOVDX,PCTL
MOVAL,CS1N
OUTDX,AL
MOVAL,CS2。
DISPR-SCREEN
OUTDX,AL
CALLXPAGE。
SETX,Y,PAG
CALLCOM。
DISP
RET
XPAGE:
MOVZR,0c0H。
SETZ,Y,PAG
MOVYR,40H
MOVPAG,0B8H
movpag7,08h
MOVDX,PCTL
MOVAL,EN
OUTDX,AL
MOVAL,RSN。
wrinstruction
OUTDX,AL
MOVDX,PA
MOVAL,ZR。
setz=0
OUTDX,AL
CALLWRITE
MOVDX,PA
MOVAL,YR。
sety
OUTDX,AL
CALLWRITE
MOVDX,PA
MOVAL,PAG。
SETPAG
OUTDX,AL
CALLWRITE
RET
COM:
MOVY16,10H
MOVCX,0040H
MOVDX,PCTL
MOVAL,RS
OUTDX,AL
J44:
pushbx
J4:
MOVAL,CS:
[BX]
MOVDX,PA
OUTDX,AL
pushcx
CALLWRITE
POPCX
incbx。
!
!
!
!
DECY16
CMPY16,0000H
JNZJ42
MOVY16,10H
ADDBX,0010H
J42:
LOOPJ4
NOTFL
CMPFL,00H
JZJ45
popbx
addbx,0010h
J46:
INCPAG
decpag7
cmppag7,00H
jzj43
MOVAL,RSN
MOVDX,PCTL
OUTDX,AL
MOVDX,PA
MOVAL,YR。
sety
OUTDX,AL
CALLWRITE
MOVDX,PA
MOVAL,PAG。
SETPAG
OUTDX,AL
CALLWRITE
JMPCOM
J43:
RET
J45:
popbx
addbx,0070h
JMPJ46
。
----------------------
WRITE:
MOVDX,PCTL
MOVAL,RWN
OUTDX,AL
MOVAL,EN
OUTDX,AL
MOVAL,E
OUTDX,AL
CALLDELAY2MS
MOVAL,EN
OUTDX,AL
RET
DELAY2MS:
MOVCX,78H
LOOP$
RET
DELAYXMS:
PUSHCX
MOVCX,0040H
DELY2:
PUSHCX
MOVCX,3E8H
LOOP$
POPCX
LOOPDELY2
POPCX
LOOPDELAYXMS
RET
TAB5:
。
--文字:
上--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB000H,000H,000H,000H,000H,000H,000H,0FEH,040H,040H,040H,040H,040H,000H,000H,000H
DB000H,040H,040H,040H,040H,040H,040H,07FH,040H,040H,040H,040H,040H,060H,040H,000H
。
--文字:
海--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB010H,060H,001H,0F6H,000H,010H,0F8H,017H,034H,054H,014H,014H,0F4H,004H,004H,000H
DB004H,004H,0FFH,000H,001H,001H,01FH,011H,013H,015H,051H,091H,07FH,011H,011H,000H
。
--文字:
电--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB000H,000H,0F8H,048H,048H,048H,048H,0FFH,048H,048H,048H,048H,0F8H,000H,000H,000H
DB000H,000H,00FH,004H,004H,004H,004H,03FH,044H,044H,044H,044H,04FH,040H,070H,000H
。
--文字:
机--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB008H,008H,0C8H,0FFH,048H,088H,008H,000H,0FEH,002H,002H,002H,0FEH,000H,000H,000H
DB004H,003H,000H,0FFH,000H,041H,030H,00CH,003H,000H,000H,000H,03FH,040H,078H,000H
。
--文字:
学--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB040H,030H,010H,012H,05CH,054H,050H,051H,05EH,0D4H,050H,018H,057H,032H,010H,000H
DB000H,002H,002H,002H,002H,002H,042H,082H,07FH,002H,002H,002H,002H,002H,002H,000H
。
--文字:
院--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB0FEH,002H,032H,04AH,086H,00CH,024H,024H,025H,026H,024H,024H,024H,00CH,004H,000H
DB0FFH,000H,002H,004H,083H,041H,031H,00FH,001H,001H,07FH,081H,081H,081H,0F1H,000H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
。
--文字:
B--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB008H,0F8H,088H,088H,088H,070H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB020H,03FH,020H,020H,020H,011H,00EH,000H,000H,000H,000H,000H,000H,000H,000H,000H
。
--文字:
X--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB008H,018H,068H,080H,080H,068H,018H,008H,000H,000H,000H,000H,000H,000H,000H,000H
DB020H,030H,02CH,003H,003H,02CH,030H,020H,000H,000H,000H,000H,000H,000H,000H,000H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
。
--文字:
1--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB000H,010H,010H,0F8H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB000H,020H,020H,03FH,020H,020H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
。
--文字:
0--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB000H,00FH,010H,020H,020H,010H,00FH,000H,000H,000H,000H,000H,000H,000H,000H,000H
。
--文字:
0--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB000H,00FH,010H,020H,020H,010H,00FH,000H,000H,000H,000H,000H,000H,000H,000H,000H
。
--文字:
3--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16--
DB000H,030H,008H,088H,088H,048H,030H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB000H,018H,020H,020H,020H,011H,00EH,000H,000H,000H,000H,000H,000H,000H,000H,000H
。
--文字:
陈--
。
--宋体12。
此字体下对应的点阵为:
宽x高=16x16