历史上的今天
返回首页

历史上的今天

今天是:2024年12月26日(星期四)

正在发生

2019年12月26日 | 两个74HC595驱动8位数码管程序+Proteus仿真

2019-12-26 来源:51hei

两个74HC595共用了,6个IO口,简单的定时器时钟,主要是74HC595的控制。仿真:
 

单片机源码:

#include

#include

typedef unsigned char uchar;

typedef unsigned int uint;


#define date P0

#define count 50000

#define TH_0 (65536-count)/256

#define TL_0 (65536-count)%256



uchar diss[8];

uchar code distab[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 

                                                                                                                                0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};

uint sec=0,min=0,hour=0;


void delay(uint iii)

{

        while(iii--);

}

void _74hc595_dula(uchar dat)

{

        uchar i=0;

        sh_cp_dula=0;

        st_cp_dula=0;

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

        {

                dula=dat>>7;

                dat=dat<<1;

                sh_cp_dula=1;

                _nop_();

                _nop_();

                sh_cp_dula=0;

        }

        st_cp_dula=1;

        _nop_();

        _nop_();

        st_cp_dula=0;

}


void _74hc595_wela(uchar dat)

{

        uchar i=0;

        sh_cp_wela=0;

        st_cp_wela=0;

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

        {

                wela=dat>>7;

                dat=dat<<1;

                sh_cp_wela=1;

                _nop_();

                _nop_();

                sh_cp_wela=0;

        }

        st_cp_wela=1;

        _nop_();

        _nop_();

        st_cp_wela=0;

}


void display()

{

        uchar dat,i=0;

        for(dat=0xfe;dat!=0xff;dat=(dat<<1)|0x01)        //1011 1111   

        {

                _74hc595_dula(distab[diss[i++]]);

                

                _74hc595_wela(dat);

                

                if(i==8)i=0;

                

                delay(100);

                _74hc595_dula(0x00);

                delay(100);

                

        }

}

void disss()

{

        diss[0]=hour/10;

        diss[1]=hour%10;

        diss[2]=16;

        diss[3]=min/10;

        diss[4]=min%10;

        diss[5]=16;

        diss[6]=sec/10;

        diss[7]=sec%10;

}

void timer0_init()

{

        TMOD=0x01;

        EA=1;ET0=1;TR0=1;

        TH0=TH_0;TL0=TL_0;

}

void main()

{

        timer0_init();

        while(1)

        {        

                display();

                disss();

        }

}

void timer0() interrupt 1

{

        static uchar j;

        TH0=TH_0;TL0=TL_0;

        if(++j==20)

        {

                j=0;

                sec++;

                if(sec==60)

                {

                        sec=0;

                        min++;

                        if(min==60)

                        {

                                min=0;

                                hour++;

                                if(hour==24)

                                {

                                        hour=0;

                                }

                        }

                }

        }

}



推荐阅读

史海拾趣

ALCOA公司的发展小趣事

第一次世界大战期间,铝因其轻质且强度高的特性,被广泛应用于航空和汽车工业。ALCOA公司借此机会迅速发展壮大,为军方和汽车制造商提供了大量的铝材。这种需求推动了公司的技术进步和生产规模的扩大,也奠定了ALCOA在电子行业中的领先地位。

Global Components & Controls公司的发展小趣事
选择质量可靠、性能稳定的元件,以确保电路的稳定性和可靠性。
BAND-IT公司的发展小趣事

在电子行业的推动下,大型基础设施的建设也迎来了快速发展。韦拉札诺海峡大桥作为连接斯塔顿岛和布鲁克林的世界上最长的吊桥,其建设过程对紧固件的需求量大且要求严格。BAND-IT公司凭借其大型不锈钢卡箍产品,成功参与了这一重大工程的建设。这些卡箍不仅具有强大的承重能力,而且安装简便、安全可靠,为大桥的稳定性和安全性提供了有力保障。

Block USA Inc.公司的发展小趣事

