logo资料库

基于单片机的八路抢答器+七路多数表决器(全套).doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
电子设计课程设计 (实物已做出) 题目名称:基于 STC51 单片机实 现八路抢答器与七路 多数表决器功能合成 姓 名:逄 博 学 号:0707010222 班 级:电科 07-2 班
基于 STC51 单片机实现八路抢 答器与七路多数表决器功能合成 正文 一 设计题目: 基于 STC51 单片机实现八路抢答器与七路多数表决器功能合成 目的: 练习各种数字集成电路模块的使用方法;学习对可编程集成电路 (主要指 STC51 单片机)的编程方法;熟悉 74HC573 锁存器的使 用方法;学会构造单片机的最小系统;了解什么是时钟电路;了解 什么是复位电路;学会一位数码管的接线方法;学会并联开关的联 线方法;练习在万用板上布线;练习电路的手工焊接技术。 意义:通过完成这个课程设计可以对我们的学过的几门课程如《数字电 子技术》,《模拟电子技术》,《微机接口技术》,《单片机技术》, 《C 语言》等有一个很好的总结与复习。因为是以小组的形式完成 的这个设计,而且要做出成品,所以对于大家的团队意识的培养有 很大的帮助。 二 设计要求: 因为我们要在五天之内(这五天中还要参加期末考试)完成定题目, 选器件,设计电路,程序编写,焊接电路,完成成品,产品测试, 完成报告等一系列工作。所以我们把在最短的时间内完成成品作为 第一个设计要求。第二个设计要求就是能把两个小组(八路抢答器 和七路多数表决器)的成果在一套硬件设备上实现(因为在五天里 做出两套硬件设备难度太大)。第三个设计要求是可以实现便携式 应用,就是说要使设备拿出来就可以用,环境里没有电源也可以用,
所以我们要给设备加上供电系统。 三 题目分析: 我们小组的题目是《基于 STC51 单片机实现八路抢答器与七路多 数表决器功能合成》,我们知道,要找到抢答器的资料和表决器的 资料可以,但是多是四路抢答器和三路表决器,要找八路抢答器和 七路表决器的资料根本没有,所以我们看到题目首先要明确,我们 要有改进。另外我们还要实现两种功能在一套设备里的合成。再有 要在尽可能短的时间里完成。我们知道,一个产品要添加新的功能 有两种方法,一是在硬件方面改进,二是在软件方面改进。两种方 法中硬件改进无疑从速度和专用性上都是最好的,但是它费钱,也 费时费工。我们时间有限,资金也有限,在这种情况下,改进软件 成了我们唯一的选择。所以我们决定用可编程的集成电路模块来完 成产品,首选就是 51 单片机。我们选的是 STC80C51。 四 整体构思: 我们要做八路抢答器,就说明我们首先要有一套输入的设备,我们 叫它输入按键,因为是八路,所以至少要八个输入按键。另外还要 做七路多数表决器这八个输入按键可以重复使用(最重要的是节省 成本,又省钱有好用,好开心,呵呵 ),八路与七路差一个开关, 为了充分利用资源,我们在第八号开关上利用软件在上电时对八号 按键进行检测可以用八号按键巧妙选择打开八路抢答器和七路表 决器的功能选择(这个巧妙设计是我们小组感到最满意的一个部 分)。输入设备的问题解决了,就是运算处理设备,我们用的是一 个 STC80C51 单片机的最小系统,它负责接收输入型号,实现功能 转换,还有信号输出。最后就是输出设备,我们用了一个一位数码 管作为输出设备,开始的时候我们为了省钱打算不用给数码管加驱 动电路的,但是效果不好,直接把单片机和数码管连在一起后因为 51 单片机的电流驱动能力不够使得数码管的亮度太低,阳光强一 点的话根本看不见数码管显示的是什么,最后本组长英明果断的决 定提高数码管的待遇,忍痛给它配个驱动电路(又加大了预选,好 心疼,可是为了性能的优越性该花的还要花),我们给他配的是 74HC573 锁存器,这东西又便宜,又简单。所有问题都解决了, 我们还要实现它的便携性,所以要加个电源,单片机的标准电源是 5V 的,有专用的 5V 锂电池当然最好,可惜就是太贵,我们用三 节五号电池加电池盒解决战斗,省钱又方便,只要三节电池够劲, 4.5V 的电压也能让整个系统跑起来。
五 具体实现: 本小组长把小组分成两个小组,一组主要负责八路抢答器,一组主 要负责七路表决器。具体分工如下: 长:逄 博(0707010222) 组 表决器小组:谢应东(0707010229) 高 贞(0707010227) 韩晋吉(0707010230) 唐兴华(0707010224) 抢答器小组:唐 伟(0707010223) 宫 磊(0707010220) 陈 慧(0707010218) 张洪飞(0707010211) 1 先让大家去查资料,让大了解我们想要做什么东西,其他人是怎 么做的。 2 大家查完资料后,坐在一起讨论我们要怎么做这个东西,把方案 定下来。 3 去哈工程那的船舶电子大世界三楼,把要用到的器件全买回来。 4 把电路焊接好(最简单的描述,最累人的工作)。 5 两个小组同时开始软件编写,并且实现两个小组的单独的功能在 硬件上可以成功实现。 6 把两个小组的成果合成到一起,实现一套设备可以实现两种功 能。 7 对系统开始测试,硬件焊接有问题就重新焊接,软件运行有问题 就改写软件。 8 完成报告。 六 各部分定性说明及定量计算:
本课程设计的总体框架图: 本课程设计的电路图原理图如下页所示:
本课程设计的程序框架图: 本课程设计的软件程序源代码如下: #include sbit LE573=P3^0; #define uchar unsigned char #define uint unsigned int uchar code shuma[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};
uchar code NO = 0xc8; uchar code YES = 0x91; uchar jianpan; uchar he; void _delay_ms(unsigned int a) { unsigned int b; unsigned int c; for(b=0;b
{ display(~shuma[1]);while(1); display(~shuma[2]);while(1); display(~shuma[3]);while(1); display(~shuma[4]);while(1); display(~shuma[5]);while(1); } if(jianpan==0xfd) { } if(jianpan==0xfb) { } if(jianpan==0xf7) { } if(jianpan==0xef) { } if(jianpan==0xdf) { } if(jianpan==0xbf) { } if(jianpan==0x7f) { display(~shuma[6]);while(1); display(~shuma[7]);while(1); display(~shuma[8]);while(1); display(~shuma[0]); } else { } } } } } if((jianpan&0x80)==0x00) { display(NO); while(1) { //S8 按下,进入表决器状态
分享到:
收藏