基于STM32的USB简易鼠标毕业设计论文

基于STM32的USB简易鼠标毕业设计论文
基于STM32的USB简易鼠标毕业设计论文

毕业设计 [论文] 题目:基于STM32的USB简易鼠标设计

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日

导师签名:日期:年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

摘要

随着设备的越来越智能化,嵌入式计算机大量应用到各种电子设备中,基于嵌入式系统的USB鼠标及键盘的应用也变得越来越广泛。在本次设计中,研究的是一款基于STM32的USB鼠标,即插即用,免驱动自动识别,很好的解决了鼠标设备智能化和低延迟的设计要求。由于是基于HID的USB设备,所以编程非常方便,贴近工程实践,应用前景广阔。

嵌入式系统HID,即人机接口设备,是Human Interface Device的缩写。HID 是计算机周边设备中非常常见的设备类型,是可以直接与进行人交互的USB设备,例如鼠标、摄像头、U盘等。在种类繁多USB设备中,HID类设备的成本一般情况下是比较低的。实际上,只要是符合HID标准的设备都是HID设备,不一定非要具有人机交互功能。最早支持HID设备的计算机操作系统是Windows98系统。 HID 设备的驱动程序内置在这些系统中,不需要单独开发与安装驱动,应用程序可以直接使用这些驱动程序来与设备通信。

近年来,受计算机性能提升和游戏软件等的影响,人们对鼠标的要求越来越高,特别是一些即时作战游戏,人们希望能达到“零”延迟,这就对原来的鼠标技术提出了挑战。老式的圆孔鼠标早已不再适用,特别是笔记本电脑根本不再设计老式插孔。随着USB2.0以及USB3.0的不断完善,再加上高速而价廉的单片机,一款基于STM32的USB简易鼠标正是本课题的研究内容。本文主要研究基于STM32的USB简易鼠标系统的功能、设计思想和实现,以及基于STM32的USB简易鼠标的组成及工作原理,描述了研究该课题的意义和应用价值。本设计的重点在于USB 协议的HID部分,精通此协议并植入单片机才能实现计算机与鼠标的沟通。

关键词: USB 技术; HID 协议; STM32单片机;鼠标

Abstract

As more and more intelligent devices, embedded computers applied to the large variety of electronic devices, embedded systems USB mouse and keyboard applications are becoming more and more widespread.In this design, the study is a based on the STM32 USB mouse, plug and play, driver-free automatic identification, a good solution to the mouse device intelligence and low-latency design requirements.Because it is based on HID USB device, so the programming is very convenient, close to the engineering practice, the application prospects.

Embedded systems HID, namely human interface devices, is an abbreviation for Human Interface Device. HID is a computer peripheral device in a very common device types, people can interact directly with the conduct of USB devices, such as a mouse,camera, U disk and so on.In a wide range of USB devices, under HID class devices generally cost is relatively low.In fact, as long as a HID-compliant devices are HID device does not necessarily have to have interactive features.The earliest HID devices supported computer operating system is Windows98 system.HID device drivers built into these systems, the need for separate development and install the driver, an application can use these drivers to communicate with the device.

In recent years, the impact of computer and game software performance by, people have become increasingly demanding of the mouse, especially some instant combat game, people want to be able to achieve "zero" delay, which the original mouse technology presents a challenge .Old-fashioned mouse the hole is no longer applicable, especially notebook computers designed simply no longer the old jack.With the continuous improvement USB2.0 and USB3.0, coupled with high speed and low cost microcontroller, a research based on the STM32 USB simple mouse precisely this topic. This article is mainly based on the STM32 USB simple mouse systems design and implementation, as well as easy on the STM32 USB mouse and work principle, it describes the subject of research and practical value.The design focuses on some USB HID protocol, proficient in this agreement and in order to achieve single-chip implanted communication computer mouse.

Keywords: USB technology; HID protocol; STM32 microcontroller; mouse

目录

摘要 ............................................................... I I Abstract ............................................................ I I 目录 ............................................................... I II 第1章引言 . (1)

1.1 课题背景 (1)

1.2 基于STM32的USB鼠标的设计研究方法及目标 (1)

1.3 USB鼠标国内外研究现状 (2)

第2章 USB协议概述 (3)

2.1 USB简介 (3)

2.2 USB的拓扑结构 (3)

2.3 USB的电气特性 (4)

2.4 USB描述符 (4)

2.5 USB的包结构 (5)

2.5.1令牌包 (5)

2.5.2数据包 (6)

2.5.3握手包 (6)

2.5.4特殊包 (6)

2.6 USB的传输类型 (7)

第3章 STM32及MDK简介 (8)

3.1 STM32简介 (8)

3.2 MDK的使用 (8)

第4章 USB鼠标的实现 (10)

4.1 USB简易鼠标的程序编写 (10)

4.2 USB鼠标的运行 (12)

4.3 硬件实现 (12)

设计总结 (14)

附录 (15)

附录A main.c (15)

附录B usb_desc.c (19)

附录C hw_config.c (26)

附录D usb_prop.c (38)

参考文献 (51)

致谢 (1)

第1章引言

1.1 课题背景

USB 接口是串行总线通信端口,支持即插即用,在计算机领域应用非常广泛。HID设备是一种可以进行人机交互操作的设备,在USB设备中占有重要地位,可以辅助计算机进行各种操作,如常用的电脑摄像头、手写板等设备。一般USB设备的研发非常困难,不但要严格遵守USB协议,还要编写驱动程序。但HID设备使用的是操作系统自带的HID 驱动程序,免去了驱动程序的编写,加快了开发效率,因此一些简单的USB 设备,都喜欢枚举成HID 设备。USB接口不但具有热插拔功能而且还是即插即用的,非常方便。USB接口在理论上最多可以同时连接127个外设,如游戏手柄、手写板、键盘等。USB协议最早在1996年提出,经过多年的发展USB版本到现在已经发展为3.0版本。

从1975年第一个单片机产生后经过四代的发展,目前单片机具有生命周期长、接口内容丰富、运算速度快、低电压低功耗、价格便宜等优点。本次设计中使用的STM32是一款基于Cotex-M3内核的32位处理器。这款处理器具有低成本、高性能的有点,非常适合USB鼠标的设计。

鼠标自从1968年美国科学家研制出来后,基于其方便快捷操作简单等优点很快成为家喻户晓的产品,是现在每台电脑都必须配备的电子产品。从有线到无线,从滚球到光电,鼠标经过一代代的发展可以说是品种繁多,价格也是十几元到几千元的都有。在选购鼠标时,我们一般会挑选外观漂亮延迟小的产品,无论什么样的鼠标,目的只有一个,那就是舒适好用。。所以不管计算机发展到什么程度,只要有人用鼠标,鼠标的研制与开发都是必须的。

1.2 基于STM32的USB鼠标的设计研究方法及目标

想让计算机把一个HID 设备识别为鼠标设备,要完成的主要工作是修改HID 设备的标准描述符。HID 设备的描述符主要包括5 个USB 的标准描述符和3 个HID 设备类特定描述符。通过修改描述符可以将HID 设备枚举为鼠标。本次设计使用C语言进行程序的编写。

