关于单片机的智能抢答器的设计(编辑修改稿)内容摘要:

到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 (IIL)。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX @DPTR 指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 MOVX @RI 指令)时, P2 口输出 P2 锁存器的内容。 Flash 编程或校验时, P2 亦接收高位地址和一些控制信号。 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻 辑门电路。 对 P3 口写入 “1”时,它们被内部上拉电阻拉高并可作为输入端口。 此时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL)。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 RST RESET/Vpd复位信号复用脚,当 8052 通电,时钟电路开始 工作,在 RESET引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。 初始化后,程序计数器 PC 指向 0000H, P0P3 输出口全部为高电平,堆栈指 针 写入 07H,其它专用寄存器被清 “0”。 RESET 由高电平下降为低电平后,系统即从 0000H 地址开始执行程序。 然而,初始复位不改变 RAM(包括工作寄存器 R0R7)的状态, 8052的初始态。 8052 的复位方式可以是自动复位,也可以是手动复位,此外, RESET/Vpd还是一复用脚, Vcc 掉电其间,此脚可接上备用电源,以保证单片机内部 RAM的数据不丢 失。 ALE/PROG 当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。 此外,该引脚会被微 弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 PSEN 程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 EA/VPP 外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为 0000H—FFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2 振荡器反相放大器的输出端。 单片机的存储器配置 ( b) 图 231 单片机的内部存储器配置 从用户的角度存储器分 3 个逻辑地址空间: 1. 片内外统一编址的 64KB 程序存储器地址空间 0000H~FFFFH 即( a)图; 2. 256B 的片内数据存储器地址空 间 00H~FFH(包括低 128B 的内部 RAM 地址00H~7FH 和高 128B 的特殊功能寄存器地址空间)即( b)图; 3. 64KB 的外部数据存储器或扩展 I/O 接口地址空间 0000H~FFFFH 如( c)图。 4. 画出 RAM 的组成 RAM 共有 256 个单元,按功能分为两部分低 128 单元(单元地址 00H~7FH)和高 128 单元(单元地址 80H~FFH)。 其中高 128 单元是供给专用寄存器使用,因这些寄存器的功能已作为专门规定故此称之为特殊功能寄存器 SFR— 11 个 SFR 有位寻址作用,而且要说明低 128 单元是单片机的真正 RAM 存储器。 30H~7FH 通用 RAM 区 20H~2FH 位寻址区( 00H~7FH) 18H~1FH 工作寄存器 3 区( R7~R0) 10H~17H 工作寄存器 2 区( R7~R0) 08H~0FH 工作寄存器 1 区( R7~R0) 00H~07H 工作寄存器 0 区 (R7~R0) 图 232 RAM 的组成图 低 128 单元是单片机的真正 RAM 存储器,按其用途划分为三个区域: ⒈通用寄存器区 通用寄存器为 CPU 提供了就近数据存储的便利,有利于提高单片机的运算速度。 此外,使用通用存储器还能提高程序编制的灵活性 ,因此在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。 ⒉位寻址区 内部 RAM 的 20H~2FH 单元,即可作为一般 RAM 单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。 ⒊工作寄存区 用户存储数据的。 第三章 硬件设计 单片机的最小系统 52单片机的最小系统电路图 : 图 311 单片机的最小系统图 说明 : ① 复位电路 :由电容串联电阻构成 ,由图并结合 电容电压不能突变 的性质 ,可以知道 ,当系统一上电 ,RST 脚将会出现高电平 ,并且 ,这个高电平持续的时间由电路的 RC 值来决定 .典型的 51 单片机当 RST 脚的高电平持续两个机器周期以上就将复位 ,所以 ,适当组合 RC 的取值就可以保证可靠的复位 .一般教科书推荐 C 取10u,R 取 ,原则就要让 RC 组合可以在 RST 脚上产生不少于 2个机周期的高电平 ; ②复位输入高电平有效,当振荡器工作是, RST 引脚出现两个机器周期以上的高电平,使单片机复位。 此电路除具有上电复位功能外,若要复位只需按“ RST”键,此电源 Vcc 经电阻分压,在 RST 端产生一个复位高电平 ; ③ 晶振电路 :典型的晶振取 (因为可以准确地得到 9600 波特率和19200 波特率 ,用于有串口通讯的场合 )/12MHz(产生精确的 方波便于 12 分频 ,方便定时操作 ); ④ 单片机 :一片 AT89S51/52 或其他 51 系列兼容单片机 ; 注意 :对于 31 脚 (EA/Vpp),当接高电平时 ,单片机在复位后从内部 ROM 的 0000H开始执行 ; 当接低电平时 ,复位后直接从外部 ROM的 0000H 开始执行 ; ⑤电源部分:接 +5 伏特的电压。 数码管显示电路 LED 显示器,实现七段数码管的显示三位十六进制数。 来进行倒计时,即来限制抢答的时间。 其中数码管的显示可以分为两种:静态显示和动态显示。 静态显示的段选位和位选位 均单独连接,因此占用的 I/O接口多,无法扩展多个数码管,在这种采用这种方式,必须要给 LED恒定的电压,要求电压一 直保持,所以一般在 LED和单片机之间加锁存器,这种显示方式亮度高,编程较简单,结构清晰,管理也较简单,占用的 CPU时间少。 ② 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共端 COM增加位选通控制电路,位选通由各自独立的 I/O线控制, 当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪 个数码管会显示出字形,取决于单片机对位选通 COM端电路的控制,所以我们只要将 需要显示的数码管选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。 通过分时轮流控制各个数码管的 COM端,就使各个数码管轮流受控显示,这就是动态驱动。 在轮流显示过程中,每位数码管的点亮时间为 1~ 2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O端口,而且功耗更低。 从电路上,按数码管的接法不同又分为共阴和共阳两种。 图 11 是共阴和共阳极数码 管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。 其数码管的外形如下图所示: 图 32 数码管的共阴和共阳极接法 第四章 软件设计 抢答器流程图 流程图 是 使用图形表示算法的思路是一种极好的方法, 不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。 总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。 流程图是由一些图框和流程线 组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。 流程图的基本结构为 顺序结构,分支结构(又称选择结构),循环结构。 为便于识别,绘制流程图的习惯做法是: 方框表示:要执行的处理( Process) 平行四边型表示:代表资料输入( Input) 不规则图形代表资料输出( Output)或报表输出( Print) 菱形表示:决策或判断(例如: If...Then...Else) 图 411抢答器主程序流程图 初始化部分 Kz= =0 启动中断,数码管开始计时 若有选手抢答 中断停止,数码管显示选手的标号及所用的时间 结束 开始 N Y Y N 图 412 抢答器定时器中断流程图 图 413 外部中断程序图 主程序 我们组所设计的抢答器的程序采用的是 C 程序设计, C语言的显著特点是 用定时器 0 中断 1 秒。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。