历史上的今天
今天是: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的代码,要具体型号的单片机具体电路图分析,切勿照抄照搬!!!
史海拾趣
|
引 言 面向状态转换的软件设计思想属于面向过程软件设计思想的范畴,它完全符合软件工程模块化、结构化的设计思想。在面向过程的软件设计中,状态的转化与分解对于解决具有复杂过程的问题有着很好的效果,并能被用户很好地理解和接 ...… 查看全部问答> |
|
* 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与电脑实现通信 网上找到了PL2303,CP2101但找不到现成的电路图。 有没有哪位大侠可以给小弟发个,或者提供些参考资料啊… 查看全部问答> |
|
【进者有分】市面上有没有支持windows mobile和ce的双系统手机 请教大家个问题: 市场上有没有同时具有ce和mobile的手机,而且可以在两个系统中间自由的切换,就如同电脑上的双系统一样 附带一点:这两个系统可以共享我的电影啥的… 查看全部问答> |
|
请问高手,在CE6.0的camera驱动里,是如何告知上层应用,它支持多大的preview格式? 我现在遇到的问题的,使用三星的camera DEMO,打开摄像头,但是预览的图像非常小,我在驱动里跟了一下,preview 大小是上层应用传过来的,而我在上层应用里跟踪 ...… 查看全部问答> |
|
今天找代理商要了一个STLINK,拆开看竟然STLINK里的单片机用的是STM32101C8,101系列不是没有USB接口吗。但是MINIUS ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:09 编辑 请教 如果存在几百KHz的电磁辐射(例如类似于电磁炉,但是频率比之高,功率比之大很多),有什么防护措施?如果条件限制,简单的金属板挡一下能有一点点作用么?作用多大?不是全封闭的遮挡,就是用一 ...… 查看全部问答> |




