Работа с компоратором ПИК

Поклонники продукции Microchip Technology Inc тусуются тут.
Закрыто
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Работа с компоратором ПИК

Сообщение RoboC »

В Протеусе все работает, в камне - нет. Почему, никто не подскажет?

Изображение

Hi-Tech, код под спойлером.
Спойлер

Код: Выделить всё

#include <pic.h>;
#include <htc.h>
//#include "lcd.h"


__CONFIG(FOSC_INTRC_NOCLKOUT & WDTE_OFF & MCLRE_OFF & PWRTE_OFF & CP_OFF & CPD_OFF & BOREN_OFF & IESO_OFF & FCMEN_OFF & LVP_OFF &  DEBUG_OFF );
__CONFIG( BOR4V_BOR21V & WRT_OFF );


#define ANOD_1      RC2
#define UPit      RA2

void delay_200ms(void);

void delay_5ms(void);

void main()
{	
unsigned int  b,k;


	OSCCON = 0X70;	// 8M crystal

	CM1CON0 =0;
	CM2CON0 =0;	

	ANSEL = 0b00000000;;
 	ANSELH = 0;
	WPUB = 0;

	TRISA = 0b11111011;
	PORTA = 0;

	TRISB = 0xff;
	PORTB = 0;

	TRISC = 0;
	PORTC = 0;


	CM1CON0 =0b10000000;;
	UPit =1;
	NOP();
	NOP();
	NOP();

  while(1)  // больше не засыпем  
   {
	if (C1OUT = 1)
	{
	  ANOD_1 =1;	
	}
	  else
	{
	 ANOD_1 =0;
	}	
 
   }
}

void delay_200ms(void)
{
	unsigned char j;
	for(j = 0; j<40; j++)
	{
		delay_5ms();	
	}	
}

void delay_5ms(void)
{
	int i;
	for(i = 0; i<650; i++)   // 85*5
	{
		;
	}	
}
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Работа с компоратором ПИК

Сообщение dosikus »

Код: Выделить всё

 if (C1OUT = 1)
Как это может где то работать ?
Классические грабли...
Реклама
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: Работа с компоратором ПИК

Сообщение RoboC »

Код: Выделить всё

 if (C1OUT = 1)
и так

Код: Выделить всё

 if (C1OUT)
работает и в камне, и в протеусе! Код полностью рабочий. Проблема была в соплях на монтажке...

Мои извинения :oops: .
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Работа с компоратором ПИК

Сообщение dosikus »

Сие верно

Код: Выделить всё

 if (C1OUT)
А это нет

Код: Выделить всё

 if (C1OUT = 1)
Ибо должно быть

Код: Выделить всё

 if (C1OUT == 1)
И разве компилятор не предупреждает об ошибке - присваивание в условие ???
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: Работа с компоратором ПИК

Сообщение RoboC »

HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.83

даже не заикнулся.

Хотя Вы совершенно правы, если бы бит в регистре был не только для чтения, то программа не работала бы...

Код: Выделить всё

;main.c: 49: if (C1OUT = 1)
	bcf	status, 5	;RP0=0, select bank2
	bsf	status, 6	;RP1=1, select bank2
	bsf	(2110/8)^0100h,(2110)&7    <<<<<<<<<<<<<<<<<<<<<<<<<<
	btfss	(2110/8)^0100h,(2110)&7
	goto	u2281
	goto	u2280
....

;main.c: 49: if (C1OUT == 1)
	bcf	status, 5	;RP0=0, select bank2
	bsf	status, 6	;RP1=1, select bank2
	btfss	(2110/8)^0100h,(2110)&7
	goto	u2281
	goto	u2280

У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Реклама
Закрыто

Вернуться в «PIC»