打印
[51单片机]

只是删掉了注释 程序就不行了

[复制链接]
2973|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
huangruiz|  楼主 | 2014-3-14 23:19 | 只看该作者
求帮忙   莫名其妙的问题

使用特权

评论回复
板凳
as564335sa| | 2014-3-14 23:39 | 只看该作者
delayms(10000);延时10秒?10秒过后有显示么?

使用特权

评论回复
地板
xyz549040622| | 2014-3-14 23:40 | 只看该作者
上全部代码

使用特权

评论回复
5
huangruiz|  楼主 | 2014-3-14 23:40 | 只看该作者
有啊   去掉注释他就会一次显示1234   5678
四位数码管    差不多1s一个

使用特权

评论回复
6
huangruiz|  楼主 | 2014-3-14 23:42 | 只看该作者
as564335sa 发表于 2014-3-14 23:39
delayms(10000);延时10秒?10秒过后有显示么?


有啊   去掉注释他就会一次显示1234   5678
四位数码管    差不多1s一个

使用特权

评论回复
7
xyz549040622| | 2014-3-14 23:46 | 只看该作者
本帖最后由 xyz549040622 于 2014-3-14 23:48 编辑

你写错了吧,Table【0】应该是table【num】吧

使用特权

评论回复
8
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搞不懂   但是删了又没显示了   
唉    程序简单的要命     根本看不出问题啊     




使用特权

评论回复
9
xyz549040622| | 2014-3-14 23:51 | 只看该作者
这是你修改后的程序?原来的程序呢

使用特权

评论回复
10
xyz549040622| | 2014-3-14 23:52 | 只看该作者
看着没什么问题呀

使用特权

评论回复
11
ayb_ice| | 2014-3-15 07:42 | 只看该作者
肯定是误删了什么
或者根本就是假像,没有设置对

使用特权

评论回复
12
mylsf| | 2014-3-15 08:15 | 只看该作者
什么什么啊都是,问的问题看不懂

使用特权

评论回复
13
banalmaster| | 2014-3-15 10:38 | 只看该作者
里面的for循环没用啊。
楼主问的问题也不是很清楚,建议看看数码管的4个控制端有没有问题。

使用特权

评论回复
14
yba| | 2014-3-15 12:40 | 只看该作者
你的程序里面的NUm没有起作用啊

使用特权

评论回复
15
four_zhg| | 2014-3-15 13:40 | 只看该作者
应该还是你的删除注释时,有哪个地方没有删干净。用专用的编辑器一看就能看出来。但在keil里有时会看不出来

使用特权

评论回复
16
cardtech8889| | 2014-3-15 13:51 | 只看该作者
有隐身的符号被删了.

使用特权

评论回复
17
天风立马| | 2014-3-15 14:23 | 只看该作者
擦,只顾看你程序,安装半天的软件弹出一个窗口选了取消,又得重装。
楼上说的有可能,你检查看看是不是你有过中文注释只删一半,导致异常。另外:
你把yi=0;与yi=1;互换一下试试,或者直接删掉延时看数码管闪不闪。然后汇报结果。再继续分析。

使用特权

评论回复
18
江枫渔火| | 2014-3-15 14:24 | 只看该作者
这种问题没必要问。
你是想说:仅仅是删掉了注释符吧?删掉注释符,你下面的代码起作用了,当然会可能不能运行了。
仅仅删掉注释的东西,会影响你的程序,发生这样的事的时候,你捏一捏自己。

使用特权

评论回复
评论
xyz549040622 2014-3-15 21:36 回复TA
一语中地 
19
ZG11211| | 2014-3-15 14:51 | 只看该作者
这种问题只有让楼主自己慢慢琢磨了,反正我的结论是不可能的。

使用特权

评论回复
20
Ketose| | 2014-3-15 15:00 | 只看该作者
delayms(10000); 在yi=1后面也要加。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

40

帖子

0

粉丝