llgd.net
当前位置:首页 >> 求一个一个开关控制一个灯亮灭的C语言程序 >>

求一个一个开关控制一个灯亮灭的C语言程序

#include "REG52.H" sbit LED1_01 = P1^1; //LED灯 sbit KEY0_01 = P1^2; //按键 void Delay_1ms(unsigned int Time) { unsigned int x, y; for(x = Time; x > 0; x--) for(y = 120; y > 0; y--); } int main(void) { LED1_01 = 1; //打开LED灯...

你是在为单片机编程吗?? 比如这样: bit a=0; //标志位——用于存放灯状态的位,当a=1是,灯是一个状态,比如亮;当a=0 // 时,灯是另一个状态,比如灭。 unsigned char b; //检测按键是否按下的变量,在单片机中可能就是一个I/O口的一位,比如P...

sbit KEY = P0^1; sbit LED = P0^2; int keyscan(void) { bit keyval=0; if(KEY) { delay(30);//延时消抖 if(KEY) { keyval = ~keyval; //值取反 if(keyval ) { LED = 1;//led亮 } else { LED = 0;//led灭 } } } }

sbit key = P1_0; sbit led = P1_1; #define led_on 0 main() { while( key ) { led = ! led_on; } while(!key) { led = led_on; delay( 100 ); led = ! led_on; delay( 100 ); } } 上面这个是按下闪,松开灭的程序,稍微改一下,就可以做到要求...

电路有问题啊,电源怎么能直接接到GPIO,这样大电流会损坏IC。P1口好像没有外部中断,那只有轮询了。这个就是按键检测嘛,网上一堆代码,so easy!

sbit B1=P2^0; sbit B2=P2^1; sbit LED=P1^1; void delay(){ unsigned int a=3000; while(a--){ ; } } void delay1(){ unsigned int a=2000; while(a--){ ; } } main(){ while(1){ if(B1==0){ delay1(); if(B1==0){ LED=1; } } if(B2==0){ delay...

#include sbit key=P1^0; sfr LED=P0; main() { while(1) if(key==0)P0=0xc0; else P0=0xff; }

1、你看看单片机数据手册你的单片机P0口内部上拉没,一般的单片机P0口都是没上拉的,使用P0口一般都需要外部上拉。要么不使用P0口。 2、程序要写工整点,卖相真不好。 3、就按教科书的写程序如下: #include #include typedef unsigned char BYT...

比如你的8个灯连在 P0口,如果是阴极的 你只要先定义 sbit P0^0=LED0; .....一定定义下去 然后再定义一个按钮 比如P1.1 sbit P1^1=key; 代码里写 while(true){if(key==1){LED0=0;LED1=0;..//把你要亮的灯置0就行了。阳极的话置1}}

以51为例子,假如低电平灯亮 #include sbit K1=P1^0 //P^0接开关 sbit LED=P1^1;//接LED void main(void) { P1=oxff;//初始化P1 while(1) { LED=~K1; } }

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com