基于单片机8路抢答器论文 - 图文
更新时间:2024-06-21 17:45:02 阅读量: 综合文库 文档下载
嵌入式系统设计
课程设计
题 目 基于AT89S52的抢答器设计 班 级 11工业电气自动化 学 号 2011015021 姓 名 李琳 指导教师 白龙
牡丹江师范学院 2013 年11 月 30 日
基于AT89S52的抢答器设计
第一章:绪论,主要介绍设计背景。 ........................................................................................... 3
1.数字抢答器的概述 ................................................................................................................ 3 2. 设计要求及目的 .................................................................................................................. 3 第二章:硬件电路设计 ................................................................................................................... 4
1.总体原理图 ............................................................................................................................ 4 2.时钟频率电路的设计 ............................................................................................................ 5 3.复位电路的设计 .................................................................................................................... 5 4.显示电路的设计 .................................................................................................................... 6 5.键盘扫描电路的设计 ............................................................................................................ 6 6.发声........................................................................................................................................ 7 7.系统复位 ................................................................................................................................ 7 三.系统软件设计 .............................................................................................................................. 8
1.系统原理图 ......................................................................................................................... 8 2.程序流程图 ............................................................................................................................ 8 3.程序...................................................................................................................................... 10 第四章:仿真分析 ......................................................................................................................... 14
4.1 仿真 .................................................................................................................................. 13 4.2调试 ................................................................................................... 错误!未定义书签。 4.3具体调试 ........................................................................................... 错误!未定义书签。 第五章:总结 ................................................................................................................................. 17 参考文献......................................................................................................................................... 18
第一章:绪论,主要介绍设计背景。
1.数字抢答器的概述
单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。
而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。
2. 设计要求及目的
(1)设计一个可供8人进行的抢答器。
(2)系统设置复位按钮,按动后,重新开始抢答。
(3)抢答器开始时数码管显示序号0,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响。,并且不出现其他抢答者的序号。
(4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为60秒,当主持人启动“开始”开关后,定时器开始减计时,同时蜂鸣器有短暂的声响。
(5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。
(6)当设定的时间到,而无人抢答时,本次抢答无效,扬声器报警发出声音,并禁止抢答。定时器上显示00。
第二章:硬件电路设计
一.系统硬件设计
为使硬件电路设计尽可能合理,应注意以下几方面:
(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。
(2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。
(3) 程序空间,选用片内程序空间足够大的单片机,本设计采用AT89C51单片机。
(4) I/O端口,在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。
1.总体原理图
2.时钟频率电路的设计
单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
外部振荡源电路
一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12μs。
3.复位电路的设计
单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图所示:
复位电路
值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面
的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
4.显示电路的设计
显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。
5.键盘扫描电路的设计
键盘是人与微机系统打交道的主要设备。关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路,这些书籍中一般也提供了相应的键盘扫描程序。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形
式是独立键盘及矩阵键盘。
独立键盘
它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺”现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。
6.发声
我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。
7.系统复位
使CPU进入初始状态,从0000H地址开始执行程序的过程叫系统复位。从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位。硬件复位必须通过CPU外部的硬件电路给CPU的RESET端加上足够时间的高电位才能实现。上电
复位,人工按钮复位和硬件看门狗复位均为硬件复位。硬件复位后,各专用寄存器的状态均被初始化,且对片内通用寄存器的内容没有影响。但是,硬件复位还能自动清除中断激活标志,使中断系统能够正常工作,这样一个事实却容易为不少编码人员所忽视。软件复位就是用一系列指令来模拟硬件复位功能,最后通过转移指令使程序从0000H地址开始执行。对各专用寄存器的复位操作是容易的,也没有必要完全模拟,可根据实际需要去主程序初始化过程中完成。而对中断激活标志的清除工作常被遗忘,因为它没有明确的位地址可供编程。有的编程人员用020000(LJMP 0000H)作为软件陷阱,认为直接转向0000H地址就完成了软件复位,就是这类错误的典型代表。软件复位是使用软件陷阱和软件看门狗后必须进行的工作,这时程序出错完全有可能发生在中断子程序中,中断激活标志已置位,它将阻止同级中断响应。由于软件看门是高级中断,它将阻止说要中断响应,由此可见清除中断激活标志的重要性。
三.系统软件设计
软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。
1.系统原理图
2.程序流程图
在本设计中包括了以下八个主要的程序:主程序;非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。主流程图如图所示:
3.程序
#include
#define uchar unsigned char #define uint unsigned int sbit rst=P3^7;
sbit speaker=P3^6;//报警 sbit start=P3^4;
uchar count=0;//用于产生1秒的时间
uchar dsy_time=0x3c; //用于显示抢答时间 uchar dsy_buffer[]={0,0,0};//显示缓冲
uchar code leddata[]= //共阴数码管的段码 {
0x3F, //\ 0x06, //\ 0x5B, //\ 0x4F, //\ 0x66, //\ 0x6D, //\ 0x7D, //\ 0x07, //\ 0x7F, //\ 0x6F, //\ };
uchar code state[]=//抢答时的8种按键情况 {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // //延时 //
void DelayMS(uint ms) {
uchar t; while(ms--)
for(t=0;t<120;t++); } // //报警 //
void speak(void) {
uchar i=10; while(i--) { speaker=~speaker; DelayMS(2); } } //
//主程序 //
void main()
{
//初始化
uchar i,m=0x04; P0=0xff; P1=0x00; P2=0x00; P3=0xb7;
TMOD=0x01;//选择工作方式
TH0=0x3c;//定时器T0初始值的高八位 TL0=0xaf;//定时器T0初始值的低八位
IE=0x83;//开总中断,定时器中断,外部中断0 while(1) { if(rst==0)//系统复位 { dsy_buffer[0]=0; TR0=0; dsy_time=0x3c; } if(dsy_time==0x00)//在设定的时间到,而无人抢答时关闭定时器中断 { TR0=0;//关闭定时器中断 P1=0x00;//禁止抢答 } for(i=0;i<3;i++)//用数码管显示抢答序号和抢答时间 { P2=m; m=_cror_(m,1);//循环移位实现数码管的动态显示 dsy_buffer[2]=dsy_time;//抢答时间的个位 dsy_buffer[1]=dsy_time/10;//抢答时间的十位 P0=leddata[dsy_buffer[i]];//数码管显示抢答者的序号和抢答时间 DelayMS(5);
} m=0x04;//实现下轮的循环显示 for(i=0;i<8;i++) { if(P1==state[i])//判断有按键按下 { DelayMS(10); //延时防止按键抖动引起的误操作 if(P1<=state[i]) //再次判断有按键按下 {
dsy_buffer[0]=i+1; P1=0x00;//通过硬件实现优先抢答 TR0=0; //关闭定时器0 speak(); } } } } } //
//实现定时时间1S //
void key_inter() interrupt 1 {
TH0=0x3c;//50MS初始值 TL0=0xaf;//50MS初始值 if(++count==20) { count=0; dsy_time--;//实现计数器的减法计数 } } //
//抢答开始 //
void start_inter() interrupt 0 {
P1=0xff;
TR0=1;//定时器0开始计数 speak(); }
第四章:仿真分析
4.1仿真
测试数据及结果如下:
总开关按下情况下,开始按键按下,数码管显示倒数三秒,仿真电路如图
抢答倒计时完后,若有选手进行抢答,显示其号码,并让选手对应的led灯亮,显示仿真电路如图
4.2系统的调试
系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。
硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误(如错线、开路、短路等)。这种调试可单独模拟进行,也可通过开发装置由软件配合进行,硬件联机调试则必须在系统软件的配合下进行。 软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该 程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成
功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否达到设计要求,是否达到预期的效果。
4.3具体调试
1、具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说 “开始”前提前抢答违反规则。 2、具有定时功能,在60秒内无人抢答表示所有参赛选手获参赛队对本题弃权。
3、60秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。 4、 显示抢答时间, 按一下减一秒,按一下\键,时间LED上会显示改变后的时间,调整范围为0s~60s。
5、主持人按\抢答开始\键,会有提示音,并立刻进入抢答倒计时(预设60s抢答时间),如有选手抢答,会有提示音,并会显示其号数,只有第一个按抢答
的选手有效。
6、如倒计时期间,主持人想停止倒计时可以随时按\停止\按键,系统会自
动进入准备状态,等待主持人按\抢答开始\进入下次抢答计时。 我遇到的问题:有时候在自己创建的元器件的管脚上无法实现连线。
分析回答:应该是管脚的间距太小了。因为在ISIS中,每个元器件的管脚都要占据一块区域(就像自己的保护区一样,不容别人随意侵犯),该区域会排斥外部的走线。解决问题的方法是在走线的同时按住 “CTRL”键,直到走线绕过狭窄的保护区。当然最根本的办法是重新编辑元器件,把其管脚间距调大一些。 主持人按键来控制总开关,主持人按下开关那么选手开始抢答,此时数码管开始0-60计数,并且选手们必须在规定的时间内进行抢答,若过了60秒还没抢答那么抢答失效,选手们若有一个在规定的时间内抢答成功则其余的选手不可以再抢答,即该选手抢答成功。
第五章:总结
经过近两个星期的努力,在老师和同学的讨论和帮助下,我成功地完成了
八路抢答器的设计,通过此次课程设计,我重新认识到了对书本上的知识要独立运用的道理。在抢答器设计过程中,发现了很多细节性的问题,也出现了很多错误,经过和同学们研究、商讨最后都解决,感觉团队协作能力是非常有必要的!通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识和C语言的编程,也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设中可能会存在着一些不足,我真诚的接受老师和同学的批评和指正。
参考文献
1.C程序设计 ,谭浩强,清华大学出版社,2005 2.单片机原理及接口技术(第3版),李朝青,北京航空航天大学出版社,2002 3. 单片机系统设计与实例指导,冯育长,西安电子科技大学出版社,2007 4. 单片机课程设计实例指导,李光飞,北京航天航空大学出版社,2004
课程设计指导教师评定成绩表
优秀 项目 分值 (100>x≥90) 参考标准 良好 (90>x≥80) 参考标准 中等 (80>x≥70) 参考标准 学习态度尚好,遵守组织纪律,基本保按期完成各项工作 设计合理,理论分析与计实验数据比较准确,有一定的实际动手能力,主要文献引用、调可信 设计基本合理,理论分析错,实验数据无大错 及格 (70>x≥60) 参考标准 学习态度尚可,能遵守组织纪律,能按不及格(x<60) 参考标准 学习马虎, 纪律涣散,工作作风不严谨,不能保证设计时间和进度 设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算文献引用、调查调研比较合理、可信 有重大改进或创新 10 独特见解,有一定实用价值 结构严谨,逻辑性强,层次清论文(计算书、图纸)撰写质量 50 文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰 有较大改进或新颖的见解,实用性尚可 结构合理,符合逻辑,文章言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰 结构合理,层文理通顺,基本达到规范化要求,书写比较工整;图清晰 结构基本合清楚,文字尚通顺,勉强达到规范化要求;图纸比较次较为分明,理,逻辑基本内容空泛, 结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰 有一定改进或新的见解 有一定见解 设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题 观念陈旧 评分 学习态度认真,学习态度比科学作风严谨,较认真,科学严格保证设计学习态度 15 时间并按任务书中规定的进度开展各项工作 设计合理、理论分析与计算正确,实验数据准确,有很强的实技术水平与实际能力 25 际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信 作风良好,能按期圆满完成任务书规定的任务 证设计时间,期完成任务 算基本正确,与计算无大机应用能力,查调研比较晰,语言准确,层次分明,语纸比较工整、工整 指导教师评定成绩:
指导教师签名: 年 月 日
正在阅读:
基于单片机8路抢答器论文 - 图文06-21
中国房地产开发行业运营报告01-14
如何在Excel做柱状图、标准误09-15
外教心理学复习题03-14
我的假日生活作文500字02-05
2015年云南省导游人员资格考试《全国导游基础知识》考前押题及详解(一)11-26
大一社会实践报告题目03-31
西方古代06-02
新型农民培训会上的领导讲话稿10-20
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 抢答器
- 单片机
- 基于
- 图文
- 论文