1、 需求
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
:
本设计要求完成8路抢答器设计,控制8个知识竞赛的抢答按钮,控制用数字显示抢到的台,抢答台上用LED显示抢到/未抢到,手动复位,等功能,我们采用89S52单片机做为主控CPU,外接一个7段共阴极数码管来显示抢到的台,接8个LED来显示是否抢到台,8个按键用来抢答,用单片机的复位脚来直接控制复位。此设计关键问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
是判断是哪个强到的台,抢到台以后其他选手在复位前抢答无效。我们在这设计时采用循环等待判断的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,可以使软件设计简单,复位我们也采用单片机的复位脚来控制,可以近一步简化软件设计。
2、 总体
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
设计
硬件总体框图:
软件结构图:
3. 详细设计
1)Protel电路原理图:
总图:
按键电路:
8个独立按键连接到P1脚,平时没按下时为P1脚为高电平,一旦有按键按下,P1脚的P1.0—P1.7就会有相应的引脚被拉底。此时软件就可以检测判断是那个按键按下。
数码管显示电路:
为了显示抢答到的选手好,设计中采用了一个共阴极数码管接到P0,因为P0为开漏的,所以加了一个排阻进行拉高,电路如下:
LED显示:
为了让选手知道自己抢到或未抢到,设计中在P2口连接了8个LED,平时P2口为高电平,LED熄灭,当有选手按键后,软件设计让相应的LED点亮,电路如下:
复位电路:
复位电路采用了单片机的复位端,这样设计可以简化软件的量,使程序更加简洁化。
元件清单:
Part Type
Designator
Footprint
1K
R9
AXIAL0.4
10K
RES
SIP9
12.000MHZ
Y1
XTAL1
22u
C1
RB.2/.4
30p
C3
RAD0.1
30p
C2
RAD0.1
80C52
U1
DIP40
470
R6
AXIAL0.4
470
R5
AXIAL0.4
470
R8
AXIAL0.4
470
R7
AXIAL0.4
470
R4
AXIAL0.4
470
R1
AXIAL0.4
470
R2
AXIAL0.4
470
R3
AXIAL0.4
AMBERCA
D1
SEG
CON2
J1
SIP2
LED
LED3
LED5
LED
LED4
LED5
LED
LED1
LED5
LED
LED2
LED5
LED
LED5
LED5
LED
LED8
LED5
LED
LED6
LED5
LED
LED7
LED5
SW-PB
Reset
SW2
软件
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图:
程序清单:
/**********************************************************************************************************
** Copyright(c) 2007
贵州大学
** 文件描述:
8路抢答器
** 当前版本:V1.0
** 作 者:
彭凌华
** 完成时间:2007/12/1
** 适应芯片:
* 89c52
********************************************************************************************************/
#include
#define uchar unsigned char
#define uint unsigned int
code unsigned char ledmap[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
};
//数码管显示值
void main(void)
{
uchar Key;
while ( P1==0xff);//等待按键
Key=P1;
switch(Key)
{
case 0xfe: P0=ledmap[0];P2^0=0;break;
//按键1
case 0xfd: P0=ledmap[1];P2^1=0;break;
//按键2
case 0xfb: P0=ledmap[2];P2^2=0;break;
//按键3
case 0xf7: P0=ledmap[3];P2^3=0;break;
//按键4
case 0xef: P0=ledmap[4];P2^4=0;break;
//按键5
case 0xdf: P0=ledmap[5];P2^5=0;break;
//按键6
case 0xbf: P0=ledmap[6];P2^6=0;break;
//按键7
case 0x7f: P0=ledmap[7];P2^7=0;break;
//按键8
default:break;
}
while(1); //等待复位
}
PCB图:
元件布局图: