#51单片机三路抢答器

上传人:壹****1 文档编号:558012035 上传时间:2023-10-23 格式:DOC 页数:18 大小:72KB
返回 下载 相关 举报
#51单片机三路抢答器_第1页
第1页 / 共18页
#51单片机三路抢答器_第2页
第2页 / 共18页
#51单片机三路抢答器_第3页
第3页 / 共18页
#51单片机三路抢答器_第4页
第4页 / 共18页
#51单片机三路抢答器_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《#51单片机三路抢答器》由会员分享,可在线阅读,更多相关《#51单片机三路抢答器(18页珍藏版)》请在金锄头文库上搜索。

1、.单片机开发和设计工程师测试文档设计题目: 抢答器学 校: XX人文科技学院 系 别:通信和控制工程系 专 业:电子信息工程 班 级:07级电信一班学生姓名: 龙丽婷、董文学 号: 07409106、07409129起止日期:2010年6月12日 2010年6月25日.摘 要本设计是以抢答为基本理念。考虑到依需设定限时回答的功能,利用STC89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效,相应犯规

2、灯亮;开始后抢答,即正确按键后,相应成功指示灯亮,并开始倒计时,回答问题的时间限定为10秒,满时后系统计时自动复位及主控复位;按键锁定,在有效状态下,按键无效非法。关键词:STC89C52;LED灯;数码管;抢答器;计时.目录设计要求11方案12系统的主要功能23抢答器的硬件设计231 STC89C52简介23、2 LED灯533 8255接口芯片634 数码管显示模块735 按键模块736 外部中断0和外部中断184抢答器的软件设计941 主程序流程及分析942 总程序模块105 调试结果及分析14参考文献15附录一:总体原理图16附录二:总程序17.抢答器设计要求1、一位主持人和3位抢答者

3、,复位后,甲乙丙的绿、红灯全亮,开始键、复位键的指示灯全暗;主持人按复位键则仅复位指示灯亮,其他都暗,准备开始;主持人按开始键,开始灯亮,允许甲乙丙抢答,此时优先者则相应成功指示灯亮,如允许前抢就相应犯规灯亮;答题开始进行倒计时,到规定时间不允许答题,并返回复位状态。2、具有抢答控制和倒计时显示功能。3、控制器应有复位控制、开始控制、抢答控制和状态指示等功能,并有答题时间控制和显示功能。1方案采用宏晶公司的STC89C52作为系统控制器的CPU方案。原理框图如图1所示:图1 原理方框图2系统的主要功能本系统是借用单片机采用模块化设计的抢答器,包括3路抢答按钮、开始按钮、复位按钮,指示灯显示,倒

4、计时显示部分。用中断0和中断1的控制按钮做复位和开始控制。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效,相应犯规灯亮;主持人按键开始后,选手开始抢答为有效,相应成功指示灯亮,并开始倒时,回答问题的时间限定为10秒,满时后系统计时自动复位及主控复位。 3抢答器的硬件设计31 STC89C52简介STC89C52引脚图如图2所示:图2 STC89C52引脚图主要性能: 和MCS-51单片机产品兼容8K字节在系统可编程Flash存储器 1000次擦写周期 全静态操作:0Hz33Hz 三级加密程序存储器 32个可编程I/O口线 三个16位定时器/计数器 八个中断源 全双

5、工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 功能特性描述: STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用宏晶高密度非易失性存储器技术制造,和工业80C51 产品指令和引脚完全兼容。 片上Flash允许程序存储器在系统可编程, 亦适于常规编器。 在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制使用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,

6、2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结。 VCC : 电源 GND: 地 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用

7、来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 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定时器

8、/计数器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访问外部数据存储器时,P2

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

10、部输入 P3.6 WR P3.7 RD RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/PROG:地址锁存控制信号ALE是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚PROG也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。 如果需要,通过将地址为8EH的S

11、FR的第0位置1”,ALE操作将无效。这一位置1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位 地址为8EH的SFR的第0位 的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号 PSEN 是外部程序存储器选通信号。 当STC89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编

12、程期间,EA也接收12伏VPP电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 3、2 LED灯LED灯示意图如图3所示:图3 LED灯示意图单片机的P1.0P1.7分别接到D4-D11这8个LED灯。33 8255接口芯片单片机系统里常用的82551芯片是一个典型的可编程通用并行接口芯片,用来扩展单片机的端口,它具有3个8位的并行口,有三种工作方式,可作为单片机和各种外部设备连接的接口电路。 8255的引脚图如图4所示。 图48255的引脚图8255引脚功能说明: RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器包括控制寄

13、存器均被清除,所有I/O口均被置成输入方式。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线, 一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别和端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255和CPU进行通讯。 RD:读信号线,当这个输入引

14、脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0D7:三态双向数据总线,8255和CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。 当A0=0,A1=0时,PA口被选择; 当A0=0,A1=1时,PB口被选择; 当A0=1,A1=0时,PC口被选择; 当A0=1.A1=1时,控制寄存器被选择。 在本次设计中,825

15、5芯片用来扩展系统的外部接口,将8255的PA、PB、PC口给数码管、键盘使用。 34 数码管显示模块数码管原理图如图5所示:图5 数码管原理图在本次设计中,数码管的8段是由芯片8255的PB口控制亮灭,每个数码管的公共脚分别由8255的PA0-PA5经三极管扩流后进行控制,且数码管是共阳极的。当公共脚接上电源正极,笔画脚通过一个220欧姆电阻接负极,对应的笔画就会点亮。要在某位数码管上显示一个数字,首先把待显示数字的显示码送给8255的PB口,接着选中要显示的位。35 按键模块按键示意图如图6所示:图6 按键示意图在单片机系统中键盘中按钮数量较多时,为了减少I/O 口的占用,常常将按钮排列成矩阵形式,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按钮加以连接。这样

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号