- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需求分析:
本设计要求完成8路抢答器设计,控制8个知识竞赛的抢答按钮,控制用数字显示抢到的台,抢答台上用LED显示抢到/未抢到,手动复位,等功能,我们采用89S52单片机做为主控CPU,外接一个7段共阴极数码管来显示抢到的台,接8个LED来显示是否抢到台,8个按键用来抢答,用单片机的复位脚来直接控制复位。此设计关键问题是判断是哪个强到的台,抢到台以后其他选手在复位前抢答无效。我们在这设计时采用循环等待判断的方法,可以使软件设计简单,复位我们也采用单片机的复位脚来控制,可以近一步简化软件设计。
总体方案设计
硬件总体框图:
软件结构图:
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
10K RES
12.000MHZ Y1
22u C1
30p C2
30p C3
80C52 U1 DIP-40
470 R5
470 R4
470 R7
470 R6
470 R3
470 R8
470 R1
470 R2
DPY_7-SEG_DP DS1
LED LED4
LED LED1
LED LED2
LED LED3
LED LED6
LED LED8
LED LED5
LED LED7
SW-PB Reset
软件流程图:
程序清单:
/**********************************************************************************************************
** Copyright(c) 2007 贵州大学
** 文件描述: 8路抢答器
** 当前版本:V1.0
** 作 者: 彭凌华
** 完成时间:2007/12/1
** 适应芯片: * 89c52
********************************************************************************************************/
#include AT89X52.H
#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); //等待复位
}
元件布局图:
您可能关注的文档
- 车工实习总结报告.doc
- 车架有限元分析外文文献翻译.doc
- 车梁加工用翻转台的设计开题报告.doc
- 车辆工程专业毕业设计外文翻译5.doc
- 车站工作组织及毕业设计.docx
- 车站施工组织设计毕业设计.doc
- 车削中心机械结构设计毕业设计.doc
- 车站信号自动控制课程设计1.doc
- 词法分析和算符优先分析课程设计.doc
- 货运代理有限公司实习报告.doc
- 中国行业标准 GM/T 0126-2023HTML密码应用置标语法.pdf
- 《JJF 2121-2024恒转速源校准规范》.pdf
- 餐饮服务中20条处理要点.docx
- 《GM/T 0011-2023可信计算 可信密码支撑平台功能与接口规范》.pdf
- 《JJF 2134-2024旋转流变仪校准规范》.pdf
- JJF 2121-2024恒转速源校准规范.pdf
- 计量规程规范 JJF 2121-2024恒转速源校准规范.pdf
- 《JJF 2118-2024压力式六氟化硫气体密度控制器校验仪校准规范》.pdf
- JJF 2134-2024旋转流变仪校准规范.pdf
- 计量规程规范 JJF 2134-2024旋转流变仪校准规范.pdf
文档评论(0)