基于STM32多路抢答器设计与制作.docx

上传人:w**** 文档编号:62355642 上传时间:2022-11-22 格式:DOCX 页数:25 大小:25.48KB
返回 下载 相关 举报
基于STM32多路抢答器设计与制作.docx_第1页
第1页 / 共25页
基于STM32多路抢答器设计与制作.docx_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《基于STM32多路抢答器设计与制作.docx》由会员分享,可在线阅读,更多相关《基于STM32多路抢答器设计与制作.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于STM32多路抢答器设计与制作 基于STM32的多路抢答器设计与制作 Design and Make of Multiple Answering Device on STM3 内容摘要 抢答不仅仅须要参加者,还须要裁判,而裁判的作用是整个过程中是最终要的,他是影响结果的一个很重要因素,在古代,裁判只能通过肉眼去推断谁先抢答,但是人的肉眼的实力是有限的,很难精准的得出正确的选择,假如出现相差不大的状况,裁判很简单就会错判,导致结果的错误而变更。而随着时代的不断改变,人们也想到许多去增加推断的精确度的方法,如敲锣,打鼓等都被应用到抢答中,这时候裁判的推断点又多了一个,但是这还不够精确,错判的几

2、率相对来说还是有些大,而随着时代的变更发展,敲锣打鼓和肉眼已经不能够满意人们对于抢答精准的需求,随着发展,以按键协作二极管为主的抢答器就出现了,它从一起先的单路按键功能简洁到多路按键功能困难,然后渐渐出现以单片机为核心的多路抢答器,再蜕变成从有线连接到无线连接的多路抢答器,从结构困难功能简洁到结构简洁功能繁多,它始终在随着时代的发展而在不断改进中,人们对于抢答器的功能的要求增长越来越高,抢答器的更新换代也越来越快,它的功能和精准度也就变得越来越多。 本文是基于STM32的多路抢答器的设计与制作,它支持多线路抢答,可以精确推断哪一路先完成抢答,人可以通过1602LCD液晶显示,LED灯,数码管看

3、到哪一个是第一抢答者,抢答者面前的灯会亮起,LED显示屏会显示抢答者的信息,数码管会显示可回到倒计时,在裁判进行复位前全部抢答者不能进行操作; 当回答时间快要结束时,蜂鸣器会发出警告和LED灯的闪耀来提示参赛者和裁判时间快结束了,当时间到达后,抢答者面前的灯将会熄灭,这时候裁判可通过按下复位键,让抢答者们可以重新操作,进行下一轮抢答。 关键词:多路抢答器、STM32、1602液晶显示、LED灯、按键 Abstract Responding not only requires participants, but also the referee, and the role of the refe

4、ree is the final one in the whole process. He is a very important factor affecting the result. In ancient times, the referee can only judge who responded first by the naked eye, but the person The ability of the naked eye is limited, it is difficult to accurately draw the correct choice, if there is

5、 not much difference, the referee will easily misjudge, leading to wrong results and change. With the continuous changes of the times, people also think of many ways to increase the accuracy of judgments, such as knocking gongs, playing drums, etc., are applied to the answer. At this time, the refer

6、ee has one more judgment point, but this is not accurate enough. The probability of misjudgment is still relatively large, and with the development of the times, drumming and drumming and the naked eye have been unable to meet peoples demand for accurate answering. With the development, answering de

7、vices based on buttons and diodes are mainly used. Appeared, it was from the beginning of the single-channel key function is simple to multi-channel key function is complex, and then slowly appeared multi-channel answering device with the single-chip as the core, and then transformed into a multi-ch

8、annel answering device from wired connection to wireless connection, from The structure is complicated and the function is simple to the structure is simple and has many functions. It has been constantly improving with the development of the times. The requirements for the function of the answering

9、device are growing higher and higher, and the updating and updating of the answering device are getting faster and faster. The functions and precision of the UPS become more and more. This article is based on the design and production of STM32 multi-channel answering device, it supports multi-line a

10、nswering, you can accurately determine which way to complete the answering first, people can see which one is the first responder through 1602LED LCD display, LED lights, digital , The light in front of the responder will light up, the LED display will show the information of the responder, the digi

11、tal tube will show that it can return to the countdown, and all the responders cannot operate before the referee resets; A warning and a flashing LED light will be issued to remind the contestants and the referee that the time is almost over. When the time is up, the light in front of the responder

