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

加入VIP,免费下载资源
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机多路抢答器设计.docx

1、一、方案比较1、 纯数字逻辑电路,基本可以排除方案的,主要缺点是缺乏灵活性,消耗的精力是最大的,发现需要修改,你就发现非常难于修改,除非重新设计,制作。2、 单片机是原材料成本最小的一种方案,更精确,更容易控制,不易出错,可实现功能多,且易实现。综上所述,选择基于单片机的抢答器制作更为合理二、设计的主要任务通过此次设计,预期完成以下主要任务:1. 掌握抢答器的基础知识及原理;2. 掌握 STC89C52 单片机的管脚分配;3. 设计出合理的电路图及相应的汇编程序,同时仿真调试成功;4. 购买元器件完成焊接组装工作,解决调试问题,最后完成多路抢答器的实物制作。三、主要元件介绍(一)、单片机的选择

2、单片机选用的是 Atmel 公司推出的 AT89S52,它是一种低功效、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。在单芯片上拥有灵巧的 8 位 CPU 和在线系统可编程 Flash,使得 AT89S52 具有以下标准功能:8K 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU 停止工作,允许 RAM、定时器

3、/计数器串口、中断继续工作。掉电保护方式下 RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器。如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。T89S52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中端口,2 个 16 位可编程定时计数器,2 个全双工串行通信口,片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 F

4、lash 存储器可有效地降低开发成本。STC89C52 单片机的基本结构STC89C52 单片机采用 40Pin 封装的双列直接 DIP 结构,图 2-1 是它的引脚配置,40 个引脚中,电源 Vcc 和接地 GND 各一根,外置石英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口和 P3 口复用。现在我们对这些引脚的功能加以说明。图 2-1STC89C52 的引脚图1. 电源引脚(1) Vcc (40 脚)电源端GND (20 脚)接地端(2) 工作电压为 5V2. 外接晶体引脚XTAL1 是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外部振荡器时,外部振荡信

5、号应直接加到 XTAL1,而 XTAL2 悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为 12MHz,时钟频率就为 6MHz。晶振的频率可以在 1MHz-24MHz 内选择4。电容取 30PF 左右。图 2-2 晶振电路3. 复位 RST(9 引脚)在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在此引退时,将使单片机复位,只要这个引脚保持高电平,51 芯片便循环复位。复位后 P0-P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零5。当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运行程序。图 2-3 复位电路4. 输入

6、输出引脚(1) P3 端口P3.0P3.7 P3 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL5。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接控制信息。除此之外 P3 端口还用于一些专门功能,具体请看下面功能表。表 2-1 P3 功能表(2) P2 端口P2.0P2.7 P2 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接收高 8 位地址和控制信息。在访问外部程序和 16 位外

7、部数据存储器时,P2 口送出高 8 位地址。而在访问 8 位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(3) P1 端口P1.0P1.7 P1 是一个带有内部上拉电阻的 8 位双向 I/0 端口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平,作输入用。对内部 Flash 程序存储器编程时,接收低 8 位地址信息。(4) P0 端口P0.0-P0.7 P0 是一个 8 位漏极开路型双向 I/O 端口,端口置 1 (对端口写 1)时作高阻抗输入端。作为输出口时能驱动 8 个 TTL。对内部 Flash 程序存储器编程时,接收指令字节;校验程序时输出指令字节

8、,要求外接上拉电阻7。在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低 8 位)/ 数据总线,访问期间内部的上拉电阻起作用。(二)、数码管简介四、系统功能框图本次设计八路抢答器系统主要有五部分电路:选手抢答电路、八段显示电路、蜂鸣器报警电路、主持人控制电路。本次设计的八路抢答器可实现以下基本功能:u启动电源后系统自动倒计时 3 秒。u抢答器同时供八名选手比赛,分别用八个按钮 SW1SW8 表示。u抢答器具有锁存与显示功能。即选手按动按钮时会锁存相应的编号,并且优先抢答选手的编号一直保持到主持人将系统清除为止。u违规抢答,蜂鸣器会报警,而且锁存抢答队员的号码,并闪烁显示。u主持人关

