99问答网
所有问题
用单片机实现,当不按开关S1时,LED正向流水点亮,当按下开关S1时,P0口的8
用单片机实现,当不按开关S1时,LED正向流水点亮,当按下开关S1时,P0口的8位LED反向流水点亮,求C语言代码
那51单片机呢
举报该问题
推荐答案 2017-04-20
#include<reg51.h>
sbit s1=P3^2;
bit flag=0;
void key() interrupt 1
{
while(s1==0)
{
flag=1;
}
flag=0;
}
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(flag==0)P0=_crol_(P0,1);
else P0=_cror_(P0,1);
}
main()
{
while(1)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EX0=1;
EA=1;
P0=0xfe;
while(1);
}
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/vWezX7W7eWeBjejje7O.html
相似回答
实现P0口
驱动8个发光二极管
流水
灯
点亮,
设置三个按键 c51
单片机
急...
答:
return(0x31);//返回字符"4"表示按键SW1按下 } } XBR0 =0X02;return(0);//返回0,表示没有按键按下
...位花样
流水
灯,P1.0接按键k1,P1.1接按键k2
,P0口的8
位接8个发光二极管...
答:
/* 该实验是花样流水灯(8个发光二极管以各种方式循环
点亮
),功能是花样流水灯(8个发光二极管以1S间隔以各种方式循环点亮) */ include//包含reg.52文件 define uint unsigned int//宏定义 define uchar unsigned char//宏定义 void delay(uint z);//声明延时函数 uint a;//定义循环用变量 uchar co...
跪求
单片机
彩灯控制四个状态 1:
按下
sb1键
,八
个
LED
灯全亮: 2:按下sb2...
答:
void delay(unsigned int cnt){ while(--cnt);} /*--- 主函数 ---*/ main(){ P1=0xfe; //给初始化值 换算成二进制是1111 1110 while(1){ delay(30000);//延时程序 P1<<=1; //左移一位 P1|=0x01;if(P1==0x7f) { delay(30000);P1=0xfe; //重新赋值 } } } ...
...P1口的8位
LED正向流水点亮,当按下
S2
时,P0口的8
位LED反向流水点亮,求...
答:
算法没有错,但是你忽略了些小问题——按键消抖,还有就是先一步一步来,不忙把程序一次性加上去,建议你先做闪烁灯,在闪烁灯的基础上
做流水
灯,然后在做按键控制闪烁灯,当上面的都没有问题了,你在按照你的算法来改成你现在要的效果!
利用单片机
、1个开关、8个
LED
发光二极管(水平排列)和定时器
,实现开关
控 ...
答:
初始值为20)3 当软件计数器减到0时,表示0.5秒时间到 这时可以判断开关状态 开关合上 可以让8个
LED
左移一位 开关断开 可以让8个LED右移一位 呵呵 按上诉算法 编写程序 就可以实现你的要求(指导可以见百度知道的消息 右上角)满意 就选满意回答 ...
51
单片机
如何用一个按键控制一段程序的运行与停止
答:
使其在
按下时
控制LED关闭,程序开始运行。)。再次按下按键,会触发中断,使得LED重新
点亮,
程序暂停(6、再次
按下S1,
中断执行
,LED
重新点亮,程序进入暂停状态,等待下一次按键指令。)。通过这种方式,一个简单的按键就能控制51
单片机
程序的运行与停止
,实现
了用户与硬件的交互。
单片机
编程
,按下S1,流水
灯一只灯亮,从D1到D8,循环两次。
答:
for(n=115;n>0;n--);} void main(void){ unsigned char i,j;while(1){ if(S1==0){ delay_ms(5);if(S1==0){ while(!S1);for(j=0;j>2;i++){ for(i=0;i<7;i++){ P0=~(1<
怎么用C语言做到让不同的
开关
通过
单片机
控制不同的灯?
答:
假设有八个开关接到
P0口,八
个灯由P1口控制。低有效。include<reg51.h> define uchar unsigned char uchar
led,
key;void delay(uchar a){ uchar i,j;for(i=0;i<a;i++)for(j=0;j<120;j++);} main(){ while(1){ if(P0!=0xff){ delay(20);if(P0!=0xff)P1=P0;} } } ...
单片机
通过按钮控制一个
LED
小灯的亮灭,请问这个程序怎么写
答:
当你
按下开关
后
,s1
==0,就执行
led
=!led 这条语句。 led=!led 的意思就是取反的意思,即原来led灯亮的话 执行该条语句后就变成灭;原来灭的话 执行该条语句后 就变成亮。按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); // 等待按键放开led1=~led1;} ...
大家正在搜
单片机8个LED闪烁
单片机led流水灯编程
单片机实现灯控
单片机LED
单片机LED灯
51单片机8个led灯闪烁
led灯开关开很多次才亮
51单片机led灯原理
单片机led闪烁
相关问题
当按下S1键时,P1口8位LED正向流水点亮,当按下S2时,...
有两个按钮S1和S2,此外另有8盏LED灯,要求通过单片机控...
求:8051单片机P1口接八盏LED灯,要把它们不规则点亮。...
例说51单片机的作业 设计要求: 程序正常执行是,LED灯按...
利用单片机P1口接8个发光二极管,P0口接8个开关,编程实现...
利用单片机P1口接8个发光二极管,P0口接8个开关,编程实现...
【编程求助】16路led灯依次点亮,当按下开关SW1时暂停,...
在单片机的P0口接有8个发光二极管作为指示灯,P1.0~P1...