12、will go out. At this time, the referee can press the reset button to allow the responders to re-operate For the next round of rush answers. Key words: Multi-channel answering device, STM32, 1602 LCD display, LED lights , buttons 书目 1.绪论 1 1.1多路抢答器的应用 1 1.2多路抢答器的发展前景 1 1.3多路抢答器的选题目的和意义 2 1.4多路抢答器存在的问

13、题 2 2.总体设计方案 3 2.1多路抢答器的基本系统设计 3 2.2多路抢答器的主要功能 3 2.3多路抢答器优点 4 2.4多路抢答器的架构程序框图 4 3.元器件选型和原理图设计 5 3.1 元器件的选型 5 3.2多路抢答器的原理图设计 5 4.系统焊接和调试 15 4.1多路抢答器系统的焊接 15 4.2多路抢答器系统的焊接调试 15 5.软件 16 5.1软件介绍 16 5.2代码思路架构 16 5.3代码编程 17 5.4代码调试 19 6.多路抢答器的调试 20 6.1单路调试 20 6.2多路调试 20 6.3系统是否可以进行锁定和倒计时报警 20 6.4系统是否可以通过按

14、钮复原 21 6.5系统的错误与解决方法 21 7.项目总结 22 致谢 23 1. 绪论 1.1多路抢答器的应用 抢答的模式其实在古时候就已经出现,古人会通过抢答来作为竞赛,考试,决策,争夺等事情得到结果的一种重要方式,这个方式的实现就须要作为评判标准的一种工具,那就是抢答器。它可以是会发出响声的物体,发出亮光的事物。因为竞赛,考试,决策,争夺等事情在整个历史中是无处不在的,所以抢答器就始终被运用着,它的形式也会跟着不断变更,直到现在,许多竞赛和消遣活动都须要用到抢答器,小学,初中,中学,高校等校内抢答竞赛,电视上的综艺节目,学问普及节目等也会运用到抢答器,无论在生活,工作,我们都可以看到抢

15、答器的身影,在问答类型的竞赛中,它可以让参赛者通过按下抢答器的按钮来抢夺优先回答权,并且让裁判或者主持人可以精确看到结果,在综艺中,许多电视节目也会支配抢答环节,通过抢答器进行抢答,抢人等给节目增加可观看度,它的运用方式可能比较单一,但是它涉及到的领域测特别的广袤。 1.2多路抢答器的发展前景 随着时代的发展,人们对抢答器的须要越来越高,现代抢答器从只有几个按键,二极管等发展到现在的多路,以单片机为核心,拥有按键,二极管,数码管,显示器,计时器等功能,从有线抢答器到无线抢答器,功能在不断创新而它的质量也在不断创新。在这个数码飞速发展的时代,数码产品的更新换代会越来越快,多路抢答器也不例外,在这

16、个飞速发展的洪流中,它会变得越来越精准,会变得越来越完善,运用寿命会越来越长,但是这不会影响它的需求和不断的突破,现在每一个竞拍和消遣都离不开抢答器,有时候只是表现形式的不同,在往后,抢答器的需求不会削减,只会变得越来越多,因为人们对于工具的要求会越来越多,从而增长它的突破,它的成本会变得越来越低,性价比会越来越强,它的需求覆盖全球,造价不高,无论是发达国家,发展中国家,贫困国家,都可以用得上,它还有很大的潜力值得我们去开发,只要这个社会上还会有需求,它就会存在。 1.3多路抢答器的选题目的和意义 通过这次设计增加自我对STM32单片机的了解和应用学问阅历,在制作多路抢答器的过程中不断熬炼自己

17、的设计思路和想法,让自我形成一个良好的设计习惯,增加自我学习实力,动手实力,思维习惯。巩固和复习高校4年所学到的学问,打好基础,利用自我基础去努力发展延长。 本章小结:本章主要讲解并描述了多路抢答器的前身和诞生,它的身影已经融入了人们生活的社会中,密不行分,它在社会中的需求不断增长,更新换代始终在持续,拥有良好的发展空间和稳定性,是一个稳定被需求,不被淘汰的发展方向;还有这个设计对自我的帮助。 1.4多路抢答器存在的问题 随着我国的改革开放越来越进步,发展越来越快速,人们学习科学、技术、学问的手段也变得多样性,选择在不断增加,人们可以在众多选择中找到自己合适的方法,抢答器作为一种工具,已在各种

