用AT89C2051做长延时定时器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
单片机与可编程器件
用 AT89C2051 做长延时定时器
· 张继辉 田秀丽 ·
以往常见的电子定时器电路大多是 利用RC阻容元件的充放电原理并配合若 干片普通数字集成电路芯片和外围分立 元件构成的, 普遍存在所需芯片, 元件较 多, 电路相对复杂, 定时时间不准确, 特 别是可靠性和一致性较差的问题, 且电 路的延时时间越长, 上述问题也就会越 加明显. 然而, 如果采用由单片机构成的 定时器电路, 则可有效避免上述问题的 出现. 本文介绍一个将 AT89C2051单片 机应用在 "超长延时定时器" 中的实际电 路, 其硬件电路和控制软件均已调试运 行通过. 时, 1~60计数, 9999~0倒计数, 四位 数译码, 参数设置的输入与记忆, 显示 及输出控制等多种功能 定时时间可在 ; 1 分钟 (最短时间) 9999分钟 至 (最长 时间, 合166小时39分) 之间任意设置, 其分辨率为1分钟 定时系统采用单片 ; 机在软件控制下的数字计数方式, 因而 不论定时时间的长短, 都能保证每次定 时时间具有极高的准确度 定时参数设 ; 置方便, 定时的 设置只需通过 S1 "功能键" 与 S2 (-1) 两 " 键" 只按钮配合即 可完成, 设置输 入快捷, 方便; 在进行设置和 整个定时的过 程中, 均采用 4 位数码管做 "个 位~千位" 的倒 计时显示, 同时 用数码管上小 数点的闪亮作 为秒显示, 显示 直观, 准确;初
电路硬件原理
电路原理图如图 1所示. 该电路简 单, 仅用一个单片机芯片配合少量外围 分立元件, 即可完成脉冲振荡, 分段延
图1
+CMGR: 0,0 (7) 短信的删除方法 AT+CMGD=1回车. (8) 短信的发送方法 短信息的发送分成两步 : 第一步:发送接收的手机号码, 等待应答: ">" AT+CMGS="133********"回车 (目的地址) TC35回应 AT+CMGS="133********" > : 第二步 输入短信息的内容 : (只能是英文)Test : 回车. 4.单片机控制 TC35 的方法 上面介绍了用PC机控制TC35的方法, 我们只需将PC机输 出的控制命令转化成单片机输出的指令即可. (1) 硬件连接 电路见图2 . 只需设计一个 TTL转RS232 电平电路,连接到 MCU 的 UART 口, 另一端直接连接到 TC35. (2) 指令输出的方法 单片机串口设置成模式1 9600, ( N, 8,1) ,依次将 AT+XXX 以 ASCII 码形式输出到 UART 口;接收 TC35的数据采用中断方式. 在本刊的网站上给出详细的程序清 单(Keil C51), 供读者参考. ◆
· 24 · 电子世界 2004 年 11 期
单片机与可编程器件
始加电时, 电路的4位数码显示器将自动 显示系统默认的 "定时时间" (本例中为 9999分钟), 只要不进行新的时间设置, 电路就将按系统默认的定时时间开始运 行, 此时, 四个数码管上的

小数点将同步 闪亮, VT1同时导通, J1吸合, 其接点可 控制外电路定时工作 每一次新的设置 ; 完成后, 只要不断电, 电路具有自动记忆 本次设置参数的功能, 因此, 当一次定时 的过程完成后, 若需再次进行相同时间 的定时时, 无须重新输入定时时间, 只需 连续按动五次 S1 (设置) 使电路退 键, 出设置状态, 重新进入定时工作状态即 可, 故在重复使用时操作非常简单, 方 便 当电路的定时时间到时, ; VT1将立即 截止, J1释放, 使 外电路停止工作;同 时, 各位数码管均将显示一个负号, 且 各数码管上的小数点将停止闪亮. AT89C2051 (IC1) 作为本电路的核 心, C3和 R10构成了简易的上电自动复 位电路. C1, JT, C2与IC1相关引脚构成 了系统的时钟电路. 显示器采用四只共 阳型 LED数码管. IC1的 15个I/O口全部 使用, 其中, P1.0为 秒显示输出口, 通 过一只限流电阻接至各数码管的小数点 电极 上 , 路 处 于 正 常 定 时 工 作 状 态 电 时, 以 小 数 点 的 闪 亮 作 为 秒 信 号 显 将 示 P1.1~P1.7作为七段数码管的段选 ; 信号 (低电平有效) 输出口, 分别通过 一只限流电阻, 接至各数码管的相应 电极上. 码 管 显 示 采 用 动 态 扫 描 的 数 方式进行, 其动态位选信号分别由IC1 的 P3.2, P3.3, P3.4, P3.5输 出 , 电 高 平有效, 其输出信号通过VT2~ VT5分 别 驱 动 四 只 数 码 管 交替 (动态) 显示. IC1的P3.0和 P3.1为定时参数设置输入 口, "地" 其对 间各接有一只常开型自复 位按键开关 S1和 S2, 其中, "设置 S1为 功能键" S2为 , "-1操作键" ;通过与软 件配合, 利用 S1, S2即可完成 "四位数" 的定时时间参数的输入与设置. P3.7为 输出控制口, 通过一只电阻接至 VT1的 基极, 由VT1适时驱动继电器J1吸合与 释放, 进而实现对外电路的定时控制. 电 源变压器 B, 桥式整流器 QZ, 7805三端 稳压器 WY及 C4~C7组成了电源电路, 可 为整个电路提供稳定的+5V直流工作电 源. 电路中所需元件的规格参数均如图1 中所标注. 和定时中断子程序的流程图分别如图2a, 图 2b所示, 源程序见本刊网站. 程序运 行后, 在初始化程序中, 首先对片内RAM
自行设置时间参数的方法
图2
空间进行分配和定义, 其中, 42H~45H 单元分别用于存放个位~千位数码管中 拟显示的数据;4AH,4BH,4CH,4DH 为四个记忆单元, 分别用于存放系统默 认的 (或自行设置好的) 四位数 "定时时 间" 数据, 当电路初试工作时, 根据需要,
本电路设置定时时间参数时, 采用 循环方式进行. 在设置时, 先按一下S1 设置键, 电路将立即进入 "定时时间" 的
个位数设置状态 (此时, 仅个位上的数码 管显示, 其余各位数码管会被自动消隐, 秒闪动停止)按动S2, , 可使个位的数码 管做倒计数显示,