本文所讲述的USB鼠标是采用STM32来实现的。它自身带的USB模块符合USB2.0规范和OTG1.3规范,支持全速12Mbps和低速1.2Mbps两种模式。而且STM32官方封装了很多库函数,对于编写USB驱动节省了很多时间。本次设计通过把符合HID协议的程序烧录到STM32开发板中,由开发板的四个按键控制window窗口

光标的移动。

1.3 USB鼠标国内外研究现状

从原始鼠标、机械鼠标、光电鼠标(光学鼠标,激光鼠标)再到如今的触控鼠标,鼠标技术经历了漫漫征途终于修成正果。与主流PC部件相比,鼠标的技术革新显得非常保守,从道格拉斯博士的原始鼠标,再到后来的纯机械鼠标、光电鼠标、光机鼠标,以及光学鼠标,鼠标技术只经历寥寥几次大变革,其中真正算得上成功的其实只有光机鼠标和光学鼠标,它们也是当前鼠标技术的主流形态。其中,光机鼠标为过去的主流,我们一般也将它俗称作“机械鼠标”。对于光学鼠标,则是现在鼠标技术的发展方向,它已经大面积取代过时的光机鼠标产品。现在光学鼠标的技术相当完善,基本上每个人用的都是光学鼠标。但不管是哪一种鼠标都少不了和USB打交道,特别是USB3.0出现以后,基于USB的设备已经是电子产品研发的主流。

第2章 USB协议概述

2.1USB简介

USB是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线的标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术。USB传输速度极快,使用很方便,它可以连接非常多的外设,比如:手写板、游戏手柄、U盘等。

现在USB设备已进入千家万户,应用之所以如此广泛,优点主要有以下几点: 1、支持热插拔,也就是即插即用。这让用户在使用外接设备时不需要进行关机再开机就可以完成硬件的安装,分分钟就可以使用,省时省力。

2、标准统一。常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可以有了USB之后,这些应用外设统统可以用USB接口与PC连接,这时就有了USB硬盘、USB鼠标、USB网卡等一系列设备。

3、可以连接多个设备。USB在PC上往往具有多个接口,可以同时连接多个外设,最高可连接127个设备。

USB协议出现过的版本有USB1.0、USB1.1、USB2.0以及现在最新的USB3.0。USB的结构是主从模式,设备与设备之间不能互连,主机与主机之间也不能互连,于是就产生了USB OTG。USB OTG就是让同一个设备在不同场合下实现主机与从机之间的切换。在传输速度上,USB1.0和USB1.1版本只支持1.5Mb/s的低速模式和12Mb/s的全速模式。USB2.0中不仅支持这两种模式,还增添了速度更快的480Mb/s 的高速模式。现在USB3.0已经非常完善,最新发布的计算机产品都带有USB3.0接口,其最大传输速度更是达到恐怖的5.0Gbps。

2.2USB的拓扑结构

前面提到,USB是一种主从结构的系统。主机在一般情况下都会具有一个或多个USB主控制器(host controller)和根集线器(root hub)。主控制器下虽然只有一个根集线器,但一般情况下根集线器上都有多个USB口。USB集线器是一种特殊的USB设备,是在USB接口不够用时扩展USB口用的。集线器虽然可以扩展出更多的USB口,但不能扩展出更多的带宽,带宽还是共享的。所以最好不要把多个USB设备接到同一个USB端口上。

我们可以在电脑的设备管理器中是查看USB主控制器和USB根集线器的。对于window7系统,右击“计算机”,在弹出的菜单中选择“管理”,在“计算机

管理”选项卡中单击“设备管理器”,就可以查看计算机设备的属性了,在这里可以查看驱动程序信息、设备的PID和VID等。在“设备管理器”中找到“通用串行总线控制器”并把它展开,就可以看到USB主控制器和根集线器了。USB的拓扑结构为金字塔型,塔顶为主控制器和根集线器,下面是通过USB集线器拓展的多个USB口。在Windows中,由各种USB功能驱动程序负责产生和管理USB功能设备(FOD),即我们最终所看到的设备。

2.3USB的电气特性

标准的USB连接线使用四芯电缆:5V电源线、差分数据线负(D‐)、差分数据线正(D+)及地(GND)。在USB OTG中又增加了一种MINI USB接头,使用五条线,比标准USB多一条身份识别线。USB使用的是NRZI编码方式,即数据为0时电平翻转,数据为1不翻转。因为电平长时间不发生变化会不利于时钟信号的提取,所以要在经过位填充处理后发送数据(当遇到连续六个1时强制插入一个数据0)。USB协议规定,USB低速电缆长度不得超过3米,而全速电缆不得超过5米。USB标准还规定了信号线的颜色,其中5V电源线为红色,D‐为白色,D+为绿色,GND为黑色。

插入检测机制就是检测到设备插入到主机的过程。在USB集线器的每个端口的D+和D‐上,分别接了一个15kΩ的下拉电阻到地,无设备插入时输入端被下拉电阻拉到了低电平。在USB设备端D+或D‐上接1.5kΩ的上拉电阻到3.3V电源。上拉电阻接正还是负由设备速度决定,全速和高速设备接正,低速设备接负。当设备插入USB插座时,接上拉电阻的数据线的电压由上拉电阻和下拉电阻分压决定,大概在3V左右。当集线器检测到这个高电平信号时,它把信号发送到USB主控制器,就可以检测到设备插入了。此时,还可以根据被拉高的数据线是D+还是D‐来判断设备的速度类型。

2.4 USB描述符

前面说道USB是一个总线,USB总线驱动程序也不知道设备的行为,那么主机怎么获知设备的功能呢,这就要通过描述符来实现了。USB1.1协议定义了五种标准描述符:设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。还有一些特殊的描述符,如设计中要用的HID描述符等。一个USB设备只有一个设备描述符。在设备描述符中描述了该设备的各种配置,每种配置都有一个配置描述符,定义了设备有多少个接口,接口描述符又定义了接口有多少端点。。

USB描述符之间的关系:设备描述符包含配置描述符包含接口描述符包含端点

描述符。总的来说,由端点构成接口,接口构成配置,配置构成设备。如果一个设备的各种描述符都成功的返回了,那么设计基本上算是成功了一大半。

2.5 USB的包结构

在USB总线上,数据是以包为单位进行传输的。一个包被分成不同的域,包的类型不同,所包含的域也不同。所有的包都要以同步域开始,后接一个包标识符,最后以包结束符EOP结束。

同步域用以告诉USB串行接口数据要开始传输了,以便做好准备。同步域还可以同步主机端和设备端的数据时钟。同步域都是以一串0开始的,所以每个数据都会发生电平变化(0在USB总线上被编码为电平翻转),这样串行接口引擎很容易恢复采样时钟信号。当串行接口引擎检测到电平没有翻转时,就会认为包标识符开始了。

包标识符PID用以表示一个包的类型,共8位,其中USB协议使用的只有PID0~PID3这四位,另外四位是这四位的取反,用来校验PID。USB协议规定了四类包:令牌包、数据包、握手包和特殊包。每种包又分成几种具体的包。协议中对最低两位的规定如图2.1。

