前面我们做了定时器的实验,现在来看一看计数实验,在工作中计数常常会有两种要求:
第一、将计数的值显示出来,
第二、计数值到一定程度即中断报警。
第一种如各种计数器、里程表,第二种如前面例中讲到的生产线上的计数。先看第一种吧。
我们的硬件中是这样连线的:324组成的振荡器连到定时/计数器1的外部管脚T1上面,我们就利用这个来做一个计数实验,要将计数的值显示出来,当然最好用数码管了,可我们还没讲到这一部份,为了避免把问题复杂化,我们用P1口的8个LED来显示计到的数据。
程序如下:
ORG 0000H ,
AJMP START
ORG 30H
START:
MOV SP,#5FH
MOV TMOD,#01000000B ;定时/计数器1作计数用,0不用全置0
SETB TR1 ;启动计数器1开始运行.
LOOP: MOV A,TL0
MOV P1,A
AJMP LOOP
END
在硬件上用线将324的输出与T1连通(印板上有焊盘)运行这种程序,注意将板按正确的位置放置(LM324放在左手边,LED排列是按从高位到低们排列)看到什么?随着324后接的LED的闪烁,单片机的8只LED也在持续变化,注意观察,是不是按二进制:
00000000
00000001
00000010
00000011
这样的次序在变呢?这就对了,这就是TL0中的数据。
关键字:51单片机 计数显示
引用地址:
51单片机计数显示程序举例
推荐阅读最新更新时间:2024-03-16 15:40
51单片机软件程序复位
51单片机软件复位汇编代码 POP ACC ; pop return address POP ACC ;弹出PC MOV SP,#30H ;复位后SP为07H ,这样就会复位椎栈 MOV PSW,#00H ;清寄存器 CLR A ; push 0 as new PUSH ACC ; return address to stack PUSH ACC ;重置PC=0并压到椎栈中 RETI ; execute return of interrupt ;程序又开始从0000H处开始运行,但寄存器内的值不确定! 用
[单片机]
89C51单片机内部结构深度解析一
9C51单片机内部结构深度解析一:单片机内部资源ROM/RAM/CLOCK/RST 8位CPU:和32位处理器的意思一样,计算机中的位数指的是CPU一次能处理的最大位数。32位计算机的CPU一次最多能处理32位数据,同理,8位的CPU意味着89C51单片机只能够处理8位的数据。 4K ROM:4K字节闪烁可编程可擦除只读存储器(FPEROM Flash Programmable and Erasable Read Only Memory),主要用来存放程序和表格常数,地址是0000H~0FFFH,总线地址的宽度为16位,因此片内ROM最大为2^16次方=64K,片外的ROM最大也是64K,片内片外的ROM采用统一编址的方
[单片机]
51单片机入门教程(0)—— 开发环境配置
本教程包含51单片机开发环境Keil_C51的安装、破解和汉化,以及51单片机仿真环境Proteus的安装、破解。 (说明:本教程仅供学习交流之用,禁止任何商业用途!请在24小时之内删除,如要使用Keil和Proteus请购买正版) 1、 Keil_C51 1.1 keil_c51简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。如果你
[单片机]
AT89S51单片机串行口的内部结构及功能介绍
AT89S51单片机串行口的内部结构如下图所示。它有两个物理上独立的接收、发送缓冲器SBUF(属于特殊功能寄存器),可同时发送、接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。 串行口的控制寄存器共有两个:特殊功能寄存器SCON和PCON。下面介绍这两个特殊功能寄存器各位的功能。 1、串行口控制寄存器SCON 串行口控制寄存器SCON,字节地址988H,可位寻址,位地址为98H~9FH。SCON的格式如下图所示。 下面介绍SCON中各位的功能。 (1) SM0、SMl:串行口4种工作方式选择位。 SM0、SM1两位的编码所对应的4种工作方式见下表。 表
[单片机]
MCS-51单片机内部数据存储器的RAM结构详细解析
内部数据存储器低128单元 8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。如图所示为低128单元的配置图。 寄存器区 8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、R
[单片机]
基于51单片机的篮球记分牌设计
一、设计任务 设计一个基于单片机的篮球计分牌,实现两队的计分功能与24秒计时功能。 二、 性能指标要求 (1)按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。 (2)结合硬件能够正常计分(1,2,3)。 (3)能够正常显示分值。 (4)能够正常修改工作模式(计分与24秒)。 (5)能够24秒的误差不小于1秒。 拓展部分 能记录两队球员犯规次数计数。 三、设计思路及设计框图 1.设计思路 这次实训的芯片我们采用了AT89C52,并同时用keil进行C语言编程,再生成的HEX文件通过下载口导入AT89C52中。 器件中有一个12M的晶振并用与芯片相对应的管脚连接,将晶振产生的时钟信号作为定时信号。篮球计分牌分为三个部
[单片机]
51单片机简单的按键(按下LED亮,松开LED灭)
#include reg52.h typedef unsigned char u8; typedef unsigned int u16; sbit l1=P2^3; sbit k1=P3^2; sbit l2=P2^2; sbit k2=P3^3; void delay(u16 i) { while(i--); } void anjian1() { if(k1==0)//判断按键是否被按下 { delay(1000);//消抖 if(k1==0)//消抖之后再次判断是否被按下 l1=~l1;//点亮led灯,led灯默认高电'平 while(!k1);//判断是否断开 } } void anjian
[单片机]
一文详解80C51单片机的指令集
数据传送类指令 数据传送是单片机最基本的操作。数据传送的一般功能是将源操作数传送到指令所指定的目的操作数,指令执行后,源操作数不变。 数据传送类指令一般不影响标志位。数据传送类指令共29条,可以分为两大类。一是采用MOV操作符,称为一般传送指令,共16条;二是采用非MOV操作符,称为特殊传送指令,共13条。 一般传送指令的 汇编 指令格式为: MOV是传送指令的操作助记符。其功能是将源操作数传送到目的操作数,源操作数内容不变。 该类指令的助记符,操作数,功能,字节数及执行时长(机器周期数),按目的操组数归类如下。 1)内部8位数据传送指令 内部 RAM 区是数据传送最活跃的区域,8位内部数据传送指令共15条,用于 单片机
[单片机]