18、智力和学问竞赛,甚至消遣节目中都有它的身影,特殊是竞技形式的竞赛,缺少不了抢答器的运用,但抢答器的运用频率比较低,且有许多的抢答器制作比较困难困难,牢靠性低,这些问题都会导致人们对抢答器失去爱好。假如一个公司想要购买一台抢答器在经济实力上是可以承受,但是运用的次数很有限,一般抢答器都会因为长期存放或者存放不当造成损坏,而再发觉须要运用时就要再购置,这是时间,物品,金钱上的奢侈,在现在的快速高效的社会中是不能够生存下去的。 现在多数的抢答器都有几个缺点:第一是现场线路连接比较困难,每个参赛者都很有可能在竞赛现场的不同位置,这就须要把线布到不同的位置上,这时候线路就会变得很长,影响信号传输,假如参

19、赛者变得更多,10个,20个,100个等,那么这个现在须要连接线就越多、越乱,而且很有可能会因为线长奢侈掉大量的空间,而且在这个不美观的同时,抢答器的功能可能会因为线的长和乱收到影响造成无法正常工作的状况,显示和识别功能,如选手号码的识别、译码、计分显示等仍只能通过数字集成电路完成。运用单片机扫描技术识别选手抢按号码时,电路的延迟时间会随着线的长度而改变,假如线越长,延迟就越长。第三,选手抢按胜利,但出现没有抢答被记录的问题,因为线长的不同的差异,我们很有可能会因为延迟的问题造成先按的比后按的显示还要得慢,这就会失去了抢答器的价值,会降低人们对抢答器的需求。 本章小结:讲解并描述了多路抢答器的

20、发展,应用和优缺点。 2. 总体设计方案 2.1多路抢答器的基本系统设计 多路抢答器是基于STM32进行开发,其中分为几个模块:STM32F103C8T6最小系统模块,LED等模块,1602液晶显示器模块,数码管模块,按键模块。STM32F103C8T6最小系统模块是整个多路抢答器中最重要的,它负责给整个系统供电,运算,信号的输出和输入;LED模块,数码管模块,1602液晶屏显示器模块的作用是让运用者可以更加直观的看到抢答的结果,按键模块是负责给抢答者和裁判对多路抢答器进行操作运用。 2.2多路抢答器的主要功能 多路抢答器的功能是为参赛者,裁判,观众供应更加精准,自不待言,公允的结果,多路抢答

21、器一共由6个部组成,核心为STM32F103C8T6最小系统板,是整个系统的大脑,负责数据输出输入,计算等工作,LED模块分为两种LED等,绿色LED和红色LED,绿色LED一共有4个,分别代表四个参赛者,哪一个参赛者回答,代表他的灯就会亮起,4个灯不会同时亮起,因为抢答者是唯一的,红色的LED灯功能是为了提示参赛者,裁判,观众,回答时间已经结束。1602模块的功能是为了增加欣赏性,当抢答者出现后,1602会显示抢答者的信息,当抢答者回答后裁判可通过按键让1602显示正确或者错误,数码管的功能是显示回到时间,进行倒计时,当时间结束后红色LED灯会启动,增加的关注性和乐趣。按键的功能是给参赛者用

22、手操作按下按键进行抢答,裁判也可以通过按键操作1602和对抢答器进行复位。 2.3多路抢答器优点 多路抢答器可同时支持四个参赛者运用,裁判可以对抢答器进行操作,抢答显示效果明显,观众,参赛者和裁判很简单就可以辨别出哪一个是抢答者,并且具有肯定的欣赏性,本多路抢答器成本不高,但是功能比较完善,性价比良好,无论是竞赛还是自我消遣,都是一个不错的选择。 2.4多路抢答器的架构程序框图 图2.4 本章小结:本章主要讲解并描述了多路抢答器的系统设计所用到的模块和概念,多路抢答器的每个模块发挥的作用,多路抢答器的优点,通过程序框图表现多路抢答器的系统架构。3. 元器件选型和原理图设计 3.1 元器件的选型

23、 整个多路抢答器由STM32F103C8T6最小系统板,3.3V1602液晶显示,LED灯,按键组成。STM32F103C8T6最小系统板拥有变压模块,SWD调试编程接口,双排针,USB接口,USB转串口TTL,E2数据存储,OLED/TFT液晶接口。它可以满意整个多路抢答器的需求,是整个多路抢答器的核心模块。STM32F103C8T6拥有3个USART口,两个SPI口,1个USBDevice口,13PWM口,2个I2C/SMBUS口,工作电压为2V3.6V,1个CAN接口,10X12bit的A/D口,CPU位数为32-Bit,CPU内核为ARM Cortex-M3,ROM尺寸为64KB,RA

