版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上专心-专注-专业摘摘 要要LCD 显示屏的技术和产业都取得了长足的发展,作为重要的现代信息发布媒体之一,LCD 显示屏在证券交易、金融、交通、体育、广告等领域被广泛的应用。基于STM32 的 LCD 显示可以更好的满足各种需求,也更便于操作和实现。本系统是利用STM32 开发板配合 SD 卡实现将已存入 SD 卡中的图片循环的显示在 LCD 彩色显示屏上。关键词: STM32 LCD 液晶显示屏 图片显示精选优质文档-倾情为你奉上专心-专注-专业目 录1222223344591010111213精选优质文档-倾情为你奉上专心-专注-专业1 引言随着嵌入式技术的迅猛发展
2、,人机交互界面也越来越显示出它的重要性。本次课程设计主要以 TFTLCD 的 LCD 显示模块,完整的实现了图片的循环显示。TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT) ,可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。目前,显示技术和显示工业的发展迅速。显示技术是传递视觉的信息技术。液晶显示器件 LCD 是当今最有发展前途的一种
3、平板显示器件,它具有很多独到的优异特性。它具有显示信息多、易于多彩化、体积小、重量轻、功耗低、寿命长、价格低、无辐射、无污染、接口控制方便等优点。精选优质文档-倾情为你奉上专心-专注-专业2 总体设计2.1 图片显示的基本原理 JPEG 是最常用的图像文件格式,由一个软件开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。JPEG 格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持 24bit 真彩色,也普遍应用于需要连续色调的图像。2.2 图片显示设计分析针对要实现
4、的功能,采用 STM32 开发板进行设计,它是一款迷你型的开发板,小巧而不小气,简约而不简单。这样,既能做到经济合理又能实现预期的功能。具体要实现的目标为:更新内存卡,即图片可进行变换;定时自动跳转下一幅图片;可以通过按键快速跳到下一幅图片;可以通过按键返回到上一幅图片;初始状态显示本次课设的基本信息;可对显示信息的汉字进行自定义。2.3 系统的结构框图STM322.1 系统结构框图存储图像SD 卡键盘按键LED 提示灯TFTLCD精选优质文档-倾情为你奉上专心-专注-专业3 详细设计3.1 硬件设计3.1.1 芯片介绍STM32 开发板主要采用 STM32F103RBT6 作为 MCU,ST
5、M32F103 的型号众多,我们选择这款的原因是看重其性价比,作为一款低端开发板,选择 STM32F103RBT6是最佳的选择。128K FLASH、20K SRAM、2 个 SPI、3 个串口、1 个 USB、1 个CAN、2 个 12 位的 ADC、RTC、51 个可用 IO 脚,这样的配置无论放到哪里都是很不错的了,更重要的是其价格,不到 13 元的批量价,足以秒杀很多其他芯片了,所以我们选择了它作为我们的主芯片。3.1.2 功能简介开机的时候先检测 SD 卡是否存在,然后初始化 FAT 文件系统,在这之后开始查找根目录下的 PICTURE 文件夹,如果找到则显示该文件夹下面的图片,循环
6、显示,通过按 KEY0 和 KEY1 可以快速浏览下一张和上一张。如果未找到图片文件夹/图片,则提示错误。同样我们也是用 LED0 来指示程序正在运行。 所要用到的硬件资源如下: 1)STM32。 2)外部 LED0。 3)TFTLCD 液晶模块。 4)KEY0,KEY1。 5)SD 卡。精选优质文档-倾情为你奉上专心-专注-专业3.2 软件设计解码是通过 AI_LoadPicFile 函数来实现的,在该函数里面,会先判断文件的类型,来调用不同的解码函数,解码 JPEG 由 Decode 实现,而解码 BMP 则由 Bmp Decode函数实现。AI_LoadPicFile 函数会将图片以合适
7、的大小显示在液晶上(总是不会超过你给定的区域) ,对比输入尺寸大的图片,会自动压缩。解码图片完成后返回解码是否成功的信息。保存 jpegdecode.c,并在工程中新建一个 JPEG 的组,把 jpegdecode.c 加入该组下。 SysInfoGet 函数用于查找各种系统文件/文件夹以及自定义的文件/文件夹等。主要程序如下:int main(void)u8 i; u8 key; FileInfoStruct *FileInfo; u16 pic_cnt=0;u16 index=0; u16 time=0; Stm32_Clock_Init(9);delay_init(72);uart_in
8、it(72,9600); LCD_Init();KEY_Init();LED_Init();SPI_Flash_Init();if(Font_Init()POINT_COLOR=RED; LCD_ShowString(60,50,Mini STM32);LCD_ShowString(60,70,Font ERROR);while(1);POINT_COLOR=BLACK;Show_Str(60,50, 嵌入式课程设计 ,16,0); Show_Str(50,70, 张政 张焱 刘佳萍 ,16,0);Show_Str(60,90, 图片显示系统 ,16,0); Show_Str(60,110,
9、2015 年 7 月 9 日 ,16,0); SD_Initialize();while(FAT_Init() Show_Str(60,130,文件系统错误!,16,0); i= SD_Initialize();if(i)Show_Str(60,150,SD 卡错误!,16,0);delay_ms(500);精选优质文档-倾情为你奉上专心-专注-专业LCD_Fill(60,130,240,170,WHITE); delay_ms(500);LED0=!LED0; while(SysInfoGet(1) Show_Str(60,130,图片文件夹未找到!,16,0); delay_ms(500)
10、; FAT_Init();SD_Initialize();LED0=!LED0;LCD_Fill(60,130,240,170,WHITE); delay_ms(500); Show_Str(60,130,开始显示.,16,0); delay_ms(1000);Cur_Dir_Cluster=PICCLUSTER;while(1)pic_cnt=0; Get_File_Info(Cur_Dir_Cluster,FileInfo,T_JPEG|T_JPG|T_BMP,&pic_cnt);if(pic_cnt=0) LCD_Clear(WHITE); while(1) if(time%2=0)Sh
11、ow_Str(32,150,没有图片请先 COPY 图片到 SD 卡的PICTURE 文件夹,然后重启!,16,0); else LCD_Clear(WHITE);time+;delay_ms(300); FileInfo=&F_Info0;index=1;while(1) Get_File_Info(Cur_Dir_Cluster,FileInfo,T_JPEG|T_JPG|T_BMP,&index);LCD_Clear(WHITE); AI_LoadPicFile(FileInfo,0,0,240,320); POINT_COLOR=RED; Show_Str(0,0,FileInfo-F
12、_Name,16,1);while(1) key=KEY_Scan();if(key=1)break;else if(key=2) if(index1)index-=2;else index=pic_cnt-1;break; delay_ms(1);time+;if(time%100=0)LED0=!LED0;精选优质文档-倾情为你奉上专心-专注-专业if(time3000)time=0;break;index+;if(indexpic_cnt)index=1; void LCD_ShowString(u16 x,u16 y,const u8 *p) while(*p!=0) if(xMAX_
13、CHAR_POSX)x=0;y+=16; if(yMAX_CHAR_POSY)y=x=0;LCD_Clear(WHITE); LCD_ShowChar(x,y,*p,16,0); x+=8; p+; void Show_Str(u16 x,u16 y,u8*str,u8 size,u8 mode)u8 bHz=0; while(*str!=0) if(!bHz) if(*str0 x80)bHz=1; else if(x(LCD_W-size/2) y+=size; x=0; if(y(LCD_H-size)break; if(*str=13) y+=size;x=0; str+; else
14、LCD_ShowChar(x,y,*str,size,mode); str+; x+=size/2; else bHz=0; if(x(LCD_W-size) y+=size;x=0; if(y(LCD_H-size)break; Show_Font(x,y,str,size,mode); 精选优质文档-倾情为你奉上专心-专注-专业 str+=2; x+=size; 3.2.4 程序流程图 Y N系统初始化插入 SD 卡结束否读取数据在 LCD 上显示图片及信息跳到上一幅或下一幅图片3s 后自动跳转到下一幅有键按下?开始图 3.6 程序流程图精选优质文档-倾情为你奉上专心-专注-专业4 实验结
15、果及分析4.1 硬件实验结果4.2 结果分析接通电源后,正确的读取 SD 卡信息后,LCD 液晶显示屏上显示实验题目及制作成员等基本信息。随后自动跳转到图片显示模式。不对实验板进行操作时,每 3 秒会跳转到下一张图片,显示图片及相应的图片信息,由于图片的大小及像素不同,刷新显示的速度也有所不同,图片显示完毕后会伴随 LED 小灯闪烁。 当按下 WK_UP 键,可显示上一张图片;按下 key1 键,显示下一张图片。按下 key0 可对 SD 卡进行更新。图片设定为循环演示。若 SD 卡没插入或内容不识别,屏幕上会有无法读取的提示。按复位键可重新演示。精选优质文档-倾情为你奉上专心-专注-专业5
16、结论本次基于 ARM 的汉字显示系统耗时很久,最后做出的来的功能也是经过反复多次调试才全部达标,是一次很有意义的学习和动手经历。从懵懂嵌入式到在 STM 开发板上成功编写出相应的程序,下载程序,调试成功的那一刻我们的喜悦,是无法用任何语言来加以形容的!本次课程设计很好的锻炼了我们的动手能力以及团队合作能力,使我加深了对嵌入式的认识,并且熟悉了嵌入式系统的设计流程,收获丰硕。让我们开阔了视野,同时也增长了见识,在课余时间发挥想象和积极思考,锻炼了自己的思维能力。在修改程序等设计上我们大胆创新,敢于尝试,并且积极搜查资料,认真分析,选择出最优的程序组合,使整个系统能够按照设计要求稳定运行。通过本次课程设计我们的感受到看再多的课本可能效果也不如实际编程的学习效率高。调试程序比编程本身枯燥的多,但是在某种意义上更加重要。但是实际结果能不能达到还要看调试,要考虑算法逻辑、语法、内存地址等诸多方面。这一点在对硬件编程上体现的尤为明显。本实验最后完成了图片显示的诸多功能,但并没有向其他领域拓展的功能,是比较遗憾的地方。希望在以后能得到很好的弥补!精选优质文档-倾情为你奉上专心-专注-专
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洞见趋势 解码未来福利-2023年企业福利策略和管理趋势调研报告
- 防震知识课件教学课件
- 设计营销课件教学课件
- 股份置换协议书(2篇)
- 南京工业大学浦江学院《税务稽查》2022-2023学年第一学期期末试卷
- 集控化验办公楼施工组织设计
- 防灾减灾说课稿
- 宿淮高速收费大棚施工组织设计
- 《轴对称》说课稿
- 【初中化学】化石能源的合理利用课件-2024-2025学年九年级化学人教版(2024)上册
- 广东电力市场交易基本规则
- 零售业财务管理制度实用文档
- 【本田轿车灯光系统常见故障分析及排除8200字(论文)】
- 甲苯磺酸瑞马唑仑(瑞倍宁)的临床应用
- 博物馆安全管理规章制度
- 学习、弘扬焦裕禄精神
- 一年级上数学一课一练-讲讲算算|沪教版
- 中国智库名录类别索引-政府部门智库
- 包虫病防控方案
- GB/T 18513-2022中国主要进口木材名称
- 建筑公司组织关系架构图
评论
0/150
提交评论