Block USA Inc.最初以其线下支付业务Square在电子支付领域崭露头角。公司创始人杰克·多尔西洞察到小型商户在支付处理方面的需求,并推出了简单易用的磁条卡读卡器Square Reader。这一创新产品迅速受到市场欢迎,帮助无数小型企业和个体经营者实现了便捷、安全的电子支付。随着Square品牌的知名度不断提升,Block逐渐在支付领域建立了坚实的地位。

Fairview Microwave Inc公司的发展小趣事

随着技术的不断进步和市场的不断变化,Fairview Microwave意识到只有不断创新才能保持领先地位。因此,公司加大了在研发方面的投入力度,建立起一支高素质的研发团队。他们不断推出具有自主知识产权的新产品和技术,为客户提供更加全面、高效的解决方案。这些创新成果不仅增强了公司的核心竞争力,也为公司在行业内树立了技术领先的地位。

ETA-USA公司的发展小趣事

ETA-USA一直注重技术创新和研发实力的提升。公司拥有一支高素质的研发团队和先进的研发设施,不断推出具有竞争力的新产品和解决方案。同时,ETA-USA还积极与高校、科研机构等合作,共同推动电子技术的创新和发展。

问答坊 | AI 解惑

技术瞻望:SOP超越摩尔定律

 到2010年,“超越摩尔定律”的趋势——专注于系统级集成而不是晶体管密度将带来革命性的超多功能电子器件。   SOP延伸摩尔定律   还记得集成相机和移动电话这一大胆之举吗?或者把移动电话功能添加到PDA?这种方法依靠的是摩尔定律: 集成电 ...…

查看全部问答>

0欧姆电阻的用途浅析

阻值为零的电阻,到底有什么用途呢?附件中整理的WORD文档,给大家小结一下,如有不对,请发贴指出,呵呵…

查看全部问答>

LPC1768调试心得(转载)

在自己的日志里写了调试心得1,结果没啥反应。唉,还是发贴吧,没人回帖,至少可以看看有几个人看过帖子吧。 最新工作体会,铁打的营盘,流水的兵。 最新发现一颗taobao零售价格4块RMB不到PHY,我的天。不过商业级的,工业级的依旧贵啊。 首先回 ...…

查看全部问答>

原来国家规定还有探亲假,有人休过吗

  一转眼,春节7天假期结束了,一些家在外地的上班族大呼“不过瘾”。昨天,南京市劳动和社会保障局综合科科长戴登凯支招———可以申请休探亲假,而且名正言顺。   调查:九成人士不知有探亲假   昨天,记者在南京街头随机采访了100多位在 ...…

查看全部问答>

一种呼叫电路

养老院呼叫系统怎么设计,、 当有老人按按纽时,主机对应的房间二极管灯亮,并且嗽叭一直有音乐响下去,只要不按复位按纽,音乐会一直在响,对应的灯一直会亮。整个电路用的是6V或12V电源供电。不需要对讲功能。采用的是N+1线路…

查看全部问答>

sdio wifi

wifi调通了。wince6.0 telechips板。 连接的时候不用密码能上。当加了13位密码就很容易断。有时候能上。也是一下就断。wifi的驱动是原厂提供的.CAB安装文件。我只是把SDHC这部分调通了。请大家指导。谢谢。…

查看全部问答>

免费下载:单片机毕业论文

一共收集了33个设计题目:  1. 16×16点阵(滚动显示)论文+程序  2. cdma通信系统中的接入信道部分进行仿真与分析  3. LED显示屏动态显示和远程监控的实现  4. MCS-51单片机温度控制系统  5. USB接口设计  6. ...…

查看全部问答>

89系列的单片机可以用的红外解码在stc12系列却不能用

#include#include#include\"1602.h\" #define  NOP()  _nop_()   /* 定义空指令 */ #define uchar unsignedchar#define uint unsigned int#define delayNOP();{_nop_();_nop_();_nop_();_nop_();}; void delay(uchar ...…

查看全部问答>

这颗料您想要吗?

利用16位电压输出DAC AD5370提供具有可编程工业电平输出范围的40通道输出 …

查看全部问答>