ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:170.01KB ,
资源ID:3306892      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3306892.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告.docx

1、单片机课程设计报告课程设计报告设计题目: 八路抢答器 设计作者: 廖进华 专业班级/学号: 10应用电子技术班 1006020125 指导教师: 王明文 设计时间: 2012年6月9号 目录1 引言.22 设计任务及要求.3 21设计任务.3 22设计要求.33 系统总体设计.3 31方案论证.3 32系统结构框图设计及说明.3 4 软、硬件设计.4 4 1 系统硬件设计.4 4 2系统软件设计.45 安装与调试.6 51安装调试过程.6 52调试与故障分析.66 结论、收获、体会.77 参考文献.88 附录.9 引言抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。本设计是以八路抢答器

2、为基本理念。考虑到依需设定时间来作为抢答的依据,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和计数的原理,将软、硬件结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用按钮开关来控制抢答开始和复位和选手的抢答。同时系统能够实现:在抢答中,只有抢答开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间课设可在1-99s设定;可以显示是哪位选手有效抢答,先对应的选手号的指示灯也会跟着亮起来,抢答时间以倒计时的方式显示,其中有有人抢答时,并抢答成功时,那么其他的选手再抢答就会无效;若时间倒计时到00s时都没任何人抢答,那么此时不管哪位选手再

3、抢答都会无效;此时只有通过复位开关复位,这样才能进行下一轮的抢答。同时也可以重新设定强大时间。这次的课程设计主要是要对单片机的使用,以及结合一些芯片的使用,也就是对单片机这门课的巩固和应用,通过这次实践来帮助我们更好的掌握这门课。2.设计任务与要求2.1任务:基于单片机设计一个八路抢答器2.2要求:(1)设计出硬件电路; (2)设计出软件编程方法,并写出源代码; (3)用protues进行仿真; (4)报告格式按照规定完成,结构要符合逻辑。3.系统总体设计3.1方案论证:该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其

4、技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。MCS-51单片机特点如下: (1)可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。 (2) 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。3.2系统结构框图(图1-1)设计及说明: 图1-1 4.1系统硬件设计.如图1-2所示为硬件电路。其工作原理为:接通电源后,主持人按下“复位”开关,抢答器处于禁止状

5、态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作开始、复位状态开关。 图1-24.2系统软件设计为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下P2.2按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了答

6、题键,马上关闭T0、调用显示程序、封锁键盘。主程序流程图: 图1-35.1安装与调试制作PCB电路板流程:打印PCB裁剪覆铜板预处理覆铜板(打磨)转印PCB腐蚀电路板电路板钻孔电路板预处理(打磨、清洗、涂松香)焊接电子元件。表1 器件选型方案的详细清单器件名称规格型号数量主要芯片AT89C511极性电容0.1uF1电阻10k排阻 2电容30PF2晶振12MHZ1按钮12共阴4位7段数码管SMG SM410561K15.2调试与故障分析:(1) 开机:按电源开关,显示屏左边的复位指示灯亮,数码管显示0-00。(2) 设定抢答倒计时时间(3) 设定答题倒计时时间(4) 测试各组抢答按键在调试的过程

7、中发现有人按下的时候会不稳定,后来发现是有些是没去抖动的原因,后来就修改了。(5) 启动抢答倒计时,开始抢答0-00状态下,当主持人宣布抢答开始时,马上按一下抢答键,屏幕显示所设定的抢答倒计时时间并开始倒计时。倒计时到0以后,同时显示屏返回0-00待命状态。在抢答倒计时中,如果有参赛组抢答,仪器屏幕立即显示该组的组别号。需要返回0-00待命状态,按复位键即可。(7) 提前复位倒计时抢答的倒计时时间,需要提前退出,只要按一下复位键,即可返回到0-00待命状态。(8)在程序完成的时候开始在验证程序的时候发现倒计时时间到还能继续抢答,后面经过调程序,发现导致这个原因是因为在倒计时时间到的时候没有把允

8、许抢答标志位关了,经过修改就解决了这个问题。6.结论、收获、体会通过调试,结果完全符合抢答器设计要求。这次课程设计老师给我们安排了一个比较长的时间,可以说是比较充裕的。虽然如此,我还是很用心的做设计,利用了这段时间时间在宿舍思考本次的课程设计,一开始不知怎么下手,虽然这些知识以前都有接触过,但也只是分部分来接触,而这次的设计是要对前面几次实验的一个综合。也翻阅了一些资料,并自己事先编写好了程序,在实验课上把自己写的程序烧进去芯片里面,发现不行,那些数字闪动得非常厉害,自己检查了好久好久,但还是发现不了问题,之后问了同学,才知是我把段码搞错了,我用的是共阴位选,但数据表的段码我却用了共阳的段码,

9、所以不能在数码管上正常显示。通过运用单片机设计八路抢答器课程设计,发现自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。对软件的使用比较不熟悉,在这段时间加强了学习,对自己选用的芯片原理进行仿真画图,一开始对芯片的功能不太明白,有些东西都看不太明白,都是通过自己一个个来慢慢琢磨,把仿真图画了出来,然后把写好的程序导入芯片,进行仿真,当看到程序正常运行的那一刻,心中真是有几分的喜悦。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。虽然这只是一次的