图2.1 四种包的最低两位规定

2.5.1令牌包

用来启动一次USB传输。因为USB的拓扑结构是主从结构,所有数据的传输都是由主机发起的,设备只负责接受,所以需要主机发送一个令牌来通知需要的设备进行相应的操作。令牌包共四种:输出、输入、建立和帧起始。具体的功能还要参照USB协议。每个令牌包最后都有一个CRC5的校验,用以校验PID之后的数据。四种令牌包中,只有SOF令牌包之后不跟随数据传输,其他包都有数据传输。输出、输入、建立令牌包的结构如图2.2。它们的结构相同,而且数据在传输时,每个域的最低位LSB在前。

图2.2 IN、OUT、SETUP令牌包结构

2.5.2数据包

用来传输数据。USB1.1协议只规定了两种数据包DATA0和DATA1包。在USB2.0中新增了用在高速分裂事务和高速高带宽同步传输中DATA2和MDATA包。不同类型的数据包是在当握手包出错时纠错用的。不同类型的数据包是为了方便在握手包出错时纠错。主机和设备都会维护自己的一个数据包类型切换机制,即当数据包成功发送或接收时,数据包类型切换。当检测到对方使用的数据包类型不对时,USB系统认为这发生了一个错误,并试图从错误中恢复。一般情况下,当握手包被损坏时,会发生数据包类型不匹配的情况。如果一端成功接收数据并发送确认信号,确认信号在传输的时候丢失或损坏,另一端就无法知道数据已经被正确接。此时它就会保持自己的数据包类型不变,如果对方下次发送的数据包类型和自己不同,说明对方已经成功接收数据。收数据包结构如图2.3所示。

图2.3 数据包结构

2.5.3握手包

用来查看一个数据是否被对方确认。握手包四种类型:ACK、NAK、STALL和NYET。ACK表示数据已经被接收,空间容纳也足够。NAK表示没有数据需要返回或已经正确接受但没有空间容纳。STALL表示这个设备无法执行这个请求或者端点已经被挂起了,表示一种错误的状态。NYET只在USB2.0的高速设备中使用,表示本次数据成功接受但没有空间接受下一次数据。图2.4是握手包的结构。

图2.4 握手包结构

2.5.4特殊包

只在一些特殊场合使用,分PRE、ERR、SPLIT和PING四种。只有ERR是握手包,其他为令牌包。除了PRE,其他三个都是USB2.0协议新增的,不在此次设计的研究范围。PRE是通知集线器打开其低速端口的一种前导包。PRE仅仅使用在全速模式中,与握手包的结构一样。当传输模式由全速变低速时,主机会在全速模式下发送一个PRE令牌包,集线器收到此令牌包后,就会打开低速设备端口,但全速设备会忽略次令牌包。

2.6 USB的传输类型

USB有四种传输类型:批量传输、同步传输、中断传输和控制传输。前面提到,USB数据的基本传输单位是包,但在具体传输数据时还必须把包组织成事务。

批量传输:使用批量事务传输数据。

中断传输:一种保证查询频率的传输。中断传输一般用在我们所说的延迟要尽可能小的设备中。现在使用的鼠标、键盘及其他HID都属于这样的设备。

同步传输:有些设备如音频、视频设备对数据的延迟很敏感,而且需要对大量数据不停的传输,但对数据的正确与否要求不高,此时同步传输是最好的选择。

控制传输:分为建立过程、数据过程(可选)和状态过程三个过程。建立过程用来输出数据,使用建立事务。建立过程使用只能使用DATA0的SETUP令牌包,而且握手包也只能只用ACK应答。数据过程可选,如果有可以包含一笔或多比数据事务。状态过程是一笔只使用DATA1包的批量事务。其传输方向也就是控制读和控制写过程与前面批量事务相反。

第3章 STM32及MDK简介

3.1 STM32简介

2006年ARM公司推出Cortex系列微处理器,根据不同性能的要求,分成了以公司三个字母分别命名的三个系列。本次设计使用的是M系列,因为这个系列成本较低,性能上也完全能够胜任。在ARM公司和意法半导体ST公司合作后,2007年ST公司发布了基于Cortex-M3内核的STM32系列处理器。

STM32系列处理器分为标准型和增强型两个系列,主要产品有标准型的STM32F101工作在36MHz,增强型的STM32F103工作在72MHz并拥有更大的RAM和更丰富的外设。因为STM32F103运算频率高,能实现更高端的运算,而且其自带的端口具有极好的连接能力,价格上也比较便宜,所以设计中采用这一款。图3.1是STM32F103处理器的配置。

图 3.1 STM32F103处理器的配置

正是由于STM32F10x系列处理器配有众多的外设,所以它的用途非常广泛。在工业方面,可以应用在PLC、报警系统、变频器,打印机等上面;在低功耗方面,应用的产品有电表、血糖测量仪、UPS等;数码家电方面,相应的产品有电脑外设、游戏机、数码相机等。

3.2 MDK的使用

支持STM32微控制器的开发工具虽然很多,但结合中国的业内行情及收费情况,Keil公司的MDK是不二选择。MDK集成了Keil的μVision IDE和ARM编译工具RVCT的优势。特别是中国版MDK推出后,通过更加合理的价格和服务,逐步使得MDK成为中国嵌入式工程师的最爱芯片。

使用MDK的一般开发过程:

1、新建一个工程,从设备库中选择目标芯片,配置编译器环境;

2、用C/C++或汇编语言编写源文件;

3、编译目标应用程序;

4、修改源程序中的错误;

5、测试连接应用程序。

MDK的工具集默认的是RealView编译工具,如有特殊需要,也可以安装使用GNU GCC编译器。下面是此次设计中的具体操作:

在MDK主界面中选择Project→New Project菜单项,输入工程名字即可新建一个工程。创建新工程时软件会提示我们为工程选择一款相应的处理器,也可以通过Poject→Select Device打开此选项。对于大部分设备,软件会提示是否在工程中添加CPU的启动代码,为了让设备顺利完成初始化工作,我们点击“是”,以减少编写启动代码的工作量。

MDK还可以通过Project→Options for Target,在弹出的选项中对目标硬件和设备内组件的相关参数进行配置。工程创建完了,接下来就是源程序的编写了。点击File→New创建新的源文件,在编辑窗口写完源程序后以.C为后缀保存。一般情况下会先写一个main.c添加到工程中。一般设计人员会采用文件组来组织大的工程,将工程中同一模块或同一类型的源文件放入一个文件组中。点击Project →Conponents,Environment and Books→Project Components创建文件组来管理启动代码、源程序和配置文件。

接下来的工作就是编译连接工程了。单击Build Target图标可编译连接工程文件,出现错误时,会在Output Window的Build页中显示错误和警告信息。也可以使用调试器来调试源程序,我们直接把程序下载到开发板中进行目标调试。应用程序在调试通过后,需要生成HEX文件,用于下载到编程器或仿真器中。生成HEX文件后下载到目标设备中,至此嵌入式开发完成。