选择到所需的数字即 可.然后,再次(第二次)按动 S1,电 路将进入 "定时时间" 的十位数设置状态 适时被分别读入42H~45H中. 在定时计 仅十位上的数码管显示, 其余各 数中断子程序中, 要完成秒信号的产生, (此时, 秒闪动停止) , 60秒计数, 定时时间到否的查询等功能. 位数码管会被自动消隐, 按动S2, 可使十位的数码管做倒计数显 其中, 秒信号的产生是利用对单片机内 示, 选择到所需的数字即可……. 依此方 部定时器T1产生的中断信号进行多次累 法, 可分别完成其它各位数字的设置. 当 加后形成的, 该信号将由P1.0输出, 用 千位数字的设置也完成后, (第五 再次 以完成秒闪烁功能. 同时, 该信号还经过 次) 按动S1键时, 电路将自动退出设置 60次计数后产生分信号, 最后, 再以分 状态, 而定时工作状态也同时被启动, 数 钟为时间间隔, 从设置好的定时时间数 码管将自动显示出新设置好的四位数的 据内逐一递减并随时显示剩余的定时时 参数, 秒显示也开始闪亮, 整 间参数, 形成倒计数的显示方式. 在定时 "定时时间" 工作状态下, 当42H~45H同时都被减为 0时, 则电路的定时过程也就完成了, 此 时, 系统将自动控制在P3.7口输出低电 平,使 VT1 截止,J1 释放, 控制外电路 停止工作. 与此同时, 四位数码管将同时 显示一个负号 , (-)且用于秒显示的各数 码管上的小数点也将熄灭, 表示电路的 定时过程已经结束. 在按键处理子程序 个电路开始按照新设置的时间参数运行. 在进行上述设置时, 只要电路一进 入设置状态, 各数码管上的小数点将立 即停止闪动, 电路也立即退出定时状态, 使 VT1 截止, J1立即释放, 外电路停止 工作. 在进行各位数字设置时, 当调整到 数码管显示为 0后, 若再按动S2 -1键) ( 时, 对应的数码管将自动回到显示9, 因
中, 要完成对两种按键信号的输入识别, 键接点的软件延时除颤, (个位~千 四位 位) 定时数据的分别减1等设置功能. 在
程序介绍
本程序使用汇编语言编写. 主程序
此, 设置可以循环调整和显示. 当电路正处于定时的过程中 (定时 时间未到) 若按一下 S1 时, "设置" 键, 显示子程序中, 采用了典型的查表程序, 电路同样会立即退出定时状态而进入 状态, 此时, 数码管上的小数点 分别完成个位~千位数码管的动态显示, "设置" 也将停止闪亮, VT1立即截止, J1释 使 其指 令 表 如 附 表 所 示 . 于 本 程 序 已 由 放. 若需恢复定时状态, 仍须继续按动4 经调试运行通过, 因此, 读者只需利用 次 S1 (设置) 先使电路退出设置状 键, 单片机编译软件将本文提供的源程序 态, 电路即可按照系统先前所记忆的上 编 译 成 目 标 程 序 并 将 其 写 入 次设置的定时时间

(或系统默认的定时 AT89C2051 芯 片 , 将 芯 片 插 入 硬 件 再 时间) 重新开始进入定时工作状态. ◆ 电路即可投入正常使用.
· 25 · 电子世界 2004 年 11 期

1

相关文档
最新文档