10、较简单的课程制作(八路抢答器),可是平心而论,也耗费了我不少的心血。通过这次课程设计,我想说:为完成这次课程设计我们确实花时间了,和同学们相互帮助,大学里几年的相处还赶不上这几天来的实践,我感觉我和同学们之间的距离更加近了。软硬件都成功时我们的心中就不免兴奋,不免激动。以前种种艰辛这时就变成了最甜美的回忆!这次学习给我留下了深刻的印象,使我受益匪浅。而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后会更加努力,做得最好。对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有

11、更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆!7.参考文献(1)彭伟,c语言程序设计100例电子工业出版社(2)邵晓根,微机原理与接口技术,中国电力出版社(3)冯博琴,微型计算机原理及接口技术,清华大学出版社(4)艾德才,微型计算机原理与接口技术,高等教育出版社(5)沈美明,IBM-PC汇编语言程序设计,清华大学出版社(6)薛栋梁,单片机原理及应用,中国水利水电出版社,2001(7)谢筑森,张辉等,单片机开发与典型应用设计,中国科学技术大学出版社,8.附录1.主程序:#includesbit kai=P22;sbit ting=P23;

12、sbit hao1=P10;sbit hao2=P11;sbit hao3=P12;sbit hao4=P13;sbit hao5=P14;sbit hao6=P15;sbit hao7=P16;sbit hao8=P17;sbit LE1=P21;sbit LE2=P20;sbit P2_6=P26;sbit P2_7=P27;sbit key1=P24;sbit key2=P25;sbit K1=P25;sbit K2=P24;unsigned char code TAB=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;char

13、 hao,a,num,shi,ge,aa=10,qiangda,c,d;void xianshi();void delay(int x);void key_ts(); void keyscan();void xuanshou(); main() TMOD=0X01; EA=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; TR0=1; P2_6=0; while(1) key_ts(); keyscan(); if(qiangda=1) xuanshou(); xianshi(); void keyscan()/启动/复位if(ka

14、i=0) delay(5); if(kai=0) while(!kai); TR0=1;/开中断 qiangda=1; xuanshou(); P2_7=0; P2_6=1; P3=0xff; if(ting=0) delay(5); if(ting=0) while(!ting) num=c; hao=0; TR0=0; qiangda=0; P2_6=0; P2_7=1; P3=0xff; void xuanshou()/选手号函数 if(hao=0&hao1=0) delay(5); if(hao1=0) while(hao1=0) P2_6=1; P2_7=1; hao=1; TR0=

15、0; P3=0xfe; if(hao=0&hao2=0) delay(5); if(hao2=0) while(hao2=0) P2_6=1; P2_7=1; hao=2; TR0=0; P3=0xfd; if(hao=0&hao3=0) delay(5); if(hao3=0) while(hao3=0) P2_6=1; P2_7=1; hao=3; TR0=0; P3=0xfb; if(hao=0&hao4=0) delay(5); if(hao4=0) while(hao4=0) P2_6=1; P2_7=1; hao=4; TR0=0; P3=0xf7; if(hao=0&hao5=0

16、) delay(5); if(hao5=0) while(hao5=0) P2_6=1; P2_7=1; hao=5; TR0=0; P3=0xef; if(hao=0&hao6=0) delay(5); if(hao6=0) while(hao6=0) P2_6=1; P2_7=1; hao=6; TR0=0; P3=0xdf; if(hao=0&hao7=0) delay(5); if(hao7=0) while(hao7=0) P2_6=1; P2_7=1; hao=7; TR0=0; P3=0xbf; if(hao=0&hao8=0) delay(5); if(hao8=0) whil

17、e(hao8=0) P2_6=1; P2_7=1; hao=8; TR0=0; P3=0x7f; void timer0(void) interrupt 1 /定时器中断函数 TH0=(65536-50000)/256; TL0=(65536-50000)%256; a+; if(a=20) a=0; num-; if(num=0) num=0; TR0=0; qiangda=0; void xianshi()/显示函数开始 shi=num/10; ge=num%10; P0=0xff; LE1=1; P0=0xfe; LE1=0; P0=0; LE2=1; P0=TABhao; LE2=0;

18、 delay(5); P0=0xff; LE1=1; P0=0xfd; LE1=0; P0=0; LE2=1; P0=TABaa; LE2=0; delay(5); P0=0xff; LE1=1; P0=0xfb; LE1=0; P0=0; LE2=1; P0=TABshi; LE2=0; delay(5); P0=0xff; LE1=1; P0=0xf7; LE1=0; P0=0; LE2=1; P0=TABge; LE2=0; delay(5);void delay(int x)/延时函数开始 int i,j; for(i=0;ix;i+) for(j=0;j120;j+);void key_ts()/调时子程序 if(key1=0) delay(10); if(key1=0) while(1) if(kai=0) while(kai=0); num+; if(ting=0) while(ting=0); num-; if(key2=0) break; c=num; xianshi(); 2.protel 电路原理图和PCB电路图: 电路原理图 PCB电路图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1