找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1876|回复: 4
打印 上一主题 下一主题
收起左侧

急急急-AD转换求助

[复制链接]
跳转到指定楼层
楼主
ID:121043 发表于 2016-5-23 22:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神帮助我做一个MAX1241的Isis和PRO。以我给的附件中的ADC0832为例,除了AD转换器换了,其他的都不要改变,keil仿照我给的附件。附件包含 ADC0832模数转换与显示的例子。谢谢大神,等着急用

附件.zip

548.16 KB, 下载次数: 6

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:114189 发表于 2016-5-23 23:39 来自手机 | 只看该作者
加我q201792056  发给我 我看一下
回复

使用道具 举报

板凳
ID:114189 发表于 2016-5-23 23:42 来自手机 | 只看该作者
加我q 201792056 发给我 我看一下吧
回复

使用道具 举报

地板
ID:22218 发表于 2016-5-24 06:30 | 只看该作者
/*************************************************
Digital voltmeter using an
Maxim MAX1241 ADC
connected to an AT90S8515
using the SPI bus
The measured voltage is transmitted
through the STK200 RS232 interface
Communication parameters: 9600 8N1

CodeVisionAVR C Compiler
(C) 1998-2000 Pavel Haiduc, HP InfoTech S.R.L.

Chip type : AT90S8515
Clock frequency : 4.000000 MHz
Memory model : Small
Internal RAM size: 512
External RAM size: 0
Data Stack size : 128
*************************************************

MAX1241 connections to the AT90S8515

[MAX1241] [AT9S8515 DIP40]
1 VDD=5V
2 Vin
3 /SHDN - 1 PB0
4 REF=5V
5 GND - 20 GND
6 DOUT - 7 MISO
7 /CS - 2 PB1
8 SCLK - 8 SCK

THE ISP CABLE SHOULD BE DISCONNECTED FROM
THE STK200 BOARD AFTER PROGRAMMING THE CHIP!

ALSO THE PORTB LED JUMPERS MUST BE OPEN!
*/

#include

// Standard Input/Output functions
#include

// SPI functions
#include

// delays
#include

// MAX1241 Voltage Reference [mV]
#define VREF 5000

// MAX1241 control signals definitions
#define NSHDN PORTB.0
#define NCS PORTB.1
#define DOUT PINB.6

union adcu
{
unsigned char byte[2];
unsigned int word;
};

// Make one AD conversion and return the value
unsigned int max1241_read(void)
{
union adcu adc_data;
// exit MAX1241 from shutdown
NSHDN=1;
// wait 5us for the MAX1241 to wake up
delay_us(5);
// now select the chip to start the conversion
NCS=0;
// wait the conversion to complete
// DOUT will be 0 during conversion
while (DOUT==0);
// DOUT=1 -> conversion completed
// read MSB
adc_data.byte[1]=spi(0);
// read LSB
adc_data.byte[0]=spi(0);
// deselect the chip
NCS=1;
// enter shutdown
NSHDN=0;
// now format the result and return it
return (adc_data.word>>3)&0xfff;
}

void main(void)
{
// store the conversion result here
unsigned n;

// Input/Output Ports initialization
// Port A
DDRA=0x00;
PORTA=0x00;

// Port B
// the /SS pin is set as an output
// with level 1, it's required by
// the SPI to work in master mode
DDRB=0xA3;
PORTB=0x12;

// Port C
DDRC=0x00;
PORTC=0x00;

// Port D
DDRD=0x00;
PORTD=0x00;

// UART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// UART Receiver: Off
// UART Transmitter: On
UCR=0x08;
// UART Baud rate: 9600
UBRR=0x19;

// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 1000.000 kHz
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=0x50;

putsf("MAX1241 Demo using the CodeVisionAVR C Compiler");
putsf("***********************************************\n");

// Make AD conversions and send the results to RS232
while (1)
{
n=max1241_read();
printf("MAX1241-> N=%4u U=%4umV\n",n,(unsigned) ((long) n*VREF/4096));
// 0.3 sec. delay
delay_ms(300);
};
}
回复

使用道具 举报

5#
ID:121043 发表于 2016-5-24 11:46 | 只看该作者
chinomango 发表于 2016-5-24 06:30
/*************************************************
Digital voltmeter using an
Maxim MAX1241 ADC

没看懂……我解释一下吧。使用的是AT89C51芯片,用的是C语言。把我给的里面的ADC0832转换器换成MAX1241,端口不要改变。然后写出程序。附件里面有ADC0832的例子。仿照着写
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表