大洋洲地图电子报告01.docx
- 文档编号:9433180
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:30
- 大小:281.17KB
大洋洲地图电子报告01.docx
《大洋洲地图电子报告01.docx》由会员分享,可在线阅读,更多相关《大洋洲地图电子报告01.docx(30页珍藏版)》请在冰豆网上搜索。
大洋洲地图电子报告01
摘要
首先根据大洋洲地图描点,再根据点设计了一个通过OCMJ4X8C_3型LCD液晶屏设计了一个显示大洋洲地图的程序。
利用51单片机,输入大洋洲坐标,在LCD液晶屏显示大洋洲地图。
本次课程设计要求使用液晶屏在第一页显示课题名、作者、完成日期,在第二页显示出辽宁省地图。
使用到了OCMJ4X8C_3型LCD液晶屏,在这一次的课程设计中是将LCD液晶屏和单片机相结合使用,所以,还涉及到了51单片机的编程方式及实现方法。
LCD液晶显示器是LiquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
比CRT要好的多,但是价钱较其贵
本次报告中包含了系统工作原理:
OCMJ4X8C_3型液晶显示屏(奥可拉中文集成模块)工作原理、显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。
将单片机和LCD液晶屏相结合使用,从而显示出大洋洲地图。
其包括需求分析,系统工作原理,硬件分析,线路连接,软件设计及调试分析几个模块.
关键词:
LCD液晶屏单片机大洋洲地图
液晶屏显示大洋洲地图设计
1绪论
地图是人们日常工作、学习、旅行经常利用的工具,更是研究地理学及相关科学、从事地理教学工作的重要手段。
随着科学技术的迅速发展以及多学科的相互渗透,地图从内容到形式,从理论到方法,从编制到应用都随之不断发展,从而也就形成了许多不是常规形式或采用特殊材料复制的地图,如有声地图、数字地图、立体地图(包括立体模型、计算机辅助制作的三维透视图、光栅地图、互补色地图等)、盲文地图、发光地图、非纸质地图(包括塑料地图、丝绸地图、珠光膜地图)等,我们统称其为特种地图。
地图大家族中的这些特殊成员丰富和发展了地图学理论,扩大了地图应用的广度和深度,在国民经济建设、国防建设以及日常生活中起着重要的作用。
科技的日益发展,使用液晶屏显示地图也是一种时代的趋势,液晶地图在国内外有着良好的发展前景。
这次的课程设计就是实现将大洋洲地图显示在液晶屏上,实现过程中用到了LCD液晶屏和51单片机。
2需求分析
本实验中用到了LCD液晶屏和51单片机,事先必须先下所对应的大洋洲地图,利用画图程序及EXCEL将此图的轮廓画出,将每个点描出。
将其对应为有轮廓的点为液晶屏亮点,即为二进制的1,其他为不亮的点,即为二进制的0.然后根据所编程序将其对应为十六进制,在液晶屏上显示出来。
3系统工作原理
3.1型液晶显示屏(奥可拉中文集成模块)工作原理
此模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。
提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口(OCMJ4X16A/B无串行接口)。
所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。
内置2M-位中文字型ROM(CGROM)总共提供8192个中文字型(16x16点阵),16K位半宽字型ROM(HCGROM)总共提供126个符号字型(16x8点阵),64x16位字型产生RAM(CGRAM),另外绘图显示画面提供一个64x256点的绘图区域(GDRAM),可以和文字画面混和显示。
提供多功能指令:
画面清除(Displayclear)、光标归位(Returnhome)、显示打开/关闭(Displayon/off)、光标显示/隐藏(Cursoron/off)、显示字符闪烁(Displaycharacterblink)、光标移位(Cursorshift)、显示移位(Displayshift)、垂直画面卷动(Verticallinescroll)、反白显示(By_linereversedisplay)、待命模式(Standbymode)。
表-1OCMJ4X8C_3的引脚说明
引脚
名称
方向
说明
1
VSS
-
GND(0V)
2
VDD
-
SupplyVoltageForLogic(+5V)
3
NC
-
SupplyVoltageForLCD(悬空)
4
RS(CS)
I
H:
DataL:
InstructionCode
5
R/W(STD)
I
H:
ReadL:
Write
6
E(SCLK)
I
EnableSignal,高电平有效
7
DB0
I/O
数据0
8
DB1
I/O
数据1
9
DB2
I/O
数据2
10
DB3
I/O
数据3
11
DB4
I/O
数据4
12
DB5
I/O
数据5
13
DB6
I/O
数据6
14
DB7
I/O
数据7
15
PSB
I
H:
ParallelModeL:
SerialMode
16
NC
-
空脚
17
/RST
I
ResetSignal,低电平有效
18
NC
-
空脚
19
LEDA
-
背光源正极(+5V)
20
LEDK
-
背光源正极(0V)
图1液晶显示电路
3.2串行接口与串行传输介绍
当PSB脚(OCMJ4X16A/B无串行接口,无此引脚)接高电位时,模块将进入并列模式,在并列模式下可由指令DLFLAG来选择8-位或4-位接口,主控制系统将配合(RS,RW,E,DB0..DB7)来达成传输动作。
从一个完整的流程来看,当下设定地址指令后(CGRAM,DDRAM)若要读取数据时需先DUMMYREAD一次,才会读取到正确数据第二次读取时则不需DUMMYREAD除非又下设定地址指令才需再次DUMMYREAD。
在4-位传输模式中,每一个八位的指令或数据都将被分为两个字节动作:
较高4位(DB7~DB4)的资料将会被放在第一个字节的(DB7~DB4)部分,而较低4位(DB3~DB0)的资料则会被放在第二个字节的(DB7~DB4)部分,至于相关的另四位则在4-位传输模式中DB3~DB0接口未使用。
相关接口传输讯号请参考下图说明:
图2液晶显示时序图
图3串行接口时序图
3.3汉字图形显示步骤
1、显示资料RAM(DDRAM)
显示数据RAM提供64x2个字节的空间,最多可以控制4行16字(64个字)的中文字型显示,当写
入显示资料RAM时,可以分别显示CGROM,HCGROM与CGRAM的字型;本系列模块可以显示三种字
型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在DDRAM中
写入的编码选择,在0000H~0006H的编码中将选择CGRAM的自定字型,02H~7FH的编码中将选择半
宽英数字的字型,至于A1以上的编码将自动的结合下一个字节,组成两个字节的编码达成中文字型的编码
BIG5(A140~D75F)GB(A1A0~F7FF),详细各种字型编码如下:
1.显示半宽字型:
将8位资料写入DDRAM中,范围为02H~7FH的编码。
2.显示CGRAM字型:
将16位资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。
3.显示中文字形:
将16位资料写入DDRAM中,范围为A140H~D75FH的编码(BIG5),A1A0H~
F7FFH的编码(GB)。
将16位资料写入DDRAM方式为透过连续写入两个字节的资料来完成,先写入高字
节(D15~D8)再写入低字节(D7~D0)。
2、绘图RAM(GDRAM)
绘图显示RAM提供64x32个字节的记忆空间(由扩充指令设定绘图RAM地址),最多可以控制256x64
点的二维绘图缓冲空间,在更改绘图RAM时,由扩充指令设定GDRAM地址先设垂直地址再设水平地址(连
续写入两个字节的数据来完成垂直与水平的坐标地址),再写入两个8位的资料到绘图RAM,而地址计数器
(AC)会自动加一,整个写入绘图RAM的步骤如下:
1.先将垂直的字节坐标(Y)写入绘图RAM地址。
2.再将水平的字节坐标(X)写入绘图RAM地址。
3.将D15~D8写入到RAM中(写入第一个Bytes)。
4.将D7~D0写入到RAM中(写入第二个Bytes)。
4硬件设计
4.1电路设计
图4电路设计图
4.2LCD液晶屏坐标图及外形尺寸图
图5图形显示坐标图
图6液晶屏外形尺寸图
LCD液晶屏上,横向128个点,竖向64个点,根据横纵坐标来绘制大洋洲地图的轮廓。
首先把大洋洲地图放到坐标纸上,利用EXCEl的将每个对应的点画出,然后记录各个点位置。
把横坐标分成32个16进制数,每个16进制数占4位。
比如第四行,第六个格写入73H,代表在第六格输入点01110011B,1代表液晶屏所对应的点亮,0代表对应的液晶屏上的点不亮。
对应每个点的坐标,用16进制表示,然后根据程序在LCD液晶屏上显示出来,根据液晶屏上显示出来的结果进行图形修正,最后显示出准确的大洋洲地图。
首先应该设置LCD的X轴,Y轴,80C51的计数通道等的地址初始化,然后利用80C51对LCD进行控制,然后将其发送的地址每次移动入口的这些地址。
需移动8次,利用每次返回到链表表头可以将每次汉字与图形循环显示。
而显示汉字字符的计数通道COUNT的地址为#40H,清除A之后就再可以进行扫描并显示图形,显示图形的计数通道COUNT2的地址为#02H,即X轴。
而计数通道COUNT3的地址为#20H,即Y轴。
4.3功能模块设计
根据分析整个系统主要划分两个主模块,即:
51控制模块和LCD显示模块,以及51控制模块中的调用子程序模块,功能模块图如图7所示。
图7系统功能模块图
(1)51控制模块
该模块实现提供控制字,发送数据和命令。
(2)LCD显示模块
该模块实现将数据扫描成地图在LCD上显示出来。
(3)调用子程序模块
扩充指令操作模块,语句如下:
MOVA,#34H:
34H--扩充指令操作
LCALLSEND_I:
写指令子程序,扩充指令操作
基本指令操作模块,语句如下:
MOVA,#30H:
30H--基本指令操作
LCALLSEND_I:
写指令子程序,基本指令操作
绘图模块,语句如下:
MOVA,#80H
LCALLSEND_I:
设定绘图RAM地址
查表模块,语句如下:
MOVCA,@A+DPTR
LCALLSEND_D:
查表指令,调用数据
待命模块,语句如下:
MOVA,#01H
LCALLSEND_I:
待命模式
显示图形模块,语句如下:
MOVDPTR,#TAB5:
显示图形
LCALLPHO_DISP
调用Count模块,语句如下:
MOVA,#34H
LCALLSEND_I:
调用count的数值
输出Y轴值模块,语句如下:
MOVA,LCD_Y
LCALLSEND_I:
输出Y轴值
输出X轴值模块,语句如下:
MOVA,LCD_X
LCALLSEND_I:
输出X轴值
5线路连接
用导线对应连接液晶显示模块的RS、R/W、E、PSB、RST到CPU模块的P3.0、P3.1、P3.2、P3.3、P3.5。
6软件设计
6.1总程序
图8主程序流程图
7调试分析
此次的课程设计中,并不是一帆风顺的,首先描点就不是很顺利,后来借助FIREWORKS画出了,还遇到了在LCD液晶屏上应该显示国家介绍的等文字信息的地方显示出现乱码的现象,在图形显示时有些地方出现了断点和多余点的地方。
经过查阅资料和不断地改调试坐标,还有了解到了一个汉字代表两个byte,所以解决了汉字显示出现乱码和字体对不齐的问题,并且通过在点阵数据后加入H使得最后显示的结果符合要求,不再出现断点和双线的情况。
8结论
在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。
对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。
而对于中文,常用却有6000以上,于是就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。
而剩下的低128位则留给英文字符使用,即英文的内码。
对于图形显示,根据地图的外形,在点阵上找到与其相交的点,相交处的值为1,没有相交的地方,其值为0。
9结束语
这次课程设计,刚拿到题目时有些茫然,在经过同学老师和同学帮助下理解设计题目,了解到了题目的具体要求后开始构思设计题目,将思路细致到各功能模块的实现上,在实现了各功能模块后,再对程序进行测试,以完善整个系统。
开始时对于描点有很大误区,我们用坐标纸一点一点画的,但是无论怎么画还是有断点,后来利用FIREWORKS将每个格都画好,再用实验台反复进行调试终于达到没有断点。
这次课程设计题目的实现过程并不是很顺利的,出现了很多的问题,很多繁琐的东西都需要反复的修改。
然而,播种希望,收获未来,虽然会感到感到无从下手,但通过反复的练习和查阅书籍,使我对微型计算机原理与接口技术有了更多的了解。
我相信,在以后的学习中,以这次课设中得到的经验为基础,我会迈出更加坚实的一步。
感谢能有一次这样锻炼自我的机会,让我对很多知识有了根深入的了解。
参考文献
[1]李刚民,曹巧媛,陈忠平编《单片机原理及实用技术》高等教育出版社2005
[2]刘和平《单片机原理及应用》重庆大学出版社2002
[3]雷思孝等《单片机原理及实用技术》西安电子科技大学出版社2004
[4]陈忠平等《单片机原理及接口》清华大学出版社2005
附录一
RSEQUP3.0;接收信号
STDEQUP3.1;读写指令
SCLKEQUP3.2;时钟信号
PSBEQUP3.3;行列选
RSTEQUP3.5;复位
RS_STUEQU20H.0
RECBITP3.2
PLEBITP3.3
PLLBITP3.4
LCD_XEQU30H
LCD_YEQU31H
COUNTEQU34H
COUNT1EQU35H
COUNT2EQU36H
COUNT3EQU37H
LCD_DATAEQU38H
LCD_DATA1EQU39H
LCD_DATA2EQU3AH
DA_INEQU3BH
WR_COUNT1EQU3CH
WR_COUNT2EQU3DH
;***********************************************
ORG0000H
LJMPSTART
ORG0100H
LJMPSTART1
ORG0200H
START:
NOP
NOP
MOVSP,#5FH
SETBRST
CLRPSB
LGS0:
MOVA,#34H;34H--扩充指令操作
LCALLSEND_I;写指令子程序,扩充指令操作
MOVA,#30H;30H--基本指令操作
LCALLSEND_I;写指令子程序,基本指令操作
MOVA,#01H;清除显示
START1:
MOVR7,#00H;录放音地址,自行选择
CALLPLAYL;电平放音
SJMP$;显示图形
;**************************************
;名称:
RECORD
;功能:
录音
;**************************************
RECORD:
MOVA,R7
LCALLADDR_OUT;设定开始录音地址
CLRREC;控制开始录音
MOVR7,#18;控制延时5s
RECORD1:
LCALLDELAY1S
DJNZR7,RECORD1
SETBREC;释放录音按键
RET
;**************************************
;名称:
PLAYL
;功能:
电平控制放音
;**************************************
PLAYL:
MOVA,R7
LCALLADDR_OUT;设定开始播放地址
CLRPLL;控制播放
MOVR7,#18;控制延时5s
LJMPLGS1
PLAYL1:
LCALLDELAY1S
DJNZR7,PLAYL1
SETBPLL;释放播放按键
RET
;**************************************
;名称:
ADDR_OUT
;功能:
发送地址
;入口:
A(地址)
;**************************************
ADDR_OUT:
RLCA
MOVP1.7,C
RLCA
MOVP1.6,C
RLCA
MOVP1.5,C
RLCA
MOVP1.4,C
RLCA
MOVP1.3,C
RLCA
MOVP1.2,C
RLCA
MOVP1.1,C
RLCA
MOVP1.0,C
RET
;**************************************
;名称:
DELAY1MS
;功能:
延时1MS
;入口:
R6,R5
;**************************************
DELAY1MS:
MOVR4,#249;12M晶振:
1000=2+2+(1+1+2)*249
DELAY1MS1:
NOP
NOP
DJNZR4,DELAY1MS1
RET
DELAY1S:
pushr4
pushr6
pushr7
MOVR4,#4
Delayloop:
MOVr6,#0
DelayLoop1:
MOVr7,#0
DelayLoop2:
NOP
NOP
DJNZr7,DelayLoop2
DJNZr6,DelayLoop1
DJNZr4,Delayloop
POPr7
POPr6
POPr4
RET
;***********************************************
LGS1:
MOVA,#34H
LCALLSEND_I
MOVA,#30H
LCALLSEND_I
MOVDPTR,#TAB1;显示汉字和字符
MOVCOUNT,#40H
MOVA,#80H
LCALLSEND_I;设定绘图RAM地址
LGS2:
CLRA
MOVCA,@A+DPTR
LCALLSEND_D
INCDPTR
DJNZCOUNT,LGS2
LCALLDELAY3
LGS3:
MOVA,#01H
LCALLSEND_I;待命模式
LCALLDELAY2
LCALLDELAY2
LJMPLGS4
RET
LGS4:
MOVA,#34H
LCALLSEND_I
MOVA,#30H
LCALLSEND_I
MOVDPTR,#TAB2;显示汉字和字符
MOVCOUNT,#40H
MOVA,#80H
LCALLSEND_I;设定绘图RAM地址
LGS5:
CLRA
MOVCA,@A+DPTR
LCALLSEND_D
INCDPTR
DJNZCOUNT,LGS5
LCALLDELAY3
MOVA,#01H
LCALLSEND_I;待命模式
LCALLDELAY2
LCALLDELAY2
LJMPLGS6
RET
LGS6:
MOVDPTR,#TAB3;显示图形
LCALLPHO_DISP
LCALLDELAY3
LCALLDELAY3
LJMPLGS7
RET
LGS7:
MOVA,#34H
LCALLSEND_I
MOVA,#30H
LCALLSEND_I
MOVDPTR,#TAB1;显示汉字和字符
MOVCOUNT,#40H
MOVA,#80H
LCALLSEND_I;设定绘图RAM地址
LGS8:
CLRA
MOVCA,@A+DPTR
LCALLSEND_D
INCDPTR
DJNZCOUNT,LGS8
LCALLDELAY3
MOVA,#01H
LCALLSEND_I;待命模式
LCALLDELAY2
LCALLDELAY2
LJMPLGS1
RET
;***********************************************
PHO_DISP:
MOVCOUNT3,#02H;全屏显示图形子程序
MOVLCD_X,#80H
PHO_DISP1:
MOVLCD_Y,#80H
MOVCOUNT2,#20H
PHO_DISP2:
MOVCOUNT1,#10H
LCALLWR_ZB
PHO_DISP3:
CLRA
MOVCA,@A+DPTR
LCALLSEND_D
INCDPTR
DJNZCOUNT1,PHO_DISP3
INCLCD_Y
DJNZCOUNT2,PHO_DISP2
MOVLCD_X,#88H
DJNZCOUNT3,PHO_DISP1
MOVA,#36H
LCALLSEND_I;调用count2的数值
MOVA,#30H
LCALLSEND_I;X轴坐标数值
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
CLRRAM:
MOVLCD_DATA1,#00H;GDRAM写0子程序
MOVLCD_DATA2,#00H
RET
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
WR_ZB:
MOVA,#34H
LCALLSEND_I;调用count的数值
MOVA,LCD_Y
LCALLSEND_I;输出Y轴值
MOVA,LCD_X
LCALLSEND_I;输出X轴值
MOVA,#30H
LCALLSEND_I;X轴坐标数值
RET
;***********************************************
SEND_D:
SETBRS_STU;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大洋洲 地图 电子 报告 01