基于51单片机的0-59秒延时器设计

发布者:小悟空111最新更新时间:2017-12-31 来源: eefocus关键字:51单片机  延时器 手机看文章 扫描二维码
随时随地手机看文章

1.实验任务
  如下图所示,在AT89S51单片机的P0和P2端口分别接有两个共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。
2.电路原理图
00-59秒计时器(利用软件延时)
图4.11.1
3.系统板上硬件连线
(1).把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
(2).把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。
4.程序设计内容
(1).在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,从新秒计数。
(2).对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对10整除和对10求余。
(3).在数码上显示,仍通过查表的方式完成。
(4).一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到1秒时间为1.002秒。
DELY1S:        MOV R5,#100
D2:                MOV R6,#20
D1:                MOV R7,#248
                     DJNZ R7,$
                     DJNZ R6,D1
                     DJNZ R5,D2
                     RET
5.程序框图
00-59秒计时器(利用软件延时)
图4.11.2
6.汇编源程序
Second                 EQU 30H
                            ORG 0
START:               MOV Second,#00H
NEXT:                MOV A,Second
                           MOV B,#10
                            DIV AB
                            MOV DPTR,#TABLE
                           MOVC A,@A+DPTR
                            MOV P0,A
                            MOV A,B
                           MOVC A,@A+DPTR
                            MOV P2,A
                            LCALL DELY1S
                           INC Second
                            MOV A,Second
                            CJNE A,#60,NEXT
                           LJMP START
DELY1S:             MOV R5,#100
D2:                      MOV R6,#20
D1:                     MOV R7,#248
                            DJNZ R7,$
                            DJNZ R6,D1
                           DJNZ R5,D2
                            RET
TABLE:              DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
                            END
7.  C语言源程序
#include
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
                            0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char Second;
void delay1s(void)
{
  unsigned char i,j,k;
  for(k=100;k>0;k--)
  for(i=20;i>0;i--)
  for(j=248;j>0;j--);
}
void main(void)
{
  Second=0;
  P0=table[Second/10];
  P2=table[Second];
  while(1)
    {
      delay1s();
      Second++;
      if(Second==60)
        {
          Second=0;
        }
      P0=table[Second/10];
      P2=table[Second];
    }
}

关键字:51单片机  延时器 引用地址:基于51单片机的0-59秒延时器设计

上一篇:基于51单片机的一键多功能识别技术
下一篇:基于51单片机的计数器设计

推荐阅读最新更新时间:2024-03-16 15:51

