【普中开发板】基于51单片机的八位抢答器设计( proteus仿真+程序+设计报告+讲解视频)
Proteus 仿真:Proteus 8.16(有低版本)
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:P06
普中开发板实验设计
本设计旨在设计一个基于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
以下为本设计资料展示图:
讲解视频包含仿真运行讲解、实物运行讲解和代码讲解
【普中】基于51单片机的八位抢答器( proteus仿真程序报告讲解)
随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以AT89C51单片机为核心的8位抢答器,采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,充分利用了单片机系统结构简单、功能强大、可靠性好、实用性强的特点。
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。
软件准备:
第一次使用务必先安装CH340驱动。
双击打开 STC-ISP.exe。
下载步骤:
0.板子先上电,接电源线到电脑USB口,先不上电,板子无灯光。
1.选择选择单片机型号
2.选择下载器的串口
3.打开编译生成的 HEX 文件
4.点击下载,单片机板子电源键按下接通电源,等待下载完成提示
使用keil4或者keil5编译,代码有注释。
核心代码:
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;
? }
? }
}
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
0、常见使用问题及解决方法–必读!!!!
1.程序代码
2.仿真
3.开题报告
4.功能要求
5.设计报告
6.讲解视频
7.烧录工具
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
普中-2&普中-3&普中-4开发板原理图.pdf
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url