标题: STC89C52RC单片机设计精度0.01秒秒表有启动暂停清零 每到一秒蜂鸣器响 哪位大神会! [打印本页]

作者: akm666    时间: 2018-6-19 15:32
标题: STC89C52RC单片机设计精度0.01秒秒表有启动暂停清零 每到一秒蜂鸣器响 哪位大神会!
这是之前写的一个,不够完善,也没有蜂鸣器。 仅够参考



#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]; //个位显示处理

}

作者: zl2168    时间: 2018-6-19 15:32
本帖最后由 zl2168 于 2018-6-19 21:44 编辑

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

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,书中电路和程序设计有详细说明,电路与程序真实可靠可信可行,程序语句条条有注解。

作者: akm666    时间: 2018-6-22 19:48
zl2168 发表于 2018-6-19 15:32
实例93  99.9秒秒表,有启动、暂停、清零功能,自己去看!!!
先Proteus仿真一下,确认有效。
以上摘自 ...

谢谢   很有帮助





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1