基于at89s52单片机的抢答器的设计与实现_毕业论文(编辑修改稿)内容摘要:
256 字节内部 RAM 32条可编程 I/O 线 安阳师范学院 第 5 页 3个 16 位定时器 /计数器 8个中断源 UART 串行通道 低功耗空闲方式和掉电方式 通过中断终止掉电方式 看门狗定时器 双数据指针 灵活的在线编程(字节和页模式) [7] AT89S52 引脚功能与封装 图 4 是 AT89S52 引脚 图。 图 4 AT89S52 引脚图 按照功能 , AT89S52 的引脚可分为主电源 、 外接晶体振荡或振荡器 、 多功能 I/O 口 、控制和复位等。 多功能 I/O 口 AT89S52共 有四个 8位的并行 I/O口端口 , 对应的引脚分别是 , , , 共 32 根 I/O 线。 每根线可以单独用作输入或输出。 P0端口 , 该口是一个 8 位漏极开路的双向 I/O 口。 在作为输出口时 , 每根引脚可以带动 8 个 TTL 输入负载。 当把 “1” 写入 P0时 , 则它的引脚可用作高阻抗输入。 当对外部程序或数据存储器进行存取时 , P0 可用作多路复用的低字节地址 /数据总线 , 在该模式 , P0口拥有内部上拉电阻。 在对 Flash 存储器进行编程时 , P0 用于接收代码字节;在校验时 ,则输出 代码字节;此时需要外加上拉电阻。 P1 端口 , 该口是带有内部上拉电阻的 8 位双向 I/O 端口 , P1 口的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端口写 “1” 时 , 通过内部的上拉电阻把端口拉到高电位 , 此时可用作输入口。 P1 口作输入口使用时 , 因为有内部的上拉电阻 , 那些被外安阳师范学院 第 6 页 部信号拉低的引脚会输出一个电流在对 Flash 编程和程序校验时 , P1 口接收低 8 位地址。 另外 , 与 可以配置成定时 /计数器 2 的外部计数输入端( )与定时 /计数器 2 的触发输入端( ) , 如表 1所示。 表 1 P1口管脚复用功能 端口引脚 复用功能 T2(定时器 /计算器 2的外部输入端) T2EX(定时器 /计算器 2 的外部触发端和双向控制) MOSI(用于在线编程) MISO(用于在线编程) SCK(用于在线编程) P2端口 , 该口是带有内部上拉电阻的 8位双向 I/O 端口 , P2 口的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端口写 “1” 时 , 通过内部的上拉电阻把端口拉到高电位 , 此时可用作输入口。 P2 口作输入口使用时 , 因为有内部的上拉电阻 , 那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器或 16 位的外部数据存储器时 , P2 口送出高 8 位地址 , 在访问8位地址的外部数据存储器时 , P2 口引脚上的内容(就是专用寄存器( SFR)区中 P2 寄存器的内容) , 在整个访问期间不会改变。 在对 Flash 编程和程序校验期间 , P2 口也接收高位地址或一些控制信号。 P3 端口 , 该口是带有内部上拉电阻的 8 位双向 I/O 端口 , P3 口的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。 对端口写 “1” 时 , 通过内部的上拉电阻把端口拉到高电位 , 此时可用作输入口。 P3 口作输入口使用时 , 因为有内部的上拉电阻 , 那些被外部信号拉低的引脚会输出一个电流。 [8] 表 2 P3 端口引脚与复用功能表 端口引脚 复用功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断 0) INT1(外部中断 1) T0(定时器 0 的外部输入) T1(定时器 1 的外部输入) WR(外部数据存储器写选通) RD(外部数据存储器读选通) 在 AT89S52 中,同样 P3 口还用于一些复用功能,如表 2 所列。 在对 Flash 编程和程序校验期间, P3 口还接收一些控制信号。 安阳师范学院 第 7 页 RST; 复位输入端。 在振荡器运行时 , 在此脚上出现两个机器周期的高电平将使其单片机复位。 看门狗定时器( Watchdog)溢出后 , 该引脚会保持 98 个振荡周期的高电平。 在 SFR AUXR(地址 8EH)寄存器中的 DISRTO 位可以用于屏蔽这种功能。 DISRTO 位的默认状态 , 是复位高电平输出功能使能。 ALE/PROG; 地址锁存允许信号。 在存取外部存储器时 , 这个输出信号用于锁存低字节地址。 在对 Flash 存储器编程时 , 这条引脚用于输入编程脉冲 PROG。 一般情况下 , ALE 是振荡器 频率的 6 分频信号 , 可用于外部定时或时钟。 但是 , 在对外部数据存储器每次存取中 , 会跳过一个 ALE 脉冲。 在需要时 , 可以把地址 8EH 中的 SFR 寄存器的 0位置为 “1” ,从而屏蔽 ALE 的工作;而只有在 MOVX 或 MOVC 指令执行时 ALE 才被激活。 在单片机处于外部执行方式时 , 对 ALE 屏蔽位置 “1” 并不起作用。 PSEN; 程序存储器允许信号。 它用于读外部程序存储器。 当 AT89S52 在执行来自外部存储器的指令时 , 每一个机器周期 PSEN 被激活 2次。 在对外部数据存储器的每次存取中 ,PSEN 的 2次激活会被跳过。 EA/Vpp; 外部存 取允许信号。 为了确保单片机从地址为 0000H~ FFFFH 的外部程序存储器中读取代码 , 故要把 EA 接到 GND 端 , 即地端。 但是 , 如果锁定位 1被编程 , 则 EA在复位时被锁存。 当执行内部程序时 , EA 应接到 Vcc。 在对 Flash 存储器编程时 , 这条引脚接收 12V 编程电压 Vpp。 XTAL1; 振荡器的反相放大器输入 , 内部时钟工作电路的输入。基于at89s52单片机的抢答器的设计与实现_毕业论文(编辑修改稿)
相关推荐
MOSI(在系统编程用)。 MISO(在系统编程用)。 SCK(在系统编程用)。 P2 口: P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P2 端口写 “1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 在访问外部程序存储器或用 16
国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比, C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 用过汇编语言后再使用 C来开发,体会更加深刻。 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。 另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51
机时或断电的情况下温度上下限设定的值会被保存用户不必再重新修改,若当前温湿度超过了用户设定的上下限值报警装置会自动报警。 掉电存储芯片我采用了AT24C01,报警装置选用三极管驱动蜂鸣器报警,具体电路如下图所示: AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。 任何从总线接收数据的器件为接收器。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下所示。 在 flash 编程和校验时, P3口也接收一些控制信号。 端口引脚第二功能: RXD(串行输入口 ); TXD(串行输出口 ); INTO(外中断 0); INT1(外中断 1) ; TO(定时 /计数器 0); T1(定时 /计数器 1);
SET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:片内振荡器反相放大器和时钟发生器的输入端。 XTAL2:片内振荡器反相放大器的输出端。 下载程序 AT89SXX 系列单片机实现了 ISP 下载功能,故而取代了 89CXX 系列的下载方式,也 基于 AT89S51 的温度控制系统 10 是因为这样,
规定值,并将程序计数器设置为“ 0000H”。 复位信号结束后, CPU 从程序存储器“ 0000H”处开始执行程序。 89S51 为高电平复位,一般有 3 种复位方法。 ⅰ 上电复位。 接通电源时 ⅱ 手动复位。 设置一个复位按钮,当操作者按下按钮时产生一个复位信号。 ⅲ 自动复位。 设计一个复位电路,当系统满足某一条件时自动产生一个复位信号。 图 34 为最简单的上电复位和手动复位方法。 图