嵌入式应用实验报告电子相册.docx

上传人:小飞机 文档编号:3102953 上传时间:2023-03-10 格式:DOCX 页数:6 大小:37.99KB
返回 下载 相关 举报
嵌入式应用实验报告电子相册.docx_第1页
第1页 / 共6页
嵌入式应用实验报告电子相册.docx_第2页
第2页 / 共6页
嵌入式应用实验报告电子相册.docx_第3页
第3页 / 共6页
嵌入式应用实验报告电子相册.docx_第4页
第4页 / 共6页
嵌入式应用实验报告电子相册.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《嵌入式应用实验报告电子相册.docx》由会员分享,可在线阅读,更多相关《嵌入式应用实验报告电子相册.docx(6页珍藏版)》请在三一办公上搜索。

1、嵌入式应用实验报告电子相册上海师范大学 嵌入式应用实验报告 电子相册 1 上海师范大学 目录 一实验目的: . 3 二电子相册功能简介: . 3 三程序流程图: . 3 四中断程序: . 4 五Bmp文件的转换: . 5 六音乐文件的转换: . 7 七图像缩放: . 8 八图像显示: . 8 2 上海师范大学 一实验目的: 1、掌握基本的软件编程能力 2、熟悉STM32F103开发板的结构 二电子相册功能简介: 由两个按键控制相片的的切换,由temper键控制音乐的播放与暂停。 三程序流程图: 初始化系统中I/OL时断端C音钟口D频显示欢迎图检测temper键是否按下?音乐播放状态修改3 上海

2、师范大学 四中断程序: User键下降沿9_5中断Wakeup键下降沿0中断相片序号变量是否溢出?相片序号变量是否溢出?序号加1溢出时序号回到第一幅序号减1溢出时序号回到第三幅按序号显示相片清除中断标志,中断返回按序号显示相片清除中断标志,中断返回 User键连接的是G端口的第8位,Wakeup键连接的是A端口的第0位,temper键连接的是C端口的第13位。 4 上海师范大学 五Bmp文件的转换: 本实验是将bmp图转换为位图数据写进内部Flash的,采用的LCD型号为ILI9325,显示的彩色图片各通道位数为5/6/5,而BMP格式的真彩色图片各通道位数为8/8/8;因此为获得转换数据,在

3、VC+6.0里编写了转换程序。 #include stdio.h #include bmp.h char readPath=13.bmp; char datePath=3_2date.txt; int bmpWidth; int bmpHeight; unsigned short biBitCount; RGBQUAD *pColorTable; unsigned char *pBmpBuf; void getdate; void changeBmp; void main bool bmpread(char *rbmpname); bool bmpwrite(char *wbmpname);

4、int a=bmpread(readPath); if(!a)printf(cannt read the file!); else changeBmp; getdate; void getdate 5 上海师范大学 FILE *fp=fopen(datePath,wb); int i,j; unsigned char *p; int count=bmpWidth*bmpHeight*2; p=pBmpBuf; for(i=0;icount/2;) for(j=0;j15;j+) fprintf(fp,0X%x,pBmpBuf2*i|pBmpBuf2*i+18); i+; fprintf(fp,

5、0X%x,rn,pBmpBuf2*i|pBmpBuf2*i+18); i+; fclose(fp); printf(i=%d,i); void changeBmp int i,j,k=0; unsigned char a3; int lineByte=(bmpWidth*biBitCount/8+3)/4*4; for(i=0;ibmpHeight;i+) for(j=0;j3; a1=a12; a2=a23; pBmpBufk=a2|(a15); k+; pBmpBufk=(a03); k+; printf(k=%d,k); 6 上海师范大学 六音乐文件的转换: 本实验是将wave格式音乐转

6、换为音乐数据写进内部Flash的,wave文件采用的是RIFF格式,音频格式为PCM编码,单声道,8000HZ,128kbps;因此为获得转换数据,在VC+6.0里编写了转换程序。 #include #include #include wave_data.h unsigned char cTxt; long i=0; void main FILE *fp,*fpn; if(fp=fopen(abc.wav,rb)=NULL) printf(cannot open this file !n); fp=fopen(abc.wav,rb); fpn=fopen(abc_data.txt,wb); while(!feof(fp) cTxt=fgetc(fp); fprintf(fpn,%d,cTxt); if(i+1)%16=0) fprintf(fpn,rn); i+; fclose(fp); fclose(fpn); printf(n); printf(i=%dn,i); 7 上海师范大学 七图像缩放: 由于相片是写进内部FLASH的,因此打算采用缩放的方式来减少图片所占的内存,缩放的一般方式是近邻缩放。 八图像显示: 原本的相片显示是按Z字形逐点写进LCD显示的,为了视觉效果好点,增加了几种其他的显示方式等。 8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号