LCD几何图形显示课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

第1章设计的研究背景及目的要求 (1)

1.1研究背景 (1)

1.2设计目的 (1)

1.3硬件选择 (1)

1.4设计内容 (1)

第2章设计的方案及基本原理 (2)

2.1方案 (2)

2.2基本原理 (3)

第3章程序设计 (4)

3.1主程序流程图 (4)

3.2设计程序 (4)

第4章调试结果与分析 (5)

4.1调试结果 (5)

4.2结果分析 (5)

结论与体会 (6)

参考文献 (7)

附录 (8)

第1章 LCD几何图形显示设计的研究背景及目的要求

1.1 研究背景

在程序设计方面,凌阳十六位单片机还具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用。

显示器的核心液晶显示器控制器品种繁多,各种控制芯片在控制电路逻辑、控制指令、指标参数等方面各有差异。但对于已带有控制电路的平板点阵式图形液晶显示器,使用者无需关心其控制核心的集成芯片、控制电路等,就可方便地利用它进行开发。

1.2 设计目的

熟悉利用SPLC501液晶显示模组显示几何图形的API函数。

掌握利用液晶显示器显示几何图形的方法。

1.3 硬件选择

装有window系统和仿真环境和PC机一台,十六位单片机实验箱一个。SPCE061A核心及周边电路模块(包含 32 个I/O口),LCD显示模组模块。

1.4 设计内容

LCD显示器上一个实心圆,在实心圆的横向直径画一条横线,并在实心圆上叠加显示汉字:“凌阳科技”,最后向上滚屏。在LCD显示器实现实心圆和汉字的叠加显示。

利用SPLC501 液晶显示模组显示英文(ASCII)字符时,需要对LCD 进行初始化操作,以初始化LCD 内部的供电方式、驱动设置等;在凌阳大学计划提供的SPLC501 液晶显示模组的驱动程序中,提供了对SPLC501 液晶显示模组的初始化程序,除了完成前面所述的操作外,该函数还可以初始化液晶的显示。初始化SPLC501 液晶显示模组后,驱动程序默认设置图形显示模式为覆盖模式,ASCII 字符的字型默认为8×16 的大小,如果需要修改这些参数可以调用对应的函数进行设置。主程序利用C语言编写,调用驱动程序(调动程序已提供在IDE 的安装路\SPCE061A\example\model_Exa\driver\SPLC501driver)。

第2章LCD几何图形显示的设计方案及基本原理

2.1 方案

驱动程序文件SPLC501User.c同样定义了显示几何图形的API函数,在驱动程序文件SPLC501User.h同样定义了显示几何图形的API函数,SPLC501User.h 文件里也对这些函数进行了申明。

void LCD501_Init(unsigned int InitialData)

void LCD501_ClrScreen(unsigned int Mode)

void LCD501_SetPaintMode(unsigned ModeCode)

unsigned int LCD501_GetPaintMode(void)

void LCD501_FontSet(unsinged int Font) //选择显示字符的字体大小unsigned int LCD501_FontGet(void) //获得显示字符的字体大小

void LCD501_Bitmap(unsigned int x,unsigned int y,unsigned int *word) void

LCD501_PutPixel(unsigned int x,unsigned int y)

void LCD501_Line(unsigned int x,unsigned int y,unsigned int e_x,unsigned int e_y) //画直线

void LCD501_Circle(unsigned int x,unsigned int y,unsigned int r,unsigned int Mode) //画圆

void LCD501_Rectangle(unsigned left, unsigned top,unsigned right, unsigned bottom, unsigned Mode)

void LCD501_ScrollUp(unsigned Rows) //屏幕向上滚动

前面七个函数在前面实验里都有详细说明,这里介绍后面四个函数:

1)【API 格式】C:void LCD501_PutPixel(unsigned int x,unsigned int y)

【功能说明】在液晶显示器上画一个点

【参数】x 表示要画点的x 坐标;

y 表示要画点的y 坐标;

【返回值】无

2)【API 格式】C:void LCD501_Line(unsigned int x,unsigned int y,unsigned int e_x,unsigned int e_y)

【功能说明】在液晶显示器上画一条直线;

【参数】x 表示要画的线的x 起点坐标;

y 表示要画的线的y 起点坐标;

e_x 表示要画的线的x终点坐标;

e_y 表示要画的线的y 终点坐标。

【返回值】无

3)【API 格式】C:void LCD501_Circle(unsigned int x,unsigned int y,unsigned int r,unsigned int Mode)

【功能说明】在液晶显示器上画一个圆

【参数】x 表示要画的圆心的x 坐标;

y 表示要画的圆心的y 坐标;

r 表示要画的圆的半径;

Mode 表示绘点模式,其中Mode = M_DOT_CLEAR(0)画圆框;

Mode = M_DOT_SET

【返回值】无

4)【API 格式】C:void LCD501_Rectangle(unsigned left, unsigned top,unsigned right, unsigned bottom,unsigned Mode)

【功能说明】在液晶显示器上画一个矩形

【返回值】无

2.2 基本原理

图2-1硬件连接框图

硬件连接如上图。分别用实验箱跳线连接IOB4与AO,IOB5与RWP,IOB6与EP,IOB9与/CS,IOA8~IOA15与D0~D7:VR、C86和PS都与V3短接,把SPLC501液晶显示模组的时序选择为6800时序。即用跳线把实验箱JP6的所有引针全部短接。

相关文档
最新文档