历史上的今天
返回首页

历史上的今天

今天是:2024年08月28日(星期三)

正在发生

2020年08月28日 | 单片机T0方式2实现简单时钟

2020-08-28 来源:51hei

单片机源程序如下:

//按4X4键盘的F键 进入设定状态

//E D 键是前后移动键

//C按键是调整数值按键

#include "reg52.h"

#define uchar unsigned char

sbit key_h=P1^0;

sbit key_m=P1^1;

sbit key_s=P1^2;

unsigned char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};  //段码表

unsigned int h,m,s,counter;


void delay1ms(unsigned int i)

{

unsigned char j;

while(i--)

{

         for(j=0;j<125;j++)          //1ms基准延时程序

         {

          ;

         }

}  

}

void Display_h(unsigned char x)

{           

        P2=0xfb;        //P2.6引脚输出低电平,DS6点亮

    P0=Tab[x/10];   //显示十位

            delay1ms(5);

         P2=0xff;


    P2=0xf7;      //P2.7引脚输出低电平,DS7点亮

    P0=Tab[x%10];  //显示个位

    delay1ms(5);

        P2=0xff;

}

void Display_m(unsigned char x)

{           

        P2=0xef;        //P2.6引脚输出低电平,DS6点亮

    P0=Tab[x/10];   //显示十位

            delay1ms(5);

         P2=0xff;


    P2=0xdf;      //P2.7引脚输出低电平,DS7点亮

    P0=Tab[x%10];  //显示个位

    delay1ms(5);

        P2=0xff;

}

  void Display_s(unsigned char x)

{           

        P2=0xbf;        //P2.6引脚输出低电平,DS6点亮

    P0=Tab[x/10];   //显示十位

            delay1ms(5);

         P2=0xff;


    P2=0x7f;      //P2.7引脚输出低电平,DS7点亮

    P0=Tab[x%10];  //显示个位

    delay1ms(5);

        P2=0xff;

}


/*********************初始化子程序**********************/

void init()

{

  TMOD=0x01;

  TH0=(65536-50000)/256;

  TL0=(65536-50000)%256;

  EA=1;

  ET0=1;

  TR0=1;

  counter=0;

  h=12;m=0;s=0;

}


/***************************按键调时间************************/

void TZ_h()

{

h++;

if(h>24)

{

         h=0;

}

while(key_h!=1);

TR0=1;

}

void TZ_m()

{

m++;

if(m>60)

{

         m=0;

}

while(key_m!=1);

TR0=1;

}

void TZ_s()

{

s++;

if(s>60)

{

         s=0;

}

while(key_s!=1);

TR0=1;

}


/***************************主程序************************/


void main(void)

{

  init();

  while(1)

  {

           Display_h(h);

        Display_m(m);

        Display_s(s);


        if(key_h==0)

        delay1ms(20);

        if(key_h==0)

        {

                TR0=0;        

                TZ_h();

        }

        if(key_m==0)

        delay1ms(20);

        if(key_m==0)

        {

                TR0=0;        

                TZ_m();

        }

        if(key_s==0)

        delay1ms(20);

        if(key_s==0)

        {

                TR0=0;        

                TZ_s();

        }

   }

}

/*************************定时器0的中断**********************/

void Time0() interrupt 1 using 2    //再次强调中断子程序执行时间越短越好

{

  TH0=(65536-50000)/256;

  TL0=(65536-50000)%256;

  counter++;

  if(counter==20)

  {

    s++;

    counter=0;

          if(s==60)

          {

            m++;

            s=0;

              if(m==60)

              {

               h++;

               m=0;

               if(h==24)

                h=0;

               }

           }

  }

}


推荐阅读

史海拾趣

ETA-USA公司的发展小趣事

随着业务的发展和市场的扩大,ETA-USA开始在全球范围内布局。公司先后在中国、欧洲等地设立了分公司或办事处,以更好地服务当地客户。这一全球扩张策略不仅增强了公司的市场竞争力,也为其带来了更多的商业机会和合作伙伴。

Anvo-Systems公司的发展小趣事

Anvo-Systems在发展过程中始终注重企业文化建设和社会责任履行。公司倡导创新、协作、诚信的企业精神,为员工创造了一个积极向上的工作环境。同时,Anvo-Systems还积极参与社会公益活动,关注环保和可持续发展等问题。通过这些举措,Anvo-Systems不仅提升了企业的社会形象,也为社会的和谐发展做出了积极贡献。


