历史上的今天
返回首页

历史上的今天

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

正在发生

2020年01月19日 | 4位数码管流水灯时钟程序

2020-01-19 来源:51hei

根据数码管和流水灯显示时间,温度等。流水灯有多种样式。
wx_camera_1579358691429.jpg?imageView2/2/w/550

单片机源程序如下:

#include "STC15F2K.h"

#include "intrins.h"

#include


#define uchar unsigned char 

#define uint unsigned int


sfr ADC_LOW2    =   0xBE;           //ADC低2位结果


#define ADC_POWER   0x80            //ADC电源控制位

#define ADC_FLAG    0x10            //ADC完成标志

#define ADC_START   0x08            //ADC起始控制位

#define ADC_SPEEDLL 0x00            //540个时钟

#define ADC_SPEEDL  0x20            //360个时钟

#define ADC_SPEEDH  0x40            //180个时钟

#define ADC_SPEEDHH 0x60            //90个时钟


sbit S1=P3^3;

sbit S2=P3^4;

sbit S3=P3^5;

sbit S4=P3^6;

sbit S5=P3^7;

sbit S6=P1^2;

sbit S7=P1^3;

sbit S8=P1^4;

sbit S9=P1^5;

sbit S10=P1^6;

sbit S11=P1^7;

sbit S12=P5^4;


sbit bell=P3^0;


sbit set=P1^0;

sbit jia=P1^1;


uchar dat1[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0X80,0X90,0xff,0xc6};

uchar dat2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0X00,0X10,0xff};//有小数点


uchar dat3[9]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};//

uchar dat4[9]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};// 

uchar t_led0[8]={0};   

uchar t_led1[8]={0}; 

uchar table[4]={1,2,3,4};

uchar xg=0;

char t=0;

int t1;

char ps=0;

char flag=1;

int sudu1=0,sudu2=0;


unsigned int temp[2];

int ld;

extern void init_ds1302_io();

extern void init_ds1302();

extern void read_time();

extern void write_time();

extern void read_nao();


extern uchar miao;

extern uchar fen;

extern uchar shi;


extern uchar nfen;

extern uchar nshi;


void Delayms(uint t)

{

        uchar i;

        while(t--)

           for(i=0;i<100;i++);

}


void display()

{

        S12=0;S1=1;

        P2=dat1[table[0]];

        Delayms(2);        


        S1=0;S2=1;

        if(flag==0)P2=dat2[table[1]];

        if(flag==1)P2=dat1[table[1]];

        Delayms(2);

        

        S2=0;S3=1;

        P2=dat1[table[2]];        

        Delayms(2);

        

        S3=0;S4=1;

        P2=dat1[table[3]];

        Delayms(2);        

//////////////////////////////////////////////////////

        P2=0xff;

        S4=0;S5=1;

        P2=dat3[t_led0[0]]&dat4[t_led1[0]];

        Delayms(2);                


        P2=0xff;

        S5=0;S6=1;

        P2=dat3[t_led0[1]]&dat4[t_led1[1]];

        Delayms(2);                


        P2=0xff;

        S6=0;S7=1;

        P2=dat3[t_led0[2]]&dat4[t_led1[2]];

        Delayms(2);                


        P2=0xff;

        S7=0;S8=1;

        P2=dat3[t_led0[3]]&dat4[t_led1[3]];

        Delayms(2);                


        P2=0xff;

        S8=0;S9=1;

        P2=dat3[t_led0[4]]&dat4[t_led1[4]];

        Delayms(2);                


        P2=0xff;

        S9=0;S10=1;

        P2=dat3[t_led0[5]]&dat4[t_led1[5]];

        Delayms(2);        


        P2=0xff;

        S10=0;S11=1;

        P2=dat3[t_led0[6]]&dat4[t_led1[6]];

        Delayms(2);        


        P2=0xff;

        S11=0;S12=1;

        P2=dat3[t_led0[7]]&dat4[t_led1[7]];

        Delayms(2);        


        S1=S2=S3=S4=S5=S6=S7=S8=S9=S10=S11=S12=1;

        P2=0xff;

        S1=S2=S3=S4=S5=S6=S7=S8=S9=S10=S11=S12=0;

        Delayms(2);                                                        

}


void init()

