单片机系统开发与应用工程实习报告-基于AT89S52单片机的抢答器设计_第1页
单片机系统开发与应用工程实习报告-基于AT89S52单片机的抢答器设计_第2页
单片机系统开发与应用工程实习报告-基于AT89S52单片机的抢答器设计_第3页
单片机系统开发与应用工程实习报告-基于AT89S52单片机的抢答器设计_第4页
单片机系统开发与应用工程实习报告-基于AT89S52单片机的抢答器设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机系统开发与应用工程实习报告单片机系统开发与应用工程实习报告选题名称选题名称: 基于 AT89S52 单片机的抢答器设计 系系院院: 计算机工程学院专专 业业: 班班 级级: 姓姓 名名: 学学 号号: 指导教师指导教师: 学年学期学年学期: 2021 2021 学年 第 2 学期2010年 5 月 30 日摘要: 抢答器在现实生活中应用广泛,比方在各类娱乐节目中,像中央电视台的幸运52,开心辞典,因此做一个抢答器是具有现实意义的。抢答器具有人数限制,我们选择做八路抢答器。当某人抢答时,能够显示他的号码,限定他的答题时间,别人不能抢答,主持人要有启动和清空的权利。八路抢答器在抢答过程中,为

2、了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。抢答组数可以在八组以内任意使用,本系统采用 AT89S52 单片机作为核心,控制系统的四个模块分别为:单片机最小系统、显示模块、显示驱动模块、抢答开关模块。关键词:抢答器;单片机;数码管目目录录1 课题概述.11.1 本次课题的目标.12.1 涉及的知识点.23 系统设计.33.1 AT89S52 引脚图.33.2 电路原理图.64 软件设计.74.1 程序设计.7总 结.10参考文献

