ZKX's LAB

求单片机程序,实现LED控制 单片机控制led程序

2020-07-26知识17

求助单片机控制LED程序 参考C程序,在word中编辑的,有的中文分号要改成英文,最后T0中断里要写按钮程序:include<;rge52.h>;/包含文件52.hsbit P20=P2^0;定义引脚sbit P21=P2^1;定义引脚sbit P22=P2^2;定义引脚sbit P23=P2^3;定义引脚sbit P24=P2^4;定义引脚sbit P25=P2^5;定义引脚sbit P26=P2^6;定义引脚sbit P27=P2^7;定义引脚int key;void delay(int t)/延时子程序{ int i;定义整数iwhile(t-)/当t-为真时,循环{for(i=0;i;i+)/当i时执行空操作{ }/空操作}}main()/主程序{TMOD=0X01;EA=1;ET0=1;TH0=-(1000/256);TH0=-(10005256);TR0=1;while(1)/死循环{P2=0xff;if(key=1){P21=1;P20=0;delay(1000);发光二极管LED0发光1秒P20=1;P21=0;delay(1000);发光二极管LED1发光1秒P21=1;P22=0;delay(1000);发光二极管LED2发光1秒P22=1;P23=0;delay(1000);发光二极管LED3发光1秒P23=1;P24=0;delay(1000);发光二极管LED4发光1秒P24=1;P25=0;delay(1000);发光二极管LED5发光1秒P25=1;P26=0;delay(1000);发光二极管LED6发光1秒P26=1;P27=0;delay(1000);发光二极管LED7发光1秒P27=1;P26=0;delay(1000);发光二极管LED8发光1秒key=0;}if(key=2){。51单片机如何控制8个led程序 #include包含单片机专用头文件include这个是什么俺也不知道,但这个程序不需要这个头文件void Delay10ms(unsigned int c);自定义的延时函数声明main()主函数{unsigned int LED;建立一个数值型变量,变量名 LEDLED=0xfe;给这个变量赋值,0xfe 换成二进制数为 1111 1110while(1)主循环{P2=LED;点亮发光管,即先点亮右边的第一个Delay10ms(50);延时一段时间LED=LED;点亮的发光管,向左移动一位if(P2=0x00)判断是否8个全部点亮了{LED=0xff;如果全部点亮,则将全部发光管熄灭}}}void Delay10ms(unsigned int c)延时函数主程序{unsigned char a,b;建立两个变量 a bfor;c>;0;c-)循环语句,不断改变变量数值,已达到延时目的{for(b=38;b>;0;b-){for(a=130;a>;0;a-);}}}给你翻译了,希望能帮到你求写一个单片机控制LED灯程序 我给你写个参考程序,看看程序符不符合你的要求,程序如下:include\"REG52.HLED灯端口定义sbit GPIO_Exio1=P0^0;sbit GPIO_Exio2=P0^1;sbit GPIO_Exio3=P0^2;sbit GPIO_Exio4=P0^3;按键输入端口sbit KEY1_Exitm=P1^0;sbit KEY2_Exitm=P1^1;sbit KEY3_Exitm=P1^2;sbit KEY4_Exitm=P1^3;延时1msvoid Delay_1ms(unsigned int Cnt){unsigned int x,y;for(x=Cnt;x>;0;x-)for(y=120;y>;0;y-);}按键扫描子函数void KEY_ScanExtio(void){判断K1、K2其中一个按键按下if((KEY1_Exitm=0)|(KEY2_Exitm=0)){Delay_1ms(5);if((KEY1_Exitm=0)|(KEY2_Exitm=0)){按键按下点亮LEDGPIO_Exio1=0;GPIO_Exio2=0;GPIO_Exio3=0;GPIO_Exio4=0;}while((KEY1_Exitm=0)|(KEY2_Exitm=0));按键松手检测按键松手后LED灭GPIO_Exio1=1;GPIO_Exio2=1;GPIO_Exio3=1;GPIO_Exio4=1;}判断K3、K4其中一个按键按下if((KEY3_Exitm=0)|(KEY4_Exitm=0)){Delay_1ms(5);if((KEY3_Exitm=0)|(KEY4_Exitm=0)){}while((KEY3_Exitm=0)|(KEY4_Exitm=0));按键松手检测按键松手后取反LEDGPIO_Exio1=~GPIO_Exio1;GPIO_Exio2=~GPIO_Exio2;GPIO_Exio3=~GPIO_Exio3;GPIO_Exio4=~GPIO_Exio4;}}主。求单片机程序,实现LED控制 可以实现,我曾经copy接过单片机用的89S52,我想你觉的有难度的是在于声音传感上,看声控灯原百理图,VT2接单片机,也可以加一个单稳态电路,程序可以这样设计.击掌产生一个电平变化然后延时再度检电平变化,击掌几次,用单片机记录下来,然后比较,如一次脉冲彩灯怎样变知换,两次脉冲彩灯怎样变换,程序的关键在于延时上,计算你两次击掌的时间间隔.希望你能成功道.求单片机程序,实现LED控制 可以实现,我曾经接过单片机用的89S52,我想你觉的有难度的是在于声音传感上,看声控灯原理图,VT2接单片机,也可以加一个单稳态电路,程序可以这样设计.击掌产生一个电平变化。这是我自己编的一个单片机程序,是关于独立按键控制LED灯的。 你“知道”的是错的。没有规定,松手检测用while。key),那都是不懂设计的商家瞎扯出来的。要不就是刚毕业的新手凭感觉瞎搞的。真正的松手检测是这样的:发现按键按下→记录按键值,记录按键按下;发现没有按键,且已记录按下(这就是松手)→根据记录的键值处理按键,清除2个记录。单片机控制led的闪烁程序 你这个程序死循环了,我一点一点给你纠正:1 你有个不好的习惯,希望你改正:定义变量的时候,请明确的指明变量的类型:unsigned char i,或者unsigned int i而不要是unsigned i,这是不好的习惯。2 你的这个地方是个死循环:for(j=7;j>;=0;j-){led=(temp>;>;=1);yanshi(50);}因为你的j定义的是unsigned 类型,所以,j永远都会是非负数,所以,你的for循环会一直进行,修改如下:for(j=7;j>;0;j-){led=(temp>;>;=1);yanshi(50);}3 看你的while(1)循环里:while(1){if(kaiguan=0)yanshi(20);if(kaiguan=0){kaideng();}if(kaiguan。1){led=0xff;}}你这样写,我问你 if(kaiguan=0)和if(kaiguan。1)有什么区别吗?51单片机如何控制8个led程序 include包含单片机专用头文件#include这个是什么俺也不知道,但这个程序不需要这个头文件 void Delay10ms(unsigned int c);自定义的延时函数声明 main()主函数 { unsigned 。

#gpio#include#单片机#unsigned

随机阅读

qrcode
访问手机版