c语言while循环三盏灯,单片机课程设计的内容。最好用汇编语言,实在不行,C语言也可以。需要大家快速点。...

单片机课程设计的内容。最好用汇编语言,实在不行,C语言也可以。需要大家快速点。

答案:4  信息版本:手机版

解决时间 2019-10-06 05:16

已解决

2019-10-05 21:11

以6个数码管中间4个分别代表东南西北4个方向,以数码管的上、中、下3个横段分别代表红、绿、黄三盏灯,绿灯变黄灯时,黄灯闪烁两次。

8XX51型片实现该功能。最好附有电路原理图。谢谢。

最佳答案

2019-10-05 21:57

keil2编程 用了Atmel 89c52 ,锁存器74hc573两片,LED

时间长都忘记了,没有硬件,你调试看看吧

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=P2^6;

sbit wela=P2^7;

void delay(uint z);

void main()

{

while(1)

{

wela=1;

P0=0xd7;//东西

wela=0;

dula=1;

P0=0x40;//绿

dula=0;

delay(60000);//延时60s

wela=1;

P0=0xeb;//南北

wela=0;

dula=1;

P0=0x01;//红

dula=0;

delay(60000);

wela=1;

P0=0x3a;//东西南北

wela=0;

dula=1;

P0=0x08;//黄

dula=0;

delay(2000);

wela=1;

P0=0x3a;

wela=0;

dula=1;

P0=0x00;//灭

dula=0;

delay(2000);

wela=1;

P0=0x3a;

wela=0;

dula=1;

P0=0x08;//黄

dula=0;

delay(2000);

wela=1;

P0=0xd7;//东西

wela=0;

dula=1;

P0=0x01;//红

dula=0;

delay(60000);

wela=1;

P0=0xeb;//南北

wela=0;

dula=1;

P0=0x40;//绿

dula=0;

delay(60000);

}

}

void delay(uint z)//1ms

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

全部回答

1楼

2019-10-06 00:15

这个应该不难,但是也不是那么容易做的出来,要花时间的。C51系列的芯片一般都用C编程啊,为什么要用汇编啊。主要就是控制输出的高低电平就行了,好好学习,以后找工作容易些,年薪也高的多。你要知道你这几年多学习一点,以后可以少奋斗几十年。

2楼

2019-10-05 23:22

给你给出关键代码吧,你看懂了才有写的

srand((unsigned)time(null));

while(1)

{

int value = rand()%13;

int k = getvalue(); //得到用户输入的值,这部分没法帮你弄

while(1)

{

int k = getvalue();

if(k>value)

{

continue;

}

if(k

{

continue;

}

if(k==value)

{

break;

}

}

}

3楼

2019-10-05 22:26

我暂时保留我的看法!

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值