求at89c51单片机和adc0809 AD转换器的连接方法

我这个有成品图但是这个图不是用at89c51做的,是用8031做的,现在想把8031换成AT89c51单片机,我刚才把地址锁存器和存储器删掉了然后要换掉8031不知道怎么... 我这个有成品图 但是这个图不是用at89c51做的,是用8031做的,现在想把8031换成AT89c51单片机,我刚才把地址锁存器和存储器删掉了 然后要换掉8031不知道怎么做 8031和at89c51单片机管脚上有什么不同、
可以追加分...
展开
 我来答
塞千山057
推荐于2017-12-16 · TA获得超过263个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:188万
展开全部

把8031直接换成8951就行啦

管脚是一样的

电路如图

程序如下

#include <reg52.h>

#define uint unsigned int

#define uchar unsigned char

uchar code LEDData[]=

{

  0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f

};

sbit OE  = P1^0;

sbit EOC = P1^1;

sbit ST  = P1^2;

sbit CLK = P1^3;

void DelayMS(uint ms)

{

  uchar i;

 while(ms--)

 {

   for(i=0;i<120;i++);

 }

}

void Display_Result(uchar d)

{

  P2 = 0xf7;

 P0 = LEDData[d%10];

 DelayMS(5);

 P2 = 0xfb;

 P0 = LEDData[d%100/10];

 DelayMS(5);

 P2 = 0xfd;

 P0 = LEDData[d/100];

 DelayMS(5);

}

void main()

{

  TMOD = 0x02;

 TH0  = 0x14;

 TL0  = 0x00;

 IE   = 0x82;

 TR0  = 1;

 P1   = 0x3f;

 while(1)

 {

   ST = 0;

  ST = 1;

  ST = 0;

  while(EOC == 0);

  OE = 1;

  Display_Result(P3);

  OE = 0;

 }

}

void Timer0_INT() interrupt 1

{

  CLK = !CLK;

}

f579010142
2010-06-16 · 超过12用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:34.5万
展开全部
8031 和at89c51 是兼容的。就是at89c51 的容量更大点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13324869
2010-06-02
知道答主
回答量:20
采纳率:0%
帮助的人:17.1万
展开全部
电路应该不用改,直接把8031的31脚EA接高电平就可以了,这样程序从内部程序存贮器执行了。你可以试一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式