AT89C51和ADC0809连接,AT89C51和PC机连接,如何编程实现单片机控制adc0809完成A/D转换后传给PC机?
把8031直接换成8951就行啦
管脚是一样的
电路如图
程序如下
#include
#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;
}
按照时序写就行
童鞋,恕我直言,您这个是再简单不过的设计了,你用1小时,上网找找资料,用点心,一定可以解决。程序我建议你还是自己编,毕竟你是学这个专业的。如果连这么基础的东西都搞不定,我觉得给你程序代码,恐怕你也烧不到单片机里去吧……顺便再提醒你下,你的原理图有致命的错误。
AT89C51的RXD与TXD端口(P3^0 , P3^1)是不能直接接到计算机的串口上的,也不能直接接到USB转232串口的设备上的。你需要MAX232芯片,将单片机的TTL电平转换成232电平后才能实现通信。
不过,如果你嫌这样麻烦,还有一种解决方案,那就是USB转TTL(5V)的板子,可以直接接单片机,淘宝上多的是,自己搜吧。
童鞋,如果你是官二、富二、或是女神、小白脸,以上所有就当我没说好吗?
t89c51rd2-im 的im是什么意思,另外,其他的一些代码都代表什么?谢谢...
89c51rd2(64k Flash)工业级 电压4.5-5.5V -I: Industrial -40 to 85oC -M:VCC: 4.5 to 5.5V 40MHz, X1 Mode 20MHz, X2 Mode
canCAN总线智能采集卡的设计与实现
智能采集卡由T89C51CC01微控制器、8279芯片、译码驱动电路、LED、按键阵列、DS18B20温度传感器、光电隔离及CAN物理接口等组成。上电后,采集卡会初始化CAN总线和DS18B20,接着初始化8279和显示LED,设置定时器和中断寄存器。然后,采集卡会主动向主机发送控制帧,请求设定参数如采样周期和发送频率等。数据传输...
虫希阿魏: 信号输入的话,8个IN脚都可以接,选两个方便的接上就可以了.写程序的时候要写个循环,两个脚的输入要分开读,不能一次读两个的.选输入通道(就是选用哪个IN口作输入),对ADDA,ADDB,ADDC三个引脚写就可以了. 至于A/D0809与单片机的连接,接在P0,P1,P2,P3 上都可以.比如说连在P0口,D0就连P0^0,D1——P0^1,D2——P0^2……依次类推. 再给你个链接吧,希望这些资料对你有帮助 http://wenku.baidu.com/view/b9d2bb4ffe4733687e21aac8.html
港口区19664432364: 多个传感器采集数据,与AD0809转换器和AT89C51单片机怎么连接? - ?
虫希阿魏: 将多路信号加载ad的输入口 然后与单片机相连 关键是程序 不是电路 电路问题都不大的
港口区19664432364: AT89C51和ADC0809连接,AT89C51和PC机连接,如何编程实现单片机控制adc0809完成A/D转换后传给PC机? - ?
虫希阿魏: 童鞋,恕我直言,您这个是再简单不过的设计了,你用1小时,上网找找资料,用点心,一定可以解决.程序我建议你还是自己编,毕竟你是学这个专业的.如果连这么基础的东西都搞不定,我觉得给你程序代码,恐怕你也烧不到单片机里去吧...
港口区19664432364: 对ADC0809的8路输入信号进行采集,然后应用并口液晶对所采集的8路数据进行循环显示. - ?
虫希阿魏: 用单片机AT89C51和ATC0809进行连接,然后编程,你可以试试protues软件和keil联合.
港口区19664432364: ADC0809proteus仿真与AT89C51单片机连接问题? - ?
虫希阿魏: 这个确实是事实,昨晚我刚实验了,0808的高位和8051的低位连接才能正常显示,具体原因还没来得及研究…
港口区19664432364: 3片AD0809与89C51单片机芯片是怎么连接的,请求高手相助.QQ673046043 - ?
虫希阿魏: 不是高手哦,但是可以这样解决:在你认为合适的I/O口中选三位作为片选,接入到138译码器(如果还有其他芯片需要片选)或24译码器(芯片较少的情况),根据需要在程序中进行芯片选择,控制线可以接到一起,数据输出D0~D7可以先接到8位锁存器后再输出,三个AD0809可共用.
港口区19664432364: ADC0809输出可不可以直接和51相连 - ?
虫希阿魏: 当然可以,但是0809占用芯片引脚资源过多,现在很多都考虑用串口的ad转换芯片了.0809的话可以如楼上所说的增加一片并串转换
港口区19664432364: 我想请教下您.我用AT89C51,ADC0809设计的数字万用表,怎么设计它的量程自动切换电路啊 - ?
虫希阿魏: 一般的自动量程切换设计多半是通过一个固定的分压电阻(与表头的IN+和IN-并联)与一个适合于不同档位的衰减电阻串联实现的,固定档是用开关来切换的,而在自动档电路中,只要使用三极管或MOS管来切换就行了.但是由于ADC0809不...
港口区19664432364: adc0809与单片机是怎样联络的 - ?
虫希阿魏: ADC0809 应用说明(1).ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连.(2).初始化时,使ST和OE信号全为低电平. (3).送要转换的哪一通道的地址到A,B,C端口上.(4).在ST端给出一个至少有100ns宽的正脉冲信号.(5).是否转换完毕,我们根据EOC信号来判断.(6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了.这些你网上搜索下 ADC0809 就会有很多资料说明的
港口区19664432364: 急!!!!!!!!!!51单片机与ADC0809相连的问题 - ?
虫希阿魏: 如果你没有其他外设,也没有扩展外部RAM,可以用P2接A,B,C引脚, 如果有外设或外部RAM,还要用P2口,就要保证不和他们冲突 标准的办法是将A,B,C接到地址译码器之后,给予8个地址 变通的办法是用P1口接A,B,C这样也比用P2口稳定 至于D0-D7应当接到P0口,用WR,RD读写, 极端情况,用P2口连接D0-D7时,不能再用P2口接A,B,C,因为ABC是通道选择,和数据线连在一起,会乱套的.