24、N大小为20KB,主频(MAX)为72MHz,ROM类型为FLASH,I/O口37口。STM32F103C8T6最小系统板可通过双排针连接其他元器件,连接比较便利,有利于布线美观,自带变压模块可以将5V转3.3V,干脆通过连接电脑接口供电,SWD调试编程接口可通过电脑下载代码到MCU。1602液晶显示是一种工业字符型液晶,能够同时显示16x02即32个字符,尺寸为80mmX36mm,内部有11条限制指令,可通过限制指令去调整1602的状态,而且小巧便利,价格便宜性价比比较高,液晶屏对比度可通过电位计进行调整。LED灯(绿色),价格便宜小巧,性价比高,灯光柔软,适合用于提示。LED灯(红色),价

25、格便宜小巧,性价比高,灯光柔软,适合用于警告。按键运用了6x6x6的按键,用于参加者操作。 3.2多路抢答器的原理图设计 原理图设计软件:cadence16.6 cadence16.6为一款多功能的软件,集原理图设计,焊盘设计,封装设计,PCB设计,修复软件于一身,设计可通过这个软件从起先到结束,不须要更换其他软件就可以完成设计,这个软件自由度比较高,原理图器件,焊盘,封装全部都可以自己设计,不须要到网上须要别的库,软件比较注意细微环节,在设计的时候还可以从它的规则里面学到一些设计的学问,操作相对于其他软件来说会比较困难,但是却有一种别样的便利。 MCU STM32F103C8T6: 图3.1

26、 图3.2 PA13运用了SWDIO功能连接到SWD调试接口,用于连接仿真器进行调试或下载,是数据线。PA14运用了SWCLK功能连接到SWD调试接口,用于连接仿真器进行调试或下载,是时钟线。 图3.3 一般BOOT0和BOOT1跳线都跳到0。只是在下载的状况下:BOOT0=1,BOOT1=0,下载完成后,把BOOT0的跳线接回。 图3.4 VBAT,VDDA,VDDA_1,VDD_2,VDD_3都为供电输入口,电压都为3.3V,都须要连接滤波电容进行滤波爱护。 VSSA,VSSA_1,VSSA_2,VSSA_3都是接地。1. VDD=2.0至3.6V:I/O和内部调整器的外部电源。外部通过V

27、DD引脚供应。2. VSSA,VDDA=2.0至3.6V:ADC、复位块、RC的外部模拟电源 而PLL(当运用ADC时,要施加到VDDA的最小电压为2.4V)。3. 必需分别将VDD和VSSA连接到VDD和VSS。4. 当VDD不存在时,VBAT=1.8至3.6V:用于RTC、外部时钟32k Hz振荡器和备份寄存器(通过电源开关)。5. 每个GPIO引脚都可以由软件配置为输出(推挽或开漏)、输入(有或没有拉起或拉下)或外围备用功能。大多数GPIO引脚与数字或模拟替代功能共享。全部GPIO都是高电流的。假如须要,可以根据特定的依次锁定I/O的替代功能配置,以避开对I/O寄存器的虚假写入。在APB

28、2上的I/O,最高可达18MHz的切换速度。输入浮空:浮空就是逻辑器件与引脚即不接高电平,也不接低电平。上拉模式:把点位拉高,不确定的信号通过一个电阻嵌位在高电平。电阻同时起到限流的作用。下拉模式:把点位拉低,不确定的信号通过一个电阻嵌位在低电平。电阻同时起到限流的作用。模拟输入:数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号。开漏输出:输出端相当于三极管的集电极,高电平状态须要上拉电阻,适合于做电流型的驱动,汲取电流的实力一般在20mA以内。开漏复用功能:其次功能时的配置,配置必需是复用功能输出模式,即推挽或开漏。推挽式输出:可以输出高,低电平,连接数字