在此次设计中,我们按照流程走到最后一步,然后在MDK中点击Flash→Download下载代码到STM32F103开发板中。用USB线连接电脑,查看设备管理器,看一看设备是否识别,驱动是否自动安装成功。如果设备已经成功安装,试用开发板的四个按键操纵鼠标箭头。如果可以上下左右移动,就表示USB鼠标设计成功了。

第4章 USB鼠标的实现

4.1 USB简易鼠标的程序编写

因为我们的STM32F103开发板上只有四个按键,所以只能实现鼠标光标的上下左右移动,不能实现鼠标左右键的功能。由于USB协议及接口相当复杂,MDK自带的STM32F10x的固件库中单独提供了USB的相关函数库,在编写程序代码时需要将两个库函数包含到编译路径中。USB鼠标的程序比较复杂,除了库文件和USB 函数库文件之外,还包含了8个源文件,其中STM32F10x.s是启动代码,这里不再多说。下面是设计中非常重要的7个源文件(具体的程序代码见附录):

1、main.c

该文件中主要包含两个函数,其中main函数初始化系统以及USB接口,之后不断查询四个按键是否按下。如果确定有按键按下则向USB缓冲器发出相关数据。Delay函数用于延迟。

2、usb_desc.c

该文件中没有任何函数,只是包含一些定义USB设备的描述符常数,由于USB 鼠标是一个标准的USB设备,所以相关的参数也比较容易得到。如果是开发非标准的USB设备的话,则必须开发相应的在电脑上运行的驱动软件。

3、stm32f10x_it.c

该文件是用来控制USB中断服务用的。USB中断的情况分很多种,在此次设计中我们只是调用usb_istr.c文件中的中断函数。

4、usb_istr.c

该文件中只有一个函数,就是上面提到的用于控制USB中断的USB_Istr函数,此函数的主要作用是对各类引起USB中断的事件作轮询处理。

5、usb_prop.c

该文件用于控制USB协议在设备中的具体实现,例如初始化、SETUP包、IN 包、OUT包等等。

6、usb_pwr.c

该文件中包含处理上电、掉电、挂起和唤醒事件的函数。

7、hw_config.c

该文件包含系统配置的函数和处理四个按键动作的函数。其中Set_USBClock 函数用于配置USB端口时钟;Set_System函数用于配置时钟、通用端口;USB_Cable_Config函数配置USB电缆状态;USB_Interrupts_Config函数用于配置USB中断;JoyState函数用于获取按键状态;Joystick_Send用于向USB端口

发送按键的事件。

HID设备实现的重点在于枚举是否成功,所以程序设计的重点在于标准描述符部分的编写,因为枚举过程就是检查USB设备发送的USB标准请求能否正常返回的过程。USB协议规定了标准的设备请求为八个字节。这八字节在默认状态下由控制端点零发出,用在控制传输的建立过程中。任何USB设备都要能够接收大于八字节的数据。

USB协议规定了十一个标准请求,表4.1为各种请求的名字及代码。

其中获取描述符请求GET_DESCRIPTOR在枚举过程中用的最多。主机通过发送获取描述符的请求获取设备的各种描述符,这样就可以得知设备的端点情况、设备类型等各种信息。表4.2是获取描述符请求的结构。

在上表中的wValue这一项中,低字节表示索引号,其具体的作用是在相同种类的描述符中确定一个描述符。它的高字节,也就是第二字节,用来描述类型编号。各种描述符的类型编号如表4.3所示。设备在收到描述符请求后,就会按照描述符类型的编号,返回对应的描述符。wIndex用在需要获取字符串的过程中,可以用它来标明字符串的语言ID号,其他时候为零。

对于全速模式和低速模式,只有获取设备、配置和字符串描述符这三种。在返回配置描述符的时候,接口描述符、端点描述符和类特殊描述符(如HID描述符和报告描述符)要一起返回,这两类描述符不能单独请求返回。图4.1是HID 设备描述符的结构。

图4.1 HID设备描述符结构

4.2 USB鼠标的运行

①程序采用JTAG下载,将开发板通过下载器连接到电脑,并用一根USB数据线把开发板连接到电脑的USB上。

②打开设计目录下的project.uvproj文件,编译连接工程。

③检查无误后,点击“Target Option”按钮可查看芯片类型和下载方式,点击“Debug”设置完成后,在主界面点击“Download”下载。

④重启开发板。电脑会提示“找到新的USB设备”,因为是标准USB设备,

所电脑会自动安装驱动。

⑤分别控制开发板上的四个键,观察电脑屏幕上鼠标光标的变化,如果光标随按键按下移动,则表明程序运行成功,一个USB简易鼠标就做好了。

4.3 硬件实现

图4.2所示为设备管理器上显示的已成功安装的USB鼠标。

中国知网毕业设计论文)管理系统操作手册

中国知网毕业设计论文)管理系统操作手册 --------------------------------------------------------------------------作者: _____________ --------------------------------------------------------------------------日期: _____________

目录 前言...................................................... 一、系统登录........................................... 二、用户设置........................................... 1.修改密码........................................... 2.个人信息维护....................................... 三、双选管理........................................... 1.教师申报课题....................................... 2.审核学生选题....................................... 3.审核学生申报课题................................... 4.查看团队课题....................................... 5.查看师生双选关系................................... 6.提交和下发任务书................................... 四、被委托操作......................................... 切换角色 .............................................. 五、过程文档管理.......................................

基于STM32的小车控制_毕业设计论文

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

基于STM32的温湿度监测毕业论文

《物联网工程设计与实施》项目设计 项目课题:基于STM32的温湿度检测 院系:计算机科学与技术学院 专业:物联网工程 项目经理:学号:123921043 副经理:学号:123921024 项目成员:学号:123921002 项目成员:学号: 123921048 项目成员:学号: 123921054 项目成员学号: 123921025 项目成员学号: 123921011 项目成员学号: 123921023 指导教师: 2014 年 12月

目录 摘要 (5) Absract (7) 一.设计目标 (9) 二.设计方案 (9) 三.实验所需器材 (9) 四.设计内容 (9) 4.1 STM32模块 (9) 4.2 AM2302介绍 (11) 4.2.1 产品概述 (11) 4.2.2 应用范围 (12) 4.2.3 产品亮点 (12) 4.2.4 单总线接口定义 (12) 4.2.5 传感器性能 (13) 4.2.6 单总线通信 (13) 4.3 Nokia 5110 介绍 (15) 4.3.1 SPI接口时序写数据/命令 (15) 4.3.2 显示汉字 (15) 4.3.4 显示图形 (16) 4.4 原理图设计 (16) 4.5 PCB板设计 (17) 五.实验软件设计 (18) 5.1 温湿度传感器DHT22的程序 (18) 5.2 湿度显示函数 (21) 5.3主函数程序 (23) 5.3.1显屏程序 (23) 六.作品实物展示 (32) 七.设计总结 (33)

