八路抢答器电子线路设计附C语言程序.docx
《八路抢答器电子线路设计附C语言程序.docx》由会员分享,可在线阅读,更多相关《八路抢答器电子线路设计附C语言程序.docx(24页珍藏版)》请在冰豆网上搜索。
八路抢答器电子线路设计附C语言程序
应用科学学院
电子系统课程设计
XX:
周康
学号:
24号
专业班级:
嵌入式10
指导教师:
朱水金
设计题目:
八路抢答器
完成时间:
2013年07月01日
功能〔20%〕
实训〔60%〕
设计报告〔20%〕
总评
简易难度
〔10%〕
控制方式
〔10%〕
原理图
〔10%〕
装配图
〔10%〕
元器件
焊接
〔10%〕
自控质量
〔10%〕
功能实现
〔10%〕
质量评估
〔10%〕
格式
〔5%〕
容〔15%〕
指导教师签名:
摘 要
数字抢答器由主体电路与扩展电路组成。
用控制电路和主持人开关启动报警电路,以上两局部组成主体电路。
通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。
经过布线、焊接、调试等工作后数字抢答器成形。
单片机体积小价格低,应用方便,稳定可靠。
单片机系统的硬件构造给予了抢答系统“身躯〞,而单片机的应用程序赋予了其新的“生命〞,使其在传统的抢答器面前具有电路简单、本钱低、运行可靠等特色。
关键字:
抢答电路报警电路倒计时电路
引言:
单片机的开展史
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
1.SCM即单片微型计算机〔SingleChipMicroputer〕阶段,主要是寻求最正确的单片形态嵌入式系统的最正确体系构造。
“创新模式〞获得成功,奠定了SCM与通用计算机完全不同的开展道路。
在开创嵌式系统独立开展道路上,Intel公司功不可没。
2.MCU即微控制器〔MicroControllerUnit〕阶段,主要的技术开展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
它所涉及的领域都与对象系统相关,因此,开展MCU的重任不可防止地落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出MCU的开展也有其客观因素。
在开展MCU方面,最著名的厂家当数Philips公司。
3.单片机是嵌入式系统的独立开展之路,向MCU阶段开展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的开展自然形成了SoC化趋势。
随着微电子技术、IC设计、EDA工具的开展,基于SoC的单片机应用系统设计会有较大的开展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
单片机的开展单片机作为微型计算机的一个重要分支,应用面很广,开展很快。
自单片机诞生至今,已开展为上百种系列的近千个机种。
第一章数字抢答器的概述及制作要求
1.1数字抢答器的概述
对于抢答器我们大家来说都不陌生,它是用于很多竞赛场合,真正实现先抢先答,让最先抢到题的选手来答复下列问题。
抢答器不仅考验选手的反响速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上,表达了公平公正的原那么。
1.2设计任务与要求
根本要求:
1.给主持人设置一个开关,用来控制系统的重启〔编号显示数码管重置初始时间〕和抢答器的倒计时开场。
2.抢答器显示和倒计时的功能。
抢答开场后,假设有选手按动抢答器按钮,编号立即锁存,并在LED数码上显示选手的编号,同时扬声器给出音响提示。
此外,要封锁输入电路,制止其他选手抢答。
发挥局部:
1.抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定〔如20秒〕。
当节目主持人启动“开场〞键后,要求定时器立即减计时,并用显示器显示。
2.参加选手在设定的时间抢答,抢答有效,定时器停顿工作,显示器上显示选手的编号,并保持到主持人将系统清零为止。
3.如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统自动回复到初始倒计时时间,并封锁输入电路,制止选手超时后抢答。
第二章单片机芯片的选择及抢答器方案
2.1单片机芯片的选择
单片机选用的是Atmel公司推出的AT89C52,它是一种低成效、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
在单芯片上拥有灵巧的8位CPU和在线系统可编程Flash,使得AT89C52具有以下标准功能:
8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断构造,全双工串行口,片晶振及时钟电路。
空闲模式下,CPU停顿工作,允许RAM、定时器/计数器串口、中断继续工作。
掉电保护方式下RAM容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。
而且,它还具有一个看门狗(WDT)定时/计数器。
如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。
T89S52有40个引脚,32个外部双向输入/输出〔I/O〕端口,同时含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱。
单片机管脚说明:
AT89C52
引脚
功能
P3.0
RXD〔串行口输入〕,蜂鸣器报警
P3.1
TXD〔串行口输出〕,警示灯报警
P3.2
INT0〔外部中断0输入〕,用于倒计时
P0.0~P0.7
数码管段选
P2.0~P2.3
数码管位选
P1.0~P1.7
按钮抢答功能键
RST
复位端
XTAL1,XTAL2
振荡电路
2.2模块性能分析
模块局部主要分为AT89C52芯片、独立式键盘、LED数码管显示局部,下面对这后两局部进展介绍,其中对LED七段数码管显示器做详细介绍,并根据实际工作情况采用适宜的工作方式。
2.2.1独立式键盘
利用8个常开按钮开关S1~S8和8只电阻R1~R8组成抢答器的输入电路。
S1~S8为自复式常开按钮开关,分别作为8位抢答按钮,与它相连的8只电阻为下拉电阻,以保证按钮未按下时,锁存器的输入端为低电平。
当程序执行时,按下按键,七段数码管显示器上即显示相应的是哪个组按下抢答。
2.2.2LED数码管显示
译码器的逻辑功能是将每一个输入的二进制代码译成对应的输出高、低电平信号,是编码器的反操作。
数码管可以用TTL或CMOS集成电路直接驱动,所以使用译码器将BCD编码译成数码管所需要的驱动信号,以便使数码管用十进制数字显示出BCD编码表示的数值。
七段数码管的段排列和部构造如下图七段数码管的段排列和部部构造
点亮显示器分为静态和动态显示两种方法。
所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或是截止。
例如,其段数码管的a、b、c、d、e、f、导通,g截止,那么显示0.这对这种显示方式每一位都要有一个8位输出口控制,所占硬件较多,一般用于显示位数较少〔很少〕的场合。
当位数较多时,用静态显示所需的I/O过多,一般采用动态显示方法。
在实际电路设计中,需要先通过仿真软件测试电路以及编译的程序,检查外围电路设计是否合理,软件编译是否正确,以及软件和硬件电路能否正常配合工作,能否准确的实现所设计的功能。
如果测试通过,电路仿真没有问题能完全实现功能的话就可以实际的做板子的焊接工作了。
在教师的指导下我选择了常用的单片机仿真软件proteus6.9以及keil进展仿真。
第三章硬件电路设计
3.1总体设计
根据抢答器的根本功能,可以设计出如下:
3.1总体设计
图3-1总体设计
3.2外部振荡电路的设计
图3-2外部振荡电路
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率为11.0592HZ。
电路中两个电容C1,C2的作用有两个:
一是帮助振荡器起振;二是对振荡器的频率进展微调。
C1,C2的典型值为30PF。
3.3复位电路的设计
单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图4所示:
图3-3复位电路
在方案中使用到了硬件复位和软件复位两种功能,由上面的硬件复位可使存放器及存储器的值都恢复到初始值,而前面的功能提到了倒计时间需要有记忆功能,该功能实现的前提条件就是不能对单片机进展硬件复位,所以设定了软复位功能。
软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
3.4显示电路的设计
显示电路使用了七段数码管7SEG-MPX4-CC,属于共阴极的,由高电平点亮。
图3-4阴极七段数码管
3.5按钮输入电路的设计
抢答器的输入按钮使用常开开关:
图3-5抢答按键
这些常开开关组成了抢答按键,硬件电路简单,在程序设计上也不复杂,只要在程序中消除在按键过程中产生的“毛刺〞
现象就可以了。
这里采用最常用的方法即延时法,其的原理为:
因为“毛刺〞脉冲一般持续时间短,约为几ms,而按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里取10ms)后再判断此电平是否保持原状态,如果是那么为有效按键,否那么无效。
3.6报警电路的设计
这里能利用程序来控制单片机P3.1口线反复输出高电平或低电平,即在该口线上产生一定频率的矩形波,接上扬声器就能发出一定频率的声音,再利用延时程序控制“高〞“低〞电平的持续时间,就能改变输出频率,从而改变音调,使扬声器发出不同的声音。
图3-6报警电路
第四章系统软件设计
4.1抢答器流程图
流程图是使用图形表示算法的思路是一种极好的方法,不管采用何种程序设计方法,程序总体构造确定后,一般以程序流程图的形式对其进展描述。
总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。
流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的容,流程线表示操作的先后次序。
流程图的根本构造为顺序构造,分支构造〔又称选择构造〕,循环构造。
为便于识别,绘制流程图的习惯做法是:
方框表示:
要执行的处理〔Process〕
平行四边型表示:
代表资料输入〔Input〕
不规那么图形代表资料输出〔Output〕或报表输出〔Print〕
菱形表示:
决策或判断〔例如:
If...Then...Else〕
图4-1-1抢答器主程序流程图
4.2抢答器程序
#include
#defineuintunsignedint
#defineucharunsignedchar
//共阴极数码管编码表0-f显示
unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
//变量定义
sbitBEEP=P3^1;
sbitstart_stop=P3^2;
sbitreset=P3^3;
sbitkey1=P1^0;
sbitkey2=P1^1;
sbitkey3=P1^2;
sbitkey4=P1^3;
sbitkey5=P1^4;
sbitkey6=P1^5;
sbitkey7=P1^6;
sbitkey8