29、器件;推挽结构一般是指两个三级管分别受到互补信号的限制,总是在一个三极管导通的时候另一个截止。凹凸电平由IC的电源确定。对于CL1和CL2,建议在5pF中运用高质量的陶瓷电容器。选择15pF范围以满意晶体或共振器的要求。CL1和CL2,是通常是相同的尺寸。晶体制造商通常指定负载电容, 是CL1和CL2的串联组合。负载电容CL有以下公式:CL=CL1CL2/(CL1+CL2) 密码子是引脚电容和电路板或跟踪PCB相关的电容.一般来说, 在2PF和7PF之间。为了避开超过CL1和CL2的最大值(15pF),剧烈建议 运用具有负载电容CL7PF的共振器。千万不要用带负载的共振器电容为12.5PF。例

30、如:假如你选择一个负载电容为CL=6PF的谐振器,而Cstray=2PF, 那么CL1=CL2=8PF。设计爱护留意事项: 1. 由设计保证,不能在生产中测试。2. 拉出是设计一个真正的电阻和可切换的PMOS串联,这个PMOS的贡献串联电阻必需最小(10%阶)。3. 复位网络爱护设备免受寄生复位。4. 用户必需确保NRST引脚上的电平可以低于表38,否则设备将不考虑重置。举荐NRST引脚爱护 在整个电路中设置了复位电路,复位电路的作用是用于把整个电路复原到起始状态,放置CPU发生错误和意外状况,导致整个系统无法正常运行,它是每个电路中都必需存在的,而且它的组成特别简洁,只须要电阻,电容和按键就

31、可以完成,连接至MCU的NRST口即可。 图3.5 1602液晶显示: 图3.6 1到16脚分别连接GND,VCC3V3,接一个10K的电位计连VCC3V3,PB9,PB8,PB7,PB6,PB5,PB4,PB3,PA15,PA12,PA11,PA10,VCC3V3,GND。 1602液晶显示一共16个引脚: 第一脚我VSS脚,须要接电源地; 其次脚为VDD脚,须要接3.3V电源; 第三脚为VL脚,它为液晶显示对比度的调整端口,接电源时对比度最弱,接地时对比度最高,通过连接一个10K的电位器进行调整,防止鬼影的产生。第四脚为RS脚,它是寄存器的选择脚,高电平常选择数据寄存器,低电平常选择指令寄

32、存器。第五脚为R/W脚,它是可以进行读写信号线的操作,当高电平常会进行读的操作,低电平常会进行写的操作,假如RS和R/W都是低电平,那么写入指令和显示地址,假如RS为低电平,R/W为高电平常可以读信号,假如RS为高电平常而R/W为低电平,则会进行写入数据操作。第6脚为E端脚,它是使能端,当它从高电平跳到低电平常,液晶模块将执行吩咐。第7带14脚为数据脚,它们是为8位的双向数据线。第15脚为被背光源的正极。第16脚为被光源的负极。1602拥有指令表: 当D0为1时,RS,R/W,D7,D6,D5,D4,D3,D2,D1为0时,1602液晶显示将执行清显示操作。当D1为1,D0为*时,RS,R/W

33、,D7,D6,D5,D4,D3,D2为0时,1602液晶显示将执行光标返回操作。当D2为1,D1为I/D,D0为S时,RS,R/W,D7,D6,D5,D4,D3为0时,1602液晶显示将执行置输入模式操作。当D3为1,D2为D,D1为C,D0为B时,RS,R/W,D7,D6,D5,D4,为0时,1602液晶显示将执行显示开或光限制操作。当D4为1,D3为S/C,D2为R/L,D1为*,D0为*时,RS,R/W,D7,D6,D5为0时,1602液晶显示将执行光标或者字符移位操作。当D5为1,D4为DL,D3为N,D2为F,D1和D0为*时,RS,R/W,D7,D6为0时,1602液晶显示将执行置

34、功能操作。当D6为1时,RS,R/W,D7为0,其他为字符发生存储器地址,1602液晶显示将执行置字符发生存储器地址操作。当D7为1时,RS,R/W为0,其他为显示数据存储器地址时,1602液晶显示将执行置数据存储器地址操作。当R/W为1,D7为BF,其他为计算器地址时,1602液晶显示将执行读忙标记或地址操作。当RS为1, R/W为0,其他为要写的数据内容时,1602液晶显示将执行写数到CGRAM或DDRAM操作。当RS和R/W为1时,其他为读出数据内容时,1602液晶显示将执行从CGRAM或DDRAM读数操作。一共有七个LED灯,它们分别是电源指示灯,最小系统测试灯,代表选手1到选手4的显

