51单片机流水灯,怎么写程序能达到物理上改变灯连的引脚。 当然可以了。假设你原来操作的时P0口,灯D0接的是P0.0引脚灯D1接的是P0.1引脚灯D2接的是P0.2引脚灯D7接的是P0.7引脚为了好布线后,顺序乱掉了,比如灯D0接的是P0.3引脚【乱了】灯D1接的是P0.1引脚灯D2接的是P0.0引脚【乱了】灯D3接的是P0.2引脚【乱了】灯D4接的是P0.4引脚灯D5接的是P0.5引脚灯D6接的是P0.6引脚灯D7接的是P0.7引脚这时候,可以采用一个字节变量比如temp来替代原来P0,然后对这个变量做判断,比如switch(temp){case 0xfe:P0=0xf7;break;case 0xfd:P0=0xfd;break;case 0xfb:P0=0xfe;break;case 0xf7:P0=0xfb;break;}如何用单片机简单制作一个流水灯 工具:STC系列51单片机、串口转换器(USB转TTL 或232转TTL)材料:实验板一块(可以买现成的,也可以买面包板自己搭建),电阻、LED灯 若干,5V电源等。以下程序可以直接用Keil C 直接编译执行。可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。具体实现方法可以参考如下程序:includeincludedefine uint unsigned intdefine uchar unsigned charvoid delay(uint a);void main(){P1=0xfe;while(1){向左循环点亮LEDfor(i=0;i;i+){P1=_crol_(P1,1);左移一位,点亮下一位LEDdelay(55);}向右循环点亮LEDfor(i=0;i;i+){P1=_cror_(P1,1);右移一位,点亮上一位LEDdelay(55);}}}延时函数,延时a毫秒void delay(uint a){uint x,y;for(x=a;x>;0;x-)for(y=110;y>;0;y-);}51单片机,开关控制LED,开始流水灯,按一下停止,再按一下继续流水灯 采用中636f70793231313335323631343130323136353331333332623962断方式,程序如下:includeincludedefine uchar unsigned charsbit button=P3^2;uchar press=0;uchar luishui=0xfe;void Delay(uchar z){uchar x,y;for(x=z;x>;0;x-)for(y=255;y>;0;y-);}void main(){IT0=1;EX0=1;EA=1;while(1){if(press=1)P2=0xff;if(press=0){P2=luishui;luishui=_crol_(luishui,1);Delay(255);}}}X0_INT()interrupt 0{press+1;if(press=2)press=0;Delay(10);while(button=0);}试试看。求C51单片机 按键切换三种样式流水灯代码 按一下,状态1;长按两秒,状态2;一秒内按两次,状态3.51单片机,按键控制流水灯程序,懂的进。 假如,你的程序在执行key_scan();是触发了两次中断导致num>;20,你的显示函数将永远被跳过,你应该写成if(num>;20){num=0;display();}这是一个比较直观的错误,其他的没细看,你在试试如何设计一个单片机可控的循环流水灯? 1、发光二级管可以选择共阴极或者共阳极连接。2、最好用的驱动方法:查表法。(共阴到共阳转换只需增减一个符号:~,而且很方便改变流水单的花样。我做过51,stm32,arduino的)。3、如果只是简单的“流”一下,那么可以简单粗暴地用for+delay搞定。如果要增加一些别的花样,例如电位器控制“流速”,那就得打开定时中断,分配任务。51单片机的c语言 左移右移怎么用?想用来控制流水灯,请帮忙写个完整的c程序,参考下,端口随意 #include\"reg51.h\"/包含头文件define uchar unsigned charvoid delay02s(void)/延时0.2s子程序{unsigned char i,j,k;for(i=2;i>;0;i-)for(j=200;j>;0;j-)for(k=250;k>;0;k-);}void main(void)/主函数{uchar i,j;while(1)/死循环{j=0x01;j初始化为0x01,左移初始值for(i=0;i;i+)/for循环语句,完成8个循环{P1=~j;对变量j 中的值按位取反后,从P1口输出delay02s();延时0.2sj=j;左移1位}j=0x80;设置右移初始值j为0x80for(i=0;i;i+){P1=~j;delay02s();j=j>;>;1;右移1位}}}51单片机要求用按键实现两种模式的转换:第一种流水灯模式,第二种用8位按键控制LED的各个亮灭。 是分别两个程序吗?新闻 网页 微信 知乎 图片 视频 明医 英文 问问 更多? 我要提问 问题分类 特色 搜狗指南 。? 2020SOGOU.COM 京ICP证050897号51单片机流水灯程序 ^程序如下:includesbit led1=P2^21130;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;void main(){int i,j;点亮第一个灯led1=1;led2=0;led3=0;led4=0;led5=0;led6=0;led7=0;led8=0;延时1秒for(i=0;i;i){for(j=0;j;j){什么5261也不做}}点亮第二个4102灯led1=0;led2=1;led3=0;led4=0;led5=0;led6=0;led7=0;led8=0;点亮剩余的灯省略…1653…while(1);}扩展资料:流水灯几点说明:void:因为该延时函数不需要返回值,所以写为voiddelay1s:该函数的函数名,命名需要符合C语言的标识符命名规则。():不需要传入参数,所以括号中为空至此我们可以把流水灯程序写为以下形式:
随机阅读
- 平乡县甜水井村 2017年国家征地补偿新标准?
- 镍铝青铜四通球阀 请问阀的种类有哪几种?它们一般的应用在哪里?
- 小学生植树作文400字 学校植树的作文400字
- 泰迪毛一拽就掉 狗狗掉好多毛,一摸就一大把怎么办
- 东营市长途汽车总站附近有啥公交车啊??想去东城银座附近的小区 东营市蜜蜂研究所公交车
- 魔兽世界公正之剑哪里获得 魔兽RPG华山论剑td攻略
- 只有氧化性的是
- 含有动植物名称的地方 昭阳区永丰镇元龙村秦绍国
- 传奇外传里道士的气功波可以推多少级的人和怪 气功波什么怪爆传奇永恒
- 游戏王战士族卡组 游戏王 战士族卡牌
- 幼儿每次阅读较适宜的持续时间为 幼儿园大班小朋友每天阅读多长时间合适
- 厌氧氨氧化细菌的血红素c指标 硫化氨有什么特性
- 铁血武林2铜人巷攻略噩梦 铁血武林2手游铜人巷玩法!
- 我想知道大家都是用什么软件app看小说的? 老子搜书朗读错误
- 水井手压泵压水怎么有反作用力 手压水井下水快怎么办
- 新生儿吃什么配方奶粉好? 婴幼儿配方奶粉公示
- 中华人民共和国野生动物保护法有狼吗?我希望狼不是保护动物,因为狼是害兽. 只狼动物保护组织
- 世界名牌包包品牌标志有哪些? 小方包毛球
- 耒阳市水东江中学学费多少一期录取分数线2020? 耒阳水东江街道公立小学排名
- 信佛的医学生该如何对待小白鼠小白兔的杀生行为? 给父母寿诞的祈愿文(星云法师)