如图所示电路交换和分组交换,用K1~K4键分组控制8只LED灯,按K1键轮流点亮D1~D8,按K2键点亮D1,D

1688.com,阿里巴巴打造的全球最大的采购批发平台
1688/淘宝会员(仅限会员名)请在此登录
cbulogin.et2Server is OK查看: 7734|回复: 5
新人,希望大神们相助。真心不会按下K1键,P1口的LED灯从D1到D8依次循环点亮。
根据上图,编写程序实现以下功能:按下K1键,P1口的LED灯从D1到D8依次循环点亮。按下K2键,P1口的LED灯从D8到D1依次循环点亮。K1键和K2键同时按下时,发光二极管全灭。
共同学习,抛砖引玉,不要笑:
#include &reg51.H&
#include &intrins.H&
sbit k1=P3^6;
sbit k2=P3^7;
void delay(int z)
& & & & int x,y;
& & & & for(x=z;x&0;x--)
& & & &&&for(y=110;y&0;y--);
void main()
&&while(1)
& & & && &if(k1==0&&k2==1)
& & & && &{& & & && &P1=0
& & & && && & & && &delay(5);
& & & & & & & && &if(k1==0&&k2==1)
& & & & & & & && &{
& & & & & & & & & & & && & while(k2)
& & & & & & & & & & & && & {
& & & & & & & & & & & & & & & & & & & & P1=_crol_(P1,1);
& & & & & & & & & & & & & & & & & & & & delay(500);
& & & & & & & && && &&&}
& && && & }& & & && &
& & & && &}
& & & && &if(k2==0&&k1==1)
& & & && &{& & & && &P1=0
& & & && && & & && &delay(5);
& & & & & & & && &if(k2==0&&k1==1)
& & & & & & & && &{
& & & & & & & & & & & && & while(k1)
& & & & & & & & & & & && & {
& & & & & & & & & & & & & & & & & & & & P1=_cror_(P1,1);
& & & & & & & & & & & & & & & & & & & & delay(500);
& & & & & & & && && &&&}
& & & & & & & && &}
& & & && &}
& & & && &if(k1||k2==0)
& & & && &P1=0
本帖最后由 jiashun 于
20:45 编辑
#include&reg52.h& //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
void Delay(unsigned int t); //函数声明
/*------------------------------------------------
& && && && && && &&&主函数
------------------------------------------------*/
void main (void)
& && && && && && &
&&//定义一个无符号字符型局部变量 i 取值范围 0~255
Delay(50000);
if(P3.6=0)
& &P1=0& && && &&&//赋初始值
&&while (1)& && && & //主循环
& & for(i=0;i&8;i++)& &//加入 for循环,表明for循环大括号中的程序循环执行8次
& && &Delay(50000);
& && &P1&&=1;
& && &P1=P1|0x01;& &&&//右移后,最右端自动赋值0,所以需要该语句赋值1
&&P1=0& && && &&&//重新赋初始值
&&//主循环中添加其他需要一直工作的程序
&&else if( P3.7=0)
& &P1=0x7f;& && && &&&//赋初始值
&&while (1)& && && & //主循环
& & for(i=0;i&8;i++)& &//加入 for循环,表明for循环大括号中的程序循环执行8次
& && &Delay(50000);
& && &P1&&=1;
& && &P1=P1|0x80;&&
& &//右移后,最左端自动赋值0,所以需要该语句赋值1
&&P1=0x7f;& && && &&&//重新赋初始值
&&//主循环中添加其他需要一直工作的程序
&&else&&if (P3.6=0&&P3.7=0)
/*------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
------------------------------------------------*/
void Delay(unsigned int t)
while(--t);
回帖助人的奖励!
新思路实现
#include &reg51.H&
#include &intrins.H&
sbit k1=P3^6;
sbit k2=P3^7;
void main()
& &unsigned int i=0;
& &while(1)
& & & && & if((k1==0)&&(k2==0))
& & & && & {
& & & & & & & && & P1=0
& & & && & }
& & & && & else
& & & && & {
& && && & if(k1==0)
& && && & {&&P1=0x7f;& && &
& && && && &k=1;
& && && & }
& && && & if(k2==0)
& && && & {&&P1=0& && &&&
& && && && & k=2;& &
& && && & }
& && &&&}&&
& & & & & & & & switch(k)
& & & & & & & & {
& & & & & & & & & & & && &case 1:
& & & & & & & & & & & & & & & & & & & && &i++;
& & & & & & & & & & & & & & & & & & & && &if(i&13000)
& & & & & & & & & & & & & & & & & & & && &{
& & & & & & & & & & & & & & & & & & & & & & & && &i=0;
& & & & & & & & & & & & & & & && && && &&&P1=_cror_(P1,1);
& & & & & & & & & & & & & & & & & & & && &}
& & & & & & & & & & & & & & & & & & & && &
& & & & & & & & & & & && &case 2:
& & & & & & & & & & & & & & & & & & & && &i++;
& & & & & & & & & & & & & & & & & & & && &if(i&13000)
& & & & & & & & & & & & & & & & & & & && &{
& & & & & & & & & & & & & & & & & & & & & & & && &i=0;
& & & & & & & & & & & & & & & && && && &&&P1=_crol_(P1,1);
& & & & & & & & & & & & & & & & & & & && &}
& & & & & & & & & & & & & & & & & & & && &
& & & && &&&}
#include&reg52.h&
#include&intrins.h&
#define uint unsigned int
#define uchar unsigned char
#include&reg52.h&
#include&intrins.h&
#define uint unsigned int
#define uchar unsigned char
sbit fmq=P3^6;
sbit k1=P3^2;
void delayms(uint);
void delayms(uint x)
& & & & uint i,j;
& & & & for(i=x;i&0;i--)
& & & & for(j=1;j&100;j++);
void delay500us()
for(j=0;j&57;j++);
void beer()
& & & & fmq=0;
& & & & delay500us();
& & & & fmq=1;
& & & & delay500us();
void display()
&&while(1){
& & & & for(t=0;t&500;t++)
& & & & beer();
void main()
& & & &&&EA=1;& && &&&
& &EX0=1;& && &&&
& & & &&&a=0
& & & & P0=a;
& & & & delayms(500);
& & & & a=_crol_(a,1);
void int0() interrupt 0
& & & & while(1){
& & & & if(k1==0)
& & & & & & & & z++;
& & & & & & & & if(z%2==0)
& & & & & & & & & & & & {
display();
sbit k1=P3^2;
void delayms(uint);
void delayms(uint x)
& & & & uint i,j;
& & & & for(i=x;i&0;i--)
& & & & for(j=1;j&100;j++);
void delay500us()
for(j=0;j&57;j++);
void beer()
& & & & fmq=0;
& & & & delay500us();
& & & & fmq=1;
& & & & delay500us();
void display()
&&while(1){
& & & & for(t=0;t&500;t++)
& & & & beer();
void main()
& & & &&&EA=1;& && &&&
& &EX0=1;& && &&&
& & & &&&a=0
& & & & P0=a;
& & & & delayms(500);
& & & & a=_crol_(a,1);
void int0() interrupt 0
& & & & while(1){
& & & & if(k1==0)
& & & & & & & & z++;
& & & & & & & & if(z%2==0)
& & & & & & & & & & & & {
display();
这个实用中断控制的,比较简单,希望有所帮助,,
Powered byc51独立按键程序,按下k1按键后对应的灯亮,但松开k1按键后灯还亮,k2也是如此,求大侠!_百度知道
c51独立按键程序,按下k1按键后对应的灯亮,但松开k1按键后灯还亮,k2也是如此,求大侠!
我有更好的答案
这个程序中没有熄灭的程序,单片机当然不会有熄灭的操作。修改如下:if(k1==0)P2=0elseP2=0if(k2==0)P2=0elseP2=0这是按住就亮,松开就灭的程序。如果想实现按一次亮,再按一次熄灭。程序如下:bit a=0,b=0;//做按键点亮熄灭标志while(1){if(k1==0&&a==0){P2=0a=1;}else if(k1==0&&a==1){P2=0a=0;}if(k2==0&&b==0){P2=0b=1;}else if(k1==0&&b==1){P2=0b=0;}}
采纳率:58%
不用这么复杂,这样写就好了。#include &reg51.h&sbit LED1 = P1 ^ 0;sbit LED2 = P1 ^ 1;sbit KEY1 = P3 ^ 0;sbit KEY2 = P3 ^ 1;void main( void ){LED1 = 1;LED2 = 1;while(1){if( KEY1 == 0 ){LED1 = ~LED1;while( !KEY1 );}if( KEY2 == 0 ){LED2 = ~LED2;while( !KEY2 );}}}
本回答被网友采纳
为您推荐:
其他类似问题
网申的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。2.4G按键分组调色温(电源版)
产品详细介绍
2.4G分组调光调色温遥控器和接收模块规格说明
【产品图片】
【功能介绍】
该控制模块是一款2.4G智能PWM调光器,线性无级调节,光色变化平顺自然。采用2.4G(2.400-2.4835GHz)高频无线遥控控制技术,多信道信号,数据传输速度快(2Mbps),
具有功耗低,抗干扰能力强,稳定性高,灯体响应一致性很好等特点。应用于各类需要无线调光调色温的LED灯具(5~108W),如LED平板灯、吸顶灯、吊灯、筒灯、球泡灯的控制。
通过另配wifi网关
支持手机远程或局域网控制。
【参数介绍】
1.供电电压:1.5V*2AAA电池
2.待机电流:2uA
3.发射功率:6db
4.调制方式:GFSK
注意:遥控器PCB板,按键面做沉金工艺
2.4G调光调色温模块:
&寸:详见PCB板框图
2.供电电压:DC 3.3V
3.供电电流:&=35mA
4.遥控距离:&=30米
5.调光方式:PWM调光
6.驱动频率:250MHz &to
7.工作温度:0 &to
&70 ℃
【模块外形尺寸及引脚定义】
1.一组总开关,一组调光加,调光减按键,一组调色温加,调色温减按键,4组分组控制开关。
2.工作电压DC
3.3V,输入纹波要求500mv以下;
3.具有调光、调色温、小夜灯、开关、自由分组同步控制、断电记忆等功能;
4.在遥控范围内,一个遥控器可以控制无数个接收模块,即多个LED灯,而且同步性、一致性很好;多遥控器同时工作无干扰,一个接收模块最多支持4个不同遥控器,先对码的遥控器先被注销,确保最后对码的4个遥控器有效,将不同的灯分到同一个遥控器上的不同组,最多分4组,自有分组,同时控制或者是分别控制,在完成模块和遥控器的系统对码匹配和分组后,就可以实现各种功能的无线控制,如果要改变以前的分组,可以清码再配。
【遥控器操作功能说明】
【应用场景】
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。单片机编程:当按下按键K1时,LED亮1个灯;当按下K2时,LED亮2个灯;K3亮3个灯;K4亮4个灯.求程序,
单片机编程:当按下按键K1时,LED亮1个灯;当按下K2时,LED亮2个灯;K3亮3个灯;K4亮4个灯.求程序,
我有更好的回答:
剩余:2000字
与《单片机编程:当按下按键K1时,LED亮1个灯;当按下K2时,LED亮2个灯;K3亮3个灯;K4亮4个灯.求程序,》相关的作业问题
//程序如下,建议仿真的时候把三极管最好去掉//P3.2为开始和暂停,P3.3为清零,计时时间为99.99秒#include#include#define uint unsigned int#define uchar unsigned charuchar code num[12]={0xc0,0xf9,0xa4,0xb
什么灯,LED?
1、刚开启的一瞬间通过的电流I=U/R=220V/220Ω=1A正常发光时的电流I'=U/R'=220V/1210Ω=2/11A=0.182A开灯的瞬间所消耗的电功率P=UI=220V*1A=220w正常发光所消耗的电功率P'=UI'=220V*2/11A=40w220w是40w的5.5倍,所以灯泡的灯丝通常是在开灯的
& 再答: 和杭州2012年中考题差不多再问: 哦哦,我们在月考 再答: 请采纳再问: 嗯
只能提供梯形图,其它自己解决吧X0连接按钮Y0连接灯第三步是一个典型的二分频电路,可以实现你说的功能,这个很常用的
程序源代码:#include "stdio.h"#include "stdio.h"main(){float sn=100.0,hn=sn/2;for(n=2;n
能求出火车的长度,列式为:设火车的长度为x米(300+x)/20=x/10x/20=15x=300答:火车的长度为300米我们最近上数学课老师讲的,绝对不会错的哟
今天做回好人,闲着给你写一个做参考. 按键按一次LED灯灭,在按一次按键LED灯亮. 程序如下: // 再问: 非常谢谢 我刚也琢磨出来了,但还是要谢谢你 可是我又有新问题了,按一下LED灯开始闪烁,再按一下,LED停止闪这个该怎么写啊 再答: 那你就写一个标志做切换,进行循环啊!
1.设车速为x,车身长为y.20x=300+y10x=y解得x=302.设甲速度为x,乙速度为y,距离为S2x+2y+36=S4x+4y-S=36解得S-1083.设从乙队调走x人32+x=2*(28-x)解得x=8
火车的长度x米(450+x)/20=x/5x=150米速度为150/5=30(450-150)/30=10秒
做匀速运动的时候牵引力与阻力的大小相等.所以,F = 1800NF*V = P所以,V = 60000W / 1800N = 0 m/s = 120000 m/h = 120 km/h牵引力在 5 min 中内所做的功:= P*t = 60kW * 300s = 18000kJ = 18MJ 再问:
答案:C首先,因为不确定该物质开始加热时是固体还是液体,所以,无法确定T2是熔点还是沸点.如果T2是熔点,A对;如果T2是沸点,B对.但不确定是什么点,故AB均不正确;C,温度越高分子运动越剧烈.D吸收热量过程,是内能增大的过程.D错. 再问: 那么,下面有一位朋友说:如果是晶体熔化图像,吸热后内能增加,如果是液体沸腾
(1)由匀变速直线运动的位移时间公式得,S1=12at21&&a=2s1t12=2×12.525=1m/s2答:他在山坡上的加速度大小为1m/s2.(2)根据匀变速直线运动的速度位移公式得:v2=2as2v=2as2=52m/s答:他到达坡底的速度的大小为52m/s.(3)由匀变速直线运动的速度时间
(1)I=P/U=40W/220V=0.18AR=U2/P=(220V)2/40W=1210欧(2)P实=U2/R=(110V)2/1210=10W 再问: L1 ”10V 5W" L2 "6V 9W"将它们并联起来使用,保证一盏灯能正常发光,另一盏灯不被损坏,则干路中的最大电流是多少?提示(1)并联电路中电压的关系-
不一样的.就像句号:英文半角 “.” 中文半角“.” 再问: 中文半角 英文半角 有区别吗? 再答: 数字是没区别的,只有在全角和半角才有区别,全角大一点。 其实你自己试下就知道了。。。
两种解答中,(甲)的解答是错误的,错误的原因是(当a=9时,√(1-a)²=|1-a|=a-1 )
设速度v,受空气阻力f,f=kv (k为系数),质量mf=ma=m*(dv/dt)=mg-kvdv/dt=g-(k/m)vdv/(g-(k/m)v)=dtdv/(v-(gm/k))=-(k/m)dt两边积分,ln(v-(gm/k))=-(k/m)t+C1 (C1为常量)v=(gm/k)+e^(-(k/m)t+C1)=(
在二人行走时间相同的情况下,二人拉开的距离满足“速度差×时间=距离差”的关系上山时,甲领先了乙400米.下山时,如果甲乙同时从山顶出发,由于二人速度同时翻倍,故甲下山的时间变为上山的时间一半,“速度差翻倍、时间变为1/2”,因而甲到达山脚下时甲领先乙的距离仍然为400米现在的情况是,甲开始下山时乙还没开始下山,而是乙需
设函数f(x)=x3-2x-5,则∵f(2)=-1<0,f(3)=16>0,f(4)=51>0∴下一个有根区间是(2,3).故答案为:(2,3).

我要回帖

更多关于 分组交换比电路交换 的文章

 

随机推荐