35、示灯,还有警报灯。 图3.7 一共有5个按键,分别是每个选手的抢答按键和裁判的复位按键,它们跟别连接MCU的PA0,PA1,PA2,PA3,PA4。 图七 本电路中还具有5V转3.3V芯片,在芯片的VIN端连接5V电源,通过两个104的陶瓷电容滤波,进入芯片,VOUT连接一个105,一个104的陶瓷电容进行滤波,给整个系统进行供电,NC脚连接一个223的陶瓷电容接地。VSS则干脆接地,CE脚在不运用功能时连接VIN。 图3.8 整个系统还具有两个20P的排针,用于连接MCU跟其他元件,还有BOOT0和BOOT1的选择双向排针,可以手动选择下载模式,USB口为下载口和供电口,用于代码下载和电源供

36、电,连接电脑和5V转3.3V芯片。还有4脚的调试接口。分别连接SWO,SWCLK,VCC3V3,GND其中VCC3V3须要连接一个104的陶瓷电容进行滤波。 图3.9 本章小结:本章主要描述多路抢答器的元件选型的选择方向和每个部件或者模块在原理图中的功能描述,还有原理图连接理由。 4. 系统焊接和调试 4.1多路抢答器系统的焊接 STM32F103C8T6最小系统板须要焊接两个20P的排针,用于连接其他模块,1602液晶显示须要跟16脚排针焊接,并且和排针插座相连接,通过焊接固定在万用板上,按键,LED灯跟STM32最小系统板和1602液晶显示一样都通过焊接固定在万用板上,通过杜邦线连接整个电

37、路,整个设计都集中在同一块万用板中。 4.2多路抢答器系统的焊接调试 焊接电路后测试是否可以正常烧录代码进去MCU,检测是否有短路,虚焊,确保每一个功能元件都可以正常运用, 并且通过简洁的例程进行检测,一步一步进行排查。 结果:出现虚焊和多焊。解决方法:拆件重新焊接。 本章小结:本章主要讲解并描述了整个多路抢答器的硬件焊接和测试。 5. 软件 5.1软件介绍 多路抢答器设计软件:Window10,Keil uVision5,STM32 ST-LINK Utility,STM32CubeIDE 1.2.0,Source Insight 4.0 Window10是我的电脑的操作系统,优化很好,方面

38、多界面切换操作,稳定。 Keil uVision5是优化比较好的一款常用编程软件,这个软件在选定相应的芯片后会生成相应的库文件,可供运用者查看并帮助运用者编写代码,我通过这个软件进行代码修改。STM32 ST-LINK Utility为STM32芯片的下载软件,我们可以通过它把我们编辑好的代码下载到MCU里面。STM32CubeIDE 1.2.0为ST公司最新开发的一款开元软件,里面有全部ST公司产品的资料和代码库,这个软件运用起来特别的便利,当我们选定产品后,相关的datasheet可以从软件中干脆找到并下载,软件会自动生成HAL库、芯片引脚图、时钟图,运用者可以通过调整芯片引脚图和时钟图去

39、变更引脚和时钟的定义和运用,如开漏输出,上拉,下拉等,当设置好后可以自动生成定义代码,运用者可以干脆调用,不用重新定义,这个软件同时可以对芯片进行编程和下载,不须要再通过STM32 ST-LINK Utility去给单片机下载代码,可干脆操作。Source Insight 4.0是一款很便利的代码编写软件,它可以跟STM32CubeIDE 1.2.0同步打开代码进行互通的修改,当运用者要找寻相关代码的位置时,Source Insight 4.0可干脆通过小窗口显示,不须要做任何的跳转。找寻库函数和对代码的修改会更加的快速便利。 5.2代码思路架构 代码主要分为按键操作,LED灯的点亮和闪耀,1

40、602液晶显示和进行倒计时的部分,在起先我们须要对按键,LED等,1602进行初始化,配置它们在硬件中所对应的管脚,通过循环,IF ELSE,SWITCH等将它们串联起来构成一个完整的功能设计代码,通过不断烧录检测调整代码的错误和偏差,一步一步实现设计的内容。 5.3代码编程 1602液晶显示:负责选手和竞赛状况显示 1602液晶显示一共有16字加2行,第一行的位置分别为00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,其次行为40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4E,4F。 假如我们想要运用,如其次行第一

