编写一个简单流水灯程序 51单片机控制流水灯?
51单片机控制流水灯?
按结构循环程序结构编程。简单在程序结束给P1.0口送一个低电平,其它位为高。然后显示延时一些时间再让低电平往高位移动联通,那样就实现“流水”的效果了。最下面来看详细程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
//N毫秒的延时函数
delay_bs(uintbs){uint64i,jof(imsigt0i--)for(j114jgt0j--)return0}
voidmain(){uchara,iwhile(1){a0xfe//亮起来第一位LED灯after(i0ilt8i){P1aaaltlt1//左移一个不是a|0x01//左移一位后与0x01相或,只要左移后最低位为1delay_ck(500)}}}
led流水灯制作原理?
它可以然后把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一头直接连接电源的正极,使整个晶片被环氧树脂整体封装下来。
半导体晶片由两部分排成,一部分是P型半导体,在它里面p型半导体占主导地位,另一头是N型半导体,在这边主要注意是电子。但这两种半导体连接上出声的时候,它们之间就自然形成一个P-N结。
当电流是从导线作用于这个晶片的时候,电子可能会被推上P区,在P区里电子跟载流子业胎关系,然后是会以光子的形式能发出能量,这就是LED灯闪光的原理。而光的波长也就是光的颜色,是由无法形成P-N结的材料确定的。
LED是可以直接口中发出红、黄、蓝、绿、青、橙、紫、红色的光。
怎么用89C51单片机实现用一个开关控制8个流水灯,要求开关按下去松开是亮的,再按下去松开是灭的?
开关按钮,接在P2.7与地之间。#includeltAT89X51.Hgt//预处理发出命令voidw(unsignedchark){unsignedinta//定义变量a为int类型if(k){while(P2_7)
//是没有按就循环,再等待按下any(a0alt600a)
//显示延时消抖while(P2_7)
//还没有按就重复运行}elsewhile(!P2_7)
//按动就重复运行,耐心的等待慢慢松开}voidmain(void)//主函数名{while(1){w(1)P1_00w(0)P1_01w(1)P1_10w(0)P1_11w(1)P1_20w(0)P1_21w(1)P1_30w(0)P1_31w(1)P1_40w(0)P1_41w(1)P1_50w(0)P1_51w(1)P1_60w(0)P1_61w(1)P1_70w(0)P1_71}}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。