学号:200607440143 姓名:郗猛 学号:200615840163 姓名:苏明涛 正文:
一、实验目的
学习液晶显示的编程方法,了解液晶显示模块的工作原理。 掌握液晶显示模块与单片机的接口方法。 二、所需设备
CPU挂箱、8051CPU模块 三、实验内容
编程实现在液晶显示屏上显示中文汉字。首先,显示器第一行从左到右依次显示“深入科学发展”,然后,第二行倒序依次显示“共创和谐临沂”,而后,整体左移出屏幕,第一组显示完毕。第二组,“弘扬沂蒙精神振兴革命老区”从左到右依次显示,然后整体向右移出。其次,第一组汉字“深入科学发展共创和谐临沂”再次从屏幕左侧依次显示出来,然后第二组“弘扬沂蒙精神振兴革命老区”对应的替换第一组的汉字。以上为一个显示周期。 四、实验原理图
1
五、程序框图 BUSY为0?Y数据输出开始初始化查表读数据N
六、软件程序
REQ EQU P3.5 BUSY EQU P3.4 ORG 0
LJMP start
start: CLR REQ setb busy mov a,#0f4h acall sub2 acall delay MOV A,#0
MOV R3,#01h
MOV R0,#0ach loop1:
JB BUSY,loop1 ACALL SUB1 ACALL delay1 ACALL SUB2 ACALL DELAY1
DJNZ R0,loop1
ACALL DELAY ACALL DELAY MOV A,#0 MOV R3,#01H MOV R0,#0acH
REQ置位BUSY为1?NYREQ复位N数据读完?Y结束2
loop2:
JB BUSY,loop2
ACALL SUB3 ACALL delay1 ACALL SUB2 ACALL DELAY1 DJNZ R0,loop2 ACALL DELAY MOV A,#0 MOV R3,#01h
MOV R0,#03ch
loop3:
JB BUSY,loop3 ACALL SUB1 ACALL delay1 ACALL SUB2 ACALL DELAY1
DJNZ R0,loop3
ACALL DELAY ACALL DELAY MOV A,#00H
MOV R3,#01H
MOV R0,#03cH loop4:
JB BUSY,loop4
ACALL SUB3 ACALL delay1 ACALL SUB2 ACALL DELAY1 DJNZ R0,loop4 ACALL DELAY ACALL DELAY ACALL DELAY ljmp start
DELAY: MOV R5,#10 DEL0:
MOV R1,#06FH
DEL1: MOV R2,#06FH DEL2: DJNZ R2,DEL2 DJNZ R1,DEL1 DJNZ R5,DEL0
RET
delay1: MOV R6,#80 DL2: MOV R7,#7DH
3
DL1: DJNZ R7,DL1 DJNZ R6,DL2 RET SUB2:
MOV P1,A SETB REQ INC R3
loop5:
JNB BUSY,loop5
CLR REQ RET
;显示“深入科学发展共创和谐临沂”
MOVC A,@A+PC
RET
DB 0F0H,01D,00D,41D,78D,0F0H,02D,00D,40D,75D
DB 0F0H,03D,00D,31D,38D,0F0H,04D,00D,49D,07D DB 0F0H,05D,00D,23D,02D,0F0H,06D,00D,53D,25D DB 0F0H,06D,01D,50D,42D,0F0H,05D,01D,33D,57D DB 0F0H,04D,01D,48D,19D,0F0H,03D,01D,26D,45D DB 0F0H,02D,01D,20D,20D,0F0H,01D,01D,25D,18D
SUB1: MOV A,R3
DB
0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H DB
0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H DB
0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H DB
0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H DB
0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H DB
0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H DB
0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H
SUB3: MOV A,R3 ;显示“弘扬沂蒙精神振兴革命老区”
MOVC A,@A+PC RET
DB 0F0H,01D,00D,26D,75D,0F0H,02D,00D,49D,79D DB 0F0H,03D,00D,50D,42D,0F0H,04D,00D,35D,41D DB 0F0H,05D,00D,30D,11D,0F0H,06D,00D,41D,81D DB 0F0H,01D,01D,53D,81D,0F0H,02D,01D,48D,43D DB 0F0H,03D,01D,24D,79D,0F0H,04D,01D,35D,92D DB 0F0H,05D,01D,32D,47D,0F0H,06D,01D,39D,88D
4
DB
0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H DB
0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H DB
0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H DB
0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H DB
0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H DB
0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H DB
0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H END
六、实验步骤 1、实验连线
8051的P1.0~P1.7接DB0~DB7,T0接BUSY,T1接REQ。 2、运行实验程序XM.asm,观察液晶的显示状态。 六、实验结果
可以看到LCD上:起初,第一行从左到右依次显示“深入科学发展”,然后,第二行倒序依次显示“共创和谐临沂”,而后,整体左移出屏幕,第一组显示完毕。第二组,“弘扬沂蒙精神振兴革命老区”从左到右依次显示,然后整体向右移出。其次,第一组汉字“深入科学发展共创和谐临沂”再次从屏幕左侧依次显示出来,然后第二组“弘扬沂蒙精神振兴革命老区”对应的替换第一组的汉字。 七、实验心得
经过这次的课程设计,使得我对单片机进一步的了解,并对单片机产生了浓厚的兴趣,但是我也深深的知道自己的不足之处,比如说对应用指令的不熟悉,大大地加深了我的程序复杂程度。许多在学习过程中不能想通的问题,在程序调试过程中,终于得以解决。对培养既具有扎实理论功底又具有相当实践能力的人才必不可少。在这次的课程中,我发现单片机的作用很大。
在此过程中我还发现到修改完善程序的重要性。当时编完一个程后感觉是正确的。就是这样还要仔细检查自己的程序。考虑到各种可能发生的情况。
经过这次课程设计培养了我们的设计能力以及全面的考虑问题能力。学习的过程是痛苦的但是收获成功的喜悦更是让人激动的。相信通过这次课程设计它对我以后的学习及工作都会产生积极的影响。
5
因篇幅问题不能全部显示,请点此查看更多更全内容