找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3495|回复: 2
收起左侧

STC89C52RC单片机设计精度0.01秒秒表有启动暂停清零 每到一秒蜂鸣器响 哪位大神会!

[复制链接]
ID:351979 发表于 2018-6-19 15:32 | 显示全部楼层 |阅读模式
40黑币
这是之前写的一个,不够完善,也没有蜂鸣器。 仅够参考



#include <reg52.h>

code unsigned char tab[]=

   {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

   //共阳数码管 0-9

unsigned char Dis_Shiwei;//定义十位

unsigned char Dis_Gewei; //定义个位

unsigned char S_Dis_Shiwei;//定义秒十位

unsigned char S_Dis_Gewei; //定义秒个位

unsigned char second,msecond;

void CLR(void);

void delay(unsigned int cnt)

{

while(--cnt);

}

main()

{

EX0=1;//外部中断0设置

IT0=1;

EX1=1;//外部中断1设置

IT1=1;

TMOD |=0x01;//定时器设置 10ms in 12M crystal

TH0=0xd8;

TL0=0xf0;

ET0=1;  //打开中断

TR0=0;

EA=1;

CLR();

while(1)

  {

  P0=S_Dis_Shiwei;//显示秒十位

  P2=0xEF;

  delay(300);//短暂延时

  P0=S_Dis_Gewei; //显示秒个位

  P2=0xF7;

  delay(300);

  P0=0xBF; //显示秒个位

  P2=0xFB;

  delay(300);

  P0=Dis_Shiwei;//显示十位

  P2=0xFD;

  delay(300);//短暂延时

  P0=Dis_Gewei; //显示个位

  P2=0xFE;

  delay(300);

  }

}

/********************************/

/*      定时中断                */

/********************************/

void tim(void) interrupt 1 using 1

{

TH0=0xd8;//重新赋值

TL0=0xf0;

msecond++;

if (msecond==100)

    {

    msecond=0;

    second++;//秒加1

if(second==100)

    second=0;

S_Dis_Shiwei=tab[second/10];//十位显示值处理

    S_Dis_Gewei=tab[second%10]; //个位显示处理

        }

    Dis_Shiwei=tab[msecond/10];//十位显示值处理

    Dis_Gewei=tab[msecond%10]; //个位显示处理

}

void ISR_INT0(void) interrupt 0 using 1

{

TR0=!TR0; //利用外部中断打开和关闭定时器0 用于开始和停止计时

}

void ISR_INT1(void) interrupt 2 using 1

{

if(TR0==0)//停止时才可以清零

   CLR();

}

void CLR(void)

{

second=0; //利用外部中断清零

msecond=0;

Dis_Shiwei=tab[msecond/10];//十位显示值处理

Dis_Gewei=tab[msecond%10]; //个位显示处理

S_Dis_Shiwei=tab[second/10];//十位显示值处理

S_Dis_Gewei=tab[second%10]; //个位显示处理

}

最佳答案

查看完整内容

实例93 99.9秒秒表,有启动、暂停、清零功能,自己去看!!! 先Proteus仿真一下,确认有效。 以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,书中电路和程序设计有详细说明,电路与程序真实可靠可信可行,程序语句条条有注解。
回复

使用道具 举报

ID:111634 发表于 2018-6-19 15:32 | 显示全部楼层
本帖最后由 zl2168 于 2018-6-19 21:44 编辑

实例93  99.9秒秒表,有启动、暂停、清零功能,自己去看!!!
Proteus仿真一下,确认有效。
实例95 99.9秒秒表.rar (38.86 KB, 下载次数: 43)

评分

参与人数 1黑币 +3 收起 理由
zsyzdx + 3 很给力!

查看全部评分

回复

使用道具 举报

ID:351979 发表于 2018-6-22 19:48 | 显示全部楼层
zl2168 发表于 2018-6-19 15:32
实例93  99.9秒秒表,有启动、暂停、清零功能,自己去看!!!
先Proteus仿真一下,确认有效。
以上摘自 ...

谢谢   很有帮助
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表