请教ADC0809控制问题

kongzhongyihao 2009-02-21 09:52:18
程序如下;怎么ADC0809一直处于忙状态 (P[0..7]接D[0..7]P0接数码管)

#include <REG51.H>
#define uchar unsigned char
#define uint unsigned int

uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管显示码0-9

sbit ST=P3^2;//转换启动信号
sbit EOC=P3^1;//转换结束信号
sbit OE=P3^0;//输出允许信号

void delay(uint time)
{
uint i,j;
for(i=0;i<time;i++)
for(j=0;j<50;j++);
}



void display()
{
uchar bw,sw,gw,team,i;

ST=0;//启动转换
ST=1;
ST=0;
while(EOC==0);//等待转换结束
delay(100);
OE=1;//允许输出
team=P1;暂存转换结果
OE=0;//关闭输出
bw=team/100;//将AD转换结果转换成BCD码
sw=(team%100)/10;
gw=team%10;
for(i=0;i<1;i++)
{
P0=table[bw];
P2=0xfd;
delay(100);
P0=table[sw];
P2=0xfb;
delay(100);
P0=table[gw];
P2=0Xf7;
delay(100);
}
}
void main()
{
P3=0X30;//控制选通0IN3
while(1)
{
display();
}
}



...全文
102 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongzhongyihao 2009-02-21
  • 打赏
  • 举报
回复
500kHz
kongzhongyihao 2009-02-21
  • 打赏
  • 举报
回复
500kHz
shuiyan 2009-02-21
  • 打赏
  • 举报
回复
时序。
START 0->1之后,要求有100-200ns的延时再1->0。
时钟CLKOCK多少频率的?
schlafenhamster 2009-02-21
  • 打赏
  • 举报
回复
检查控制时序

27,511

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