汪老师分享 - 51单片机便携式多功能比赛计时记分系统设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机便携式多功能比赛计时记分系统设计

第3章 系统硬件设计

3.1 系统硬件电路组成

本课题研究的是:便携式多功能比赛计时、计分系统的设计与制作。包括以下模块:按键控制电路、复位电路、LED显示电路、振荡电路和报警电路。

图3-1 计时记分系统原理图

3.1.1 单片机部分

如图3-2所示,为STC89C51单片机管脚图。

图3-2 STC89C51单片机图

如表3-1所示,介绍了使用的单片机STC89C51的主要功能。

表3-1 STC89C51单片机的主要功能表

功能

描述

兼容MCS—51指令系统

4k可反复擦写FlashROM

32个双向I/O口

可编程UARL通道

两个16位可编程定时/计数器

全静态操作0-24MHz

1个串行中断

128x8bit内部RAM

两个外部中断源

共6个中断源

可直接驱动LED

3级加密位

低功耗空闲和掉电模式

软件设置睡眠和唤醒功能

如表3-2所示,介绍了单片机STC89C51的端口的特殊作用。

表3-2 STC89C51的特殊功能表

端口引脚

第二功能

P3.0

RXD(串行输入口

P3.1

TXD(串行输出口)

P3.2

/INT0(外部中断0)

P3.3

/INT1(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器1外部输入)

P3.6

/WR

P3.7

/RD

3.1.2 复位电路

复位,是给单片机进行初始化,也就是把单片机初始化为0000H。单片机从而开始执行另一个程序。除了给单片机的进行正常恢复原始状态的操作,当发生程序报错或者在一个界面出不来的状态,复位可以使系统像刚开始进入系统时一样。复位遇到低电平则不会发声变化。

复位信号从RST引脚输入,本设计中复位电路,采用的是按键复位加上电的电路形式,复位的电路图如图3-3所示。

图3-3 复位电路图

3.1.3 计时电路

计时电路主要由:LED数码管显示器、开关K6、单片机STC89C51和开关K7组成。比赛时间通过一个四位一体的LED数码管显示,两队比分由两个三位一体的LED数码管显示,24S违例倒计时来计算违例时间,通过一个二位一体的LED数码管显示。

下面举例介绍一下其工作流程:比赛未开始时,要想开始比赛,这时需按下K6按键,时间则开始按1秒频率减少。比如:程序初始化部分设置时间为13分钟,我们会看到“1300”在四位LED上显示出来。当我们看到四位LED上显示“1259”时,证明时间已经过去1秒。此部分的工作原理是:T0定时计数60秒之后,中断返回,下一个60秒继续;如果这样一直进行下去,比赛结束时LED上会显示“0000”。如果在裁判还没有宣布结束时,教练叫暂停或者因为其他因素暂停,这时需要按下K7按键,那么时间不会继续流逝。计时电路如图3-4,图3-5所示。

图3-4 计时电路图

图3-5 计时电路数码管显示

3.1.4 计分电路

计分电路,主要由按键开关、LED数码管、单片机STC89C51组成。通过按键K2、K3和K5、K6来控制甲、乙两队加减分。开关按键一端与地相连,STC89C51单片机的P1.0、P1.1、P1.3、P1.4的四个端口,与开关按键的另一端相连接。

举例:当双方比分为都为0分时,甲队的队员投进一球,这时甲队需要加分,我们要按K2按键,这时K2为低电平,其余K3、K5、K6为“1”,K2、K3、K5、K6进行按位与后输出“0”,单片机STC89C51的P3.2脚发出“0”,外部

中断:INT0发生中断,这时系统调用中断相关程序,这时,从表中取出要显示的数据:06H。

计分电路如图3-6所示。

图3-6 计分电路图

第5章 调试与仿真

5.1 系统软件设计环境介绍

本便携式系统使用的编程语言是C语言,选择Keil进行程序的编译,程序编写好后进行编译,没有错误就会生成.hex文件,首先用AD软件对本设计进行了原理图的绘制,根据原理图,在Proteus软件里进行仿真的准备,元器件连接好、线布好后,将生成的.hex文件,导入到STC89C51单片机中,进行调试,看预期功能是否实现,如果发现哪个地方错误,对程序进行修改,直至仿真成功,最后能满足所有预期的要求。如图5-1所示,即为整体电路图。

图5-1 系统整体仿真图

5.1.1 按键控制模块

本便携式系统一共设置了7个按键,按键的一端都与地相连接,当我们按下某个按键时,低电平从单片机的IO口输出,对应的程序会对这个低电平进行检测,就可以运行对应的程序。如图5-2为按键电路仿真图。

图5-2 按键电路仿真图

5.1.2 数码管显示模块

开始仿真时,倒计时时间默认为15分钟,两队比赛分数默认为000,采用24S违例倒计时。计分与计时显示仿真图如图5-3所示。

5-3 计时记分电路仿真图

5.1.3 蜂鸣器驱动模块

如图5-4所示,为蜂鸣器驱动电路仿真图,蜂鸣器电路的设计采用了PNP型三极管,其中R1为限流电阻。

利用了三极管的导通与截止的作用,三极管遇到低电平则导通,遇到高电平则截止。当电流从蜂鸣器流过,蜂鸣器会发出声音,当场报警。

5-4 蜂鸣器驱动电路仿真图

5.2 Proteus仿真

5.2.1 未开始时仿真

调试时选择开始仿真,系统默认如图5-5所示。

图5-5 开始仿真图

5.2.2 开始仿真

当按下按键run/stop,象征着之前比赛裁判吹响的那声哨响,球员们开始比赛,设置的一节比赛时间开始一秒一秒的减少;24S则也同时一秒一秒的减少,当倒计时到0秒,蜂鸣器响,此时按下24秒复位按键,24S违例倒计时继续。仿真图如图5-6所示。

5-6 正在仿真图

5.2.3 结束仿真

15分钟倒计时到0S时代表一节比赛结束,此时蜂鸣器报警。仿真图如图5-7所示。

图5-7 结束仿真图

5.2.4 换场仿真

换场仿真图如图5-8所示。

当两队比赛进行到二分之一时,两队的位置需要调换,这时需要按下图中单独的那个按键,这时甲乙两队比分在LED上的显示位置也会互换。

如图5-7所示,起初甲乙两队比分为2比4,按下换场按键后,如图5-8所示,LED显示比分为4比2。

5-8 换场仿真图

5.3 实物的制作

根据在AD上画的原理图,来购买元器件和焊接所需要的东西,然后把元器件焊在电路板上。

值得注意的是在焊接之前,要把程序仔细检查一遍,对于各个子程序,都要测试它的准确性;在修正一个错误的同时,也要关注相对应的有没有错误,更改之后确保不会引入新的问题;这些问题都解决好,才能进行硬件的焊接。

5.3.1硬件电路

为焊接好的实物图如图5-9所示,根据焊接相关注意事项,将元器件按照原理图焊制完毕。

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

第一章.... 4 【实例1】使用累加器进行简单加法运算:... 4 【实例2】使用B寄存器进行简单乘法运算:... 4 【实例3】通过设置RS1,RS0选择工作寄存器区1:... 4 【实例4】使用数据指针DPTR访问外部数据数据存储器:... 4 【实例5】使用程序计数器PC查表:... 4 【实例6】if语句实例:... 4 【实例7】switch-case语句实例:... 4 【实例8】for语句实例:... 4 【实例9】while语句实例:... 5 【实例10】do…while语句实例:... 5 【实例11】语句形式调用实例:... 5 【实例12】表达式形式调用实例:... 5 【实例13】以函数的参数形式调用实例:... 5 【实例14】函数的声明实例:... 5 【实例15】函数递归调用的简单实例:... 5 【实例16】数组的实例:... 6 【实例17】指针的实例:... 6 【实例18】数组与指针实例:... 6 【实例19】P1口控制直流电动机实例... 6 第二章.... 8 【实例20】用74LS165实现串口扩展并行输入口... 8 【实例21】用74LS164实现串口扩展并行输出口... 10 【实例22】P0 I/O扩展并行输入口... 12 【实例23】P0 I/O扩展并行输出口... 12 【实例24】用8243扩展I/O端口... 12 【实例25】用8255A扩展I/O口... 14 【实例26】用8155扩展I/O口... 19 第三章.... 26 【实例29】与AT24系列EEPROM接口及驱动程序... 26 【实例30】EEPROM(X5045)接口及驱动程序... 30 【实例31】与铁电存储器接口及驱动程序... 33 【实例32】与双口RAM存储器接口及应用实例... 35 【实例33】与NANDFLASH(K9F5608)接口及驱动程序... 35 第四章.... 43 【实例34】独立键盘控制... 43 【实例35】矩阵式键盘控制... 44 【实例36】改进型I/O端口键盘... 46 【实例37】PS/2键盘的控制... 49 【实例38】LED显示... 53 【实例39】段数码管(HD7929)显示实例... 54 【实例40】16×2字符型液晶显示实例... 55 【实例41】点阵型液晶显示实例... 61 【实例42】LCD显示图片实例... 63 第五章.... 70 【实例43】简易电子琴的设计... 70 【实例44】基于MCS-51单片机的四路抢答器... 71 【实例45】电子调光灯的制作... 76 【实例46】数码管时钟的制作... 81 【实例47】LCD时钟的制作... 96 【实例48】 数字化语音存储与回放... 103 【实例49】电子标签设计... 112 第六章.... 120 【实例50】指纹识别模块... 121 【实例51】数字温度传感器... 121 第七章.... 124 【实例53】超声波测距... 124 【实例54】数字气压计... 125 【实例55】基于单片机的电压表设计... 132 【实例56】基于单片机的称重显示仪表设计... 133 【实例57】基于单片机的车轮测速系统... 136 第八章.... 138 【实例58】电源切换控制... 138 【实例59】步进电机控制... 140 【实例60】单片机控制自动门系统... 141 【实例61】控制微型打印机... 144 【实例62】单片机控制的EPSON微型打印头... 144 【实例63】简易智能电动车... 145 【实例64】洗衣机控制器... 149 第九章.... 152 【实例65】串行A/D转换... 152 【实例66】并行A/D转换... 153 【实例67】模拟比较器实现A/D转换... 154 【实例68】串行D/A转换... 155 【实例69】并行电压型D/A转换... 156 【实例70】并行电流型D/A转换... 156 【实例71】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的A/D转换... 157 【实例72】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.gif接口的D/A转换... 161 第十章.... 164 【实例73】单片机间双机通信... 164 【实例74】单片机间多机通信方法之一... 166 【实例75】单片机间多机通信方法之二... 171 【实例76】 PC与单片机通信... 176 【实例77】红外通信接口... 178 第十一章.... 180 【实例79】单片机实现PWM信号输出... 180 【实例80】实现基于单片机的低频信号发生器... 182 【实例81】软件滤波方法... 183 【实例82】FSK信号解码接收... 186 【实例83】单片机浮点数运算实现... 187 【实例84】神经网络在单片机中的实现... 192 【实例85】信号数据的FFT变换... 194 第十二章.... 198 【实例86】file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image005.gif总线接口的软件实现... 198 【实例87】SPI总线接口的软件实现... 200 【实例88】1-WIRE总线接口的软件实现... 205 【实例89】单片机外挂CAN总线接口... 207 【实例90】单片机外挂USB总线接口... 210 【实例91】单片机实现以太网接口... 214 【实例92】单片机控制GPRS传输... 221 【实例93】单片机实现TCP/IP协议... 223 第十三章.... 229 【实例94】读写U盘... 229 【实例95】非接触IC卡读写... 234 【实例96】SD卡读写... 238 【实例97】高精度实时时钟芯片的应用... 242 第十四章.... 247 【实例98】智能手机充电器设计... 247 【实例99】单片机控制门禁系统... 248
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值