41、个字,并不是干脆写入40H,而是写入01000000B+10000000B=11000000B 在初始化中,我们也须要先设置1602液晶显示的显示模式,1602液晶显示字符是从左到右,自动往右移动,在我们每一次输入吩咐时都须要对它进行判定是否处于繁忙的状态。 通过调整代码可以调整1602液晶显示的内容,再把代码加入到循环里面进行操作。 while(1) LCD_Write_Com(0x80); delay(10); for(i=0;i<12;i+) LCD_Write_Data(tablei); delay(10); LCD_Write_Com(0xc0); delay(10); for

42、(i=0;i<13;i+) LCD_Write_Data(table1i); delay(10); 按键:MCU通过按键接收信号推断哪一个选手按下 当检测到按键按下时,会循环里面的内容,如1602的显示改变,锁定功能,倒计时功能和警报功能。GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;/PA0 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(GPIOA, GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;

43、/PA1 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(GPIOA, GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;/PA2 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(GPIOA, GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;/PA3 GPIO_InitStructure.GPIO

44、_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(GPIOA, GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;/PA4 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(GPIOA, GPIO_InitStructure); LED:用于增加显示效果 在检测到按键按下后,每个选手所代表的灯将会亮起,当倒计时快要结束后,警报灯将会进行闪耀报警。GPIO_InitStructure.GPIO_Pin = GPIO_Pin

45、_13; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, GPIO_InitStructure); 5.4代码调试 在确保硬件没有问题后,首先通过代码单独测试每一个模块的功能代码,视察设计功能是否跟预期一样,假如发觉问题立刻须要记录并且进行修改,再重新全部单独检测。其次是运用组合功能测试,烧录各种组合的代码进行测试,每一种组合的功能运行是否达到预期效果,找出缺点进行修改。第三,测试整个设计的功能,在代码的帮助下是

46、否正常运行,出现故障后须要找寻缘由别切更改相关代码,知道测试没有任何问题。 本章小结:本章主要讲解并描述多路抢答器软件的主要代码功能是怎么实现的,还有代码的调试与思路架构的样子。 6. 多路抢答器的调试 6.1单路调试 通过软件烧写结合硬件测试每一路的功能是否可以正常运行,每一路按下按键后,相对应的LED灯是否会亮起,1602是否可以显示相应的信息,在倒计时下,警报灯是否可以正常运行,通过视察和操作检测代码和硬件是否出现问题。 检查发觉部分线路出现无法响应,通过重新焊接调试解决。 6.2多路调试 通过软件烧写结合硬件测试多路进行,检测按键是否发生冲突,无效反应等意外状况,按下按键后,不同的按键

47、所相对应的LED灯是否会亮起,1602是否可以显示相应的信息,在倒计时下,警报灯是否可以正常运行,通过视察和操作检测代码和硬件是否出现问题。假如发觉立刻进行修改。 检查发觉出现冲突和多按键操作,通过修改按键部分代码修复。 6.3系统是否可以进行锁定和倒计时报警 设计理念是在抢答者出现后,除裁判外,其他抢答者不行以进行操作,多次操作按下不同的按键,在出现第一个抢答者后,其他按键按下是否会产生影响,其他功能是否正常实现,尽量多测试几个组合,确保漏检,通过视察和操作,软件和硬件结合检测锁定功能和倒计时报警功能是否可以正常操作运行,得到真实的反馈。 检查发觉在第一个抢答者出现后无法进行锁定,通过检查代

48、码并更改锁定标记修复。 6.4系统是否可以通过按钮复原 裁判拥有复位权,通过按钮裁判把整个作品重置,参赛者可以重新操作。从单路测试到多路测试,这个功能按键都须要正常工作,因为这是最高限制权,在功能里面有着相当重要的作用,通过操作和视察,软件和硬件结合检测该功能是否实现。 检查发觉无任何异样。 6.5系统的错误与解决方法 错误:多线程功能发生冲突。 解决方法:检查代码,对代码进行修改。错误:锁定功能失败。解决方法:检查代码,对代码进行修改。错误:1602无法如期进行显示。解决方法:检查代码,对1602部分代码进行修改。错误:按键无法进行操作。解决方法:重新焊接。 本章小结:本章主要讲解并描述作品完成后对整个多路抢答器进行测试和演示成果,总结方案和阅历,修改完善功能。 7. 项目总结 整个项目通过软件和硬件结果做出成品,硬件通过选型选择性价比合适的材料,本设计是利用STM32F103C8T6为核心进行设计,再通过按键,1602液晶显示

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