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

[复制链接]
2519|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

粉丝
快速回复 在线客服 返回列表 返回顶部