第8章真彩图像显示.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章真彩图像显示

第8章 真彩图像显示 本项目引入具有32位、三级流水处理功能的ARMCortex-M3内核嵌入式系统——STM32F107单片机,在ST提供的STM32固件库基础上,利用ARM-MDK开发环境,快速、方便地实现彩色液晶真彩图形显示【城市交通地图显示】。通过本项目的学习,了解ARMCortex?-M3内核结构,掌握ARMCortex?-M3 内核单片机的基本应用,及采用MDK开发环境操作、编程和下载方法;了解STM32固件库,并学会使用;了解32位单片机的应用市场及发展动态。 8.1 任务描述 8.2 电路设计 8.3 软件设计 8.1 任务描述 利用AT公司提供的固件库,在给出的用STM32F107【stm32】为控制核心的LED_LCD 目标板上,用MDK开发软件编程,通过两个案例的实验,最终实现项目要求:TFT_LCD显示真彩色图像,实物效果见图8.1。 实现项目案例功能的电路图见图8.2和8.3。图8.2是真彩图像显示系统主要应用模块结构图。8.3是真彩图像显示系统完整电路原理图。 8.2 电路设计 电路原理: 利用STM32F107的PA、PB、PC、PD的部分口,实现8只LED灯流水显示,流水的模式可以通过按键选择。本任务主要是掌握固件库对I/O口的操作,学会MDK操作步骤,学会JTAG调试、下载方法,并简单编程。 利用MDK 与ST固件库实现LCD 显示真彩图像,显示效果见图8.6。 电路原理: 利用STM32F107的PE、PC、PD口,读取SD卡中的图像数据,在320x240彩色液晶屏TFT_LCD,实现真彩LCD图像显示,并通过触摸按键选择图像不同区域的显示。本任务主要是掌握固件库对中断事件的操作,进一步了解Cortex-M寄存器,学会对外设(SD卡)的操作方法,加深MDK操作步骤、JTAG调试、程序下载方法,并能进行略复杂程序的编制、调试。 8.3 软件分析 实现本任务需要有功能的模块程序,除STM32固件库中:处理外设中断服务程序stm32f10x_it(包括按键处理)、时钟寄存器配置程序stm32f10x_rcc、端口设置处理程序stm32f10x_gpio、系统初始化system_stm3210x 、flash处理stm32f10x_flash、 SD卡的读写程序、TFT_LCD驱动显示程序、BMP与JPG图像转换程序。 (1)LED显示主程序(main.c) /************************************************************ 实验名称:流水灯 功 能:实现IO的输入输出,即流水灯和按键功能.左右按键负责控制流水灯方向, 上下控制速度. *************************************************************/ #include stm32f10x.h #include GPIO.h #include GPIO.c /******************************* 函数名称:Delay 功 能:延时 参 数:speed 返回值 :无 *******************************/ void Delay(u16 speed) { u16 i; while(speed!=0) { speed--; for(i=0;i400;i++); } } int main(void) { u16 speed=2000; u8 turn=0; SystemInit(); //系统初始化 GPIO_Configuration(); //端口初始化 while(1) { if(!turn) //向左循环 { LED1_ON; Delay(speed); LED1_OFF; LED2_ON; Delay(speed); LED2_OFF; LED3_ON; Delay(speed); LED3_OFF; LED4_ON; Delay(speed); LED4_OFF; LED5_ON; Delay(speed); LED5_OFF; LED6_ON; Delay(speed); LED6_OFF; LED7_ON; Delay(speed); LED7_OFF; LED8_ON; Delay(speed); LED8_OFF; Delay(speed); } else //向左循环 { LED8_ON; Delay(speed); LED8_OFF; LED7_ON; Delay(

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档