好文档 - 专业文书写作范文服务资料分享网站

嵌入式课程设计报告 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

.

3.2 系统程序设计

3.2.1 LCD 初始化控制端口模块设计

数据和控制端口初始化函数 portinit( ),主要对端口 C 控制寄存器和端口 D 控制寄存器进行配置。从而完成对数据端口 VD[15:0]和控制端口 GPC、GPD 初始化工作。初始化端口模块流程图如图 3-2 所示。

图3-3 端口初始化模块流程图

具体代码如下:

static void Lcd_Port_Init ( void ) {

rGPCUP = 0xffffffff ; // 禁止上拉电阻 rGPDUP = 0xffffffff ; // 禁止上拉电阻 rGPCCON = 0xaaaa02a8 ; // 初始化 VD[7:0] rGPDCON = 0xaaaaaaaa ; // 初始化 VD[15:8] }

3.2.2 LCD 初始化功能模块设计

LCD 要能正常工作,需根据其参数对其进行初始化。LCD 初始化功能模块 Lcd_Init( ),通过配置 LCDCON[5:1]5 个控制寄存器,完成模块初始化工作,主要包括以下 3 个部分:

1. 设定 VCLK 参数、显示模式为 LCD 面板、色彩模式为 16BPP、禁止 LCD

.

.

控制信号和视频输出;

2. 设定 VBPD、VFPD、HBPD、HFPD 参数值;

3. 设置扫描 LCD 时的帧缓冲器开始、结束地址,设定虚拟屏幕的偏移尺寸和结束初始化端口 C 控制寄存器初始化数据端口 VD[15:0]开始初始化端口 D控制寄存器第四章 LCD 全彩显示设计31帧中的视口宽度参数,禁止帧同步、FIFO 中断和临时调色板。初始化模块流程图如图 3-3 所示。

图3-4 初始化功能模块流程图

具体代码如下: void Lcd_Init(void) {

/*CLKVAL=7,16BPP,显示模式:TFT*/

rLCDCON1 = ( LCD_PIXCLOCK << 8 ) | ( 3 << 5 ) | ( 12 << 1 ) ; /*VBPD=20,VFPD=3,VSPW=2*/

rLCDCON2 = ( LCD_UPPER_MARGIN << 24 ) | ( ( LCD_HEIGHT – 1 ) << 14 ) | ( LCD_LOWER_MARGIN << 6 ) | ( LCD_VSYNC_LEN << 0 ) ; /*HBPD=4,HFPD=3*/

rLCDCON3 = ( LCD_RIGHT_MARGIN << 19 ) | ( ( LCD_WIDTH - 1 ) << 8 ) | ( LCD_LEFT_MARGIN << 0 ) ; /*HSPW=18*/ rLCDCON4=0x12 ;

.

.

四、系统调试

4.1 LCD汉字显示实验步骤

1.参照创建好的模板工程dispchar,新建一个工程dispchar,参照dispchar修改dispchar的工程设置,并添加LCD显示函数文件。 2.创建dispchar.c并加入到工程dispchar中。

3.编辑dispchar.c文件,添加Main函数,并在其中执行lcd_init操作。 4.编写一个hzk16显示函数void lcd_disp_hzk16(int x,int y,char *s,int colour),将字符串s以colour颜色显示到LCD的(x,y)处,所使用的汉字库在include\\hzk16.h中以hzk16数组表示。

5.在Main函数中,LCD初始化后,调用lcd_disp_hzk16显示一串汉字。 6.编译dispchar,成功后,下载并运行,观察结果

4.2显示字母和汉字

显示字母‘A’ 显示汉字‘你’

图4-1 显示字母和汉字

.

.

五、总结

在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。课程设计是我们专业课程知识综合应用的实践训练,也是我们迈向社会,从事职业工作前一个必不少的过程。通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。在这次设计过程中,体现出设计ARM驱动程序的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

在此感谢我们的课设老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持。

.

.

参考文献

【1】TDO35STEBI TFT LED specification[Z].Toppoly Optoelec·tronics Corp,2000.

【2】张蛤.32位嵌入式系统硬件设计与调试[M].北京:机械工业出版社,2005. 【3】孙天泽,袁文菊,张海峰.嵌入式设计及Linux驱动开发设计——基于ARM9处理器[M].北京:电子工业出版社,2005.

【4】Corbet J,Rubini A,et a1.Linux设备驱动程序(第二版)[M].魏永明,骆刚,等译.北京:中国电力出版社,2002.

【5】唐泽圣,周嘉玉,李新友.计算机图形学基础[M].北京:清华大学出版社,1995.

.

嵌入式课程设计报告 - 图文

.3.2系统程序设计3.2.1LCD初始化控制端口模块设计数据和控制端口初始化函数portinit(),主要对端口C控制寄存器和端口D控制寄存器进行配置。从而完成对数据端口VD[15:0]和控制端口GPC、GPD初始化工作。初始化端口模块流程图如图3-2所示。图3-3端口初始化模块流
推荐度:
点击下载文档文档为doc格式
5969m0vs1v8c83h0epna2cg5h8inz6016aw
领取福利

微信扫码领取福利

微信扫码分享