[an error occurred while processing this directive]
Кто с c8051f120 работал
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Blackbird 19 июня 2006 г. 12:33

Короче есть в устройстве и на c8051f120k одна и та же фигня не могу заставить порты P4-P6 выдавать данные на выход торчат голимые единицы упорно. В общем приехали - думал в плате они повредились - но на эвалюэйшн боард та же фигня а там я их не трогал в принципе . Вот листинг того чем пробую - мож туплю где. Конфигурил проты встроенной в IDE конфигурялкой которая сразу листинг дает - может и она глючит ? короче все внизу:
#include "c8051F120.h"

// Peripheral specific initialization functions,
// Called from the Init_Device() function
void Reset_Sources_Init()
{
WDTCN = 0xDE;
WDTCN = 0xAD;
}

void Port_IO_Init()
{
// P0.0 - TX0 (UART0), Open-Drain, Digital
// P0.1 - RX0 (UART0), Open-Drain, Digital
// P0.2 - TX1 (UART1), Open-Drain, Digital
// P0.3 - RX1 (UART1), Open-Drain, Digital
// P0.4 - Unassigned, Open-Drain, Digital
// P0.5 - Unassigned, Open-Drain, Digital
// P0.6 - Unassigned, Open-Drain, Digital
// P0.7 - Unassigned, Open-Drain, Digital

// P1.0 - Unassigned, Push-Pull, Digital
// P1.1 - Unassigned, Push-Pull, Digital
// P1.2 - Unassigned, Push-Pull, Digital
// P1.3 - Unassigned, Open-Drain, Digital
// P1.4 - Unassigned, Open-Drain, Digital
// P1.5 - Unassigned, Open-Drain, Digital
// P1.6 - Unassigned, Open-Drain, Digital
// P1.7 - Unassigned, Open-Drain, Digital

// P2.0 - Unassigned, Push-Pull, Digital
// P2.1 - Unassigned, Push-Pull, Digital
// P2.2 - Unassigned, Push-Pull, Digital
// P2.3 - Unassigned, Open-Drain, Digital
// P2.4 - Unassigned, Open-Drain, Digital
// P2.5 - Unassigned, Open-Drain, Digital
// P2.6 - Unassigned, Open-Drain, Digital
// P2.7 - Unassigned, Open-Drain, Digital

// P3.0 - Unassigned, Push-Pull, Digital
// P3.1 - Unassigned, Push-Pull, Digital
// P3.2 - Unassigned, Push-Pull, Digital
// P3.3 - Unassigned, Push-Pull, Digital
// P3.4 - Unassigned, Open-Drain, Digital
// P3.5 - Unassigned, Open-Drain, Digital
// P3.6 - Unassigned, Open-Drain, Digital
// P3.7 - Unassigned, Push-Pull, Digital

SFRPAGE = CONFIG_PAGE;
P1MDOUT = 0x07;
P2MDOUT = 0x07;
P3MDOUT = 0x8F;
P4MDOUT = 0xFF;
P5MDOUT = 0xFF;
P6MDOUT = 0x1F;
XBR0 = 0x04;
XBR2 = 0xC4;
}

void Oscillator_Init()
{
int i = 0;
SFRPAGE = CONFIG_PAGE;
OSCXCN = 0x67;
for (i = 0; i < 3000; i++); // Wait 1ms for initialization
while ((OSCXCN & 0x80) == 0);
PLL0CN = 0x04;
SFRPAGE = LEGACY_PAGE;
FLSCL = 0xB0;
SFRPAGE = CONFIG_PAGE;
PLL0CN |= 0x01;
PLL0DIV = 0x01;
PLL0FLT = 0x01;
PLL0MUL = 0x04;
for (i = 0; i < 15; i++); // Wait 5us for initialization
PLL0CN |= 0x02;
while ((PLL0CN & 0x10) == 0);
CLKSEL = 0x02;
OSCICN = 0x00;
}

void Timer_Init()
{
SFRPAGE = TIMER01_PAGE;
TMOD = 0x20;
CKCON = 0x02;
TL1 = 0x01;
TH1 = 0xA0;
SFRPAGE = TMR2_PAGE;
TMR2CF = 0x08;
RCAP2L = 0xD0;
RCAP2H = 0xFF;
SFRPAGE = TMR4_PAGE;
TMR4CN = 0x04;
TMR4CF = 0x0A;
RCAP4L = 0x34;
RCAP4H = 0x53;
}

void UART_Init()
{
SFRPAGE = UART0_PAGE;
SCON0 = 0x50;
SSTA0 = 0x15;
SFRPAGE = UART1_PAGE;
SCON1 = 0x50;
}

void ADC_Init()
{
SFRPAGE = ADC0_PAGE;
ADC0CN = 0x80;
}

void Interrupts_Init()
{
IE = 0x1A;
IP = 0x02;
EIE2 = 0x40;
}

// Initialization function for device,
// Call Init_Device() from your main program
void Init_Device(void)
{
Reset_Sources_Init();
Port_IO_Init();
Oscillator_Init();
Timer_Init();
UART_Init();
ADC_Init();
Interrupts_Init();
}

void main(void)
{
int a,b;
Init_Device();
do
{

for(a=0;a<255;a++)
{
P2=a;
P6=a;
P4=a;
P5=a;
P3=a;
for(b=0;b<10000;b++)
{
}
}

}while(1);
}
дополнительные установки на UART и прочая фигня пока не в счет до этого еще не добрался . Эх первый раз такая фигня на других контроллерах блин все сконфигуришь и работает не выпендриваеться. Да еще скажу - фапч сконфигурена под евал боард егойный в устройстве просто кварц другой стоит . Но лучше или хуже не стало . В общем кто чего умного скажет или просто поправьте чоб заработало - дальше какнить сам допру .

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru