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

下载本文档

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

文档简介

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

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

3、件设计.7 4.1 程序设计.7 总 结.10 参考文献.11 1 课题概述课题概述 现在很多文娱活动中都有抢答这一项,需要用到抢答器。在目前的市场上,普通 抢答器都需要几百块,价格比较昂贵。本项目设计的抢答器,电路简单,成本较低操 作方便,灵敏可靠,具有较高的推广价值。 1.1 本次课题的目标本次课题的目标 at89s52 单片机功能特性描述 at89s52 单片机是是一个低功耗、高性能 cmoss 位微控制器,片内含通用 8 位中央处理器和 isp flash 存储单元,8kbytesisp(in 一 system programmable)的可反复擦写 1000 次的 flash 只读程

4、序存储器,片上 flash 允许程序存储 器在系统可编程,亦适于常规编程器。 基于 at89s52 单片机设计制作一个抢答器,晶振采用 12mhz。具体的设计要求 设计一个智力竞赛抢答器,可同时供 8 名选手或 8 个代表队参加比赛,编号为 0,1,2,3,4,5,6,7,各用一个按钮。给节目主持人设计一个控制开关,用来控制系统的清 零和抢答的开始。抢答器具有数据锁存功能,显示功能和声音提示功能。抢答开始后, 若有选手按动抢答按钮,编号立即锁存并在 led 数码管上显示选手的编号,同时灯 亮且伴随声音提示。此外,要封锁输入电路,禁止其他选手抢答,最先抢答选手的编 号一直保持到主持人将系统清零。

5、 根据本文的电路求出要显示不同路数的数字所需的编码,将它们存在一个表中 待用时取出.8 路抢答输入信号由 8 个按键控制,程序一直判断是否有按键按下,若 没有按键按下则循环判断;直到有按键按下后,立即把通过按键输入的信号储存起 来然后对 8 路输入信号进行逐位扫描判断,最后根据扫描结果转入查表程序取数 并通过数码管显示输出结果。 2 系统分析系统分析 基于 at89s52 单片机抢答器由控制核心 at89s52 单片机,复位电路,电源电路, 选手按键,主持人按键,声音提示和数码显示等部分组成,系统框图 2-1 所示。 图 2-1 抢答器的电路原理图 2.1 涉及的知识点涉及的知识点 本项目需要

6、通过学习和查阅资料,掌握和了解如下知识: (1)+5v 电源原理及设计。 (2)单片机复位电路工作原理及设计。 (3)单片机晶振电路工作原理及设计。 (4)按键电路的设计。 (5)蜂鸣器驱动电路设计。 (6)数码管特性及使用。 (7)a789s52 单片机引脚。 (8)单片机汇编语言及程序设计。 3 系统设计系统设计 3.1 at89s52 引脚图引脚图 图 3-1 at89s52 的引脚分布图 at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在系统可编程 flash 存储器。使用 atmel 公司高密度非 易失性存储器技术制造,与工业 80c51 产 品指令和引脚完

7、 全兼容。片上 flash 允许程序存储器在系统可编程,亦适于 常规编 程器。在单芯片上,拥有灵巧的 8 位 cpu 和在系统 可编程 flash,使得 at89s52 为 众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 at89s52 具有以下标准 功能: 8k 字节 flash,256 字节 ram, 32 位 i/o 口线,看门狗定时器,2 个数据 指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内 晶振及时钟电路。另外,at89s52 可降至 0hz 静态逻 辑操作,支持 2 种软件可选择 节电模式。空闲模式下,cpu 停止工作,允许 r

8、am、定时器/计数器、串口、中断继 续工 作。掉电保护方式下,ram 内容被保存,振荡器被冻结, 单片机一切工作停 止,直到下一个中断或硬件复位为止。8 位微控制器 8k 字节在系统可编程 flash。 p1 口:p1 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器能驱 动 4 个 ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作 为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电 流(iil)。 此外,p1.0 和 p1.2 分别作定时器/计数器 2 的外部计数输入(p1.0/t2)和时器/计 数器 2 的触发输入(

9、p1.1/t2ex),在 flash 编程和校验时,p1 口接收低 8 位地址字节。 引脚号第二功能: p1.0 t2(定时器/计数器 t2 的外部计数输入),时钟输出 p1.1 t2ex(定时器/计数器 t2 的捕捉/重载触发信号和方向控制) p1.5 mosi(在系统编程用) p1.6 miso(在系统编程用) p1.7 sck(在系统编程用) p2 口:p2 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱 动 4 个 ttl 逻辑电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作 为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,

10、将输出电 流(iil)。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发 送 1。在使用 8 位地址(如 movx ri)访问外部数据存储器时,p2 口输出 p2 锁存 器的内容。 在 flash 编程和校验时,p2 口也接收高 8 位地址字节和一些控制信号。 p3 口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p3 输出缓冲器能驱 动 4 个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作 为输入口使用。作为输入使用时,被外部拉低的引

11、脚由于内部电阻的原因,将输出电 流(iil)。 p3 口亦作为 at89s52 特殊功能(第二功能)使用, 在 flash 编程和校验时,p3 口也接收一些控制信号。端口引脚 第二功能: p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 into(外中断 0) p3.3 int1(外中断 1) p3.4 to(定时/计数器 0) p3.5 t1(定时/计数器 1) p3.6 wr(外部数据存储器写选通) p3.7 rd(外部数据存储器读选通) 此外,p3 口还接收一些用于 flash 闪存编程和程序校验的控制信号。 rst复位输入。当振荡器工作时,rst 引脚出现两个机

