资源描述:
《stm32电子相框设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实习报告实习类型生产实习题目华迪实训报告学院名称信息与科学技术学院专业名称信息工程1班(电子方向)学生姓名严鹏学生学号201213010118指导教师李俊(校外)/余小平(校内)实习地点成都华迪公司实习成绩二〇15年3月二〇15年3月华迪实训报告本次实训是一款基于嵌入式硬件平台的数码相框,主控芯片为基于ARMCortex-M3内核的STM32系列嵌入式处理器,本设计包含主控制器核心板、LCD液晶显示、SD卡存储器等多个功能模块。实现对SD卡里多幅图片以幻灯片形式在TFT屏上动态显示的效果,且带有实时时钟的功能。一.项目简介这将是以数字照片的重显为主要功能的产品,
2、其功能更接近于传统意义上的相框。由于人机界面的限制,为了更方便的重显和浏览以及确定重显的规则,这类产品并不强调有大容量的内存以及丰富的存储卡接口。嵌入式系统具有以下几个重要特征:①系统内核小,由于嵌入式系统一般应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如,ENEA公司的OSE分布式系统,内核只有5KB,而Windows的内核则要大得多。②专用性强,嵌入式系统的个性化很强,其中的软件系统和硬件结合非常紧密,一般要针对硬件进行系统的移植,同时针对不同的任务,往往需要对系统进行较大的更改。另外,程序的编译下载要和系统相结合。③嵌入式系
3、统一般没有系统软件和应用软件的明显区分,不要求其功能的设计及实现过于复杂,这样既利于控制系统成本,也利于实现系统安全。④高实时性的操作系统软件是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性。⑤嵌入式软件开发要想走向标准化,就必须使用多任务操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行,但为了更合理的调度多任务,利用系统资源、系统函数,用户必须自行选配RTOS开发平台。⑥执行的实时性、可靠性,并减少开发时间,保障软件质量。嵌入式系统开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即使完成
4、设计后,用户通常也不能对其中的程序功能进行修改,因此必须有一套基于通用计算机的开发工具和环境才能进行开发。二.功能简介本次我们做的产品的主要特征是:1)可以修改播放方式和播放的时间2)设计了开关机动画。3)设计了主菜单和目录。4)可以动态显示温度。主程序设计本系统先对STM32及其外设进行初始化,再对界面进行初始化,接着根据功能选择而分别进入幻灯片模式或时间模式。按键具体功能如下:按键KEY0:播放下一张图片;按键KEY1:播放上一张图片;按键KEY2:切换幻灯片模式与日期时间模式;按键RESET:系统复位;程序流程图如图4-8所示。三.软件实现intmain(
5、void){u8key;//返回检测按键值u8t=0;//此值用于是否进行RTC的秒更新判断FileInfoStruct*FileInfo;u16pic_cnt=0;//当前目录下图片文件的个数u16index=0;//当前选择的文件编号u16time=0;//控制时间的变量Stm32_Clock_Init(9);//系统时钟设置delay_init(72);//延时初始化uart_init(72,9600);//串口1初始化LCD_Init();//初始化液晶KEY_Init();//按键初始化LED_Init();//LED初始化SPI_Flash_Init
6、();//SPIFLASH使能RTC_Init();//RTC初次可配置时间//EXTIX_Init();//外部中断初始化if(Font_Init())//字库不存在,则更新字库{POINT_COLOR=RED;LCD_ShowString(60,50,"MiniSTM32");LCD_ShowString(60,70,"FontERROR");while(1);}POINT_COLOR=RED;Show_Str(60,50,"CDUT",16,0);Show_Str(40,70,"数码相框",16,0);POINT_COLOR=DARKBLUE;Show_S
7、tr(70,90,"信工一班",16,0);Show_Str(90,110,"严鹏",16,0);Show_Str(60,130,"201503",16,0);Show_Str(50,150,"welcome",16,0);POINT_COLOR=RED;SD_Init();while(FAT_Init())//FAT错误{Show_Str(60,170,"文件系统错误!",16,0);if(SD_Init()){Show_Str(60,190,"SD卡初始化失败!",16,0);//SD卡初始化失败Show_Str(60,210,"请检查SD卡是否插入?",1
8、6,0);}delay_