基于STM 32 的温湿度检测 摘要 随着现代社会的高速发展,越来越多的科学技术被应用于农业生产领域。在温室大棚中对温湿度、二氧化碳浓度等外部参数的实时准确的测量和调节更是保证农业高效生产的重要前提。本次课程设计中实现了一个基于STM32F103VET6的智能温湿度检测系统,目的是实现温湿度的采集和显示,温湿度的采集是作为自动化科学中一个必须掌握的检测技术,也是一项比较实用的技术。本次实验主要作了如下几个方面工作:首先通过对实时性、准确性、经济性和可扩展性等四个方向的分析比较之后,选择了STM32F103VE微控制器作为主控芯片和AM2303温湿度传感器来实现对温湿度数据进行采集;在Nokia5110显示屏上显示出温度和湿度,然后详细介绍了各个模块的工作原理和硬件电路设计思路,实现了温湿度数据实时准确的测量;之后阐述了系统各个部分的软件设计思路;最后对系统在实际应用中采集到的数据进行了处理,分析了误差产生的原因,并通过分段线性插值算法对系统非线性误差进行了校准,同未校准时采集的数据相比,校准后的数据准确度更高,稳定性更好。在保证测量效果的基础上,本系统设计中充分考虑到性价比和再次开发周期性等,具有成本低、设计开发方便、通用性强等特点,不仅适用于现代农业生产中,还能用于其它工业控制、机械制造等其它领域,具有一定的市场推广价值。 【关键词】:嵌入式技术,电路设计,STM32,AM2302温湿度采集,Nokia5110 显示屏,程序设计

最新毕业设计论文---作业提交系统

Xxxxx 毕业设计论文 题目 系别计算机系 姓名 XXXX 学号 指导教师 xxxxx 2010年12月25 日

毕业设计论文摘要 近些年来网络技术的迅速发展,使得不同地点的人们在任何时间都可以轻松获得自己需要的信息,同时也极大地推动了网络教学的发展,特别是C#技术的出现,以其安全性、跨平台性的优势,使网络教学的发展变得更加迅速,很多在网络平台上用C#技术开发出的教学软件系统相继问世,如网上考试系统、视频点播系统等。 本文阐述的是运用https://www.360docs.net/doc/5c13325927.html,技术构建一个基于B/S结构的网上作业提交系统,以其改变过去传统的学生递交作业的方式,老师批改作业的方式,让学生递交作业更加灵活,大大减轻了老师的工作量和学生的学习任务,极大地提高了老师的工作效率和学生的学习效率。此次作业提交系统是用C#等技术开发而成,用户登录时有三种身份可供选择,分别为学生、老师和管理员。忘记密码时可以根据自己的身份证号重设。学生有查看作业、提交作业、查看成绩等功能,老师有发布作业、批改作业等功能,管理员有添加、删除学生老师信息,添加删除班级、系部,添加删除课程等功能。 本系统采用功能强大的Visual Studio 2010做为开发工具,结合https://www.360docs.net/doc/5c13325927.html,技术以及SQL做为数据库开发出来作业提交管理系统。 【关键词】:作业提交管理系统https://www.360docs.net/doc/5c13325927.html,技术

In recent years the rapid development of network technology, makes the people of different sites at any time can easily get you need information, and at the same time also greatly promoted the development of the network teaching, especially C# technique appears to its security, cross-platform-ability advantages and to the development of the network teaching becomes more quickly, many in the network platform technology developed in c # of teaching software systems have come out, such as online examination system, video on demand system, etc. This paper expounds the application Winform technology to construct a based on B/S structure of online homework submission system, with its change the past traditional students the way to submit assignments, the teacher corrects students' papers way, let the student submit work more flexible, greatly to reduce the workload of the teacher and students' learning task, which greatly increased the teacher's work efficiency and their learning efficiency. The assignment due system in c # techniques to develop and become, there are three kinds of user login identity to choose from, respectively pupils, teachers and administrators. Forgot password when can according to your own id number reset. Students have to check operation, submit assignments, check the function such as performance, a teacher corrects students' papers issued by assignments, and other functions, administrators have add, delete student teacher information, add or remove class, department, add or remove course etc. Function. The system USES powerful Visual Studio 2010 as a development tool, combining with Winform technology and SQL database developed as homework submission system. 【keywords 】: assignments to management system,https://www.360docs.net/doc/5c13325927.html, technology

本科毕业设计(论文)资料提交及要求

指导文件7: 安阳工学院本科毕业设计(论文)资料提交及要求 一、资料提交项目及要求 1.毕业设计(论文)任务书1份 按学校统一格式填写、打印和装订(左侧装订),填写以指导教师为主,“任务要求”要详细、明确,“进度计划”要详细、具体,学生、指导教师要签字。 2.开题报告(含调研过程中的有关材料)1份 按学校统一格式填写、打印和装订(左侧装订),由学生填写,要按格式要求履行签字手续。 3.毕业设计说明书或毕业论文2份 按学校统一格式要求排版、打印和装订,装订要美观,要有封面和封底(除封面和封底外,正反打印,左侧装订)。毕业答辩结束后一份留学院存档,一份由学生保留。 4.设计或论文必要的图纸1套 全部图纸按标准制图要求编号、折叠,并按编号排列整理。 5.其它相关资料1份(如计算书、光盘、照片以及能够证明成果的所有原件等)。 6.全部提交资料的清单1份。 7.以上提交资料中的相应电子文档须拷贝至学院保存备查。 二、资料提交整理程序 1.毕业生须在学院规定时间内将自己毕业设计(论文)的所有应提交资料装入学校统一发放的毕业设计(论文)资料袋内,交指导教师审验。 2.指导教师审阅所指导学生的毕业设计(论文)并在“指导教师用评价表”中填写评语和评分,之后连同“指导教师指导记录表”、“指导教师中期检查表”和“学生答辩申请表”一起装入学生毕业设计(论文)资料袋内。资料袋交学生所在答辩小组,答辩小组教师分工对本答辩小组小组学生的毕业设计(论文)进行评阅。 3.评阅教师审阅毕业设计(论文)并在“评阅人用评价表”中填写评语和评分后,将“评阅人用评价表”装入学生毕业设计(论文)资料袋内。 4.答辩小组答辩工作结束后,将每位答辩教师对学生的“答辩记录”和“答辩评分表”装入该生的毕业设计(论文)资料袋内,然后将资料袋交学院教学秘书。学院组织专人计算每生毕业设计(论文)的总评成绩。

基于STM32的USB简易鼠标毕业设计论文

毕业设计 [论文] 题目:基于STM32的USB简易鼠标设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

毕业论文 设计 平台使用手册 学生

毕业论文(设计)平台使用手册(学生) 一、总体功能描述 本模块的主要功能是要对学生进行毕业论文(设计)申请、写作的管理,实现学生能通过网络完成整个论文写作的过程,指导教师对学生的论文进行指导、评阅。 二、毕业论文(设计)申请及写作操作流程

