找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5394|回复: 2
收起左侧

定时器程序的问题

[复制链接]
ID:17922 发表于 2009-11-11 13:14 | 显示全部楼层 |阅读模式

以下程序是一个四位定时显示程序

a【9】是显示0-9是的代码,c【3】是1-4位数码管点亮代码,b【0】-b【3】用来记录各位的状态,b【4】用来扫描各个数码管

我用的是 stc89c52 要求是从低位开是0123456789......向高位进位是高位点亮,请教各位大侠下面这个程序有什么问题

#include<reg52.h>
int a[9];

int c[3];

delay()//延时函数
{
 int i;
for(i=0;i<3340;i++)
;
}
 int jishu(int i)//数据显示表格
{

 return a;
}
int dingwei(int i)//位置表格
{

 return c;
}
main()
 {
 int b[4];

 c[0]=0xfe;
c[1]=0xfd;
c[2]=0xfb;
c[3]=0xf7;

a[0]=0xff;
a[1]=0xf9;
a[2]=0xa4;
a[3]=0xb0;
a[4]=0x99;
a[5]=0x92;
a[6]=0x82;
a[7]=0xf8;
a[8]=0x80;
a[9]=0x90;


for(b[0]=0;b[0]<=9;b[0]++)//最高位
 for(b[1]=0;b[1]<=9;b[1]++)//次高位
  for(b[2]=0;b[2]<=9;b[2]++)//次低位
   for(b[3]=0;b[3]<=9;b[3]++)//低位
    for(b[4]=0;b[4]<=3;b[4]++)//定位计数函数
    {
      P3=dingwei(b[4]);
     P0=jishu(b[b[4]]);
      delay();
     }
 }

回复

使用道具 举报

ID:19269 发表于 2009-11-20 12:14 | 显示全部楼层

b[b[4]]

这里有问题

如果这么写4以上的数字能显示出来吗

回复

使用道具 举报

ID:17922 发表于 2009-11-20 22:32 | 显示全部楼层

b[0],b[1],b[2],b[3]对应的是0-3号数码管显示的数字,b[b[4]]是在选择点亮的数码管,在0-3里选择。

程序的问题是b数组设成b【4】时PC乱飞,改成b【5】其他什么都不变,就能按预想执行,困惑至今了

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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