سلام دوستان
من با کدویژن کار میکنم
نیاز به یه خروجی آنالوگ دارم که بین 0 تا 10 ولت باشه و میخوام بدمش به ابنورتر برای کنترل دور موتور. از این آیسی MCP4921 به این دلیل استفاده کردم که تعداد پایه هام کم نیاد.
حالا هر کاری میکنم توی پروتئوس کار نمیکنه و ولتاژ خروجیش کلا صفره.
کدم اینه:
#include <mega32.h>
// SPI functions
#include <spi.h>
#include <delay.h>
#include <stdio.h>
// Declare your global variables here
void main(void)
{
PORTB=0x00;
DDRB=0xB0;
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 4000.000 kHz
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=0x54;
SPSR=0x00;
while (1)
{
spi(0x0000);
delay_ms(1000);
spi(0x7FFF);
delay_ms(1000);
}
}
من با کدویژن کار میکنم
نیاز به یه خروجی آنالوگ دارم که بین 0 تا 10 ولت باشه و میخوام بدمش به ابنورتر برای کنترل دور موتور. از این آیسی MCP4921 به این دلیل استفاده کردم که تعداد پایه هام کم نیاد.
حالا هر کاری میکنم توی پروتئوس کار نمیکنه و ولتاژ خروجیش کلا صفره.
کدم اینه:
#include <mega32.h>
// SPI functions
#include <spi.h>
#include <delay.h>
#include <stdio.h>
// Declare your global variables here
void main(void)
{
PORTB=0x00;
DDRB=0xB0;
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 4000.000 kHz
// SPI Clock Phase: Cycle Half
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=0x54;
SPSR=0x00;
while (1)
{
spi(0x0000);
delay_ms(1000);
spi(0x7FFF);
delay_ms(1000);
}
}
دیدگاه