51单片机实现流水灯

51单片机实现流水灯 以下是本篇文章正文内容,下面案例可供参考
一、点亮第一个led灯#include #define uint unsigned int //简化定义#define uchar unsigned char//同上sbit d1=p2^1;void main(){ d1=0;} 代码中d1代表着位定义,相当于将led灯对应管脚的位置起一个名字。单片机初始状态管脚默认为高电平,即对应值为1。所以如果想要点亮led灯,只需要让他的管脚电平为低即可。
二、流水灯
1.总线型控制 设计一个流水灯,如果使用位操作,需要一个个去定义。这无疑是十分繁琐的。所以这里我们采用总线型操作。
总线型这种总线制方法可以统一控制十位数相同的管脚。
例如如果想要控制p1.0-p1.7的电平情况,具体编程方法是根据所需要的结果,标出每个管脚对应的01值,从前到后排列,然后转化为十六进制,直接令p1=0x+对应十六进制数。这样只用一行代码实现多个管脚控制。
#include void main() p1=0x80;//对应十进制数字10000001,对应p1的首个管脚与最后一个管脚高电平。} 2.延时函数 代码如下(示例):
void delay(uint i){while(i--);}//此函数可以用来控制特定时长的延时,具体时间由单片机晶振频率决定。 3._ crol _函数使用 _crol_函数功能:将 c 进行b位左位移,并将值以unsigned char类型返回;
#include //_crol_函数在intrins.h函数库中。unsigned int temp;temp=0xfe;p1=temp;temp=_crol_(temp,1);//第一个变量用来控制位,第二个用来控制每次移动的位数。 4. 实现流水灯#include #include #define uint unsigned int #define uchar unsigned charvoid delay(uint i);void main(){ uint temp=0xfe; while(1){ p2=temp; temp=_crol_(temp,1); delay(10000); }}void delay(uint i){while(i--);} 最后实现单片机流水灯操作。


垄断锂电池价格,松下、索尼遭欧盟罚款12亿
NaviForum 将于今年9月 再度登陆上海
光模块的5种WDM波分复用技术,你都知道吗?
防水连接器是什么,它的优势是怎样的
北极芯微发布全新单光子dToF传感器DTS5018
51单片机实现流水灯
软硬兼施 寒武纪同步推出Neuware训练软件栈
英特尔正与脸书合作开发一种新的人工智能芯片
华为凌霄IoT Wi-Fi芯片: 面向家电,或将下半年推出
FHA60T65A IGBT单管为何是后极逆变电路中的首选元器件呢?
军事MRO:通过增强现实解决维护技能短缺问题
微孔滤膜的基本原理与分类是怎样的
户外运动选什么蓝牙耳机好?入耳式还是骨传导?
STC单片机实现电开水机自动供水的设计
车用电机有哪几种?它们有什么区别?
教你怎样做项目开发总结报告
接触器a1和a2怎么接线
工业主板具备的五大优势都有哪些呢?
交流电中的有效电流是如何定义的?
手持终端定制|PDA|手持机|rfid手持终端设备开发解决方案