BTC USD 86,477.3 Gold USD 4,342.75
Time now: Jun 1, 12:00 AM

C programming utk pic

wanirham

Fun Poster
Messages
182
Joined
Sep 26, 2011
Messages
182
Reaction score
0
Points
10
saper kat sini pakar psal c programming bag pic. aku ada buat project psal multiple input using spi communication via pic16f887a.Aku stuck bila nak extend i/0

kat bwah nie ada penjelasan pasal project nie

The shift register chain

How it works

A block diagram of the shift register chain is shown below:

http://robots.freehostia.com/Software/ShiftRegister/ShiftRegisterBody.html

The shift register chain is made up of a number of output shift register devices (74HC595 or 74HC4094s) and a number of input shift register devices (74HC165). Both these chips are 8-bits wide, so the number of inputs and outputs available will be a multiple of 8. Only as many devices as are required may be fitted.
 
Last edited:
nie ler program yang aku pkai, bole cuba tgk2

main()
{
int i,j,k;

p=0;k=0;

pic_init();
spi_init();
uart_init();

for(;;)
{

if(RD7==1)
{

for(i=0;i<8;i++)
{
intvalue=spi_read('I');
uart_decimal_string(sum);


//read_value(intvalue);

if(i==7)
{
if(intvalue > 0)
{
sum = intvalue;
}

if(intvalue==sum)
{
sum=sum;
}



}

}
}


else
{
reset_array();
}

}
}
 
tak pernah try program pic, tapi boleh jugak nak cuba..

boleh terangkan apa yang maksudkan dengan extend i/o??
 
tak pernah try program pic, tapi boleh jugak nak cuba..

boleh terangkan apa yang maksudkan dengan extend i/o??

nak tambah i/o(input n ouput) sbb pic ada limited i/o, sbb tu pkai cara nie
 
nie coding yg diringkaskn


for( ; ; )
{

if(RD7==1)
{
for(i=0;i<8;i++)
{
intvalue=spi_read('I');
SS=0;
SS=1;

if(i==7)
{

//read_value(intvalue);

if(intvalue > 0)
{
sum = intvalue;
}

if(intvalue==sum)
{
sum=sum;
}


uart_decimal_string(sum);

}

}

for(i=0;i<8;i++)
{
intvalue=spi_read('I');
SS2=0;
SS2=1;

if(i==7)
{

//read_value(intvalue);

if(intvalue > 0)
{
sum = intvalue;
}

if(intvalue==sum)
{
sum=sum;
}


uart_decimal_string(sum);

}

}


}
 
Hmmm...aku nak tlg tp aku lebih pada C++ dan Qt. Psl pic ni pun aku tak tau sgt. Nape tak guna wrap code bila paste kod kat sini? senang sikit nak bc.

Mcm ni:
Code:
#include <QComboBox>

int main(char x, int y) {
// Kod kat sini

return 0;
}
 
Hmmm...aku nak tlg tp aku lebih pada C++ dan Qt. Psl pic ni pun aku tak tau sgt. Nape tak guna wrap code bila paste kod kat sini? senang sikit nak bc.

Mcm ni:
Code:
#include <QComboBox>

int main(char x, int y) {
// Kod kat sini

return 0;
}

ok, nie code yg ringkas skit
Code:
[COLOR="Blue"]
if(RD7==1)
{
	for(i=0;i<8;i++)
        {
	intvalue=spi_read('I');  //read dari serial data in
	SS=0;  // pulse utk trigger
	SS=1;

	if(i==7) // 8 bit pertama
	{
	//compare nilai decimal dlm serial
	if(intvalue > 0)
	{
	  sum = intvalue;
	}

	if(intvalue==sum)
	{
	  sum=sum;
        }

	//send to pc via rs232						     uart_decimal_string(sum);	

	}

}[/COLOR]
 
Back
Top
Log in Register