历史上的今天
返回首页

历史上的今天

今天是:2025年01月05日(星期日)

正在发生

2021年01月05日 | 基于51单片机的数字时钟

2021-01-05 来源:51hei

#include

#define uchar unsigned char

#define uint unsigned int


sbit qingling=P1^0;       

sbit tiaofen=P1^1;               

sbit tiaoshi=P1^2;       

sbit sounder=P1^3;               


uint a,b;

uchar hour,minu,sec,   

      hour0,minu0,sec0,

          hour1,minu1,sec1;

          h1,h2,m1,m2,s1,s2,

          k,s;

          

uchar code select[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

uchar code table[]=        {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};


void keyscan();

void init();

void delay(int z);

void display(uchar,uchar,uchar);

void sounde();


         

void main()

{

        init();

        while(1)

        {                                 

                while(TR1)

                {

               

                        keyscan();                       

                        while(s==1)                               

                        {                                                                         

                                keyscan();                                                  

                                display(hour1,minu1,sec1);

                        }

                         display(hour0,minu0,sec0);               

                       

                        while(k)       

                        {

                                 display(hour,minu,sec);       

                        }

                    

                }

        }


}



void init()

{

        a=0;

        b=0;

        k=0;

        s=0;

        hour0=0;

        minu0=0;

        sec0=0;

        hour=0;

        minu=0;

        sec=0;

        hour1=0;

        minu1=0;

        sec1=0;


        TMOD=0x11;                                 

        TH0=(65536-5000)/256;

        TL0=(65536-5000)%256;

        TH1=(65536-50000)/256;

        TL1=(65536-50000)%256;

       

        EA=1;

        EX0=1;                 

        EX1=1;               

        ET0=1;

        ET1=1;

        IT0=1;                 

        IT1=1;


        PX0=1;

        PX1=1;

       

        TR0=0;                         

        TR1=1;                 

}



void timer0_int() interrupt 1       

{

        TH0=(65536-5000)/256;

        TL0=(65536-5000)%256;

        a++;

        if(a==2)

        {

                a=0;

                sec++;

                if(sec==100)

                        {

                                sec=0;               

                                minu++;

                                if(minu==60)

                                {

                                        minu=0;                       

                                        hour++;

                                        if(hour==60)         

                                        {

                                                hour=0;

                                        }

                                }

                        }

        }

       

}



void ex0_int() interrupt 0

{               

        k++;

        if(k==3)

        k=0;

        if(k==1)

        {

                TR0=~TR0;

                if(TR0==1)

                {                         

                        hour=0;

                        minu=0;

                        sec=0;               

                }

        }

        if(k==2)

        {

                TR0=~TR0;

        }         

}



void ex1_int() interrupt 2

{

        s++;

        if(s==3)

        s=0;

}



void timer1_int() interrupt 3                 

{

        TH1=(65536-50000)/256;

        TL1=(65536-50000)%256;

        if(s==2)

        {

                if(hour1==hour0 && minu0==minu1)

                sounde();

        }

        b++;

        if(b==20)

        {

                b=0;

                sec0++;

         if(sec0==60)

           {  

              sec0=0;

                minu0++;

              if(minu0==60)

               {

                   minu0=0;

                   hour0++;

                   if(hour0==24)

                         hour0=0;

                        

               }

推荐阅读

史海拾趣

ACE [ACE Technology Co., Ltd.]公司的发展小趣事

由于ACE Technology Co., Ltd. 公司的发展故事涉及具体的事件和详细经过,而这些信息可能并不公开或详细记录,因此我无法为您直接提供5个具体的电子行业里ACE公司的发展故事。但我可以基于已知的信息,为您概述ACE公司的一些可能的发展历程和关键点,这些可以作为您编写故事的参考。

  1. 创业初期与核心技术积累

ACE Technology Co., Ltd. 成立于2001年,早期便专注于电源管理IC和内存类IC的研发。公司的创始团队拥有深厚的电子行业经验和技术背景,他们看到了电源管理和内存技术的巨大市场潜力,并决定将其作为公司的核心竞争力。在公司成立初期,ACE投入大量资源进行技术研发,逐步积累了宝贵的技术专利和知识产权。

  1. 全球化布局与研发中心建设

随着公司业务的不断扩展,ACE意识到全球化布局的重要性。于是,公司决定在美国硅谷设立研发中心,利用当地的人才和技术优势,进一步提升IC设计水平。同时,为了降低研发成本并更好地服务亚洲市场,ACE还在印度建立了另一个研发中心。这些研发中心的建立,为公司的技术创新和产品升级提供了有力支持。

  1. 市场拓展与合作伙伴关系建立

在产品研发的同时,ACE也注重市场拓展。公司积极参加各种行业展会和交流活动,与国内外众多客户建立了合作关系。特别是在中国市场,ACE与深圳市欣诺泰电子有限公司等代理商建立了长期稳定的合作关系,通过他们的渠道将产品推广至本土工程师和厂商。这些合作伙伴关系的建立,为公司的业务发展奠定了坚实基础。

  1. 产品升级与品牌塑造

随着技术的不断进步和市场需求的变化,ACE不断对产品进行升级和优化。公司注重产品性能和稳定性的提升,同时关注客户反馈和市场需求,不断优化产品设计。此外,ACE还加强了品牌塑造工作,通过提升品牌形象和知名度,进一步增强了公司在行业内的竞争力。

  1. 应对挑战与未来发展规划

在电子行业的激烈竞争中,ACE也面临着诸多挑战。为了应对这些挑战,公司加强了内部管理,提升了运营效率。同时,ACE还制定了未来发展规划,包括进一步拓展国际市场、加强技术创新和研发投入、优化产品线等。这些举措将有助于公司在未来继续保持竞争优势并实现可持续发展。

以上是基于已知信息对ACE公司可能的发展历程和关键点的概述。如果需要更具体的发展故事,建议查阅公司官方网站、行业报告或相关新闻报道以获取更多详细信息。

Data Translation Inc公司的发展小趣事

Data Translation在追求企业发展的同时,也积极履行社会责任和推动可持续发展。公司关注环境保护和员工福利等方面的问题,通过采用环保材料、节能减排等措施降低生产过程中的环境污染和能源消耗;通过提高员工福利待遇、加强员工培训等方式提升员工的工作满意度和忠诚度。这些举措不仅为公司赢得了良好的社会声誉和形象,也为公司的长期发展奠定了坚实的基础。

请注意,以上故事仅为概述框架,并未详细展开每个故事的具体情节和细节。在实际编写时,你可以根据Data Translation Inc公司的具体发展历程和业务特点进行进一步的补充和完善。

Gold Peak Group公司的发展小趣事
确保所有元件的接线正确无误,避免出现接错线或短路的情况。
AMD(超微)公司的发展小趣事
控制电路的布局应合理,避免元件之间的电磁干扰和机械碰撞。
GE Solid State公司的发展小趣事
通过声音信号来反映曝光量,使得用户可以通过听觉直观地感知光线的强弱。
APLUS Products公司的发展小趣事

APLUS Products公司始终重视品牌建设和文化传播。公司不仅注重产品的质量和性能,还积极参与各类行业展会和公益活动,提升品牌知名度和美誉度。同时,公司还通过社交媒体等渠道与消费者进行互动,传递公司的价值观和企业文化。这些举措不仅增强了消费者对品牌的认同感和忠诚度,也为公司的长期发展奠定了坚实的基础。


这些故事虽然是根据一般情况构建的,但它们反映了企业在发展过程中可能遇到的挑战和机遇,以及如何通过技术创新、市场布局、合作共赢、品牌建设和文化传播等手段来实现企业的发展目标。希望这些故事能够为您提供一些启示和参考。如果您需要更具体的信息,建议您查阅APLUS Products公司的官方网站或相关新闻报道。

问答坊 | AI 解惑

调试伺服系统心得2

    今天特意留意下机台配电电盘的硬件构造,终于弄清隔离地与模拟地的差异。而且在工控产品好多会涉及到隔离地的问题。我前天看了电路原理图,也问了我部门老大,但是我没太在意。在测试前准备工作中,我因隔离地问题,将一块USB转 ...…

查看全部问答>

没搞明白,取补是如何实现双字节减法的

(PIC18F248) NEG_A                                        ;ACCA取补子程序       &nbs ...…

查看全部问答>

散分~wince开机启动速度提高了

散分~系统启动速度提高一半了~俺用的是EP9315,64m的ram加32m的flash~,原来启动大概11秒,现在最多5秒~原因未明,待查找呵呵,心情不错,特来散分~…

查看全部问答>

ARM+VXWORKS开发

我刚开始上班,好多东西都不懂,经理把板子给我了.让我自己弄. 问其他同事,他们都说忙,好郁闷呀! 主机,ARM9开发板,ADS1.2集成开发环境,JTAG仿真器.都有了. 我下一步该做什么. 如果直接用Tornado 2.2 for pcPentium,然后和目标机这样连接可以吗? ...…

查看全部问答>

STR730的疑惑

近来用STR730搞个项目发觉EIC算中断程序地址这样算   0XF3E0+0X00000040+8+0XFFFFFC18  = 0x0000f040事实上跳到0X80000040处,高16位就不说了,固定的,低16位就搞不懂了,多了个0XF000即0XF3E0表示的偏移量是0 ...…

查看全部问答>

请问自定义数组到底放到程序page0,还是1中,再问这句话,是否说:变量溢出

error: can\\\'t allocate .text (sz: 00002cc0 page: 0) in PRAMH0 (avail:             00000ffe) 我应该怎么修改,谢谢…

查看全部问答>

谁来支援我一下...SDIO和RTC的中断套嵌该怎么处理?

RT.现在在做一个小模块.RTC生成时间作为日志的一部分保存在SD卡上.可是...中断好像冲突了.不能1s生成一个文件.1s中断不执行..咋办呢 具体如下: 主函数中 void InterruptConfig(void) {   /* Deinitializes the NVIC */  &nb ...…

查看全部问答>

msp430与PC机远程通信

我用msp430f149与PC机进行远程通信,用max487转换为485接口,单片机发送到PC机的数据,PC机能正确收到,但PC机发送到单片机的数据,单片机收不到,哪位大侠知道为什么?帮帮忙,我着急啊!…

查看全部问答>

无线供电

高手帮助指导LC振荡电路LC振荡电路本身很简单,通电可工作,并可点亮一个LED,不知道怎么提升功率.BD336E中功三极管率,电压12V,电流50MA左右,线圈用.38mm,10T,50T,50T,线圈直径50mm,想点亮十六个LED,并接,电压5V,电流100MA左右, [ 本帖最后由 a37113 ...…

查看全部问答>

就业问题

2013年趋势分析:智能电视还能变啥样? 2012-11-14 13:05:52   来源:中国家电在线        从黑白到彩色,从模拟到数字,从平面到2D再到3D,从“看电视”到“用电视”再到“玩电视”……日新月异的电视技术 ...…

查看全部问答>