关于单片机 汇编 定时计数的题 用单片机定时、计数设计一个秒表,由P1口连接的LED采用BCD码显示,发光二极

管亮表示0,灭表示1.计数六十秒后从头开始,依次循环。。。这道题我做出了答案 但是在运行上却到了100再从头而不是六十 下面是我的答案 那个大神帮忙分析一下
ORG 0000H MOV TMOD,#61 MOV TH1,#0C4H MOV TL1,#0C4H SETB TR1
DISP:MOV A,#00H MOV P1,A CONT:ACALL DELAY CLR P3.5 NOP NOP SETB P3.5 ADD A,#01H DA A MOV P1,A JBC TF1,DISP SJMP CONT DELAY:MOV R3,#14H MOV TH0,#3CH MOV TL0,#OBOH SETB TR0 LP1:JBC TF0,LP2 SJMP LP1 LP2:MOV TH0,#3CH MOV TL0,#0B0H DJNZ R3,LP1 RET END

……
ADD A, #01H
DA A
CJNE A, #60H, DDDD;不等于60转
SJMP DISP ;等于60,就从头开始
DDDD:
MOV P1,A
……

试试看。追问

我早可就加MOV R3,#60 和DJNZ R3,CONT 这样的指令式了 这样行
但是我学的计数器用不上了 我们刚学到定时、计数器这 我想用上定时计数器完成 我朋友看了我写的都说没错,我弄不明白 为什么我的计数器1的TF1没有溢出呢

追答

看你的程序,是用 T0 定时 50ms,循环检测了 20 遍,这就是定时 1s 了。

T1,你用它做了什么工作?
计数器1的TF1没有溢出,是怎么知道的?

----
哦,你打算用 T1 计数 60 次。

你必须用另外的引脚,向 P3.5 引脚送去脉冲,这还需要一条连线。

直接 SETB P3.5、CLR P3.5,T1 是不会计数的。

追问

我这有CLR P3.5 呀 我是在软件上模拟实现的

追答

试试:

SETB P2.0
NOP
NOP
CLR P2.0

然后在 P2.0 到 P3.5 连上一条线。

这样才可以使 T1 进行计数。

温馨提示:内容为网友见解,仅供参考
无其他回答

51单片机设计一个秒表,用两个数码管(任意相邻的两个)显示。
MOV R0,#LEDD MOV A,LEDC T1INT0:JNZ T1INT1

用51单片机设计一个秒表,计时范围从00:00-59:59.
include<reg51.h>#include "intrins.h"#include "absacc.h"#define uchar unsigned charuchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};\/\/0-9unsigned char sec=0,min=0,scanled;unsigned char key=0,mode,time; unsigned char disdat[4];v...

单片机秒表设计
用AT89C51设计一个2位的LED数码显示作为“秒表”,这应该是一个仿真题,可用两位一体的共阴数码管,用定时器T0定时,得到1秒计时。

课程设计 AW60的单片机 设计要求:设计一个秒表,通过SCI串口显示当前秒表...
课程设计AW60的单片机设计要求:设计一个秒表,通过SCI串口显示当前秒表的值,该秒表的初始值由键盘输入确定。在键盘上除定义数字0~9这几个键之外,还需定义“确认键”和“清零键”。确... 课程设计 AW60的单片机设计要求:设计一个秒表,通过SCI串口显示当前秒表的值,该秒表的初始值由键盘输入确定。在键盘上除定义数...

设计一个秒表(十秒或者三十秒)单片机编程
这是一个秒表,有按键实现 启动、暂停核清零功能。include <reg51.H> sbit P3_5 =P3^5;unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00};unsigned char second;unsigned char keycnt;unsigned int tcnt;...

求用单片机设计一个秒表AT89C51
SETB ET0 ;开启定时中断 SETB EX0 SETB EX1 SETB EA ;定时器初始化结束,下面循环显示即可 MOV R1, #99H ;0~99计数.MOV R7, #1 ;50ms计数.MOV P0, #0C0H MOV P2, #0C0H LOOP:SJMP LOOP ;--- DELAY: ;延时子程序.AA4: MOV R4, #0 DJNZ...

用定时器计数器设计一个简单的秒表
本次课设我们要设计一个能显示计时状态和结果的秒表,它是基于定时器\/计数器设计一个简单的秒表。本次设计的数字电子秒表系统采用AT89C51单片机为中心器件,利用其定时器\/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现四位LED...

利用51单片机设计一个秒表 (一定要按要求做到0.01秒)
最低位,是0.01s 变化一次,一秒钟,变化 100 次。这么快,人的眼睛,分辨不出来。只能看到一个 8。停止时,才能看到稳定的数字。程序如下:include<reg52.h> sbit P3_5 =P3^5;unsigned char counet, m[4] = {0,0,0,0};void display(){ unsigned char code Tab[] = { 0xc0,0xf9,...

编程实现倒计时的秒表,2位LED数码管显示,延时采用硬件延时的方法
编程实现倒计时的秒表,2位LED数码管显示,延时采用硬件延时的方法 用单片机的定时器T0定时,计时1秒,实现倒计时的秒表的功能。程序如下 include<reg51.h> unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};\/\/共阳数码管段码表 unsigned char second;\/\/秒倒...

单片机怎么设计一个0-9的一位数秒表,用定时器实现 c语言程序及其注释...
TH0=(65536-46083)\/256; \/\/将定时器计时时间设定为46083×1.085微秒 \/\/=50000微秒=50毫秒 TL0=(65536-46083)%256;EA=1; \/\/开启总中断 ET0=1; \/\/定时器T0中断允许 TR0=1; \/\/启动定时器T0开始运行 int_time=0; \/\/中断次数初始化 second=0; \/\/秒初始化 while(1...

相似回答
大家正在搜