基于51单片机的八位抢答器设计【普中开发板】( proteus仿真+程序+设计报告+讲解视频)

您所在的位置:网站首页 抢答器功能扩展 基于51单片机的八位抢答器设计【普中开发板】( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的八位抢答器设计【普中开发板】( proteus仿真+程序+设计报告+讲解视频)

2024-03-26 13:34| 来源: 网络整理| 查看: 265

【普中开发板】基于51单片机的八位抢答器设计( proteus仿真+程序+设计报告+讲解视频)

Proteus 仿真:Proteus 8.16(有低版本)

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:P06

1. 主要功能:

普中开发板实验设计

本设计旨在设计一个基于51单片机的8位竞赛抢答器设计。

以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮1-8号表示。

1.设置一个系统清除和抢答控制开关S,开关由主持人控制。

2.抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。

3.抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如20秒)。

4.当主持人启动“开始”键后,定时器进行减计时。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

5.如果在主持人启动"开始"键前抢答 ,抢答无效。且显示器上会显示抢答选手编号。

6.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

(目前仅完全适配普中开发板A234,其他普中开发板型号可能需要做代码修改或接线)

需注意本设计仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

资料下载链接:

P系列单片机设计下载链接(复制到浏览器打开)

https://docs.qq.com/doc/DS2pPenNRaHB6SlR1

以下为本设计资料展示图:

2. 讲解视频:

讲解视频包含仿真运行讲解、实物运行讲解和代码讲解

【普中】基于51单片机的八位抢答器( proteus仿真程序报告讲解)

3. 设计说明书(报告)

随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以AT89C51单片机为核心的8位抢答器,采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,充分利用了单片机系统结构简单、功能强大、可靠性好、实用性强的特点。

img

4. 仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

imgimg

5. 实物烧录和现象

软件准备:

第一次使用务必先安装CH340驱动。

双击打开 STC-ISP.exe。

下载步骤:

0.板子先上电,接电源线到电脑USB口,先不上电,板子无灯光。

1.选择选择单片机型号

2.选择下载器的串口

3.打开编译生成的 HEX 文件

4.点击下载,单片机板子电源键按下接通电源,等待下载完成提示

img

img

6. 程序代码

使用keil4或者keil5编译,代码有注释。

img

核心代码:

void main() { ​ TMOD = 0X12; //初始化定时器 ​ TH0 = 6; ​ TL0 = 6; ​ TH1 = (65536-50000)/256; //50ms计时初值 ​ TL1 =(65536-50000)%256; ​ EA = 1; //开总中断 ​ ET0 = 1; //开T0中断 ​ ET1 = 1; //开T1中断 ​ temp_fen=fen=10; //设置抢答倒计时 ​ while(1) ​ { ​ ChangeFor(); ​ ​ KeyScanf(); ​ if((start== 1)&&(flag == 0)) //如果开始键动作,且处于空闲状态 ​ { ​ flag = 1; //设置运行标志 ​ fen=temp_fen; ​ TR1 = 1; //启动定时器 ​ } ​ ​ if((add==1)&&(flag==0))//如果时间+键动作,且处于空闲状态 ​ { ​ add=0; ​ key_flick++; ​ if((key_flick%25)==0){//消抖 ​ key_flick=0; ​ temp_fen++; //时间+1 ​ fen=temp_fen; ​ } ​ } ​ ​ if((dec==1)&&(flag==0))//如果时间-键动作,且处于空闲状态 ​ { ​ dec=0; ​ key_flick++; ​ if((key_flick%25)==0){//消抖 ​ key_flick=0; ​ temp_fen--; //时间-1 ​ fen=temp_fen; ​ } ​ } ​ ​ if((start==0)&&(flag==0)) ​ { ​ if((key != 0)) //如果键值有效 ​ { ​ xianshou = key; //显示抢答键 ​ flag = 2; ​ TR1 = 0; //关闭T0 ​ flaga = 8000; //报警值,蜂鸣器响2秒 ​ TR0 = 1; //启动T0 ​ } ​ } ​ while(flag == 1) //如果运行标志有效,进入运行状态 ​ { ​ ChangeFor(); //显示 ​ KeyScanf(); //扫描抢答键 ​ if((key != 0)) //如果键值有效 ​ { ​ xianshou = key; //显示抢答键 ​ flag = 2; ​ TR1 = 0; //关闭T0 ​ flaga = 8000; //报警值,蜂鸣器响2秒 ​ TR0 = 0; //启动T0 ​ } ​ } ​ if((end == 1)&&(flag==2)) //运行结束后复位键按下 ​ { ​ flag = 0; //回到初始状态 ​ xianshou = 0; //变量归零 ​ fen = 0; ​ TR0 = 0; ​ TR1 = 0; ​ start=0; ​ key=0; ​ end=0; ​ } ​ } } 7. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1.程序代码

2.仿真

3.开题报告

4.功能要求

5.设计报告

6.讲解视频

7.烧录工具

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

普中-2&普中-3&普中-4开发板原理图.pdf

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

img



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3