找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[求助]我写了个程序问题

[复制链接]
ID:16695 发表于 2009-8-30 21:10 | 显示全部楼层 |阅读模式
我自己写了个程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;num1;
uchar code table[]={
0xC0,0xF9,0xA4,0xB0,
0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,
0xC6,0xA1,0x86,0x8E,0x89};
uchar code table1[]={
0xfe,0xFd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
void delay(uint z);
void main()
{
 num=0;
 num1=0;
 while(1)
 {
   P2=table1[num1];
   num1++;
   delay(1000);
   if(num1==8)
    {
    num1=0; 
    }  
   P0=table[num];
   num++;
   delay(1000);
   if(num==16)
    {
    num=0;
    }  
 }
}
void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--); 
}


k2.rar (61.37 KB, 下载次数: 22)
回复

使用道具 举报

ID:16695 发表于 2009-8-30 21:13 | 显示全部楼层
我在ARES 7 Professional测试中正常,就是在8个的数码一个一个的显示数字,但我写入AT98S52中时,却无法完成这功能。上面有附件。
我想请教下我程序错在那里。
[此贴子已经被作者于2009-8-30 21:14:42编辑过]
回复

使用道具 举报

ID:11891 发表于 2009-8-31 09:12 | 显示全部楼层
AT89系列单片机的头文件为AT89X52.h,不知道是不是这个原因啊,你试一下,因为你的附件跟我的版本不同,不能打开
回复

使用道具 举报

ID:16695 发表于 2009-9-1 21:34 | 显示全部楼层

谢谢了,
我自己试了下,好像是函数不对,搞出来了。但效果比我想的要差点

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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