51单片机00-59秒计时器 0-59s Timer

1.  实验任务

如下图所示,在AT89S51单片机的P0和P2端口分别接有两个共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个位。

2.  电路原理图

00-59秒计时器0-59s Timer

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秒计时器0-59s Timer

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%10];

while(1)

{

delay1s();

Second++;

if(Second==60)

{

Second=0;

}

P0=table[Second/10];

P2=table[Second%10];

}

}

59s计时器C语言程序步骤详解,51单片机00-59秒计时器 0-59s Timer相关推荐

  1. 51单片机c语言常用语句详解,51单片机之C语言-4.5基本语句之条件选择语句

    1. 条件选择语句之if 语句 前面我们讲了数据类型,运算符及表达式.C语言也是一种语言,既然是语言,一定有连接词.这些连接词可以用来表示假设,循环等等.我们先来看看假设if语句.这些连接词有一定的规 ...

  2. 一个简单的C语言程序(详解)

    C Primer Plus之一个简单的C语言程序(详解) #include <stdio.h>int main(void) //一个简单的 C程序 {int num; //定义一个名为 n ...

  3. AT89C51单片机流水灯c语言程序及详解(扫盲教程)

    AT89C51单片机是我们学习单片机必学的一个单片机,也是单片机入门的教材,下面给大家展示一下流水灯的编写方法适合初学者 首先先在proteus画出仿真图,方便仿真程序 下面来编写程序,先来写入头函数 ...

  4. 00 59秒计时器仿真c语言源程序,单片机0059_秒计时器.doc

    单片机0059_秒计时器 目 录 摘 要1 引言2 第一章 概述 3 第二章 电路设计4 2.1 单片机核心模块4 2.2 时钟模块5 2.3 复位电路模块5 2.4 显示模块6 第三章 软件程序及调 ...

  5. 简易电子钟c语言程序,(最新整理)基于51单片机的电子钟C语言程序

    <(最新整理)基于51单片机的电子钟C语言程序>由会员分享,可在线阅读,更多相关<(最新整理)基于51单片机的电子钟C语言程序(9页珍藏版)>请在人人文库网上搜索. 1.完整) ...

  6. 单片机c语言程序开发洗衣机,基于51单片机洗衣机控制器的设计(附程序)☆

    基于51单片机洗衣机控制器的设计(附程序)☆(任务书,开题报告,中期检查表,毕业论文21000字,程序) 摘  要 洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器.在工业生 ...

  7. 24c512 c语言程序,24C32~24C512的51单片机读写程序

    24C32~24C512的51单片机读写程序 来源:-- 作者:-- 浏览:3875 时间:2016-08-10 14:18 标签: 摘要: AT89S52 晶振频率为11.0592MHz 指令周期: ...

  8. c51汇编语言典型例子详解,51单片机典型开发实例大全.pdf

    51单片机典型开发实例大全 提供电子技术最新最实用设计方案 --单片机 C51 编程规范 typedef unsigned char INT8U; // 无符号 8 位整型变量 // typedef ...

  9. 详解51单片机播放音乐、电子琴、快进

    这是在学习完51之后做的一个实验,现在再来看有些寄存器都不记得了.不过我还是想要把它记录下来--因为我热爱音乐. 1.效果 先来看看实验的仿真图吧: 从按键就可以看到,这个实验可以实现播放音乐,暂停音 ...

最新文章

  1. node --- 模块化连接MongoDB数据库的参数设置方案之一
  2. 揭秘!微软 Build 2020 开发者大会将启,邀您共赴线上新旅程
  3. 第二课计算机ppt,第二课计算机系统.ppt
  4. 关于datawindow does not have update capability
  5. byte拷贝java_Java字节流实现文件夹的拷贝
  6. QT中QTableWidget鼠标事件捕获
  7. 微信文件夹的dat文件怎么打开_使用什么软件打开微信dat文件
  8. 码农小汪-Hibernate学习6-hibernate中Annocation修饰属性
  9. 24位RGB颜色与16位RGB颜色的转换
  10. 简单理解聚集索引和非聚集索引
  11. [原创]记某app内购破解 – 安卓逆向菜鸟的初体验
  12. COSMIC度量知识整理
  13. Axure使用中继器为表格添加数据
  14. 计算机毕设(附源码)JAVA-SSM基于Internet快递柜管理系统
  15. Optisystem7.0安装教程(Win10系统)
  16. 记录spacy安装英文包en出现E11004问题的解决方案
  17. 初学XML,xmlns的含义
  18. php新闻增删改查操作
  19. java 读gps_java – 如何获取当前的GPS位置?
  20. 微信小程序-入门到入土-01

热门文章

  1. 用VC写Assembly代码(2)
  2. 取得程序运行的目录[360度]
  3. 开发和编程是一样的吗?区别有哪些?
  4. 职场沟通能力,不是人人都有
  5. 生信宝典联合科学出版社在双 11推出生物信息专题书单 5 折优惠!学起来!
  6. Acrobat Reader DC 2020 for mac(最好用的免费PDF阅读器) 2020新增功能
  7. macos server 恢复安装_如何通过 macOS 恢复功能重新安装 macOS
  8. 提高篇 第二部分 字符串算法 第1章 哈希和哈希表
  9. 1949:【10NOIP普及组】数字统计
  10. 如何拼局域网所有ip_求助 家庭网络如何布线让所有网口在同一个局域网内