9、电源清除号码。五、硬件电路设计1、最小系统设计图 3-1STC89C52 最小系统说明:(1) 复位电路:教材一般电容取 10u,电阻 R 取 8.2K9。(2) 晶振电路:典型的晶振取 11.0592MHz(因为可以准确地得到 9600 波特率和 19200 波特率,用于有串口通讯的场合)或者 12MHz(产生精确的方波便于 12 分频,方便定时操作)。(3) 电源接 5V 变压器。六、总电路图下图是电路原理图总电路图七、系统主程序目前,单片机的编程语言主要有 C 语言和汇编语言两种。C 语言是高级语言,编写起来比较简便且易维护,汇编语言介于机器语言和高级语言之间,更接近硬件,但编写起来比较

10、冗长。介于本次程序不太复杂,本人又更喜欢汇编,故本次设计的程序采用汇编语言来写,详见附录一。八、系统仿真与调试1、Protues 软件介绍Protues 的 ISIS 是一款 Labcenter 出品的电路分析实物仿真系统,可仿真各种电路和 IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业单片机仿真系统。下图是 Protues 软件初始界面:图 5-1 Protues 软件初始界面该软件的特点有:(1) 满足常用单片机软件仿真系统的标准,并在同类产品中具有明显优势。(2) 具有模电仿真、数电仿真、单片机及其外围电路组成系统仿真。(3) 目前支持的单片机类型有:68000 系列、805

11、1 系列、AVR 系列、PIC 系列以及各种外围芯片。(4) 支持大量的存储器和外围芯片。Protues与其它单片机仿真软件不同的是,它不仅能仿真单片机的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程及结果。对于这样的仿真实验,从某种意义上讲,弥补了实验和工程应用间脱节的矛盾现象。2、Keil 软件介绍Keil 软件是目前最流行开发 MCS-51 系列单片机软件,Keil 软件提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等

12、在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。下图是本人安装的 Keil 软件初始界面:图 5-2Keil 软件初始界面九、实物图十、元件清单:位号名称规格数量D1共阳数码管3.8*5.6cm1晶振晶振12M1STC89C52STC89C52 单片机STC89C52 单片机1led红色 led5mm1R1电阻470 欧姆1Q1三极管85501U1蜂鸣器蜂鸣器1J1-J8按键开关按键开关8S1电源开关自锁开关1万用板万用板7*9cm1插针排插常用排插4+8=1240 引脚 DIP 插槽DIP 插槽40 引脚1电源接线插口电源接线插口2 口1十一、焊接问题及解决一

13、般来说,造成硬件问题的首要原因就是焊接失误,即焊接的好坏直接影响到产品的正常与否,在本次设计制作的焊接过程中遇到了一些问题,通过查找资料,找到了相关原因:1) 焊锡用量过多导致焊点的锡堆积;焊锡过少又不足以包裹焊点;2) 冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮,有细小裂纹。3) 焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。4) 焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及烙铁离开焊点时角度不当造成的。有时,调试时最小系统的电路不工作,通过查资料才明白,首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是

14、否符合电源电压,电路需 5V 电源供电,故我们选择了用双公 USB 从电脑上供电,省去好多变压的麻烦。参考文献1 王冬梅, 张建秋. 基于单片机的八路抢答器设计与实现J. 佳木斯大学学报, 2009,27(3): 350.2 周功明, 周陈琛. 基于单片机 AT89C2051 的九路多功能智力竞赛抢答器的设计J. 现代电子技术, 2006, 10(20): 4.3 谢道平. 基于 Proteus 仿真的单片机多功能智能抢答器的设计J. 长春大学学报, 2011,21(10): 12.4 耿仁义等. 新编微机原理及接口技术. 2006.5 文明月. 基于 AT89S52 单片机的抢答器设计与实现

