找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7993|回复: 3
收起左侧

想写一个从0以100MS加到999的程序总是出错,求救。

[复制链接]
ID:18761 发表于 2009-11-26 21:53 | 显示全部楼层 |阅读模式

#include<AT89X52.h>
#define uint unsigned int;
#define uchar unsigned char;
uint x,y,z;
uint num;
sbit duan=P2^7;
sbit wei=P2^6;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint z)
void display(uchar bai,uchar shi,uchar ge);
void main()
{
 while(1)
 { 
 
  for(num=0,num<999,num++)
  {
  
   bai=num/100;
   shi=num%100/10;
   ge=num%10;
   display(uchar bai,uchar shi,uchar ge) 
  
  }

 }


}

void display(uchar bai,uchar shi,uchar ge)
 {
         duan=1;
   P2=table[bai];
   duan=0;
   P2=0xff;
   wei=1;
   P2=0xfe;
   wei=0;
   delayms(100);
 
   duan=1;
   P2=table[shi];
   duan=0;
   P2=0xff;
   wei=1;
   P2=0xfd;
   wei=0;
   delay(100);
 
   duan=1;
   P2=table[ge];
   duan=0;
   P2=0xff;
   wei=1;
   P2=0xfb;
   wei=0;
   delay(100)
 }
void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

[此贴子已经被作者于2009-11-26 21:53:38编辑过]
回复

使用道具 举报

ID:17747 发表于 2009-12-8 14:32 | 显示全部楼层

define定义后面没分号的吧,后面程序没看

回复

使用道具 举报

ID:18761 发表于 2009-12-8 22:37 | 显示全部楼层
谢谢 ,还有 错误吗 ?
回复

使用道具 举报

ID:17233 发表于 2010-1-1 17:08 | 显示全部楼层
是不是编译都通不过啊?  for语句的形式好像是:for(;;)  还有个位和十位的算法有问题 我个人觉得哈, num%10  应该不是个位  num%100 才是   个人觉得哈 呵呵,  我也是菜鸟一个,才学的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表