汇编写51单片机之循环点亮LED
二话不说,先上代码: ORG 0000H AJMP MAIN MAIN:SETB P1.0 LCALL DELAY CLR P1.0 LCALL DELAYA AJMP MAIN DELAY: MOV R7,#255 D1: MOV R6,#255 D2: DJNZ R6,D2 DJNZ R7,D1 RET DELAYA: MOV R7,#100 K1: MOV R6,#100 K2: DJNZ R6,K2 DJNZ R7,K1 RET END 让我从头到尾来分析这整个程序:首先,这段程序是用于循环点亮P1.0这个灯的。 ORG 0000H ;这句话我们说过他的作用了,不懂的往前看。 AJMP MAIN ;这句话分成两个部
[单片机]
51单片机成功运行UCOSII实时操作系统
怀着好奇的心情在网上搜索关于UCOSII移植到51单片机的资料,步骤都是一样的,好多都是转载、转载,但是具体的内容并没有说清楚,好不容易搜到一个把移植过程说的很清楚的帖子,但是后面又说编译和运行过程中出现很多问题,我又绝望了。因为之前对51单片机只是简单的学了一下,对于移植UCOSII系统,还是得花点功夫的。由于我快毕业了,如果专研于UCOSII移植到51单片机,又得花上我一周的时间,想想那我的移动机器人得多久才能成功啊,于是,在CSDN上下载已经移植到51单片机上的源代码,起初我只是试着下来学习一下,学习怎样编写那些与cpu有关的函数的,我下载的那个源代码是将UCOSII移植到AT91系列上的,我果断编译了一下,成功编
[单片机]
单片机中断系统介绍_51单片机中断系统结构
什么是中断?就是打断当前要做的事,转而去执行别的事情。单片机中断就是当单片机正在执行程序的时候,突然某个按键按下了(产生外部中断),单片机就必须得去处理那个按键(中断的响应),看看是发生了什么事,按键处理完后继续回来执行程序(中断的返回)。 MCS-51单片机中断系统的结构 5个中断源的符号、名称及产生的条件如下。 INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。 INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。 T0:定时器/计数器0中断,由T0计满回零引起。 T1:定时器/计数器l中断,由T1计满回零引起。 TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。 整个中断系统的结
[单片机]
单片机中断系统介绍_<font color='red'>51单片机</font>中断系统结构
基于89C2051单片机的热表通讯模块的开发
1  引言 集中供热方式的普及以及计量供热的实施是建筑节能的有效手段,但需要通过供热系统运行管理的自动化来实现。为了研究热网的控制调节方法,建立了热网模拟实验平台,并且配置了自动监测控制系统。在设备选型时,采用了丹麦Kamstrup 热量表作为实验管网中各主要管段输送热量及实验系统热量的测量采集装置,但该热表配备的数据通讯接口模块只能通过专用外接插口与计算机或相应的数据终端进行一对一的RS - 232 串行通讯,难以满足现场的通讯要求。 2  通讯模块的核心器件 在系统中,单片机一般称为下位机,通常用来完成数据的采集和上传,由PC 机、网络设备、数据库服务器组成的后台应用部分则统称为上位机,对下位机的上传数据进行分析
[单片机]
基于89C20<font color='red'>51单片机</font>的热表通讯模块的开发
51单片机学习之路 —— 1.6 单片机的中断(1)
这一次我们来单片机中很重要的一个概念 :  中断   今天讲的是一些中断的概念和关于中断的知识点 1 :  什么是中断?      理解下生活中的中断 再对比下单片机中断          中断的嵌套          中断优先级 2 : 中断源           52系列为6个中断源 51只有5个      下降沿 : 逻辑电平从高电平到低电平的转换被称为下降沿    默认中断级别 :          中断允许寄存器IE :          这里主要记:  EA  - 全局中断允许位           ET0 - 定时器/计数器0中断允许位
[单片机]
<font color='red'>51单片机</font>学习之路 —— 1.6 单片机的中断(1)
MCS-51单片机在什么情况下可响应中断?中断响应过程是?
MCS-51在什么情况下可以响应中断?中断响应的过程是? 答:响应中断的条件 (1)中断源有中断请求; (2)中断总允许位EA=1; (3)请求中断的中断源的中断允许位为1; 在满足以上条件的基础上,若有下列任何一种情况存在,中断响应都会受到阻断。 (1)CPU正在执行一个同级或高优先级的中断服务程序。 (2)正在执行的指令尚未执行完。 (3)正在执行中断返回指令 RETI或者对专用寄存器IE、IP进行读/写的指令。CPU在执行完上述指令之后,要再执行一条指令,才能响应中断请求。 中断请求被响应后,有内部长调用(LCALL)将程序转向对应的中断矢量地址,执行执行中断服务程序。
[单片机]
80c51单片机的控制总线信号有哪些 80c51单片机特点
  80c51单片机的控制总线信号有哪些   80C51单片机的控制总线信号包括以下几种:   ALE(Address Latch Enable)地址锁存使能信号:当CPU向外部总线发出地址时,ALE信号会使地址锁存器(Latch)中的地址保持稳定,供外设使用。   PSEN(Program Store Enable)程序存储器使能信号:当CPU要从程序存储器中读取指令时,PSEN信号会使程序存储器选择器(Program Memory Selector)选择程序存储器。   RD(Read)读信号:当CPU从外部读取数据时,RD信号会通知外设将数据准备好。   WR(Write)写信号:当CPU向外部写入数据时,WR信号会通知外设
[单片机]
AT89C51单片机在无线数据传输中的应用
一般的数字采集系统,是 通过 传感 器将捕捉的现场 信号 转换为电信号,经模/数转换器ADC采样、量化、编码后,为成数字信号,存入数据 存储器 ,或送给微处理器,或通过无线方式将数据发送给接收端进行处理。无线数据传输系统就是 样一套利用无线手段,将采集的数据由测量站发送到主控站的设备。 1 系统组成 系统组成如图1、图2所示。   系统由测量站和主控站两部分组成。测量站主要完成对现场信号的采集、存储,接收遥控 指令并 发送数据。主控站的主要工作是发送遥控指令、接收数据信息、进行数据处理和数据管理、随机显示打印等。 2 AT89C51与数字电台的串行通信 Atmel公司的AT89C51单片机,是一种低功耗、高 性能 的、片
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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