Ahoj, Mám MCU 16f877A a compiler MikroC.
Používám RTC Ds1307 a pro měření tlaku čidlo freescale mp3H6115A a pro měření teploty Sensirion SHT11.
když na displeji zobrazuji čas a tlak, tka je vše vpořádku, ale jakmile začnu měřit k tomu ještě teplotu a tlak pomocí čidla SHT11, tak to vypadá jako by se mi MCU pořád dokola začal restartovat. na displeji se mi rychle problikává jen čas.
Nevíte někdo prosím vás co by mohlo být příčinou tohoto problému?
děkuji za všechny odpovědi.
[code]
void interrupt(void)
{
if(INTCON.T0IF) //přetekl timer?
{
cntr++ ;
INTCON.T0IF = 0 ;
}
}
void main(){
ADCON1= 0x82;
TRISA= 0xFF;
I2C1_Init(100000);
CMCON=0;
TRISC = 0xFF;
OPTION_REG=0x87; //preruseni od timeru 1:256
INTCON = 0xA0; //nastaveni
while(1)
{
//ctu cas z ds1307 a vypisu na lcd
if(cntr==1000){
INTCON.GIE = 0 ;
//ctu datum z ds1307 a vypisu na lcd
INTCON = 0xA0;
}
if(cntr==2000){
INTCON.GIE = 0 ;
//merim tlak pomoci A/D prevodniku s MP3H6115A a vypisu na lcd
INTCON = 0xA0;
}
if(cntr==3000){
INTCON.GIE = 0 ;
//merim teplotu a tlak s SHT11
INTCON = 0xA0;
cntr=0;
}
}
[/code]