请问金沙滩51单片机中,先是左移到头,然后再右移到头的花样流水灯程序该怎么写?

请问金沙滩51单片机中,先是左移到头,然后再右移到头的花样流水灯程序该怎么写?用C语言。本人太笨了,没想出来。下面是单向左移流水灯程序:#include<reg52.h>... 请问金沙滩51单片机中,先是左移到头,然后再右移到头的花样流水灯程序该怎么写?用C语言。本人太笨了,没想出来。
下面是单向左移流水灯程序:
#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

void main()
{
unsigned int i = 0; //定义循环变量i,用于软件延时
unsigned char cnt = 0; //定义计数变量cnt,用于移位控制

ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
while (1) //主循环,程序无限循环执行该循环体语句
{
P0 = ~(0x01 << cnt); //P0等于1左移cnt位,控制8个LED
for (i=0; i<20000; i++); //软件延时
cnt++; //移位计数变量自加1
if (cnt >= 8) //移位计数超过7后,再重新从0开始
{
cnt = 0;
}
}
}
展开
 我来答
休修洁pu
2016-04-29 · TA获得超过612个赞
知道小有建树答主
回答量:1115
采纳率:0%
帮助的人:254万
展开全部
/*单片机,用定时中断实现每隔0.2秒让接在P1口的8个小灯从左往右循环点亮。*/ #include #include #define uchar unsigned char uchar a,b; uchar b=1; uchar a=0xfe; void main() { EA=1;IT1=1;ET0=1; TH0=-5000/256; TL0=-5000%256; TMOD=0x01;...(火星人)2086
追问
您好,您说的语句我还没有学到,我的意思是就用我说的上面的语句来写这个程序,要求小灯左右来回点亮。不知该怎么写?
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式