仿真版本:Proteus8.6及以上版本
程序编译:Keil5 C51
编程语言:C语言
设计编号:【O02】
1.? 简介
? 本文提出了一种基于51单片机的8路抢答器设计。该设计在硬件方面主要采用AT89C51单片机作为主控核心,结合独立按键、数码管、蜂鸣器。抢答限定时间为10S,在按下复位后显示当前选手分数,再按下开始抢答才有效,当选手抢答后显示对应的抢答选手编码,在倒计时20S内评委对选手打分。
2.? 主要功能
a.主持人进行复位,依次显示8位选手的分数,8位选手分数显示结束后主持人按下抢答开始按键,抢答者才可以开始抢答,数码管抢答倒计时10S。
b.抢答者按下按键,数码管显示抢答者的编号和答题剩余时间倒计时20S
c.在20S内,抢答者答题正确,主持人按下加分按键,分数加一,答错主持人按下减分按键,分数减一。
3.? 源程序(Keil5)
本设计采用keil5 C51软件(内附安装包)实现程序设计。如需用keil4打开程序,可自行通过.c和.h文件新建工程即可。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit k0=P1^0;
sbit k1=P1^1;
sbit k2=P1^2;
sbit k3=P1^3;
sbit k4=P1^4;
sbit k5=P1^5;
sbit k6=P1^6;
sbit k7=P1^7;
sbit beep=P3^7; /*蜂鸣器*/
sbit ks=P2^4; /*开始计时*/
sbit jiayi=P2^5; /*分数加1*/
sbit jianyi=P2^6; /*分数减1*/
sbit fw=P2^7; /*复位*/
int flg=1;
bit flg1=0;
int t=0,s=0;
uchar qiangdanum=0x0b;
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x00};
uchar ge=0,shi=0;
uint num,time=10, fs=0;
int nums[]={5,5,5,5,5,5,5,5};
void kyy(void) ;
void displayfs();
void display(); /*显示函数*/
void kys(); /*设置按键函数*/
void kys2(); /*抢答按键函数*/
void delay(unsigned int z) /*延迟函数*/
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void intial()
{
TMOD=0X01; /*采用方式一,即十六位计数器*/
TH0=(65536-50000)/256; /*设置初始值,50ms中断一次*/
TL0=(65536-50000)%256;
EA=1;ET0=1; /*开启总中断源,定时器中断*/
}
void intia2()
{ TMOD=0X10; /*采用方式一,即十六位计数器*/
TH1=(65536-50000)/256; /*设置初始值,50ms中断一次*/
TL1=(65536-50000)%256;
EA=1;ET1=1; /*开启总中断源,定时器中断*/
}
main()
{ intia2();
intial(); /*初始化*/
beep=0;
while(1)
{ kys();
if(flg1==1)
displayfs();
else
display(); /*显示函数*/
if(flg==0)
{
kys2();
}
}
}
void kys2() /*抢答按键函数*/
{
if(k0==0) /*开关0按下*/
{
delay(5);
if(k0==0)
{ flg=1;
qiangdanum=1; /* 1号选手抢答成功,数码管显示1*/
beep=1;
delay(1000);
beep=0;
time=20;
}
4.? 仿真proteus8.6
? 本设计采用proteus8.6软件(内附安装包)实现仿真设计,如下图所示。proteus软件一般存在高低版本兼容问题,该仿真是通过proteus8.6导出的,所以请尽量使用proteus8.6打开文件,低于proteus8.6的版本不能够正常使用,高于proteus8.6的版本除了proteus8.8/8.9理论上可以正常使用。
初始界面:
开始倒计时:
选手抢答:
5.? 设计报告
设计报告主要包括硬件电路、软件设计、仿真调试等等,仅供参考。
6.? 资料清单
设计资料主要包括C程序+仿真+设计报告+使用说明+元件清单+操作视频等。
7.? 资料获取链接
百度网盘下载链接:【O02】百度网盘下载链接
更多单片机仿真设计合集:单片机仿真设计合集