历史上的今天
返回首页

历史上的今天

今天是:2025年04月06日(星期日)

2020年04月06日 | 51单片机数码管的动态显示

2020-04-06 来源:eefocus

/*******************************************


* 本节实验,需要加深理解锁存器,位选线,


* 段选线等,以及防止重影的方法;和keil中数


* 组的定义;


*另外想让8个数码管同时显示不同的数字,


*靠的是程序的快速运行,和人眼的短时间缓冲原理实现的


*本例的延时设定是1ms,可以分别用100ms


*等尝试一下


******************************************/


#include


#define uchar   unsigned char


#define uint    unsigned int


sbit dula = P2^6; //锁存器的段选线


sbit wela = P2^7;//锁存器位选线


uchar code table[]={


    0x3f,0x06,0x5b,0x4f,


    0x66,0x6d,0x7d,0x07,


    0x7f,0x6f,0x77,0x7c,


    0x39,0x5e,0x79,0x71,  //定义一个数组,每一个元素分别是0-f;


};


void delayms(uint);


void main()


{


    while(1){


        dula = 1;//打开端选线


        P0 = table[0];//写入数组的第一个元素,即数字0


        dula = 0;//关闭端选线,防止打开位选线时混乱


        P0 = 0xff;//将数码管重置清楚,防止有重影发生,所以这步操作也叫做消影


        wela = 1;//打开位选线


        P0 = 0xfe;//选择位,需要点亮的数码管,当前选择的是第一个数码管


        wela = 0;//关闭位选线


       delayms(1);1ms的延迟。防止读写速率太快出现重影


        dula = 1;


        P0 = table[1];


        dula = 0;


        P0 = 0xff;


        wela = 1;


        P0 = 0xfd;


        wela = 0;


       delayms(1);


        dula = 1;


        P0 = table[2];


        dula = 0;


        P0 = 0xff;


        wela = 1;


        P0 = 0xfb;


        wela = 0;


       delayms(1);


       dula = 1;


        P0 = table[3];


        dula = 0;


        P0 = 0xff;


        wela = 1;


        P0 = 0xf7;


        wela = 0;


       delayms(1);


    }


}


void delayms(i)


{

    uint j,k;


    for(j = i;j > 0;j--){


        for(k = 110;k > 0;k--);


    }

}

推荐阅读

史海拾趣

珠海艾派克(APEXMIC)公司的发展小趣事

为了进一步提升研发实力,艾派克先后在珠海、上海、杭州和美国北卡罗来纳州建立了四大研发中心,并与浙江大学、中科院上海微系统所等国内外知名机构建立联合实验室。这些举措不仅加强了公司在技术研发方面的国际合作,也推动了艾派克在行业技术前沿的领先地位。

ELEKTRO-PLAST NASIELSK公司的发展小趣事

随着环保意识的提高和可持续发展理念的普及,电子行业对环保要求也越来越高。ELEKTRO-PLAST NASIELSK公司积极响应这一趋势,将绿色环保理念贯穿于产品研发和生产过程中。公司采用环保材料和工艺生产产品,并推动供应链中的合作伙伴共同践行环保理念。此外,公司还积极推广可回收利用和循环再生的理念,为保护环境做出了积极贡献。

Advanced Analog公司的发展小趣事

随着公司的不断发展和壮大,Advanced Analog开始积极拓展国际市场。公司在全球范围内设立了多个分支机构和销售网络,与众多国际知名企业和品牌建立了长期稳定的合作关系。通过参与国际电子展会和交流活动,Advanced Analog的产品和技术得到了更广泛的认可和赞誉,进一步提升了公司在国际市场的知名度和影响力。

China Semiconductor Corp公司的发展小趣事

技术创新的同时,CSC也注重市场拓展和品牌建设。公司积极参与国际交流与合作,与多家国际知名企业建立了战略合作关系。同时,CSC加强了对国内市场的开拓,通过提供优质的产品和服务,赢得了客户的信赖和好评。随着品牌知名度的提升,CSC的产品逐渐在国内外市场上占据了一席之地。

Diodes公司的发展小趣事

Diodes公司积极实施全球化战略,不断拓展海外市场。公司在以色列、加利福尼亚、得克萨斯和日本等地设立了制造工厂,形成了覆盖全球的生产和销售网络。这些工厂不仅为Diodes提供了充足的产能支持,也为公司赢得了更多国际客户的青睐。同时,Diodes还积极参加国际展会和交流活动,加强与国际同行的合作与交流,不断提升公司的国际化水平。

Custom LeatherCraft Manufacturing Co Inc公司的发展小趣事

在快速发展的同时,CLC也关注环保和可持续发展。他们采用环保材料和生产工艺,减少对环境的影响。同时,他们还积极推动循环利用和废物减量化措施,努力实现绿色生产。这些努力不仅提升了品牌形象,也为公司的长期发展奠定了基础。

问答坊 | AI 解惑

交流是技术展开的平台

建议多出来活动,交流技术、心得,没准哪个网友的一句话会对我们的工作有帮助!…

查看全部问答>

变压器绕制问题

公司一直没有变压器绕制装备;每次做电源,都要找外厂做变压器,有时候对变压器就是做个微小的调整都要 经历很长的时间,甚至老被人忽悠,一拖再拖;严重影响驱动板的开发周期,有时候真是无语。那么自己 绕制变压器,至少得哪些材料装备;知道吗 ...…

查看全部问答>

上海嵌入式社区<招兵买马>

招聘对象:嵌入式领域研发人员 招聘要求:热爱嵌入式行业,乐于助人,喜爱交流,坦诚待人。 招聘地址:上海及其周边更佳,其余也欢迎。 加入方式:39527548(QQ群号码) 上海嵌入式社区,为众多嵌入式同行提供一个交流平台,这里你可以讨论技术 ...…

查看全部问答>

MODEM怎样读取对方电话按键值

查了一些资料说是 必须是语音模式(AT+FCLASS=8) 用 AT+VLS=1 应答 然后输入按键值(如#键) 显示为  / 按键值(#) ~ 我试了一下结果却是这样的,为啥呢。。 AT+FCLASS=8 设置语音模式 R R R      响铃 AT+VLS ...…

查看全部问答>

vxworks启动后的排场不够大?

我刚用wmware配置的wxworks5.5为什么成功启动后没有显示很大的VxWorks的欢迎界面,而是很普通的几行字?…

查看全部问答>

帮忙翻译一个英文句子

Is a server that maintains a TCP/IP connection to a client stateful or stateless? 最后两个单词什么意思啊 …

查看全部问答>

我用的是VS2003的C#来开发WINCE4.2的应用程序....现在遇到了问题.

问题是: 我把应用程序关闭了,但发现程序还在运行,     有什么方式看我的程序里面的什么对象在运行? 注:我的板子是2410的,WINCE4.2版的操作系统,PC机开发软件是VS2003的C#. …

查看全部问答>

LM317资料

本帖最后由 paulhyde 于 2014-9-15 09:45 编辑 准备电子设计大赛整理的资料  …

查看全部问答>

基于FPGA的E1/E2准同步数字复接

急用,有大神有这方面的程序么?各个模块最好是分开的。 复接器实现:HDB3编码,码速调整,四路E1复接成一路E2 分接器实现:同步时钟提取,串并转换,码速恢复,HDB3译码。 有VerilogHDL的各模块代码就行。…

查看全部问答>