单片机定时计数器电路设计

发布者:神雕最新更新时间:2011-10-28 关键字:单片机  定时计数器 手机看文章 扫描二维码
随时随地手机看文章

    如果你有一个定时器,在你设定的时间到达时提醒你,你就再也不用担心忘记了煤气灶上煮的东西,使东西煮糊了或者水烧干了;午睡睡过了头了。本文介绍一个用AT89C205l单片机制作的倒计数定时器,可在1~99分钟内设置定时时间,时间到达时会用嘟、嘟的报警声提醒你,在定时过程中用数码管显示剩余的时间。

 

电路工作原理:

倒计数定时器电路见图.电路由单片机电路、数码显示电路和报警电路等部分组成。

  AT89C2051、X1、R1、C1等组成单片机电路,Rl、C1组成单片机的复位电路,接通电源的瞬间,由于电源电压通过对C1的充电过程,单片机AT89C2051的复位端1脚获得一个高电平复位脉冲,使得单片机进入初始状态。

  数码管DSl、DS2、三极管VT2、VT3、电阻R3~R11等组成数码显示电路,两个数码管分别显示分和十分。由于每个数码管有七个笔划段A-G显示单元(小数点DP在这里没有使用),按常规的驱动方法要7×2=14条。I/O线,对于AT89C2051来说显然不够,因此这里采用动态扫描显示的方式来解决这一问题,只需要7+2=9条I/O线。动态扫描显示是把两个数码管的七个笔划段A~G的同名端连在一起,而每一个数码管的公共端COM是各自独立地受I/0线控制,AT89C2051向字形输出口送出字形码时,所有数码管接收到相同的字形码,但是究竟哪一位显示,则取决于COM端,而COM端是由P3.5和P3.7口控制的,P3.5和P3.7口采用分时的方法,通过VT2、VT3轮流控制两个数码管的COM端,使两个数码管轮流点亮。由于AT89C2051的P1口能灌入较大的电流,所以这里采用了共阳的数码管。

  在轮流点亮扫描过程中,每位数码管点亮时间是极短的,由于人的视觉暂留现象,尽管实际上各位数码管并非同时点亮,但给人的印象就是一组稳定的显示数据,不会有闪烁感。

  发光二极管VDl作工作状态指示,在定时期间其闪烁显示,其余时间则不显示。VTl、R2、sPl等组成报警电路,定时结束时发出报警声。

  按钮s1、s2为定时时间设定按钮,s1设定分位,s2设定十分位,分位和十分位分别进行设置,按动相应的按钮,对应的数码管显示的数字即会随之改变。 按钮s3为定时开始启动按钮,设定好定时时间后按一下s3即启动定时器进人倒计时,定时时问到达后发出报警声,同时数码管显示时间为0HD,报警和显示各占0.25秒交替进行,持续时间为60秒。如果要提前结束报警只要按一下s3即可,结束报警后电路回到初始状态,这时显示的定时时间为上一次设定的时问,这对于反复使用同一定时时间的场合十分方便,如用作英语口语测试定时器。
  主程序流程图见图,程序使用汇编语言编写。程序由主程序、定时中断子程序、数码显示子程序、延时子程序等模块组成,主程序由键盘处理、报警等部分组成。

  由于采用了动态扫描显示的方式,虽然简化了电路,节省了IO线,但占用cPu的时间多,因此必须采用调用定时中断的方式来计时,以减小CPu负担,定时器的定时时 间 为60ms,调用1000次即为1分钟。延时子程序主要供显示子程序和报警程序调用,延时时间为0.5ms,延时时间决定了数码显示的刷新频率和报警的音频频率,这两个频率均为1000Hz.

  字形码的输出用了口的P1.1~P1.7,P1.0为空,P1口输出的数据通过查表获得。数据位和字形的对应关系如附表所示,因为数码管为共阳型,所以相应的输出位为0时笔段亮。存储器20h、21h单元分别作分位数和十分位数的存储单元,其数值作为查表的地址值。表中P1.0为空,其值均取1.

  动态扫描显示由数码显示子程序完成,当分位数送到P1口时,P3.5输出低电平,vT3导通,数码管DS2显示分位数;当十分位数送到P1口时,P3.7输出低电平,vT2导通,数码管显示十分位数。这样轮流工作即可显示两位数的时间。由于采用了动态扫描显示的方式,所以在主程序的键盘处理、报警等部分也要分时调用数码显示子程序,只有这样才能正确地显示数码时间,以便进行操作。
  印刷电路板采用万能电路板,ICl用AT89C2051单片机,用12MHz的石英晶体,D1、D2选用共阳型的LED数码管,用阻抗为16Ω的无源电磁式蜂鸣器,其余元器件的参数见第一页图。

  安装前先将汇编源程序编译成目标文件即HEX文件,再用编程器将HEX文件写入AT89C205 1芯片。

  设置定时时间时,按动s1或s2一次对应的数位增加1,到9后再按一下即回到0,如果按下后不松开,则数字不断翻动,每0.2秒跳一个数,到你所需要的数后松开即可。

