找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1327|回复: 4
打印 上一主题 下一主题
收起左侧

单片机实现了60s循环计数,怎么实现60s后自动停止呢?

[复制链接]
跳转到指定楼层
楼主
ID:514203 发表于 2019-5-12 13:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实现了60s循环计数 怎么实现60s后自动停止呢

单片机源程序如下:

#include<reg51.h>
sbit s=P3^3;


unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char int_time;
unsigned char second;

void delay()
{
        unsigned char i;
        for(i=0;i<200;i++)
        ;
}

void DisplaySecond(unsigned char k)
{
        
        P2=0xf7;
        P1=Tab[k%10];
        delay();
        P2=0xfb;
        P1=Tab[k/10];
        delay();
        P1=0xff;
        
}

void main()
{
        TMOD=0x90;
        TL1=(65536-50000)/256;
        TH1=(65536-50000)%256;
        EA=1;
        ET1=1;
        TR1=1;
        EX1=1;
        IT1=1;
        int_time=0;
        second=0;
        
        if(s==0)
        {
while(1)
{

DisplaySecond(second);

        
}

}
        
}
void time1()interrupt 3 using 1
{
        TR1=0;
        int_time++;
        if(int_time==20)
        {
                int_time=0;
                second++;
                        if(second==10)
        
                second=0;
               
        }

TL1=(65536-50000)/256;
        TH1=(65536-50000)%256;
TR1=1;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:525872 发表于 2019-5-12 18:47 来自手机 | 只看该作者
关闭中断
回复

使用道具 举报

板凳
ID:388477 发表于 2019-5-12 20:14 | 只看该作者
普中的板子 138译码器,0-60秒自动停止,我自己修改的,你参考下


#include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;          //对数据类型进行声明定义
typedef unsigned char u8;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit beep=P1^5;
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值

u8 shu,t;
void delay(u16 i)
{
        while(i--);
}
/*******************************************************************************
* 函 数 名       : main
* 函数功能                 : 主函数
* 输    入       : 无
* 输    出             : 无
*******************************************************************************/
void init()
{
        TMOD=0x01;
        TH0=0x3c;
        TL0=0xb0;
        EA=1;
        ET0=1;
        TR0=1;       
}

void timer0() interrupt 1
{
        TH0=0x3c;
        TL0=0xb0;       
        t++;
                if(t==20)
                {
                t=0;
                TF0=0;
               
                shu++;
                if(shu==60)
                {
                        TR0=0;
                        TF0=0;
                }
                beep=~beep;
                delay(10);
                }
}
void display(u16 dis_shu)
{
        u8 dis_flag,dis_aa,dis_bb;
        u8 dis_data[2]={0,0};
        if(dis_shu>9)dis_flag=2;
        else dis_flag=1;

                for(dis_bb=0;dis_bb<dis_flag;dis_bb++)
                {
                        dis_data[dis_bb]=dis_shu%10;
                        dis_shu=dis_shu/10;
                               
                    }
               
                for(dis_aa=0;dis_aa<dis_flag;dis_aa++)
                {
                        switch(dis_aa)         //位选,选择点亮的数码管,
                        {
                                case(0):
                                LSA=0;LSB=0;LSC=0; break;//显示第0位
                                case(1):
                                LSA=1;LSB=0;LSC=0; break;//显示第1位
                       
                         }
                          P0=smgduan[dis_data[dis_aa]];
                                delay(10);
                                P0=0x00;
               
        }
}
void main()
{       
               
        init();
        shu=0;                //修改时间
        while(1)
        {

                display(shu);

        }                                  
}

评分

参与人数 1黑币 +4 收起 理由
刀刀见红 + 4 普中就是垃圾!

查看全部评分

回复

使用道具 举报

地板
ID:170318 发表于 2019-5-12 20:47 | 只看该作者
60S后关闭中断
回复

使用道具 举报

5#
ID:365566 发表于 2019-5-12 22:08 | 只看该作者
到了60秒你把定时器关了不就停止了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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