{

    TMOD= 0x01;                                   

    TL0 = (65536-20000)/256;        //设置定时初值

    TH0 = (65536-20000)%256;        //设置定时初值

    ET0 = 1;

    TR0 = 1;

    EA = 1;

}

char menu=0;

bit nf=0;

bit gk=0;

void key()

{

        uchar i;

        if(jia==0 && menu==0)

        {

                while(jia==0);

                xg++;

                nf=0;

                if(xg==2){dat4[0]=0XFF;dat4[1]=0XFF;dat4[2]=0XFF;dat4[3]=0XFF;dat4[4]=0XFF;dat4[5]=0XFF;dat4[6]=0XFF;dat4[7]=0XFF;dat4[8]=0XFF;}

                if(xg==3){dat3[0]=0xFE;dat3[1]=0xFC;dat3[2]=0xF8;dat3[3]=0xF0;dat3[4]=0xE0;dat3[5]=0xC0;dat3[6]=0x80;dat3[7]=0x00;dat3[8]=0xFF;}

                 

                if(xg==5)

                {

                        sudu1=0;sudu2=0;

                        for(i=0;i<9;i++)

                        {

                                //dat3[i]=0XFF;

                                dat4[i]=0XFE;        

                        }

                        dat3[0]=0X01;dat3[1]=0X03;dat3[2]=0X07;dat3[3]=0X0F;dat3[4]=0X1F;dat3[5]=0X3F;dat3[6]=0X7F;dat3[7]=0XFF;dat3[8]=0x00;

                }

                if(xg==6)

                {

                        sudu1=0;sudu2=0;        

                        for(i=0;i<9;i++)

                        {

                                dat3[i]=0XFF;

                                dat4[i]=0XFC;        

                        }

                        for(i=0;i<8;i++){t_led0[i]=8;}

                        for(i=0;i<8;i++){t_led1[i]=0;}

                }

                if(xg==7)

                {

                        sudu1=0;sudu2=0;

                        for(i=0;i<9;i++)

                        {

                                dat3[i]=0XFF;

                                dat4[i]=0XFF;        

                        }

                        for(i=0;i<8;i++){t_led0[i]=i;}

                        for(i=0;i<8;i++){t_led1[i]=i;}

                }

                if(xg==8)

                {

                        sudu1=0;sudu2=0;

                        for(i=0;i<9;i++)

                        {

                                dat3[i]=0XFF;

                                dat4[i]=0XFF;        

                        }

推荐阅读

史海拾趣

Alpha-Micro Electronics公司的发展小趣事

Alpha-Micro Electronics是一家提供嵌入式系统解决方案的公司,专注于设计和制造微控制器、传感器和其他嵌入式设备。以下是关于Alpha-Micro Electronics公司发展的五个相关故事:

  1. 公司成立:Alpha-Micro Electronics公司成立于1982年,总部位于德国斯图加特。公司的创始人是一群电子工程师,他们致力于为各种应用领域提供高性能的嵌入式系统解决方案。

  2. 技术创新:在公司创立之初,Alpha-Micro Electronics就开始致力于技术创新。他们不断投资于研发,推出了一系列先进的微控制器和传感器产品,以满足客户对功能强大和性能稳定的需求。

  3. 解决方案定制:Alpha-Micro Electronics公司注重与客户的紧密合作,提供定制化的解决方案。他们的工程团队具有丰富的经验和专业知识,能够根据客户的具体要求设计和制造符合其需求的嵌入式系统。

  4. 国际扩展:随着业务的不断发展,Alpha-Micro Electronics逐渐拓展了国际市场。除了在德国的总部和研发中心外,公司还在全球范围内建立了销售和服务网络,包括在美国、亚洲和欧洲的分支机构和合作伙伴。

  5. 行业合作与创新:Alpha-Micro Electronics公司积极参与行业合作和创新项目,与其他企业、研究机构和学术界合作,共同推动嵌入式技术的发展。通过与行业领先者合作,公司不断探索新的技术和应用领域,为客户提供更具竞争力的解决方案。

这些故事展示了Alpha-Micro Electronics公司在技术创新、解决方案定制、国际扩展和行业合作方面的发展历程,以及其在电子行业中的重要地位和影响力。

Hirel Systems Ltd公司的发展小趣事

对于四通道红外遥控器接收器电路,网友可能提出的问题涉及多个方面,以下是一些可能的问题及回答:

一、技术原理类问题

  1. 问题:四通道红外遥控器接收器电路是如何工作的?
    回答:四通道红外遥控器接收器电路主要通过光电二极管接收遥控器发射的红外信号,经过放大、解码等处理,最终识别出不同的按键指令,并控制相应的设备执行操作。具体来说,当遥控器发射出特定频率的红外光信号时,光电二极管将光信号转换为电信号,经过放大电路放大后,送入解码器进行解码,解码器根据解码结果输出相应的控制信号,控制设备执行相应的操作。

  2. 问题:接收器电路中的关键元件有哪些?
    回答:接收器电路中的关键元件包括光电二极管(用于接收红外光信号)、放大器(用于放大微弱的电信号)、解码器(用于解码信号并输出控制信号)以及可能的滤波电路(用于滤除噪声干扰)等。这些元件共同协作,实现红外信号的接收和处理。

二、故障排查与维修类问题

  1. 问题:接收器无法接收到信号,可能的原因有哪些?
    回答:接收器无法接收到信号的可能原因包括:

    • 光电二极管损坏或老化,导致无法有效接收红外光信号。
    • 接收器电路中的连接线松动或接触不良,导致信号传输中断。
    • 放大器或解码器故障,无法对接收到的信号进行正常放大或解码。
    • 接收器受到外界干扰(如光线、电磁干扰等),影响信号的接收和处理。

    针对以上问题,可以逐一检查光电二极管、连接线、放大器、解码器等元件的状态,并采取相应的维修或更换措施。同时,注意避免将接收器放置在易受干扰的环境中。

  2. 问题:如何排查和解决接收器响应延迟或误动作的问题?
    回答:排查和解决接收器响应延迟或误动作的问题可以从以下几个方面入手:

    • 检查遥控器发射的红外信号是否正常,包括信号的频率、强度等是否符合接收器的要求。
    • 检查接收器电路中的滤波电路是否设置得当,以避免噪声干扰导致误动作。
    • 检查解码器的解码逻辑是否正确,以确保能够准确识别出遥控器发射的指令。
    • 如果以上均正常,可以考虑检查接收器的电源系统是否稳定,以及是否有其他电路元件故障导致的影响。

    针对具体问题,可以采取相应的调整或维修措施来解决。

三、应用与拓展类问题

  1. 问题:四通道红外遥控器接收器电路可以应用于哪些场景?
    回答:四通道红外遥控器接收器电路可以广泛应用于各种需要遥控控制的设备中,如智能家居系统(如电视、空调、灯光等的遥控控制)、工业自动化控制(如电机、阀门等的远程控制)、安防监控系统(如摄像头、报警器的遥控操作)等。通过扩展通道数量和增加控制逻辑,还可以实现更复杂的控制功能。

  2. 问题:如何对四通道红外遥控器接收器电路进行升级或改造?
    回答:对四通道红外遥控器接收器电路进行升级或改造时,可以考虑以下几个方面:

    • 升级光电二极管或放大器等关键元件的性能,以提高接收灵敏度和信号处理能力。
    • 增加滤波电路或改进解码算法,以减少噪声干扰和提高解码准确性。
    • 扩展通道数量或增加控制逻辑,以实现更复杂的控制功能。
    • 引入无线通信模块(如Wi-Fi、蓝牙等),将红外遥控与无线控制相结合,提高控制的灵活性和便捷性。

    在进行升级或改造时,需要根据具体的应用需求和技术条件进行选择和设计。

Hamlin ( Littelfuse )公司的发展小趣事

故事一:市场定位与技术创新

HAHN - Elektrobau GmbH & Co KG公司自成立以来,便在电子行业中找到了自己的独特定位,专注于生产面向特定应用的特种变压器线圈。起初,公司通过深入研究市场需求,发现传统变压器线圈在特定应用中存在效率低下、体积过大等问题。于是,HAHN投入大量资源进行技术研发,优化产品设计,成功开发出了一系列高效、紧凑的特种变压器线圈,迅速赢得了市场的认可。这一举措不仅巩固了公司在电子行业中的地位,也为后续的发展奠定了坚实的基础。

故事二:合作与共赢

在发展过程中,HAHN深知合作的重要性。公司积极与上下游企业建立紧密的合作关系,共同推动技术进步和产业升级。例如,HAHN与多家知名电子制造商建立了长期合作关系,共同开发新产品,优化生产工艺。通过这些合作,HAHN不仅获得了宝贵的市场信息和技术支持,还成功地将自身产品打入了更广阔的市场领域。同时,公司还积极与供应商和分包商合作,通过优化供应链管理,降低了生产成本,提高了生产效率,实现了共赢发展。

故事三:全球化战略

随着电子行业的全球化趋势日益明显,HAHN也开始了自己的全球化战略。公司不仅在欧洲市场取得了显著成绩,还积极向亚洲、北美等市场扩张。为了更好地服务全球客户,HAHN在多个国家和地区设立了分支机构,并建立了完善的销售和服务网络。通过这些举措,HAHN成功地将自己的产品和服务推向了全球市场,进一步提升了品牌知名度和市场份额。

故事四:品质与服务的双重保障

在电子行业中,品质和服务是企业生存和发展的关键。HAHN深知这一点,因此始终将品质和服务放在首位。公司建立了严格的质量控制体系,对每一个环节都进行严格的把关,确保产品质量达到最高标准。同时,公司还注重提升客户服务水平,建立了专业的客户服务团队,为客户提供全方位、个性化的服务。这些举措不仅赢得了客户的信赖和好评,也为公司赢得了更多的业务机会。

故事五:持续研发与创新

面对日新月异的电子行业技术,HAHN始终保持着高度的敏锐性和前瞻性。公司不断加大研发投入,引进高端人才和先进设备,致力于新技术、新产品的开发。通过持续的研发和创新,HAHN不断推出具有自主知识产权的新产品和技术方案,为电子行业的发展注入了新的活力。同时,公司还积极参与行业标准的制定和修订工作,推动行业技术进步和产业升级。这些努力不仅提升了公司的核心竞争力,也为公司的可持续发展奠定了坚实的基础。

HALO Electronics公司的发展小趣事

鸿展光电(GPO)公司的发展故事

故事一:初创与定位

深圳市鸿展光电有限公司(GPO)成立于2009年6月12日,起初便定位于高端显示技术的研发与生产。公司创始人凭借对电子行业未来趋势的敏锐洞察,决定专注于玻璃盖板(CG)、外挂式液晶显示模组(LCM)、外挂式触控模组(TP)等产品的研发与生产。在成立初期,面对激烈的市场竞争,鸿展光电凭借高质量的产品和优质的服务,逐步在行业内站稳脚跟。随着技术团队的不断壮大和产品的持续优化,公司迅速成长为一家集研发、生产、销售于一体的国家级高新技术企业。

故事二:技术突破与创新

在发展过程中,鸿展光电始终将技术创新视为企业发展的核心动力。公司不断加大研发投入,积极引进国内外先进技术和设备,致力于提升产品的技术含量和附加值。特别是在内嵌式触控显示一体化模组(INCELL、ONCELL)以及新一代触控显示模组(MiniLED、MicroLED、AMOLED)等领域,鸿展光电取得了多项关键性技术突破,并成功将这些技术应用于实际生产中,进一步巩固了公司在行业内的领先地位。

故事三:市场拓展与品牌建设

随着产品线的不断丰富和技术实力的不断提升,鸿展光电开始积极拓展国内外市场。公司通过参加各类行业展会、举办技术交流会等方式,不断提升品牌知名度和影响力。同时,鸿展光电还积极与国内外知名企业建立合作关系,共同开发新产品、新技术,实现互利共赢。这些举措不仅为公司带来了更多的商业机会,也进一步提升了公司的市场地位和品牌价值。

故事四:产能扩大与效率提升

为了满足日益增长的市场需求,鸿展光电在扩大产能方面进行了不懈努力。公司通过优化生产流程、引进先进生产设备、提升员工技能水平等措施,不断提升生产效率和产品质量。同时,公司还加强了供应链管理,确保原材料的稳定供应和成品的及时交付。这些举措不仅有效提升了公司的产能和竞争力,也为公司的长期发展奠定了坚实基础。

故事五:社会责任与可持续发展

在追求经济效益的同时,鸿展光电也积极履行社会责任,推动企业的可持续发展。公司注重环境保护和节能减排工作,通过采用环保材料和节能技术、加强废水废气处理等措施,降低生产过程中的环境污染和资源消耗。此外,鸿展光电还积极参与公益事业和社会活动,为社会做出积极贡献。这些举措不仅提升了公司的社会形象和声誉,也为企业的长期发展注入了新的动力。

Advanced Thermal Products Inc公司的发展小趣事

随着国内市场的不断饱和,ATP公司开始将目光投向国际市场。他们制定了国际化发展战略,通过设立海外分支机构、参加国际展会等方式拓展海外市场。同时,公司积极与国际知名企业合作,共同开发新产品、新技术,实现了互利共赢。这些举措为ATP公司的全球化发展奠定了坚实基础。

请注意,上述故事仅为虚构内容,不代表Advanced Thermal Products Inc公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问其官方网站。

Bellnix Co Ltd公司的发展小趣事

在电子行业竞争日益激烈的背景下,Bellnix意识到成本控制的重要性。公司开始着手优化供应链,通过与供应商建立长期合作关系、实行集中采购等方式,降低采购成本。同时,公司还引入先进的生产管理系统,提高生产效率,减少浪费。这些措施有效地降低了产品成本,使Bellnix在市场上更具竞争力。

问答坊 | AI 解惑

应娜MM热情邀请,在此开C语言讨论系列专题。

嗯,先弄个非常标题党的Title——C语言降龙十八掌。 大家有空的一起来讨论讨论,思想的碰撞才能放出火花。 第一掌—— main函数不简单 https://bbs.eeworld.com.cn/thread-87910-1-1.html…

查看全部问答>

调用api拨号上网,能用api更改拨号设置吗

我调用rasdial拨号上网,设置是之前设置好的一个拨号连接,现在我想更改这个拨号连接的设置,让其不用流控,我找了半天ras相关的函数,都没有发现可以进行这些设置的,RasSetCommSettings是在自己写的dll里面更改波特率之类的,但是就是没有更改是 ...…

查看全部问答>

请教WINDOWS CE下面保存为GIF和JPG格式

各位好!我有一个HBITMAP的变量,想保存为GIF和JPG格式的文件,不知道在WINCE下面有什么好的支持,使用什么技术呀?…

查看全部问答>

请问:用vc++编的界面程序怎么跟人机界面里的伺服驱动器通讯(用232),说下大体思路和注意事项.谢谢了!

请问: 用vc++编的界面程序怎么跟人机界面里的伺服驱动器通讯(用232),说下大体思路和注意事项.谢谢了! 我刚进公司,没做过这个,上司交给我这个任务,要是完不成就要走人了. 请高人指教.分不多了,实在不好意思,重在交流嘛…

查看全部问答>

招聘潜入式开发人员

本公司因业务发展需要,急需以下人才: 1.Asp.net 开发人员3名,本科以上学历,1年以上asp.net 开发经验,熟悉dotnet平台,精通c#语言,对于web part,webservices,windows remote,ajax等技术比较熟悉,有过门户或社区、移动增值服务开发经验的优先,硕士 ...…

查看全部问答>

送一块多模3G笔记本内置多模卡,请高手研究安装驱动。

送一块3G多模笔记本内置多模卡,支持联通WCDMA电信CAMA2000.CDMA移动的EDGE,GPRS的HP UNDP1的卡(hp un2400),非HP商用机驱动安装不上,请高手来研究HP多模卡驱动。 …

查看全部问答>

8962 如何将CAN配置成可以接收任意ID的数据

没看明白8962  CAN的配置,哪位能指点一下,我想接收 发送任意ID的CAN数据…

查看全部问答>

抛砖-关于STM32RTC对晶振的要求实在不地道

听说象STM32这样低功耗的片子表振电路是要仔细设计的,32768这个频率选好晶振是关键。我觉着ATMEL的应用笔记AVR042: AVR Hardware Design Considerations第5节写的比较细了,请大家参考一下,有好的结果来共享一下。相信S ...…

查看全部问答>

从0开始学M4 (第一集 控制GPIO)

从今天开始将会不定期发布从 0 开始学习M4系列,欢迎大家提出意见。。。   板子嘛肯定会有的     对于整个芯片有了大致的了解之后,要写的第一个代码就是如何设置引脚为GPIO。此时就会出现,是用寄存器设置还是调用库函数。 ...…

查看全部问答>