注:开机后定时时间的初始值为00,可根据需要修改程序来调整这个初始值,例如要把初始值调整为45分钟,只需要将程序第9行和第10行修改成mov 20h,#5h和mov 21h,#4h即可。

关键字:单片机  定时计数器 引用地址:单片机定时计数器电路设计

上一篇:基于单片机控制的程控有源滤波器电路
下一篇:基于AT89C52单片机的室内有害气体监控系统

推荐阅读最新更新时间:2024-03-16 12:44

单片机I2C和EEPROM的综合编程
电视频道记忆功能,交通灯倒计时时间的设定,户外 LED 广告的记忆功能,都有可能用到 EEPROM 这类存储器件。这类器件的优势是存储的数据不仅可以改变,而且掉电后数据保存不丢失,因此大量应用在各种电子产品上。 我们这节课的例程,有点类似广告屏。上电后,1602 的第一行显示 EEPROM 从 0x20 地址开始的 16 个字符,第二行显示 EERPOM 从 0x40 开始的 16 个字符。我们可以通过 UART串口通信来改变 EEPROM 内部的这个数据,并且同时也改变了 1602 显示的内容,下次上电的时候,直接会显示我们更新过的内容。 这个程序所有的相关内容,前面都已经讲过了。但是这个程序体现在了一个综合应用能力上。
[单片机]
[单片机][KEIL5] 参数的意义和使用 L #L @L K #K $, #, %, @, ~, ^
使用键序列从µVision传递参数给外部用户程序。 键序列是键码和文件码的组合。 键序列可以使用,例如,在对话框工具,SVCS,选项的目标用户,或从命令行。 以下规则适用: 当从命令行使用时,某些关键代码必须重复。 使用符号$,#,%,@,~,^ 用$$,##,%%,@@,~~,^^来转义它们。 当使用可能包含特殊字符(空格、~或#)的文件夹名称时,将键序列用引号( )括起来。 关键码及档案码列于下表: |C:MYPROJECTPROJECT1.UVPROJX |带扩展名的完整路径和文件名 @| PROJECT1| 没有扩展名或路径说明的文件名 $| C:MYPROJECT | 用反斜杠扩展的文件路径名。
[单片机]
[<font color='red'>单片机</font>][KEIL5] 参数的意义和使用 L #L @L K #K $, #, %, @, ~, ^
8051单片机典型接口电路——串行扩展静态显示电路
8051单片机典型接口电路——串行扩展静态显示电路如下图所示: 例1:按上图编制显示子程序,显示字段码已分别存在32H~30H内RAM中。   程序1:   DIR2: MOV SCON,#00H ;置串口方式0   CLR ES ;串口禁中   SETB P1.0 ;“与”门开,允许TXD发移位脉冲   MOV SBUF,30H ;串行输出个位显示字段码   JNB TI,$ ;等待串行发送完毕   CLR TI ;清串行中断标志   MOV SBUF,31H ;串行输出十位显示字段码   JNB TI,$ ;等待串行发送完毕   CLR TI ;清串行中断标志   MOV SBUF,32H ;串
[模拟电子]
8051<font color='red'>单片机</font>典型接口电路——串行扩展静态显示电路
开发51单片机操作系统时应注意的问题
(1)操作系统软件的代码不能太长 因为51系列单片机的系统硬件资源相对匮乏,如果操作系统的代码比应用程序的代码还大,甚至使得用户的应用程序要考虑给操作系统让出资源,这样的操作系统即使功能再完善,也不实用。现在流行的嵌入式操作系统就不能应用于51系列单片机,原因是代码太大。开发一个5000行的基于裸机的应用程序也就是占用 7~8KB ROM空间,一个操作系统用掉了几十KB,占空间不算,实时性的优势恐怕也没了(执行这么多的指令要时间)。所以,μCOS的作者也不支持将他的代码移植到51系列单片机上,这也就不奇怪了。 (2)操作系统不能占用太多的片内RAM空间 51系列单片机只有128个或者256个字节的片内RAM空间,稍微不
[单片机]
基于MPI协议的S7-300 PLC与单片机通信的实现
MPI协议在PLC之间可组态为主/主协议或主/从协议。介绍了基于MPI协议的西门子S7-300 PLC与单片机实现数据通信的应用实例及其主要设置。 西门子S7-300 PLC因其功能强、速度快、扩展灵活,在工业控制领域中占有重要地位。MPI网络是西门子工业控制系统中经常用到的一种通信方式,其使用RS485物理接口进行数据传输。目前,S7-300 PLC与PC的通信是通过专用接口卡5611卡和MPI电缆实现的。通信软件为SIMATIC Manager、STEP7、PRODAVE_S7_mini以及功能十分强大的WinCC。但是,由于西门子MPI协议是不公开的,所以一些单片机控制器不能接入到MPI网络与S7-300 PLC通信。本文
[单片机]
基于MPI协议的S7-300 PLC与<font color='red'>单片机</font>通信的实现
BMP180测量海拔高度传感器单片机程序
在测量海拔高度时,传统的做法是通过测量某一高度的大气压力,再经过换算才能得到高度数据。为了测量大气压力,就得用上气压传感器,下面就来讨论一下气压传感器的应用。 气压传感器是压力传感器中的一种,它专用于测量气体的绝对压强。目前市场上能见到的气压传感器有很多种,下面就以市场上常见的Bosch公司推出的BMP180来进行讨论。BMP180不仅可以实时的测量大气压力,还能测量实时温度。同时它还具有IIC总线的接口,便于单片机进行访问。另外它的使用也很方便,不需要太多的操作就可读取到气压及测量数据。 BMP180采用强大的8脚陶瓷无引线芯片承载(LCC)超薄封装,它性能卓越,内置有校准补偿,绝对精度最低可以达到0.03hPa(0.2
[单片机]
BMP180测量海拔高度传感器<font color='red'>单片机</font>程序
AVR单片机熔丝位配置参数
mega8的熔丝位设置 以下内容根据mega8的英文手册翻译,希望对大家有所帮助。如发现错误,恳请大家指正。 mega8熔丝位: 1:未编程(不选中) 0:编程(选中) ******************************** 熔丝位 说明 缺省设置 ******************************** RSTDISBL: 复位或I/O功能选择 1 1:复位功能;0:I/O功能(PC6) WDTON: 看门狗开关 1 1:看门狗打开(通过WDTCR允许);0:看门狗禁止 SPIEN: SPI下载允许 0 1:SPI下载禁止;0:SPI下载允许(注:当使用SPI编程时,该项不可用) EEAVE: 烧录时EEPRO
[单片机]
Microchip扩展中档8位PIC®单片机系列
全球领先的整合单片机、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)宣布,推出其增强型中档内核8位PIC®单片机(MCU)系列的最新产品——外设丰富、低引脚数的PIC12F(LF)1840和PIC16F(LF)1847。全新器件分别配备7 KB和14 KB片上闪存,高达1 K的RAM,是8和18引脚封装产品中存储容量最高的PIC® MCU。“LF”型号采用超低功耗(XLP)技术,工作电流小于40 µA/MHz,休眠电流低至20 nA。凭借丰富的外设和功能——包括mTouch™容性触摸传感和多种通信外设,这些通用MCU非常适合于家电(如咖啡壶、搅拌机和洗碗机)、消费类
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved