研究目标:
本设计主要采用MCS-51系列单片机作为主控芯片,能够实现倒计时,数据显示,抢答等功能。
研究内容:
根据以上设计需要,系统拟采用以下技术方案,系统的结构框图如下图所示。
图1 系统结构框图
系统由单片机STC89C51、数码管、蜂鸣器报警模块、按键模块所组成。系统能完成以下功能。系统由一个四位共阴数码管、11个按键以及单片机组成,11个按键中其中八个为选手按键,3个为主持人控制按键,在主持人按下开始后,假如有选手按下按键,则视为抢答成功,主持人按下开始答题按键。
#include<reg51.h>
#include<intrins.h>
sbit smg1=P2^0; //定义数码管第一位
sbit smg2=P2^1; //定义数码管第二位
sbit smg3=P2^2; //定义数码管第三位
sbit keyks=P3^0; //定义开始按键
sbit keytz=P3^1; //定义停止按键
sbit keyqc=P3^2; //定义清除按键
sbit key1=P1^0; //定义1号抢答选手
sbit key2=P1^1; //定义2号抢答选手
sbit key3=P1^2; //定义3号抢答选手
sbit key4=P1^3; //定义4号抢答选手
sbit key5=P1^4; //定义5号抢答选手
sbit key6=P1^5; //定义6号抢答选手
sbit key7=P1^6; //定义7号抢答选手
sbit key8=P1^7; //定义8号抢答选手
sbit spk=P3^7; //定义蜂鸣器
int djs=60,js=0; //djs和bt是初始倒计时时间,可修改
//int table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40};
void delayms(int x) //延时函数
{
char i;
while(x--)
{
for(i=500;i>0;i--);
}
}
void Timer0_init() //定时器0初始化
{
js=0;
TMOD=0x01; //T0为定时器方式1
TH0=0x3c;
TL0=0xb0;
//TR0=1;//IT1=1;
ET0=1;//EX1=1;
点击并拖拽以移动
【资源下载】下载地址:点击下载(753)


