打印

变量赋值问题,大哥们帮忙

[复制链接]
1681|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
energy2008|  楼主 | 2010-3-22 14:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义的全局变量adval不能动态的赋值,在程序最后加复位才能实现A/D动态显示效果,不加复位数码管只能静态显示,调节外部输入模拟量无效,把adval改P0口,P0的值是可以动态变化的,如果屏蔽掉display(adval没有分配空间),P1口外接的发光二极管也可以动态变化的,我觉得是变量adval出的问题!
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P3^6;
sbit rd=P3^7;
sbit dula=P2^6;   
sbit wela=P2^7;
uchar a,A1,A2,A2t,A3,adval;
uchar code table[]={   
                        0x3f,0x06,0x5b,0x4f,   
                        0x66,0x6d,0x7d,0x07,   
                        0x7f,0x6f,0x77,0x7c,   
                        0x39,0x5e,0x79,0x71   
                    };
.
.
.
.
.
.
void main()
{
while(1)
{
start();
P1=0xff;  //拉高  
delay(20);
rd=0;
delay(10);
rd=1;
adval=P1;//p1口值(A/D输出的模拟量)赋给adval,adval交给display显示
delay(10);
  

    A1=adval/100;         
    A2t=adval%100;   
    A2=A2t/10;   
    A3=A2t%10;
display(A1,A2,A3);
delay(10);
//复位
}
}
沙发
mmuuss586| | 2014-4-20 20:35 | 只看该作者

还是51的

使用特权

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

本版积分规则

0

主题

12

帖子

1

粉丝