[51单片机] 只是删掉了注释 程序就不行了

[复制链接]
3528|25
 楼主| huangruiz 发表于 2014-3-14 23:05 | 显示全部楼层 |阅读模式

仅仅是把注释删掉了     数码管就没显示了   这是怎么一回事啊


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| huangruiz 发表于 2014-3-14 23:19 | 显示全部楼层
求帮忙   莫名其妙的问题
as564335sa 发表于 2014-3-14 23:39 | 显示全部楼层
delayms(10000);延时10秒?10秒过后有显示么?
xyz549040622 发表于 2014-3-14 23:40 | 显示全部楼层
上全部代码
 楼主| huangruiz 发表于 2014-3-14 23:40 | 显示全部楼层
有啊   去掉注释他就会一次显示1234   5678
四位数码管    差不多1s一个
 楼主| huangruiz 发表于 2014-3-14 23:42 | 显示全部楼层
as564335sa 发表于 2014-3-14 23:39
delayms(10000);延时10秒?10秒过后有显示么?


有啊   去掉注释他就会一次显示1234   5678
四位数码管    差不多1s一个
xyz549040622 发表于 2014-3-14 23:46 | 显示全部楼层
本帖最后由 xyz549040622 于 2014-3-14 23:48 编辑

你写错了吧,Table【0】应该是table【num】吧
 楼主| huangruiz 发表于 2014-3-14 23:47 | 显示全部楼层
本帖最后由 huangruiz 于 2014-3-14 23:54 编辑

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit yi=P2^6;
sbit si=P2^5;
sbit san=P2^4;
sbit er=P2^7;
uchar num;
uchar code table[]={
0x7D,0x46,0x54,0x3C,0x94,
0x84,0x5D,0x04,0x14,0x0C,
0xA4,0x87,0x64,0x86,0x8E,
};
void delayms(uint);
void main()
{
    while(1)
    {
        for(num=0;num<16;num++)
        {
            P0=table[0];
            yi=0;
            delayms(10000);
            yi=1;

            P0=table[1];
            er=0;
            delayms(10000);
            er=1;

            P0=table[2];
            san=0;
            delayms(10000);
            san=1;

            P0=table[3];
            si=0;
            delayms(10000);
            si=1;

            P0=table[4];
            yi=0;
            delayms(10000);
            yi=1;

            P0=table[5];
            er=0;
            delayms(10000);
            er=1;

            P0=table[6];
            san=0;
            delayms(10000);
            san=1;

            P0=table[7];
            si=0;
            delayms(10000);
            si=1;
        }
    }
}
void delayms(uint xms)
{
    uint i,j;
    for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
}额  不能发帖了

  焦头烂额      因为只是显示1234 和5678所以就没用NUM
这就是原来的   那个for搞不懂   但是删了又没显示了   
唉    程序简单的要命     根本看不出问题啊     




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xyz549040622 发表于 2014-3-14 23:51 | 显示全部楼层
这是你修改后的程序?原来的程序呢
xyz549040622 发表于 2014-3-14 23:52 | 显示全部楼层
看着没什么问题呀
ayb_ice 发表于 2014-3-15 07:42 来自手机 | 显示全部楼层
肯定是误删了什么
或者根本就是假像,没有设置对
mylsf 发表于 2014-3-15 08:15 | 显示全部楼层
什么什么啊都是,问的问题看不懂
banalmaster 发表于 2014-3-15 10:38 | 显示全部楼层
里面的for循环没用啊。
楼主问的问题也不是很清楚,建议看看数码管的4个控制端有没有问题。
yba 发表于 2014-3-15 12:40 | 显示全部楼层
你的程序里面的NUm没有起作用啊
four_zhg 发表于 2014-3-15 13:40 | 显示全部楼层
应该还是你的删除注释时,有哪个地方没有删干净。用专用的编辑器一看就能看出来。但在keil里有时会看不出来
cardtech8889 发表于 2014-3-15 13:51 | 显示全部楼层
有隐身的符号被删了.
天风立马 发表于 2014-3-15 14:23 | 显示全部楼层
擦,只顾看你程序,安装半天的软件弹出一个窗口选了取消,又得重装。
楼上说的有可能,你检查看看是不是你有过中文注释只删一半,导致异常。另外:
你把yi=0;与yi=1;互换一下试试,或者直接删掉延时看数码管闪不闪。然后汇报结果。再继续分析。
江枫渔火 发表于 2014-3-15 14:24 | 显示全部楼层
这种问题没必要问。
你是想说:仅仅是删掉了注释符吧?删掉注释符,你下面的代码起作用了,当然会可能不能运行了。
仅仅删掉注释的东西,会影响你的程序,发生这样的事的时候,你捏一捏自己。

评论

一语中地  发表于 2014-3-15 21:36
ZG11211 发表于 2014-3-15 14:51 | 显示全部楼层
这种问题只有让楼主自己慢慢琢磨了,反正我的结论是不可能的。
Ketose 发表于 2014-3-15 15:00 | 显示全部楼层
delayms(10000); 在yi=1后面也要加。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

40

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部