WPGGJ 2021-06-22 19:45 采纳率: 47.4%
浏览 35
已结题

C51单片机流水灯和显示器同时工作

#include<reg52.h>
#define duan P0
#define uint unsigned int
#define on 0
#define off 1
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit led8=P1^7;
sbit fm=P2^3;
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=122;j>0;j--);}
void main()
{
while(1)
{	
led1=on;
led2=on;
delay(5000);
led1=off;
led2=off;

fm=on;
delay(200);
fm=off;

led3=on;
led4=on;
delay(5000);
led3=off;
led4=off;

fm=on;
delay(200);
fm=off;

led5=on;
led6=on;
delay(2000);
led5=off;
led6=off;

fm=on;
delay(200);
fm=off;

	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x6d;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x66;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x4f;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x5b;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x06;
	delay(1000);
	
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x6d;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x66;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x4f;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x5b;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x06;
	delay(1000);
	
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x5b;
	delay(1000);
	wei1=0;
	wei2=0;
	wei3=0;
	wei4=1;
	duan=0x06;
	delay(1000);

}
}

我想让做一个红绿灯,让它们同时工作,但是我写的是分开的,希望有人帮我一下

  • 写回答

1条回答 默认 最新

  • moshi2005 2021-06-23 00:42
    关注

    把显示放入定时器中断里执行,main里执行流水灯,这样就互不干涉了

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月3日

悬赏问题

  • ¥15 CPU卡指令整合指令数据都在图片上
  • ¥15 火车票关联12306问题
  • ¥15 odoo17处理受托加工产品
  • ¥15 如何用MATLAB编码图三的积分
  • ¥15 圆孔衍射光强随孔径变化
  • ¥15 MacBook pro m3max上用vscode运行c语言没有反应
  • ¥15 ESP-PROG配置错误,ALL ONES
  • ¥15 结构功能耦合指标计算
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 非科班怎么跑代码?如何导数据和调参