历史上的今天
返回首页

历史上的今天

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

正在发生

2020年06月13日 | 51单片机之实现流水灯

2020-06-13 来源:eefocus

 

在实现流水灯之前,我们有必要提一点,C51代码在写之前,要参考电路图来写。拿流水灯来说,我们来看图二,LED灯,也就是二极管,八只LED的正极通过一根总线接在+5V的电压上,再看图一,可知八只LED灯的负极接在LED、P2的8个I/O口上。根据二极管的导通条件可知,在单片机的IO口输出低电平时,才能点亮LED灯。


下面贴上代码:

#include

 

#define uchar  unsigned char

#define uint   unsigned int 

 

sbit LED1 = P2^0;

sbit LED2 = P2^1;

sbit LED3 = P2^2;

sbit LED4 = P2^3;

sbit LED5 = P2^4;

sbit LED6 = P2^5;

sbit LED7 = P2^6;

sbit LED8 = P2^7;

 

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

// 函数名称: Delay()

// 函数功能:毫秒延时

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

 

void delay(uint z)

{

uint x,y;

for(x = 0; x < z; x++)

for(y = 0; y < 113; y++);

}

// 函数名称: main()

// 函数功能: 实现一个LED灯一闪一闪的效果

 

void main(void)

{

while(1)

{

LED1 = 0;           //灯亮

delay(1000);        //持续亮1s

LED1 = 1;           //灯灭

delay(1000);        //持续灭1s

LED2 = 0;

delay(1000);

LED2 = 1;

delay(1000);

LED3 = 0;

delay(1000);

LED3 = 1;

delay(1000);

LED4 = 0;           //灯亮

delay(1000);        //持续亮1s

LED4 = 1;           //灯灭

delay(1000);        //持续灭1s

LED5 = 0;

delay(1000);

LED5 = 1;

delay(1000);

LED6 = 0;

delay(1000);

LED6 = 1;

delay(1000);

LED7 = 0;

delay(1000);

LED7 = 1;

delay(1000);

}

 

}


想必大家在看过前两张电路图后,再来看代码,就大概懂什么意思了吧。首先利用sbit的第二种使用方法:sbit 位变量名=SFR名称^变量位地址值 ,例:sbit LED1 = P2^0,  即定义LED1为P2口的第1位,以便进行位操作。


接着我们写了一个毫秒级延时函数,当然了,这里所谓的延时是不准时的延时,是我们通过一些调试后,测试出来的“1秒“,要想真正准确地实现一秒钟延时,还要使用定时器,由于这里要求不是那么准确,我们利用毫秒级延时函数实现就可以。


最后就是我们的主函数,也就是功能函数了,对单片机而言,我们都知道,单片机的最大功能在于控制,而单片机的控制也是体现在输出高低电平,而单片机之所以能够实现那么多的功能也是靠着周围扩展的模块。在C51里,1即是高电平,0即是低电平,对LED灯而言也就分别是灭,亮了。另外我们还调用了延时函数,以此实现流水灯的实现。