三、操作指南 1.毕业论文(设计)申请 (1)进入毕业论文(设计)界面 在网院网站,用学生自己的用户名和密码登陆到学生平台,点击”毕业论文”,在右侧区域,点击“毕业论文(设计)平台”图片链接(如下图)。 (2)进入毕业论文(设计)平台后,如下图。 点击毕业论文(设计)申请,此时对学生进行筛选,在当前批次,只有满足总部基础信息设置的论文申请条件时,并已选毕业论文(设计)时且在总部规定的申请时间范围内学生才可进行毕业论文的申请。 进入以下界面 学生可以分别选择第一志愿、第二志愿、第三志愿的论文方向,点击提交按钮,信息即被提交。(论文方向列表所调用的为总部设置的当前论文方向等信息列表。)如需要改志愿,在毕业论文申请的时间范围内,可点击以下的撤销按钮,进行重新申请。 论文方向申请之后,等待总部的论文方向和指导教师的分配,在总部发布分配结果之后,学生点击毕业论文(设计)申请结果查询,呈现以下界面 2.毕业论文(设计)写作 在总部规定的毕业论文/设计写作时间,进入毕业论文/设计平台,点击“毕业论文/设计写作”链接,进入毕业论文/设计各个阶段的写作。(如下图) 在总部规定的提交时间段内,学生可以点击提交按钮,进行开题报告、初稿、二稿、终稿这四个阶段论文的上传。且在规定的答辩申请时间段内可以提交参加答辩的申请。 (1)开题报告阶段稿件的提交 点击开题报告的提交按钮,进入开题报告阶段稿件提交界面,进行论文的上传(大小不超过2M,上传格式为压缩或.doc),填写论文题目(30字以内,包括标点符号)、摘要(400字以内,包括标点符号)及关键字(50字以内,包括标点符号)等信息,点击提交按钮后,系统自动提示红色字体“上传完成”,此时信息即被提交。信息提交后,指导教师即可对提交上来的论文进行指导和评阅。 在稿件提交阶段如果指导教师未对稿件进行评阅(即未写评语),学生可以重复提交此阶段的稿件。 (2)初稿阶段稿件的提交 点击初稿的提交按钮,进入初稿阶段稿件提交界面,进行论文的上传(大小不超过2M,上传格式为压缩或.doc),填写论文题目(30字以内,包括标点符号)、摘要(400字以内,包括标点符号)及关键字(50字以内,包括标点符号)等信息,点击提交按钮后,系统自动提示红色字体“上传完成”,此时信息即被提交。信息提交后,指导教师即可对提交上来的论文进行指导和评阅。 在稿件提交阶段如果指导教师未对稿件进行评阅(即未写评语),学生可以重复提交此阶段的稿件。 (3)二稿阶段稿件的提交 点击二稿的提交按钮,进入二稿阶段稿件提交界面,进行论文的上传(大小不超过2M,上传格式为压缩或.doc),填写论文题目(30字以内,包括标点符号)、摘要(400字以内,包括标点符号)及关键字(50字以内,包括标点符号)等信息,点击提交按钮后,系统自动提示红色字体“上传完成”,此时信息即被提交。信息提交后,指导教师即可对提交上来的论文进行指导和评阅。 在稿件提交阶段如果指导教师未对稿件进行评阅(即未写评语),学生可以重复提交此阶段的稿件。 (4)二稿阶段稿件的提交 点击终稿的提交按钮,进入终稿阶段稿件提交界面,进行论文的上传(大小不超过2M,上传格式为压缩或.doc),填写论文题目(30字以内,包括标点符号)、摘要(400字以内,包括标点符号)及关键字(50字以内,包括标点符号)等信息,点击提交按钮后,系统自动提示红色字体“上传完成”,此时信息即被提交。信

基于STM32的嵌入式操作系统程序设计及实现本科毕业论文 精品

本科毕业论文(设计) 论文题目:基于STM32的嵌入式操作系统程序设计及实现 姓名:郝宇 学号:0930******** 班级:01班 年级:2009级 专业:电子信息工程学院:信息工程学院指导教师:丁光哲讲师完成时间:2013年5月20日

作者声明 本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。 毕业论文(设计)成果归武昌工学院所有。 特此声明 作者专业:电子信息工程 作者学号:0930******** 作者签名: 年月日

基于STM32的嵌入式操作系统 程序设计及实现 郝宇 The Design and Implementation of embedded operating system program based on STM32 Hao, Yu 2013年5月20日

摘要 随着科学技术不断的进步,工业生产越来越先进复杂,操作系统μC/OS-II 是高效、稳定、可靠、节能的系统,广泛应用安防,消费电子中。而基于Cortex-M3架构下的STM32是一款性价比优越新型微处理器,将μC/OS-II移植到STM32 上能够发挥其高效的性能,从而投入社会生产,制造出很多有用又实惠的电子产品,为我们的生活带来便利。 本文主要的研究内容是μC/OS-II操作系统理论分析、移植方法、应用程序设计及调试仿真实现。首先,对μC/OS-II的理论分析,研究其实际应用及系统结构;其次,分析STM32硬件平台及μC/OS-II的移植需求;最后,在μC/OS-II 上开发LCD,LED,按键KEY等应用程序,并对多任务系统调试分析。主要研究结论如下: (1)μC/OS-II操作系统主要分为任务管理、内存管理和时间管理三大部分,其间通信是通过消息队列和消邮箱。 (2)μC/OS-II移植主要在OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM三个文件中,涉及到数据类型、堆栈、中断定义和任务切换等。 (3)应用程序设计优先级分配要合理,硬件平台初始化模块化处理。 关键词:嵌入式系统;μC/OS-II;移植

毕业设计论文上传文件

毕业设计(论文) 题目炮炮兵之国庆大阅兵 系部专业 姓名学号 指导教师张 2012年4月5日

摘要 Flash,是一种创作工具,是由macromedia公司推出的交互式矢量图和Web 动画的标准,由Adobe公司收购。网页设计者使用Flash创作出既漂亮又可以改变尺寸的导航界面以及其他奇特效果。目前最新的版本为Adobe Flash CS5.5 Professional(2011年发布)。Adobe Flash Professional CS5为创建数字动画和交互式Web站点提供了功能全面的创作和编辑环境。Flash广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。 Flash特别使用于创建通过internet提供的内容,因为它的文件非常小。Flash是通过广泛使用矢量图做到这一点的。与位图图形相比,矢量图形需要的内存和存储空间小很多,,因为它们是以数学公式而不是大型数据集来表现的。 Flash是一个非常优秀的矢量动画制作软件,它以流式控制技术和矢量技术为核心,制作的动画具有短小精悍的特点,所以被广泛应用于网页动画的设计中,已成为当前网页动画设计最为流行的软件之一。 关键字:Flash、创作工具、动画

ABSTRACT Flash is a creative tool that is introduced by the company macromedia interactive vector drawing and Web animation Adobe standards and the company.Web page designers to use Flash both beautiful and you can change size of the navigation screen,as well as other unusual effects.The latest version5.5for Adobe Flash CS Professional(2011release).Adobe Flash Professional CS5to create a digital animation and interactive Web site provides a comprehensive authoring and editing environment.Flash widely used to create compelling applications,they include a rich video,sound, graphics and animation. Special use Flash through the Internet to create the content for the file,because it is very small.It is through the extensive use Flash vector map to do https://www.360docs.net/doc/5c13325927.html,pared with bitmap graphics,vector graphics need to be in memory and storage space was very small,because they are a mathematical formula,rather than large data sets to demonstrate. Flash is a very good Vector animation software,which in a flow control technology and vector technology as the core,and make a short animation of the character,it is widely used in web page design,animation, and has become the current Web page animation design most of the popular software. Key words:Flash,authoring tools,animation

