微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 16个流水灯的控制,求助编程

16个流水灯的控制,求助编程

时间:10-02 整理:3721RD 点击:
16个流水灯的控制。纯小白,求助编程,呜呜呜呜呜



额。顺序反了,下面那张是第一个

Build target 'Target 1'
compiling 16个灯.c...
16个灯.C(5): error C251: illegal octal digit
16个灯.C(18): error C202: 'P0': undefined identifier
16个灯.C(19): error C202: 'P2': undefined identifier
16个灯.C(24): error C202: 'P0': undefined identifier
16个灯.C(27): error C202: 'P2': undefined identifier
16个灯.C(28): error C141: syntax error near '}'
Target not created

16进制数据   是这样表示的 0x01,0x04,0x08,0x10..   把你的星号改成 x    (xyz的x)

楼上正解。C中十六进制数值是加0x前缀。默认是十进制数值。

也可以以试试移位

楼上的楼上好答案啊

*号改成x号(字母X的小写就可以)

我去。小编好犀利,败给小萝莉。

16进制数不是0* 而是 0X

28行后少   ;
调数组应用table[]

你那个p2口在主程序里那样写,会导致8个灯一直不亮,你可以试试用移位,让8个灯亮后,再让8个灯亮,间隔的时间控制的好的话,就感觉是16个灯了

额,老师只教汇编。C语言不懂

应该解决了吧?楼上正解

唉!这么明显的错误,这还能编译吗?同意楼上意见

0* 改成0x十六进制符号

分开控制,当小于8时控制八个,大于八是另外控制八路;还有一个三个IO口实现流水灯的用74HC595,网上参考别人的程序

16进制数不是0* 而是 0X

http://bbs.elecfans.com/jishu_341652_1_1.html   

可以下载我这个程序看看的~

改过来了,编译没有错误。但是15个灯一直亮,大家帮忙看看。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[16]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(unsigned char ms)
{
  uint i,j;
  for(i=0;i<110;i++)
  for(j=0;j<ms;j++);
}
main()
{
        uint i,j;
        P0=0x00;
        P2=0x00;
        while(1)
                {
                        for(i=0;i<8;i++)
                                {
                                        P0=table[1];
                                        delay(100);
                                }
                        P2=0x00;
                }
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top