12、器周期以上高电平将 是单片机复位。 ale/prog当访问外部程序存储器或数据存储器时,ale(地址锁存允许) 输出脉冲用于锁存地址的低 8 位字节。一般情况下,ale 仍以时钟振荡频率的 1/6 输 出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问 外部数据存储器时将跳过一个 ale 脉冲。 对 flash 存储器编程期间,该引脚还用于输入编程脉冲(prog)。 如有必要,可通过对特殊功能寄存器(sfr)区中的 8eh 单元的 d0 位置位,可 禁止 ale 操作。该位置位后,只有一条 movx 和 movc 指令才能将 ale 激活。此 外,该引脚会被微弱拉高,单

13、片机执行外部程序时,应设置 ale 禁止位无效。 psen程序储存允许(psen)输出是外部程序存储器的读选通信号,当 at89c52 由外部程序存储器取指令(或数据)时,每个机器周期两次 psen 有效,即 输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 psen 信号。 ea/vpp外部访问允许,欲使 cpu 仅访问外部程序存储器(地址为 0000h- ffffh),ea 端必须保持低电平(接地)。需注意的是:如果加密位 lb1 被编程, 复位时内部会锁存 ea 端状态。 如 ea 端为高电平(接 vcc 端),cpu 则执行内部程序存储器的指令。 flash 存储器编程时,该引

14、脚加上+12v 的编程允许电源 vpp,当然这必须是该 器件是使用 12v 编程电压 vpp。 图 3-2 74ls245 的引脚分布图 74ls245 是我们常用的芯片,用来驱动 led 或者其他的设备,它是 8 路同相三态 双向总线收发器,可双向传输数据。如图 3-2 74ls245 还具有双向三态功能,既可以输出,也可以输入数据。 当 8051 单片机的 p0 口总线负载达到或超过 p0 最大负载能力时,必须接入 74ls245 等总线驱动器。 当片选端/ce 低电平有效时,dir=“0”,信号由 b 向 a 传输;(接收) dir=“1”,信号由 a 向 b 传输;(发送)当/ce 为

15、高电平时,a、b 均为高阻 态。 由于 p2 口始终输出地址的高 8 位,接口时 74ls245 的三态控制端/1g 和/2g 接地, p2 口与驱动器输入线对应相连。p0 口与 74ls245 输入端相连,/e 端接地,保证数据现 畅通。8051 的/rd 和/psen 相与后接 dir,使得/rd 或/psen 有效时,74ls245 输入 (p0.idi) ,其它时间处于输出(p0.idi) 。 3.2 电路原理图电路原理图 设计出基于 at89s52 单片机抢答器的电路原理图如图 3-3 所示。工作原理为:电源 电路为单片机以及其他模块提供标准 5v 电源。晶振模块为单片机提供时钟标准

16、,使 系统各部分能协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控 制器,根据输入信号对系统进行相应的控制。选手按下相应的按键,蜂鸣器发出提示 音,直到按键释放。数码管显示最先按下按键选手的编号。选手回答完毕,主持人按 下准备按钮,数码管清零,蜂鸣器停止发声,可以进入下一题的抢答。 图 3-3 抢答器的电路连接图 4 软件设计软件设计 上电复位后数码管清零,p2.0 置高电位,蜂鸣器不发声。循环扫描 p3 口,看是 否有按键按下,如果有按键按下,则转入判断是哪位选手按下的按键,并在数码管上 显示选手号;p2.0 置低电平,蜂鸣器发声,主持人按键按下,系统重新进入主程序继 续进行下

17、一轮抢答。程序流程图如下图 4-1。 图 4-1 抢答器系统工作的流程图 4.1 程序设计程序设计 程序代码 org000 jmp begin table: ; 共阴极数码管显示代码表 db 3fh,06h,5bh,4fh,66h ; 01234 db 6dh,7dh,07h,7fh,90h ; 56789 delay: movr5, #20 ; 延时 2020ms 子程序 loop4: movr6, #50 loop5: movr7, #100 djnzr7, $ djnz6, loop5 djnzr5, loop4 ret begin: movp2, #0ffh ;p2 口置高电平,准备接

18、收信号 mov r4, #0 ; r4的位标志值清零。 mova, r4 ; r4位标志值送 a 寄存 again: mov dptr, #table ;共阴极数码管代码表首址送 movc a, a+dptr;取出显示0的代码送 p 口显示 mov p1, a loop1: mova, p3 ;接收 p3 口的抢答信号。 cpl a ;抢答信号求反 jz loop1 ;如果没有抢答信号再返回 loop1 loop2: rrc a;有抢答信号则逐次移动判断是那一位抢 答 inc r4 ;每移一次位,r4 位标志值加 1 jnc loop2 ;如果没有遇到抢答信号返回 loop1 继续移位 mov

19、 a, r4 ;遇到抢答信号把 r4 位标志的只送 a movc a, a+dptr ;找到相应位的显示代码 movp1, a;送 p1 口显示 loop3: jnb p2.2, begin ;若主持人按了复位信号健则转向程序 复位 cpl p2.0 ;若没按复位信号键,则通过 p2.2 给出高低信号驱 动蜂鸣器 lcalldelay ;调用延时程序 sjmp loop3 ;p2.2 口反复间隔 0.4 秒变化,驱动蜂鸣器 end 对于本次试验输入端有 p3p2 组成,p1 口接数码管 主持人接 p2 口控制清零键,当按下复位键后选手们开始抢答,当系统检测到已经有 人 按下键后自动锁住,其他选

20、手不再可以按键,一次右移寻找按键的选手号,数码管显 示。 确定是哪位选手按下的键见 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

提交评论