3、.111 课题概述课题概述现在很多文娱活动中都有抢答这一项,需要用到抢答器。在目前的市场上,普通抢答器都需要几百块,价格比拟昂贵。本工程设计的抢答器,电路简单,本钱较低操作方便,灵敏可靠,具有较高的推广价值。1.1 本次课题的目标本次课题的目标AT89S52 单片机功能特性描述 AT89S52 单片机是是一个低功耗、高性能 CMOSS位微控制器,片内含通用 8 位中央处理器和 ISP Flash 存储单元,8kBytesISP(In 一 system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,片上 Flash 允许程序存储器在系统可编程,亦适于常规编程

4、器。基于 AT89S52 单片机设计制作一个抢答器,晶振采用 12MHz。具体的设计要求设计一个智力竞赛抢答器,可同时供 8 名选手或 8 个代表队参加比赛,编号为0,1,2,3,4,5,6,7,各用一个按钮。给节目主持人设计一个控制开关,用来控制系统的清零和抢答的开始。抢答器具有数据锁存功能,显示功能和声音提示功能。抢答开始后,假设有选手按动抢答按钮,编号立即锁存并在 LED 数码管上显示选手的编号,同时灯亮且伴随声音提示。此外,要封锁输入电路,禁止其他选手抢答,最先抢答选手的编号一直保持到主持人将系统清零。 根据本文的电路求出要显示不同路数的数字所需的编码,将它们存在一个表中待用时取出.8

5、 路抢答输入信号由 8 个按键控制,程序一直判断是否有按键按下,假设没有按键按下那么循环判断;直到有按键按下后,立即把通过按键输入的信号储存起来然后对 8 路输入信号进行逐位扫描判断,最后根据扫描结果转入查表程序取数并通过数码管显示输出结果。2 系统分析系统分析基于 AT89S52 单片机抢答器由控制核心 AT89S52 单片机,复位电路,电源电路,选手按键,主持人按键,声音提示和数码显示等局部组成,系统框图 2-1 所示。图 2-1 抢答器的电路原理图 涉及的知识点涉及的知识点 本工程需要通过学习和查阅资料,掌握和了解如下知识:1+5V 电源原理及设计。 2单片机复位电路工作原理及设计。 3

6、单片机晶振电路工作原理及设计。 4按键电路的设计。 5蜂鸣器驱动电路设计。 6数码管特性及使用。 7A789S52 单片机引脚。 8单片机汇编语言及程序设计。3 系统设计系统设计3.1 AT89S52 引脚图引脚图图 3-1 AT89S52 的引脚分布图At89s52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得

7、 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器

8、8K 字节在系统可编程 Flash。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IIL。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入P1.0/T2和时器/计数器 2 的触发输入P1.1/T2EX,在 flash 编程和校验时,P1 口接收低 8 位地址字节。引脚号第二功能:P1.0 T2定时器/计数器 T2 的外部计数输入,时钟输出P1.1 T2EX定时器/计数

9、器 T2 的捕捉/重载触发信号和方向控制P1.5 MOSI在系统编程用P1.6 MISO在系统编程用P1.7 SCK在系统编程用P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IIL。在访问外部程序存储器或用 16 位地址读取外部数据存储器例如执行 MOVX DPTR时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址如 MOVX RI访问外部数据存

10、储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p3 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IIL。P3 口亦作为 AT89S52 特殊功能第二功能使用, 在 flash 编程和校验时,P3口也接收一些控制信号。端口引脚 第二功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断

11、0)P3.3 INT1(外中断 1)P3.4 TO(定时/计数器 0)P3.5 T1(定时/计数器 1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE地址锁存允许输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 A

12、LE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲PROG。如有必要,可通过对特殊功能存放器SFR区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。PSEN程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令或数据时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。EA/VPP外部访问允许,欲使 CPU 仅访问外部程序

13、存储器地址为 0000H-FFFFH,EA 端必须保持低电平接地。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平接 Vcc 端,CPU 那么执行内部程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。图 3-2 74LS245 的引脚分布图74LS245 是我们常用的芯片,用来驱动 led 或者其他的设备,它是 8 路同相三态双向总线收发器,可双向传输数据。如图 3-274LS245 还具有双向三态功能,既可以输出,也可以输入数据。当 8051 单片机的 P0

14、口总线负载到达或超过 P0 最大负载能力时,必须接入74LS245 等总线驱动器。当片选端/CE 低电平有效时,DIR=“0,信号由 B 向 A 传输;接收DIR=“1”,信号由 A 向 B 传输;发送当/CE 为高电平时,A、B 均为高阻态。由于 P2 口始终输出地址的高 8 位,接口时 74LS245 的三态控制端/1G 和/2G 接地,P2 口与驱动器输入线对应相连。P0 口与 74LS245 输入端相连,/E 端接地,保证数据现畅通。8051 的/RD 和/PSEN 相与后接 DIR,使得/RD 或/PSEN 有效时,74LS245 输入P0.iDi ,其它时间处于输出P0.iDi 。

15、3.2 电路原理图电路原理图 设计出基于 AT89S52 单片机抢答器的电路原理图如图 3-3 所示。工作原理为:电源电路为单片机以及其他模块提供标准 5V 电源。晶振模块为单片机提供时钟标准,使系统各局部能协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控制器,根据输入信号对系统进行相应的控制。选手按下相应的按键,蜂鸣器发出提示音,直到按键释放。数码管显示最先按下按键选手的编号。选手答复完毕,主持人按下准备按钮,数码管清零,蜂鸣器停止发声,可以进入下一题的抢答。 图 3-3 抢答器的电路连接图4 软件设计软件设计上电复位后数码管清零,P2.0 置高电位,蜂鸣器不发声。循环扫描 P

16、3 口,看是否有按键按下,如果有按键按下,那么转入判断是哪位选手按下的按键,并在数码管上显示选手号;P2.0 置低电平,蜂鸣器发声,主持人按键按下,系统重新进入主程序继续进行下一轮抢答。程序流程图如下列图 4-1。 图 4-1 抢答器系统工作的流程图4.1 程序设计程序设计 程序代码ORG000JMP BEGIN TABLE: ; 共阴极数码管显示代码表DB 3FH,06H,5BH,4FH,66H ; 01234DB 6DH,7DH,07H,7FH,90H ; 56789DELAY: MOVR5, #20 ; 延时 2020ms 子程序 LOOP4: MOVR6, #50 LOOP5: MOV

17、R7, #100DJNZR7, $DJNZ6, LOOP5DJNZR5, LOOP4RETBEGIN: MOVP2, #0FFH ;P2 口置高电平,准备接收信号 MOV R4, #0 ; R4的位标志值清零。MOVA, R4 ; R4位标志值送 A 存放AGAIN: MOV DPTR, #TABLE ;共阴极数码管代码表首址送 MOVC A, A+DPTR;取出显示0的代码送 P 口显示 MOV P1, ALOOP1: MOVA, P3 ;接收 P3 口的抢答信号。 CPL A ;抢答信号求反JZ LOOP1 ;如果没有抢答信号再返回 LOOP1LOOP2: RRC A;有抢答信号那么逐次移

18、动判断是那一位抢答INC R4 ;每移一次位,R4 位标志值加 1JNC LOOP2 ;如果没有遇到抢答信号返回 LOOP1 继续移位MOV A, R4 ;遇到抢答信号把 R4 位标志的只送 AMOVC A, A+DPTR ;找到相应位的显示代码MOVP1, A;送 P1 口显示LOOP3: JNB P2.2, BEGIN ;假设主持人按了复位信号健那么转向程序复位LCALLDELAY ;调用延时程序SJMP LOOP3 ;P2.2 口反复间隔 0.4 秒变化,驱动蜂鸣器 END对于本次试验输入端有 P3P2 组成,P1 口接数码管主持人接 P2 口控制清零键,当按下复位键后选手们开始抢答,当

19、系统检测到已经有人按下键后自动锁住,其他选手不再可以按键,一次右移寻找按键的选手号,数码管显示。确定是哪位选手按下的键见 LOOP1,P3 口开始接收的高电平当有人按键式 P3 置低电平,累加器 A 电平,取反为高电平 1,JZ LOOP1 如果没有高电平就不停地循环直到找到为止。如果有高电平让累加 A,一一寻找是哪位选手按下的按键。总结 三月十六日,我开始了我的课程设计,时至今日,根本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个过程难以用语言来表达。历经了几天的奋战,紧张而又充实的设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次设计的过程中,我拥有了无数难忘的回忆和收获。这次课程设计虽然不能说是改变了我人生的轨迹,单至少让我眼前空然明亮,不再是那么迷茫了,在课程设计之前,自己并没有多少这方面的经验,就像对于AT89S52 单片机而言,之前我对它的认识非常少,连它有几个引脚,引脚的分布等都很糊涂啊,本来就想这么混下去的,单经过这次课程设计我理解很多以前没接触过的技术啦,经验啊等等让我对单片机这块有了新的认识和新的想法,计算机是一门靠不断地实践提升自己能力的学科,这次课程设计中主要涉及到了 PROTEL99SE 的制图,电路的焊接技术,汇编语言的理解和编程,单片机的程序烧入调试等等,在这之前制图技术也不咋的,通过这次提前

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论