基于STM32单片机的万年历设计毕业设计论文

本科生毕业论文(或设计) (申请学士学位) 论文题目基于STM32单片机的万年历设计 作者姓名李杨 专业名称自动化 指导教师王斌 2014年5月

学生:(签字)学号:2010210328 答辩日期:2014年5 月24日 指导教师:(签字)

目录 摘要 (1) Abstract (1) 1绪论 (2) 1.1 研究背景及意义 (2) 1.2 国内外研究现状 (2) 1.3 论文主要内容 (2) 2系统硬件电路设计 (3) 2.1单片机开发板的介绍 (3) 2.2硬件电路总体结构设计 (4) 2.3 硬件电路各单元电路设计 (4) 2.3.1 按键电路的设计 (4) 2.3.2 显示电路的设计 (5) 3系统软件设计 (6) 3.1 RealView MDK3.80简介 (6) 3.2 软件总体设计 (6) 3.3 TFT-LCD显示程序设计 (7) 3.4 时钟程序设计 (8) 3.5 汉字显示程序 (10) 3.6 图片显示程序 (11) 3.7 按键功能程序 (11) 4系统调试 (12) 结论 (14) 参考文献 (14) 附录一 (15) 程序列表 (15) 主程序 (15) TFT-LCD显示程序 (21) 时钟程序 (24) 汉字显示程序 (29) 图片显示程序 (31) 按键程序 (36) 致谢 (39)

基于STM32单片机的万年历设计 摘要:随着现代社会生活和工作节奏的加快,及时准确的掌握时间变得越来越重要。STM32包含Cortex-M3内核,具有低功耗、低成本、丰富的片内外设以及处理速度快等特点。本文采用STM32F103RBT6作为主控制器,利用其内部的实时时钟(RTC)在相应软件的配置下,设计了具有时间显示功能的电子万年历,可提供24小时制的实时时钟和区分平、闰年的日历。测试表明该设计计时准确、界面美观、操作简便。 关键词:万年历;STM32F103RBT6;TFTLCD;Cortex-M3;RTC Calendar Design Based On STM32 Microcontroller Abstract:With the development of modern society, the accelerated pace of life and work,to grasp time timely and accurately becomes more and more important. STM32 contains the Cortex-M3 kernel, with low power consumption, low cost, rich on-chip and high processing speed. This paper uses STM32F103RBT6 as the main controller, using real time clock the internal (RTC) with the corresponding software configuration, designs electronic calendar with the function of time display, and it can provide 24 hour real-time clock and the calendar which can distinguish the flat year or the leap year. The test shows that the design of accurate timing, beautiful interface, and easy operation. Key words: Calendar; STM32F103RBT6; TFTLCD; Cortex-M3; RTC

毕业论文管理系统设计研究.doc

毕业论文管理系统设计研究 2020年4月

毕业论文管理系统设计研究本文关键词:管理系统,毕业论文,研究,设计 毕业论文管理系统设计研究本文简介:毕业论文管理工作现状当前,大多数的高校的毕业论文管理状况如下。(1)学生无法及时准确选题选题初期的大多数学生不能在前期及时、清晰且全面的了解导师的课题研究方向,也不能准确的选择合适的题目,导致了学生在选题时仅考虑到个人兴趣,盲目的进行选题,未根据自己个人能力做出正确的选择,一些学生可能会错失选题的时 毕业论文管理系统设计研究本文内容: 毕业论文管理工作现状 当前,大多数的高校的毕业论文管理状况如下。(1)学生无法及时准确选题选题初期的大多数学生不能在前期及时、清晰且全面的了解导师的课题研究方向,也不能准确的选择合适的题目,导致了学生在选题时仅考虑到个人兴趣,盲目的进行选题,未根据自己个人能力做出正确的选择,一些学生可能会错失选题的时间和机会。(2)论文各阶段需要提交大量文件,师生无法及时交流首先,学生必须先提交论

文开题报告,指导教师同意开题后,方可继续完成论文。然后,需要在一段时间内将完成论文的阶段性成果提交给导师,方便导师及时了解学生论文完成的进度,以便导师督促学生及时完成论文。如今,很多大学的论文指导方式仍旧以纸质文件进行师生之间的交流,在这种情况下,一会导致资源浪费,也会由于时间和空间限制,导致沟通不畅。(3)统计论文选题工作复杂在毕业论文管理工作中,教师的工作量较大,其中,有很多重复的工作量,处于管理工作的各级人员需要统计学生选题状况、毕业论文完成状态以及答辩成绩等信息,在这样大量的工作状态下,就会产生失误。而毕业论文对于学生来也十分重要,关系能否毕业问题,责任巨大,不容有失。毕业论文管理系统设计意义毕业论文管理系统的最大优势就是学生可以远程在陷上选题,将复杂的工作流程简单化,也会减轻毕业论文指导教师工作中不必要的压力,具有很强的现实意义,具体可以表现为以下功能。(1)缩短毕业论文题目审核时间审核毕业论文题目是为了防止出现选题过大、不切实际或与专业特点不相关的现象。各教学单位在前期的主要任务就是审核已提交的论文题目,若论文题目不合条例,审核不通过,需要单位给指导教师反馈是否通过的信息,之后审核过的信息,需要由教师通知给学生,学生需要结合实际情况以及自身的兴趣选择毕设题目,督促学生积极与指导教师沟通。通过系统可以在线随时随地审核,

毕业设计论文-作业提交管理系统

毕业设计论文 题目作业提交管理系统 系别计算机系 2010年12月25 日

毕业设计论文摘要 近些年来网络技术的迅速发展,使得不同地点的人们在任何时间都可以轻松获得自己需要的信息,同时也极大地推动了网络教学的发展,特别是C#技术的出现,以其安全性、跨平台性的优势,使网络教学的发展变得更加迅速,很多在网络平台上用C#技术开发出的教学软件系统相继问世,如网上考试系统、视频点播系统等。 本文阐述的是运用https://www.360docs.net/doc/5c13325927.html,技术构建一个基于B/S结构的网上作业提交系统,以其改变过去传统的学生递交作业的方式,老师批改作业的方式,让学生递交作业更加灵活,大大减轻了老师的工作量和学生的学习任务,极大地提高了老师的工作效率和学生的学习效率。此次作业提交系统是用C#等技术开发而成,用户登录时有三种身份可供选择,分别为学生、老师和管理员。忘记密码时可以根据自己的身份证号重设。学生有查看作业、提交作业、查看成绩等功能,老师有发布作业、批改作业等功能,管理员有添加、删除学生老师信息,添加删除班级、系部,添加删除课程等功能。 本系统采用功能强大的Visual Studio 2010做为开发工具,结合https://www.360docs.net/doc/5c13325927.html,技术以及SQL做为数据库开发出来作业提交管理系统。 【关键词】:作业提交管理系统https://www.360docs.net/doc/5c13325927.html,技术

