基于STC89C52单片机的多路抢答器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STC89C52 单片机的基本结构
STC89C52 单片机采用 40Pin 封装的双列直接 DIP 结构,图 2-1 是它的引脚 配置,40 个引脚中,电源 Vcc 和接地 GND 各一根,外置石英振荡器的时钟线 两根,4 组 8 位共 32 个 I/O 口,中断口和 P3 口复用。现在我们对这些引脚的 功能加以说明。
图 5-2 Keil 软件初始界面
九、实物图
十、元件清单:
位号 D1 晶振 STC89C52 led R1 Q1 U1 J1---J8 S1 万用板 插针 40 引脚 DIP 插槽 电源接线插口
名称 共阳数码管 晶振 STC89C52 单片机 红色 led 电阻 三极管 蜂鸣器 按键开关 电源开关 万用板 排插 DIP 插槽 电源接线插口
冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具 有一个看门狗(WDT)定时/计数器。如果程序没有正常工作,就会强制整个系统 复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电, 从而保护你的硬件电路。T89S52 有 40 个引脚,32 个外部双向输入/输出(I/O) 端口,同时内含 2 个外中端口,2 个 16 位可编程定时计数器,2 个全双工串行 通信口,片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。其将 通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器 可有效地降低开发成本。
sbit k7=P1^6;
sbit k8=P1^7;
unsigned
code
table[]
=
{~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7
C,~0x39,~0x5E,~0x79,~0x71};
有时,调试时最小系统的电路不工作,通过查资料才明白,首先应该确认 电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否符 合电源电压,电路需 5V 电源供电,故我们选择了用双公 USB 从电脑上供电, 省去好多变压的麻烦。
参考文献
[1] 王冬梅, 张建秋. 基于单片机的八路抢答器设计与实现[J]. 佳木斯大学学报, 2009, 27(3): 350.
八、系统仿真与调试 1、Protues 软件介绍
Protues 的 ISIS 是一款 Labcenter 出品的电路分析实物仿真系统,可仿真各 种电路和 IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业单片 机仿真系统。下图是 Protues 软件初始界面:
图 5-1 Protues 软件初始界面
率和 19200 波特率,用于有串口通讯的场合)或者 12MHz(产生精确的 方波便于 12 分频,方便定时操作)。 (3) 电源接 5V 变压器。
六、 总电路图
下图是电路原理图
总电ห้องสมุดไป่ตู้图
七、 系统主程序
目前,单片机的编程语言主要有 C 语言和汇编语言两种。C 语言是高级语 言,编写起来比较简便且易维护,汇编语言介于机器语言和高级语言之间,更 接近硬件,但编写起来比较冗长。介于本次程序不太复杂,本人又更喜欢汇编, 故本次设计的程序采用汇编语言来写,详见附录一。
2、Keil 软件介绍
Keil 软件是目前最流行开发 MCS-51 系列单片机软件,Keil 软件提供了包 括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的 完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。下 图是本人安装的 Keil 软件初始界面:
(对端口写 1)时作高阻抗输入端。作为输出口时能驱动 8 个 TTL。对内部 Flash 程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电 阻[7]。在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低 8 位)/ 数据总线,访问期间内部的上拉电阻起作用。
(二)、数码管简介
天航空大学出版社, 2006. [7] 周坚. 单片机 C 语言轻松入门[M]. 北京: 北京航天航空大学出版社, 2006. [8] 李萍, 张池, 张勃. AT89S51 单片机原理、开发与应用实例[M]. 北京: 中国电力出版社,
2008. [9] 杨居义,单片机原理,清华大学出版社
附录
附录一:抢答器程序
(3) P1 端口[P1.0-P1.7] P1 是一个带有内部上拉电阻的 8 位双向 I/0 端 口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平, 作输入用。对内部 Flash 程序存储器编程时,接收低 8 位地址信息。
(4) P0 端口[P0.0-P0.7] P0 是一个 8 位漏极开路型双向 I/O 端口,端口置 1
该软件的特点有: (1) 满足常用单片机软件仿真系统的标准,并在同类产品中具有明显优势。 (2) 具有模电仿真、数电仿真、单片机及其外围电路组成系统仿真。 (3) 目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC 系列以及各种外围芯片。 (4) 支持大量的存储器和外围芯片。
表 2-1 P3 功能表
(2) P2 端口[P2.0-P2.7] P2 是一个带有内部上拉电阻的 8 位双向 I/0 端 口。输出时可驱动 4 个 TTL。端口置 1 时,内部上拉电阻将端口拉到高电平, 作输入用。对内部 Flash 程序存储器编程时,接收高 8 位地址和控制信息。在 访问外部程序和 16 位外部数据存储器时,P2 口送出高 8 位地址。而在访问 8 位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
规格 3.8*5.6cm 12M STC89C52 单片机 5mm 470 欧姆 8550 蜂鸣器 按键开关 自锁开关 7*9cm 常用排插 40 引脚 2口
数量
1 1 1 1 1 1 1 8 1 1 4+8=12 1 1
十一、焊接问题及解决
一般来说,造成硬件问题的首要原因就是焊接失误,即焊接的好坏直接影 响到产品的正常与否,在本次设计制作的焊接过程中遇到了一些问题,通过查 找资料,找到了相关原因: 1)焊锡用量过多导致焊点的锡堆积;焊锡过少又不足以包裹焊点; 2)冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡 表面不光亮,有细小裂纹。 3)焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。 4)焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以 及烙铁离开焊点时角度不当造成的。
图 2-1 STC89C52 的引脚图
1. 电源引脚 (1)Vcc (40 脚) 电源端
GND (20 脚) 接地端 (2)工作电压为 5V 2. 外接晶体引脚
XTAL1 是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外 部振荡器时,外部振荡信号应直接加到 XTAL1,而 XTAL2 悬空。内部方式时, 时钟发生器对振荡脉冲二分频,如晶振为 12MHz,时钟频率就为 6MHz。晶振 的频率可以在 1MHz-24MHz 内选择[4]。电容取 30PF 左右。
图 2-2 晶振电路
3. 复位 RST(9 引脚) 在振荡器运行时,有两个机器周期(24 个振荡周期)以上的高电平出现在
此引退时,将使单片机复位,只要这个引脚保持高电平,51 芯片便循环复位。 复位后 P0-P3 口均置 1 引脚表现为高电平,程序计数器和特殊功能寄存器 SFR 全部清零[5]。当复位脚由高电平变为低电平时,芯片为 ROM 的 00H 处开始运 行程序。
[2] 周功明, 周陈琛. 基于单片机 AT89C2051 的九路多功能智力竞赛抢答器的设计[J]. 现 代电子技术, 2006, 10(20): 4.
[3] 谢道平. 基于 Proteus 仿真的单片机多功能智能抢答器的设计[J]. 长春大学学报, 2011, 21(10): 12.
[4] 耿仁义等. 新编微机原理及接口技术. 2006. [5] 文明月. 基于 AT89S52 单片机的抢答器设计与实现[J]. 科技创新导报, 2009, 28(10): 35. [6] 周润景, 张丽娜. 基于 PROTEUS 的电路及单片机系统设计与仿真[M]. 北京: 北京航
电子技术综合设计 总结报告
设计题目:
组长姓名:
学 号:
专业与班级:
姓 名: 学 号:
专业与班级:
姓 名:
学 号:
专业与班级:
时 间: 2013 ~
2014 学年第(1)学期
指导教师:
成 绩:
日 期:
一、方案比较
1、纯数字逻辑电路,基本可以排除方案的,主要缺点是缺乏灵活性,消耗的 精力是最大的,发现需要修改,你就发现非常难于修改,除非重新设计,制作。
三、主要元件介绍
(一)、单片机的选择
单片机选用的是 Atmel 公司推出的 AT89S52,它是一种低功效、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高 密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。在单 芯片上拥有灵巧的 8 位 CPU 和在线系统可编程 Flash,使得 AT89S52 具有以下 标准功能:8K 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串 行口,片内晶振及时钟电路。空闲模式下,CPU 停止工作,允许 RAM、定时 器/计数器串口、中断继续工作。掉电保护方式下 RAM 内容被保存,振荡器被
图 2-3 复位电路
4. 输入输出引脚 (1) P3 端口[P3.0-P3.7] P3 是一个带有内部上拉电阻的 8 位双向 I/0 端
口。输出时可驱动 4 个 TTL[5]。端口置 1 时,内部上拉电阻将端口拉到高电平, 作输入用。对内部 Flash 程序存储器编程时,接控制信息。除此之外 P3 端口还 用于一些专门功能,具体请看下面功能表。
#include<reg52.h>
unsigned char c1,c2,c3,c4,c5,c6;
int j,k;
sbit feng=P3^7;
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
2、单片机是原材料成本最小的一种方案,更精确,更容易控制,不易出错, 可实现功能多,且易实现。
综上所述,选择基于单片机的抢答器制作更为合理
二、设计的主要任务
通过此次设计,预期完成以下主要任务: 1. 掌握抢答器的基础知识及原理; 2. 掌握 STC89C52 单片机的管脚分配; 3. 设计出合理的电路图及相应的汇编程序,同时仿真调试成功; 4. 购买元器件完成焊接组装工作,解决调试问题,最后完成多路抢答器的实物 制作。
Protues 与其它单片机仿真软件不同的是,它不仅能仿真单片机的工作情况, 也能仿真单片机外围电路或没有单片机参与的其它电路情况。因此在仿真和程 序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变, 而是从工程的角度直接看程序运行和电路工作的过程及结果。对于这样的仿真 实验,从某种意义上讲,弥补了实验和工程应用间脱节的矛盾现象。
四、系统功能框图
本次设计八路抢答器系统主要有五部分电路:选手抢答电路、八段显示电 路、蜂鸣器报警电路、主持人控制电路。
本次设计的八路抢答器可实现以下基本功能: 启动电源后系统自动倒计时 3 秒。 抢答器同时供八名选手比赛,分别用八个按钮 SW1~SW8 表示。 抢答器具有锁存与显示功能。即选手按动按钮时会锁存相应的编号,并
且优先抢答选手的编号一直保持到主持人将系统清除为止。 违规抢答,蜂鸣器会报警,而且锁存抢答队员的号码,并闪烁显示。 主持人关电源清除号码。
五、硬件电路设计 1、最小系统设计
图 3-1 STC89C52 最小系统
说明: (1) 复位电路:教材一般电容取 10u,电阻 R 取 8.2K[9]。 (2) 晶振电路:典型的晶振取 11.0592MHz(因为可以准确地得到 9600 波特
相关文档
最新文档