15、J. 科技创新导报, 2009, 28(10): 35.6 周润景, 张丽娜. 基于 PROTEUS 的电路及单片机系统设计与仿真M. 北京: 北京航天航空大学出版社, 2006.7 周坚. 单片机 C 语言轻松入门M. 北京: 北京航天航空大学出版社, 2006.8 李萍, 张池, 张勃. AT89S51 单片机原理、开发与应用实例M. 北京: 中国电力出版社, 2008.9 杨居义,单片机原理,清华大学出版社附 录附录一:抢答器程序#include unsigned char c1,c2,c3,c4,c5,c6;int j,k; sbit feng=P37; sbit k1=P10; sb

16、it k2=P11; sbit k3=P12; sbit k4=P13; sbit k5=P14; sbit k6=P15; sbit k7=P16; sbit k8=P17;unsignedcodetable=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7 C,0x39,0x5E,0x79,0x71;void delay1() unsigned int i,j; for(i=600;i0;i-)for(j=10;j0;j-); void main() for(k=400;k0;k-)for(j=100;j0;j-)P2=t

17、able3;if(k1=0) while(1)feng=0; P2=table1; delay1(); P2=0xff; delay1();if(k2=0) while(1) feng=0; P2=table2; delay1(); P2=0xff; delay1(); if(k3=0) while(1) feng=0; P2=table3; delay1(); P2=0xff; delay1(); if(k4=0) while(1) feng=0; P2=table4; delay1(); P2=0xff; delay1(); if(k5=0) while(1) feng=0; P2=tab

18、le5; delay1(); P2=0xff; delay1(); if(k6=0) while(1) feng=0; P2=table6; delay1(); P2=0xff; delay1(); if(k7=0) while(1) feng=0; P2=table7; delay1(); P2=0xff; delay1(); if(k8=0) while(1) feng=0; P2=table8; delay1(); P2=0xff; delay1(); for(k=400;k0;k-) for(j=100;j0;j-)P2=table2; if(k1=0) while(1) feng=0

19、; P2=table1; delay1(); P2=0xff; delay1();if(k2=0) while(1) feng=0; P2=table2; delay1(); P2=0xff; delay1(); if(k3=0) while(1) feng=0; P2=table3; delay1(); P2=0xff; delay1(); if(k4=0) while(1) feng=0; P2=table4; delay1(); P2=0xff; delay1(); if(k5=0) while(1) feng=0; P2=table5; delay1(); P2=0xff; delay

20、1(); if(k6=0) while(1) feng=0; P2=table6; delay1(); P2=0xff; delay1(); if(k7=0) while(1) feng=0; P2=table7; delay1(); P2=0xff; delay1(); if(k8=0) while(1) feng=0; P2=table8; delay1(); P2=0xff; delay1(); for(k=400;k0;k-)for(j=100;j0;j-)P2=table1; if(k1=0) while(1) feng=0; P2=table1; delay1(); P2=0xff

21、; delay1();if(k2=0) while(1) feng=0; P2=table2; delay1(); P2=0xff; delay1(); if(k3=0) while(1) feng=0; P2=table3; delay1(); P2=0xff; delay1(); if(k4=0) while(1) feng=0; P2=table4; delay1(); P2=0xff; delay1(); if(k5=0) while(1) feng=0; P2=table5; delay1(); P2=0xff; delay1(); if(k6=0) while(1) feng=0;

22、 P2=table6; delay1(); P2=0xff; delay1(); if(k7=0) while(1) feng=0; P2=table7; delay1(); P2=0xff; delay1(); if(k8=0) while(1) feng=0; P2=table8; delay1(); P2=0xff; delay1(); P2=table0;while(1) if(k1=0)P2=table1; while(1); if(k2=0) P2=table2; while(1); if(k3=0) P2=table3; while(1); if(k4=0) P2=table4; while(1); if(k5=0) P2=table5; while(1); if(k6=0) P2=table6; while(1); if(k7=0) P2=table7; while(1); if(k8=0) P2=table8; while(1);

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922