(链接:https://pan.baidu.com/s/1CtSpgtdKuNh5P3CmCqHuwA 提取码:nb2i)


最后有一点要提醒大家,C51的代码,要具体型号的单片机具体电路图分析,切勿照抄照搬!!!

推荐阅读

史海拾趣

CT [ Central Technologies ]公司的发展小趣事

在追求经济效益的同时,CT公司始终注重履行企业社会责任。公司积极参与公益事业,支持教育事业发展,为贫困地区捐赠教育设备和资金。此外,CT公司还注重环保和可持续发展,通过采用环保材料和节能减排措施等方式降低生产过程中的环境污染。这些举措不仅提升了公司的社会形象,也为公司赢得了更多消费者的认可和支持。

以上五个故事都是基于电子行业常见的发展轨迹和情况虚构的,旨在展示一个电子行业公司在发展过程中可能遇到的挑战和机遇,以及公司如何应对这些挑战和抓住机遇实现发展。这些故事并不针对任何具体的公司或个人,也不包含任何褒贬评价。

EDAL公司的发展小趣事

随着云计算、大数据等技术的兴起,传统EDA行业面临着前所未有的挑战。为了应对这些挑战,EDAL公司积极转型升级,将云计算、大数据等技术与EDA工具相结合,推出了更加高效、智能的云端EDA服务。这一创新的服务模式不仅提升了客户的设计效率,还降低了成本,赢得了市场的广泛认可。

Bel Fuse公司的发展小趣事

作为一个有社会责任感的企业,Bel Fuse始终关注环境保护和可持续发展。公司致力于减少生产过程中的能源消耗和环境污染,积极采用环保材料和工艺。同时,Bel Fuse还参与了多项公益活动,为社会做出贡献。这种对社会责任的承担不仅提升了公司的形象,也增强了员工的凝聚力和归属感。

这些故事虽然基于虚构,但它们是根据Bel Fuse公司可能经历的发展历程和挑战来构建的。真实的故事可能会因时间、市场环境等因素而有所不同。要了解Bel Fuse公司的真实发展历程,建议查阅相关文献资料或访问公司官方网站。

Custom Mmic Design Services Inc公司的发展小趣事

CMDS深知技术创新是企业持续发展的关键。因此,公司不断加大研发投入,积极引进优秀人才和先进技术设备。通过持续的研发投入和人才培养,CMDS不断推出具有创新性和竞争力的新产品和解决方案。这些新产品不仅满足了客户不断变化的需求,也推动了整个行业的发展和进步。

和芯润德(CoreChips)公司的发展小趣事

随着技术的不断进步,和芯润德并未满足于现状。公司持续加大研发投入,积极探索新的技术领域。通过与世界领先的EDA工具提供商合作,和芯润德建立了完整的集成电路设计链,并成功研发出多款高性能、低功耗的集成电路芯片产品。这些产品在市场上获得了广泛好评,使和芯润德成为了技术创新的引领者。

Clever Little Box公司的发展小趣事

随着公司实力的不断增强,Clever Little Box开始将目光投向国际市场。公司制定了国际化战略,通过参加国际展览、建立海外销售渠道等方式,积极开拓海外市场。这一战略的实施不仅为公司带来了更广阔的市场空间,还提高了公司的国际竞争力。

需要注意的是,以上故事是基于公开信息和一般企业发展规律进行的概括和推测,并非Clever Little Box公司的真实发展历程。如需了解该公司更准确、具体的发展故事,建议查阅相关资料或访问公司官方网站。

问答坊 | AI 解惑

一种简单有效的面向过程软件设计思想

引 言     面向状态转换的软件设计思想属于面向过程软件设计思想的范畴,它完全符合软件工程模块化、结构化的设计思想。在面向过程的软件设计中,状态的转化与分解对于解决具有复杂过程的问题有着很好的效果,并能被用户很好地理解和接 ...…

查看全部问答>

RF面试一些必问的问题

* IP3 - What is IP3? Why is it important? - Why is it important? - How to measure IP3? (use a coupler to add the two input tones together) - IIP3 vs OIP3? (IIP3(dBm) = (A_W1,W2(dB)-A_IM3(dB))/2 +P_in(dBm), OIP3( dBm) = (A_ ...…

查看全部问答>

求高手指点(51单片机串行通信转USB与电脑实现通信)

我们要做个项目:51单片机串行通信转USB与电脑实现通信 网上找到了PL2303,CP2101但找不到现成的电路图。 有没有哪位大侠可以给小弟发个,或者提供些参考资料啊…

查看全部问答>

【进者有分】市面上有没有支持windows mobile和ce的双系统手机

请教大家个问题: 市场上有没有同时具有ce和mobile的手机,而且可以在两个系统中间自由的切换,就如同电脑上的双系统一样 附带一点:这两个系统可以共享我的电影啥的…

查看全部问答>

如何设计本安电路

本人要设计一便携式个噪声检测仪,用于矿井下面。所以电路要是防爆设计,也就是要设计成本安电路,现在基本的基于89c51的电路设计已经完成。就是不知道该如何将非本安电路设计成本安型。希望可以得到高人指点~谢谢~~…

查看全部问答>

6410_CE6 Camera

请问高手,在CE6.0的camera驱动里,是如何告知上层应用,它支持多大的preview格式? 我现在遇到的问题的,使用三星的camera DEMO,打开摄像头,但是预览的图像非常小,我在驱动里跟了一下,preview 大小是上层应用传过来的,而我在上层应用里跟踪 ...…

查看全部问答>

STM32新系列

                                 刚才在ST网站上看到STM32F100系列的DataBrief, 不知道什么时候正式公布?…

查看全部问答>

STLINK里的单片机用的是STM32101C8吗?

                                 今天找代理商要了一个STLINK,拆开看竟然STLINK里的单片机用的是STM32101C8,101系列不是没有USB接口吗。但是MINIUS ...…

查看全部问答>

请教关于强几百KHz的电磁辐射的防护

本帖最后由 dontium 于 2015-1-23 13:09 编辑 请教 如果存在几百KHz的电磁辐射(例如类似于电磁炉,但是频率比之高,功率比之大很多),有什么防护措施?如果条件限制,简单的金属板挡一下能有一点点作用么?作用多大?不是全封闭的遮挡,就是用一 ...…

查看全部问答>

Linux入门很简单 书连载

Linux入门很简单   刘金鹏(网名:笨兔兔)  等编著                                       清 华̳ ...…

查看全部问答>