打印

求助帖,我这个程序运行不到我预想的

[复制链接]
1487|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oveydcc|  楼主 | 2013-2-20 14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是从0-9数码管显示
#include<reg51.h>                //定义51寄存器头文件
#define uchar unsigned char    //重新定义字符型数据
#define SEG P0
sbit dula=P2^6;                                   //573-1锁存器控制端定义
sbit wela=P2^7;                                   //573-2锁存器控制端定义
uchar TAB[10]={0x3f,0x66,0x5b,0x4f,0x66,                //定义数字0~4
               0x6d,0x3c,0x07,0x7f,0x67};                //定义数字5~9
void delay(int);                                                                //声明延迟函数delay
void display();                                                                        //声明显示函数display
main()                                                                                        //开始执行主函数
{
wela=0;                                                                                  //初始化573-2控制端
SEG=0x1f;                                                                              //初始化P0端口,片选数码管
wela=1;                                                                                  //打开573-2控制端
wela=0;                                                                                  //关闭573-2控制端       
while(1)                                                                                //无限循环
{
        display();                                                                        //执行display函数
}
}
void display()                                                                         //定义display函数
{
  uchar i;                                                                                  //初始化无符号字符型数据i                                                                 
  for(i=0;i<10;i++)                                                                  //循环10次计数
  {
   dula=0;                                                                                  //初始化573-1控制端
   SEG=TAB;                                                                          //初始化P0端口,依次显示数据
   dula=1;                                                                                  //打开573-1控制端
   dula=0;                                                                                  //关闭573-1控制端  
   delay(500);                                                                          //延迟500*1ms=0.5ms
  }
}
void delay(int x)                                                                  //定义延迟函数delay
{
   uchar i,j;                                                                          //初始化无符号字符型数据ij
   for(i=0;i<x;i++)                                                                  //计数x*1ms
   for(j=0;j<120;j++);                                                          //计数120次,循环1ms
}
下面是硬件连接
C:\Users\Administrator.LBWIN7\Desktop

相关帖子

沙发
oveydcc|  楼主 | 2013-2-20 14:47 | 只看该作者
2.6和2.7是控制两个锁存器的

使用特权

评论回复
板凳
oveydcc|  楼主 | 2013-2-20 14:48 | 只看该作者
我运行的结果是数码管就显示0这个数字
这个是共阴极数码管

使用特权

评论回复
地板
lazybird721| | 2013-2-20 15:59 | 只看该作者
SEG=TAB;    //初始化P0端口,依次显示数据
这一行改成:
SEG=TAB[i];

使用特权

评论回复
5
oveydcc|  楼主 | 2013-2-21 00:21 | 只看该作者
lazybird721 发表于 2013-2-20 15:59
SEG=TAB;    //初始化P0端口,依次显示数据
这一行改成:
SEG=TAB;

对不起 是我没有贴上去  我源码就是TAB

使用特权

评论回复
6
oveydcc|  楼主 | 2013-2-21 00:22 | 只看该作者
lazybird721 发表于 2013-2-20 15:59
SEG=TAB;    //初始化P0端口,依次显示数据
这一行改成:
SEG=TAB;

[    i     ]    这个有的

使用特权

评论回复
7
oveydcc|  楼主 | 2013-2-21 00:43 | 只看该作者
发现个问题,我把delay(500)改成delay(200)就可以,300就不行一直显示0,250也可以,不解  求教啊

使用特权

评论回复
8
wape271| | 2013-2-21 09:23 | 只看该作者
oveydcc 发表于 2013-2-21 00:43
发现个问题,我把delay(500)改成delay(200)就可以,300就不行一直显示0,250也可以,不解  求教啊 ...

试下255是不是也可以,256就不行了
数据类型不同不可以比较的吧,在你的延时函数for循环那

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
oveydcc + 1 很给力!
9
joyme| | 2013-2-21 09:28 | 只看该作者
低级错误,变量类型问题
都知道<255没有问题了,还不知道问题在哪吗?
uchar i,j;
i 永远小于你给的参数500或300,死循环了

使用特权

评论回复
10
oveydcc|  楼主 | 2013-2-21 11:40 | 只看该作者
wape271 发表于 2013-2-21 09:23
试下255是不是也可以,256就不行了
数据类型不同不可以比较的吧,在你的延时函数for循环那 ...

谢谢你了  确实是这个问题  

使用特权

评论回复
11
oveydcc|  楼主 | 2013-2-21 11:40 | 只看该作者
joyme 发表于 2013-2-21 09:28
低级错误,变量类型问题
都知道

谢谢你了  感谢

使用特权

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

本版积分规则

1

主题

13

帖子

0

粉丝