本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
下面是一个AD的试验程序,其中有不明白的地方,望大家指导下,谢谢!
#include<reg52.h>
#include<intrins.h>
sbit wela=P2^7;
sbit dula=P2^6;
sbit wr=P3^6;
sbit rd=P3^7;
sbit beep=P2^3;
unsigned char z,value,num,bai,shi,ge;
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(z)
{
unsigned char x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(bai,shi,ge)
{
wela=1;P0=0xfe;wela=0;dula=1;P0=table[bai];dula=0;delay(5);
wela=1;P0=0xfd;wela=0;dula=1;P0=table[shi];dula=0;delay(5);
wela=1;P0=0xfb;wela=0;dula=1;P0=table[ge];dula=0;delay(5);
}
void main()
{
unsigned char i;
beep=0;//wr=1;rd=1;
while(1)
{
wela=1;P0=0x7f;
wr=0;_nop_();wr=1;
P0=0xff;wela=0;
for(i=20;i>0;i--)
{
display(bai,shi,ge);
}
wela=1;P0=0x7f;P1=0xff;为什么这里P1要赋值而且只有0xff才行呢? rd=0;
num=P1;如果这里我只想读取AD输出的数值,但是不想附给P1口,行吗?怎么做呢? rd=1;P0=0xff;
wela=0;P1=num;
bai=num/100;
shi=num%100/10;
ge=num%10;
}
}
|