用模拟单片机AT89C51做一个秒表,要程序,电路图,,急,

用模拟单片机AT89C51做一个秒表,要程序,电路图,急,大神帮帮忙。
可以发文件,2971991775@qq.com,
软件是ISIS7画电路,KeiluVision4写程序
要求显示0-99,间隔1s,
有开始 暂停 复位开关

#include<reg51.h>

#define uchar unsigned char
uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9
unsigned char sec=0,scanled;
unsigned char key,mode,time;
unsigned char disdat[2];
sbit keyqd=P1^0;
sbit keyzt=P1^1;
sbit keyql=P1^2;

void dischg()
{
disdat[0]=sec%10;
disdat[1]=sec/10;
}
void t0isr() interrupt 1 //秒计时
{
TH0=0x3c;
TL0=0xb0;
time++;
if(time==20)
{
time=0;
if(sec<99)sec++;
}
dischg();
}
void t1isr() interrupt 3 //显示
{
TH1=0xec;
TL1=0x78;
switch(scanled)
{
case 0:
P3=0x02;
P2=ledtab[disdat[1]];
break;
case 1:
P3=0x01;
P2=ledtab[disdat[0]];
break;
default:break;
}
scanled++;
scanled%=2;
}
main()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
TH1=0xec;
TL1=0x78;
TR1=1;
TR0=0;
ET0=1;
ET1=1;
EA=1;
scanled=0;
time=0;
mode=1;
dischg();
while(1)
{
if(keyqd==0)
{
while(keyqd==0);
TR0=1;
}
if(keyzt==0)
{
while(keyzt==0);
TR0=0;
}
if(keyql==0)
{
while(keyql==0);
sec=0;
}
dischg();
}
}

追问

好的,我去试试,好用就采纳

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-27

从功能上看比较简单。请问显示是用什么呢?数码管还是LCD?
有类似的,但没有完全相同的

第2个回答  2017-06-27
要求那么细,程序和电路一般需要定制开发,主要是单片机内部定时器的应用,查查资料自己动手可以的。

求用单片机设计一个秒表AT89C51
;汇编程序如下。;使用T0定时方式1,每隔50ms中断一次,用于修改时间及显示 ;使用外部中断0、1,用于控制启动和清零 ;=== ORG 0000H AJMP MAIN ORG 0003H AJMP X0_INT ORG 000BH AJMP T0_INT ORG 0013H AJMP X1_INT MAIN:MOV TMOD,#01H ;T0定时方式1 MOV TH0, #(65536-5000...

用单片机AT89C51制作电子秒表,需要用什么元器件。
元件:89c51,四位共阴极数码管,非自锁按键,10K电阻,10uf电解电容,30pf瓷片电容,10k排阻,晶振 留个邮箱,我把Proteus仿真图发给你,以下是程序,临时写的,Proteus测试正常,不知道符不符合你的要求,你可以自己再稍作修改。用的是12M晶振 include<reg51.h> define uchar unsigned char define uint...

急~!!用数码管显示60秒的秒表设计(单片机AT89C51)
;程序如下:;fosc = 11.0592MHz SP1 BIT P3.2 LED BIT P3.4 ;--- ORG 0000H SJMP START ORG 000BH MOV TH0, #4CH JNB F0, T0_END DJNZ R5, T0_END MOV R5, #20 INC R4 CJNE R4, #60, T0_E1 ;最大为59 MOV R4, #0 CLR LED T0_E1...

采用AT89C51单片机设计一只电子秒表,倒计时(60~1每间隔1秒倒数)?_百 ...
硬件电路 有2位数码管可以显示秒表的时间 0~10秒 有3个按键 K1为开始计时 K2为停止计时 K3为清零 软件设计:K1按下则启动定时器定时 每到1秒 显示器缓冲单元内容加1 K2按下则停止定时器定时 K3按下则将显示器缓冲单元内容清零。

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

AT89c51单片机程序控制两个数码管显示00-59秒表的程序要怎么编啊?
void main(void )\/\/主程序 { TMOD=0x01;\/\/ 定时器1工作方式一 ET0=1;EA=1;TH0=(65536-10000)\/256;\/\/定时10ms TL0=(65536-10000)%256;TR0=0;\/\/上电先不启动 while(1){ if(key1==0)\/\/判断按键是否按下 { Delay1ms(10);\/\/延时消抖 if(key1==0){ while(key1==0);\/\/等待...

AT89C51单片机用4位数码管做秒表,要求用动态扫描做,汇编语言
;汇编时钟程序。4位共阳管。P0口段码,P2.0~P2.3位码。显示毫秒和秒。三个按键一个控制时钟开始走,一个控制暂停和继续。。。一个按键清0 ;12M晶振 2011 04 20 调试完成 STRT EQU P3.2 STP EQU P3.3 CLRR EQU P3.5 ORG 00H SJMP MAIN ORG 0BH AJMP T0INT ORG 30H MAIN: MOV ...

用AT89C51单片机设计一只带显示的电子秒表,从0秒计到10秒。
硬件电路 有2位数码管可以显示秒表的时间 0~10秒 有3个按键 K1为开始计时 K2为停止计时 K3为清零 软件设计:K1按下则启动定时器定时 每到1秒 显示器缓冲单元内容加1 K2按下则停止定时器定时 K3按下则将显示器缓冲单元内容清零。呵呵 满意就选满意回答 ...

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

关于AT89C51单片机用proteus仿真的问题
首先,是protues,你拼错了哈 这个软件的仿真功能很强,但并不是完美的额。当仿真涉及到时间和显示的时候,就会表现得不准确。原因很多,在这里我不方便一一道来。因为你没有发程序出来,不知道是不是你的程序上有错 只能给你一个建议,涉及到时间的操作 仿真时不要看手表来对,要用软件自带的模拟...

相似回答