请注意,以上故事纯属虚构,不代表现实中任何公司或行业的真实情况。在实际应用中,应根据具体公司的历史和发展情况进行调整和完善。

Hi-G Relays公司的发展小趣事

近年来,电子行业面临着诸多变革和挑战。面对这些变化,Anvo-Systems及时调整了发展战略。公司加大了对物联网、人工智能等前沿技术的研发投入,积极探索新的业务模式和市场机会。同时,Anvo-Systems还加强了与供应链合作伙伴的沟通与协作,以确保公司能够灵活应对市场变化。这些战略调整使得Anvo-Systems在行业中保持了领先地位。

Deltron / DEM Manufacturing公司的发展小趣事

DEM Manufacturing一直注重技术创新和产品升级。在合并后的几年里,公司投入大量资源用于研发,推出了一系列具有创新性的电子产品。这些产品不仅满足了市场的多样化需求,还为公司赢得了良好的口碑和广泛的客户基础。

百蓉(ECE)公司的发展小趣事

百蓉公司不满足于仅在国内市场发展,开始积极拓展国际市场。他们参加了多个国际电子展览,与多家国际知名企业建立了合作关系。通过深入了解不同国家和地区的市场需求,百蓉针对性地推出了符合当地消费者需求的产品,逐渐在国际市场上占据了一席之地。

Components Corporation公司的发展小趣事

在电子行业的激烈竞争中,百蓉(ECE)公司应运而生。创立初期,公司仅有几个热爱电子技术的年轻人,他们在一个小小的办公室里,凭借对电子技术的深厚兴趣和专业知识,开始研发新产品。那个时代,智能手机刚刚开始兴起,他们敏锐地捕捉到了触摸屏技术的巨大市场潜力。于是,他们投入大量时间和精力,研发出了一款高性能、低成本的触摸屏控制器,这一创新产品迅速在市场上获得了成功,为百蓉公司的发展奠定了坚实的基础。

问答坊 | AI 解惑

浙大C语言视频教程

这是浙大C语言视频教程,讲的不错 另外那 CSF 阅读器 要一起下载,把他安装在电脑上就可以看了 [ 本帖最后由 hltao87 于 2008-12-20 08:32 编辑 ]…

查看全部问答>

一个快乐的保安,真让人羡慕

和同事拜访客户,约的是下午2点,但1点45就到了,于是在大堂里逡巡一小会儿。         一个高高、瘦瘦的保安踱了过来,确认了我们不是搞破坏的。这时,同事不由抬了下靴子,跟我抱怨脚裸处太紧。这时保安很高兴地凑 ...…

查看全部问答>

翻译:S3C6410中一句极为重要的内容

The first register setting for frame capture command can occur in any part of frame period. It is recommend to do first setting at the VSYNC “L” state. VSYNC information can be read from status SFR. Refer to the below Figure 2 ...…

查看全部问答>

evc下string和CString型变量如何转换

evc下string和CString型变量如何转换…

查看全部问答>

高通MSM5100芯片编程

请问各位大虾,有谁知道高通MSM5100芯片用什么语言编程么?老板要用这个芯片,可是我手上一点资料都没有,哪位网友能提供一些帮助,在下感激不尽!…

查看全部问答>

怎么设置EVC4模拟器的IP地址?

我安装后默认的是127开头的,运行程序时出现TIMEOUT。能不能修改那里面的的IP地址?谢谢!!!!…

查看全部问答>

单片机液晶显示

在单片机系统中,采用液晶显示模块与数码管作为显示电路,在程序设计上有哪些异同?…

查看全部问答>

STM8S的TIM3的疑问

刚接触ST的片子,,,通用定时器TIM2、3、5,作普通定时时:外部晶振4M,在定时器初始化中,设置TIM3的分频值为8192,然后启动计数,发现从启动至第一次中断这段时间分频值是无效的,中断开始生效……查阅手册知:新的预分频值在下一个周期时 ...…

查看全部问答>

基于MSP430自动浇花系统的毕业设计,求助啊

有哪位大神有基于MSP430的自动浇花系统的毕业设计参考下咯…

查看全部问答>

ADI实验电路中的经典电路---传感器电流输入电路

ADI实验电路中,有一些比较经典的电路,现发上来和大伙分享 测试传感器的电流输出电路:(此电路在CN-145中) …

查看全部问答>