In recent years the rapid development of network technology, makes the people of different sites at any time can easily get you need information, and at the same time also greatly promoted the development of the network teaching, especially C# technique appears to its security, cross-platform-ability advantages and to the development of the network teaching becomes more quickly, many in the network platform technology developed in c # of teaching software systems have come out, such as online examination system, video on demand system, etc. This paper expounds the application Winform technology to construct a based on B/S structure of online homework submission system, with its change the past traditional students the way to submit assignments, the teacher corrects students' papers way, let the student submit work more flexible, greatly to reduce the workload of the teacher and students' learning task, which greatly increased the teacher's work efficiency and their learning efficiency. The assignment due system in c # techniques to develop and become, there are three kinds of user login identity to choose from, respectively pupils, teachers and administrators. Forgot password when can according to your own id number reset. Students have to check operation, submit assignments, check the function such as performance, a teacher corrects students' papers issued by assignments, and other functions, administrators have add, delete student teacher information, add or remove class, department, add or remove course etc. Function. The system USES powerful Visual Studio 2010 as a development tool, combining with Winform technology and SQL database developed as homework submission system.

STM32毕业论文资料

精品文档 本科毕业设计 (20 届) 基于stm32无线数据基站的设计和实现题目 院电子信息学院学 专业电子信息工程陈洁姓 名级班09091813号学09918307指导教师周磊3月年20 完成日期 精品文档. 精品文档

诚信承诺 我谨在此承诺:本人所写的毕业论文《基于stm32无线数据基站的设计和实现》均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年月日 精品文档. 精品文档 摘要 随着人们的生活及其生产水平的不断提高,对生活中各种数据接收的速度和准确度的要求就显得尤为重要,无线数据收发控制就是一个典型的例子,因此无线数据基站就是现代生产生活中应运而生的一种智能、快捷、方便可靠的检测系统。本设计通过STM32F107控制无线收发模块从无线网络节点接收数据,进行相关处理后通过以太网把数据发送至应用服务器。系统的用户统用户通过Internet网络访问应用服务器,其中本设计起到网桥和防火墙的作用。其中本设计中采用的以太网控制器为DM9161芯片。 本设计软件部分的主要工作是在硬件平台的基础上实现TCP/IP协议栈,由于TCP/IP协议栈较复杂,功能实现比较困难,一般选择成熟的TCP/IP协议栈进行移植,此次选择开源并且较成熟的LwIP以太网协议栈。 关键词:STM32F107 以太网DM9161 TCP/IP协议栈 精品文档. 精品文档 ABSTRACT With the continuous improvement of people's lives and their production levels, the

基于STM32的MP3播放器设计与实现_毕业设计论文

《嵌入式系统原理》 课程设计说明书 题目:利用STM32实现MP3播放器院(系):信息与电气工程学院

STM32芯片应用实验设计任务书

第一种方案是简易声波播放器,仅使用STM103V100评估板,令计时器TIM4工作在PWM模式下,将wav格式的声波文件从SD卡中读出,由TIM4产生不同频率的方波通过低通滤波器和放大器送喇叭,如图1所示;第二种方案则是简易MP3播放器,还需要使用额外的解码芯片,将MP3格式的文件从SD卡读出,然后送解码芯片解码播放,如图2所示。本节将先介绍SD卡、FAT16文件格式、VS1003编解码器等关键部分,然后再分别给出两种设计方案的软件设计。 图1 简易声波播放器方案 图2 简易MP3 Player方案 1 SD卡的结构及读写方法 STM103V100评估板有SD连接器,其使用SPI总线与STM32处理器连

接,如图3所示。 图3 SD连接器与STM32处理器SPI连接图 SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件,SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。本小节仅简要介绍在SPI模式下,STM32处理器如何读写SD卡,如果读者如希望详细了解SD 卡,可以参考相关资料。SD卡内部结构及引脚如图4所示。

图4 SD卡内部结构及引脚 SD卡主要引脚和功能为: CLK:时钟信号,每个时钟周期传输一个命令或数据位,频率可在0~25MHz 之间变化,SD卡的总线管理器可以不受任何限制的自由产生0~25MHz的频率; CMD:双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以是从主机到单卡寻址,也可以是到所有卡;回复是对之前命令的回答,回复可以来自单卡或所有卡; DAT0~3:数据线,数据可以从卡传向主机也可以从主机传向卡。 SD卡以命令形式来控制SD卡的读写等操作。可根据命令对多块或单块进行读写操作。在SPI模式下其命令由6个字节构成,其中高位在前。SD卡命令的格式如表1所示,其中相关参数可以查阅SD卡规范。 --------------

在线毕业提交系统的设计与实现论文

在线毕业论文提交系统的设计与实现 摘要 随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于网络进行相互交流、相互通信、共享信息、文件的上传下载等。在线毕业论文提交系统就是以上运用之一,它已经广泛的应用于目前的各大高校,但现有的这些系统都有一定的局限性,大部分只能实现简单的论文提交、论文查询、论文审核等功能,并不能解决论文的导出,特别是按统一的Word文档格式进行导出的问题。 本设计就很好的解决了上面的问题,它不但能实现毕业生论文的在线提交;还能给教师一定的权限,以在线的方式对自己指导的学生的论文进行审核;并且管理员还可以方便的将每个学生的论文信息按统一的论文排版本格式导出成word文档等。 本论文共分为五大部分,分别是:一、介绍选题背景及意义和相关系统的发展现状;二、介绍数据库技术、面向对象技术和基于B/S结构的WEB程序设计技术;三、对系统进行需求分析并提出解决方案;四、根据解决方案对系统进行设计;五、对毕业论文提交系统进行测试并得到测试结果。 关键词:在线提交;审核;导出;Word文档;B/S结构

Deign and Realization of Online Graduation Thesis Submitting System Abstract Along with the swift and violent development of Internet technology, the network has brought very much inconvenience for the people. For instance the people all carry on communicating mutually, corresponding mutually, sharing information, uploading and downloading and etc. The online graduation thesis submit system is one of these utilization, it already wide spread application to present each universities, but the existing these systems all have the limitation, majority only realize the function of submitting paper, inquiring paper, auditing paper and so on. They cannot solve paper exporting, specially the question which exporting with the unified form of Word documents. This system solves these questions well, it not only realizes online submitting of the graduate paper; but also can assign the competences to teachers who audit student's paper by the online way .And administrator also can conveniently export each students’ paper information according to the unified edition form to the Word documents and etc. This paper is divided into five main modules, respectively is: First, introduction of selected topic background and significance and system development present situation; Second, introduction of data bank technology, object-oriented technology and the plan of B/S structure WEB programming technique; Third, carries on the demand to the current enterprise to analyze and to propose the solution; Fourth, carries on the design according to the solution to the system; Fifth, carries on the work plan of system tests and obtains the test result. Key words:Online submitting; Auditing; Exporting; Word documents; B/S structure

相关文档
最新文档