基于stm32--μcos-ii贪吃蛇的设计课程设计论文正文.doc
《基于stm32--μcos-ii贪吃蛇的设计课程设计论文正文.doc》由会员分享,可在线阅读,更多相关《基于stm32--μcos-ii贪吃蛇的设计课程设计论文正文.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、邯郸学院课程设计题 目 基于STM32-C/OS-II贪吃蛇的设计学 生 20120441032028解斐 20120441032025朱利昭20120441032002徐雷指导教师 张志来 讲师年 级 2012级专 业 电子信息工程二级学院 (系、部) 信息工程学院邯郸学院信息工程学院(系、部)2015年7月基于STM32-C/OS-II贪吃蛇的设计摘要 进入新世纪的TFT液晶显示屏的技术和产业都取得了长足的发展,作为重要的现代信息,发布媒体之一TFT液晶显示屏在证券交易、金融、交通、体育、广告等领域被广泛的应用。伴随社会化信息的推进,TFT液晶屏技术也在不断地推陈出新,应用领域愈加广泛。现
2、基于STM32的TFT液晶显示可以更好的满足各种需求,也更便于操作和实现。基于STM32在TFT液晶屏幕上可显示文本及图形,包括汉字和时钟显示。 关键词:TFT液晶显示 STM32开发板 C/OS-II 贪吃蛇目 录摘要1前言31 背景介绍31.1 选题背景31.2 MiniSTM32开发板介绍32 系统硬件设计42.1 开发板简介42.2 LED 灯62.3 按键102.4 TFTLCD 模块103 系统软件设计143.1 LED驱动143.2 按键驱动143.3 TFT-LCD驱动163.4 贪吃蛇实现C语言代码183.5 uC/OS-II软件设计23结论27参考文献28前言目前已有超过8
3、5的无线通信设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。ARM在此方面的应用如:手提式计算机、移动电话、PDA等。 随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上进行了优化,并获得广泛支持。UC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)。同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。 UC/OS-II已经通过联邦航空局(FAA)商用航行器认证,符合航空无线电技术
4、委员会(RTCA)DO-178B标准。 1 背景介绍1.1 选题背景随着信息技术的飞速发展,形式多样的数字化产品已经开始成为继PC机后的信息处理工具,在这种数字化潮流下,嵌入式系统已成为当前研究和应用的热点之一,嵌入式手持设备的视图多媒体应用也越来越广泛。由于嵌入式系统的应用要求及成本因素决定了嵌入式系统在系统资源,包括硬件资源和软件资源方面都是非常精简和高效的。1.2 MiniSTM32开发板介绍MiniSTM32 设计精良,结构小巧!板子的设计充分考虑了成本与功能这两个矛盾面,再结合实际使用的经验及 STM32 的特点,最终确定了这样的设计。STM32 的优异性体现在如下几个方面: 以 8
5、 位机的价格,得到 32 位机,是 STM32 最大的优势。 STM32 拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA 等众多外设及功能,具有极高的集成度。 STM32 仅 M3 内核就拥有 F100、F101、F102、F103、F105、F107、F207、F217 等 8 个系列上百种型号,具有 QFN、LQFP、BGA 等封装可供选择。同时 STM32还推出了 STM32L 和 STM32W 等超低功耗和无线应用型的 M3 芯片。 84 个中断,16 级可编程优先级,并且所有的引脚都可以作为中断输入。STM32 各个外
6、设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。STM32 的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持 SWD 和 JTAG 两种调试口。SWD 调试可以为你的设计带来跟多的方便,只需要 2 个 IO 口,即可实现仿真调试。2 系统硬件设计2.1 开发板简介ALIENTEK MiniSTM32 开发板是一款迷你型的 STM32F103 开发板,小巧而不小气,简约而不简单。该开发板自推出以来,深得广大 STM32 学习者喜爱,总销量超过 1.6W 套。目前最新版本为 V3.0,最新 MiniSTM32 开发板资源图如图 所示:ALIENTEK MiniSTM3
7、2开发板板载资源如下: CPU:STM32F103RBT6,LQFP64,FLASH:128K,SRAM:20K; 1个标准的JTAG/SWD调试下载口 1个电源指示灯(蓝色) 2个状态指示灯(DS0:红色,DS1:绿色) 1个红外接收头,配备一款小巧的红外遥控器 1个IIC接口的EEPROM芯片,24C02,容量256字节 1个SPI FLASH芯片,W25X16,容量为2M字节 1个DS18B20/DS1820温度传感器预留接口 1个标准的2.4/2.8寸LCD接口,支持触摸屏 1个OLED模块接口 1个USB串口,可用于程序下载和代码调试 1个USB SLAVE接口,用于USB通信 1个
8、SD卡接口 1个PS/2接口,可外接鼠标、键盘 1组5V电源供应/接入口 1组3.3V电源供应/接入口 1个启动模式选择配置接口 2个2.4G无线通信接口(24L01和JF24C) 1个RTC后备电池座,并带电池 1个复位按钮,可用于复位MCU和LCD 3个功能按钮,其中WK_UP兼具唤醒功能 1个电源开关,控制整个板的电源 3.3V与5V电源TVS保护,有效防止烧坏芯片。 独创的一键下载功能 除晶振占用的IO口外,其余所有IO口全部引出,其中GPIOA和GPIOB按顺序引出,整个板子尺寸为 8cm*10cm*2cm板上除晶振外的所有的 IO 口全部引出,特别还有 GPIOA 和 GPIOB
9、的 IO 口是按顺序引出的,可以极大的方便大家扩展及使用,另外板载独特的一键下载功能,避免了频繁设置 B0、B1 带来的麻烦,直接在电脑上一键下载。 板载十多种外设及接口,可以充分挖掘 STM32 的潜质。沉金 PCB+全新优质元器件+定制全铜镀金排针/排座+电源 TVS 保护,坚若磐石。各个接口都有丝印标注,使用起来一目了然;接口位置设计安排合理,方便顺手。资源搭配合理,物尽其用。2.2 LED 灯 ALIENTEK MiniSTM32开发板板载了2个LED,DS0和DS1, STM32的IO口可以由软件配置成8种模式:1、输入浮空2、输入上拉3、输入下拉4、模拟输入5、开漏输出6、推挽输出
10、7、推挽式复用功能8、开漏复用功能每个IO口可以自由编程,单IO口寄存器必须要按32位字被访问。STM32的很多IO口都是5V兼容的,这些IO口在与5V电平的外设连接的时候很有优势,具体哪些IO口是5V兼容的,可以从该芯片的数据手册管脚描述章节查到(I/O Level标FT的就是5V电平兼容的)。STM32的每个IO端口都有7个寄存器来控制。他们分别是:配置模式的2个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;1个32位的置位/复位寄存器BSRR;一个16位的复位寄存器BRR;1个32位的锁存寄存器LCKR;这里我们仅介绍常用的几个寄存器,我们常用的IO端口寄存
11、器只有4个:CRL、CRH、IDR、ODR。CRL和CRH控制着每个IO口的模式及输出速率。端口低配置寄存器CRL的描述,如下图所示:该寄存器的复位值为0X4444 4444,从上图可以看到,复位值其实就是配置端口为浮空输入模式。从上图还可以得出:STM32的CRL控制着每个IO端口(AG)的低8位的模式。每个IO端口的位占用CRL的4个位,高两位为CNF,低两位为MODE。这里我们可以记住几个常用的配置,比如0X0表示模拟输入模式(ADC用)、0X3表示推挽输出模式(做输出口用,50M速率)、0X8表示上/下拉输入模式(做输入口用)、0XB表示复用输出(使用IO口的第二功能,50M速率)。C
12、RH的作用和CRL完全一样,只是CRL控制的是低8位输出口,而CRH控制的是高8位输出口。IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。该寄存器各位的描述如下图所示:要想知道某个IO口的状态,你只要读这个寄存器,再看某个位的状态就可以了。ODR是一个端口输出数据寄存器,也只用了低16位。该寄存器为可读写,从该寄存器读出来的数据可以用于判断当前IO口的输出状态。而向该寄存器写数据,则可以控制某个IO口的输出电平。该寄存器的各位描述如下图所示:ALIENTEK MiniSTM32开发板板载的LED硬件连接:2.3 按键 ALIENTEK Mini
13、STM32 开发板总共有 3 个按键,其原理图如下: KEY0 和 KEY1 用作普通按键输入,分别连接在 PC5 和 PA15 上,其中 PA15 和 JTDI 共用了,所以,在使用 KEY0 和 KEY1 的时候,就不能使用 JTAG 来调试了,但是可以用 SWD 调试,这点在使用的时候要注意。KEY0 和 KEY1 还和 PS/2 的 DAT 和 CLK 线共用。 WK_UP 按键连接到 PA0(STM32 的 WKUP 引脚),它除了可以用作普通输入按键外,还可以用作 STM32 的唤醒输入。该按键是高电平触发的。由于 PA0 还是 DS18B20 的输入引脚,而18B20 是有上拉电
14、阻的,所以在使用 WK_UP 按键的时候,请一定要断开 PA0 和 DS18B20 的跳线帽。2.4 TFTLCD 模块 TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。该模块有如下特点:1,2.4/2.8两种大小的屏幕可选。2,320240的分辨率。3
15、,16位真彩显示。4,自带触摸屏,可以用来作为控制输入。5,通用的接口,除了ALIENTEK MiniSTM32开发板,该液晶模块还可以使用在优异特、STMSKY、红牛等开发板上。ALIENTEK MiniSTM32开发板的该模块采用的是显尚光电的DST2001PH TFTLCD,DST2001PH的控制器为ILI9320,采用26万色的TFTLCD屏,分辨率为320240,采用16位的80并口。CS:TFTLCD片选信号。WR:向TFTLCD写入数据。RD:从TFTLCD读取数据。D15:0:16位双向数据线。RST:硬复位TFTLCD。RS:命令/数据标志(0,读写命令;1,读写数据)。8
16、0并口在上一节我们已经有详细的介绍了,这里我们就不在介绍,需要说明的是,TFTLCD模块的RST信号线和OLED模块一样,也是直接接到STM32的复位脚上,并不由软件控制,这样可以省下来一个IO口。另外我们还需要一个背光控制线来控制TFTLCD的背光。所以,我们总共需要的IO口数目为21个。模块的控制器为ILI9320(可能为其他型号,但是他们的设置很相似,除了初始化序列有些区别,其他大都是一摸一样的,这里仅以9320为例介绍),该控制器自带显存,其显存总大小为172820(240*320*18/8),即18位模式(26万色)下的显存量。模块的16位数据线与显寸的对应关系为565方式,如下图所
17、示:最低5位代表蓝色,中间6位为绿色,最高5位为红色。数值越大,表示该颜色越深。接下来,我们介绍一下ILI9320的几个重要命令,因为ILI9320的命令很多,我们这里不可能一一介绍,有兴趣的大家可以找到ILI9320的datasheet看看。里面对这些命令有详细的介绍。这里我们要介绍的命令列表如下:这个命令,有两个功能,如果对它写,则最低位为OSC,用于开启或关闭振荡器。而如果对它读操作,则返回的是控制器的型号。这个命令最大的功能就是通过读它可以得到控制器的型号,而我们代码在知道了控制器的型号之后,可以针对不同型号的控制器,进行不同的初始化。因为93xx系列的初始化,其实都比较类似,我们完全
18、可以用一个代码兼容好几个控制器。R3,入口模式命令。我们重点关注的是I/D0、I/D1、AM这3个位,因为这3个位控制了屏幕的显示方向。AM:控制GRAM更新方向。当AM=0的时候,地址以行方向更新。当AM=1的时候,地址以列方向更新。I/D1:0:当更新了一个数据之后,根据这两个位的设置来控制地址计数器自动增加/减少1,其关系如下图:通过这几个位的设置,我们就可以控制屏幕的显示方向了。R7,显示控制命令。该命令CL位用来控制是8位彩色,还是26万色。为0时26万色,为1时八位色。D1、D0、BASEE这三个位用来控制显示开关与否的。当全部设置为1的时候开启显示,全0是关闭。我们一般通过该命令
19、的设置来开启或关闭显示器,以降低功耗。R32,R33,设置GRAM的行地址和列地址。R32用于设置列地址(X坐标,0239),R33用于设置行地址(Y坐标,0319)。当我们要在某个指定点写入一个颜色的时候,先通过这两个命令设置到改点,然后写入颜色值就可以了。R34,写数据到GRAM命令,当写入了这个命令之后,地址计数器才会自动的增加和减少。该命令是我们要介绍的这一组命令里面唯一的单个操作的命令,只需要写入该值就可以了,其他的都是要先写入命令编号,然后写入操作数。R80R83,行列GRAM地址位置设置。这几个命令用于设定你显示区域的大小,我们整个屏的大小为240*320,但是有时候我们只需要在
20、其中的一部分区域写入数据,如果用先写坐标,后写数据这样的方式来实现,则速度大打折扣。此时我们就可以通过这几个命令,在其中开辟一个区域,然后不停的丢数据,地址计数器就会根据R3的设置自动增加/减少,这样就不需要频繁的写地址了,大大提高了刷新的速度。3 系统软件设计3.1 LED驱动/初始化PA8和PD2为输出口.并使能这两个口的时钟 /LED IO初始化void LED_Init(void)RCC-APB2ENR|=1APB2ENR|=1CRH&=0XFFFFFFF0; GPIOA-CRH|=0X00000003;/PA8 推挽输出 GPIOA-ODR|=1CRL&=0XFFFFF0FF;GPI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 stm32 cos ii 贪吃 设计 课程设计 论文 正文
限制150内