Would you like to react to this message? Create an account in a few clicks or log in to continue.

You are not connected. Please login or register

Test of package pic16f1826 failed with following source code

2 posters

Go down  Message [Page 1 of 1]

Olaf



I create Hex-file on Debian and Windows 10 with code blocks.
After then i loaded Hex-file by Firmware menu on Pic16f1826 on simulide. There's no signal on RB0 and RA2.
Can someone help me?

Test of package pic16f1826 failed with following source code:



/*
*  Microcontroller: 16F1827 @ 32MHz
*  Board: Breadboard
*  File:  dac.c
*  Lernsituation: Alarmanlage
*  Sinussignale @ 649Hz und 476Hz
*/

#include
#include

//Sinussignale

char sin649[22]={16,20,24,28,30,31,31,30,28,24,20,16,12,8,4,2,1,1,2,4,8,12}; //649Hz

char sin476[30]={16,19,22,25,27,29,30,31,31,30,29,27,25,22,19,16,13,10,7,5,3,2,1,1,2,3,5,7,10,13}; //476Hz


// CONFIG REGISTER 1 settings
__code unsigned short int __at (_CONFIG1) __configword1 =//(_CONFIG1) (0x8007)
_FOSC_INTOSC  & // Oscillator Selection INTOSC oscillator: I/O function on CLKIN pin
_WDTE_OFF     & // Watchdog Timer disabled
_PWRTE_OFF    & // Power-up Timer disabled
_MCLRE_ON     & // MCLR Reset enabled
_CP_OFF       & // Flash Program Memory Code Protection Program memory code protection is disabled
_BOREN_OFF    &   // Brown-out reset disabled
_IESO_OFF     & // Internal-External switchover mode is disabled
_CLKOUTEN_OFF; // CLKOUT function is disabled

// CONFIG REGISTER 2 settings
__code unsigned short int __at (_CONFIG2) __configword2 =//(_CONFIG2) (0x8008)
_PLLEN_ON    & // 4xPLL-enable ON
_STVREN_ON   & // Stack Overflow/Underflow Reset Enable
_BORV_LO     &         // Brown out reset voltage low trip point selected
_DEBUG_OFF   &         // Background debugger disabled
_LVP_ON; // Low voltage programming enabled

//Input
//#define TASTER_1 RA2 // Macro definition

//Output
#define PROBE  RB0

//Constants
#define ON  1
#define OFF 0
#define PRESSED   1
#define UNPRESSED 0

//Global variables
char counter=0;

static void irqHandler(void) __interrupt 0
{
if(T0IF)
{
PROBE = 1;
DACCON1=sin649[counter++];  // 649Hz
//DACCON1=sin476[counter++];  // 476Hz
TMR0 = 118; // Berechnet: TMR0 = 116;
T0IF=0;
//Für 649Hz
if(counter==22)
counter=0;
//Für 476Hz
//if(counter==30)
// counter=0;
PROBE = 0;
}
}

void main(void)
{
int i=0;
// OSCCON-Reg. on page 65 (datasheet PIC16F127)
// OSCCON-Reg. on page 65 (datasheet PIC16F127)
   OSCCON=0b01110000; // Bit 7:  0 SPLLEN is ignored
                                                                       // Bit6-3: 1110 16F1827 (8MHz + PLL ON) = 32MHz
                                                                       // Bit2:   Unimplemented
                                                                       // Bit1=0,Bit0=0:Clock implemented by FOSC<2:0> in config. word 1

   FVRCON=0b10001000;


                                                                       // Bit1-0: 00 Internal oscillator (word 1)

DACCON0=0b11101000; // DACCON-Reg. on page 156 (datasheet PIC 16F1827)
// Bit 7:  1 = DAC is enabled
// BIT 6:  1 = DAC positive reference source selected
// Bit 5:  1 = DAC voltage level is also an output  on the DACOUT pin
// Bit 4:  Unimplemented
// Bit 3-2:10=FVRBUFFER2
// Bit 1:  Unimplemented
// Bit 0:  0=VSS

// TRIS-Reg. on page 122 (datasheet PIC16F1827)
TRISA=0b11111011; // RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0
                                                                       //  1   1   1   1   1   0   1   1
// 0=Output
                                                                       // 1=Input
                                                                       // RA2=DACOUT+

// TRIS-Reg. on page 122 (datasheet PIC16F1827)
TRISB=0b11111110; // RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
                                                                       //  1   1   1   1   1   1   1   1
// 0=Output
                                                                       // 1=Input
                                                                       // RB0=Probe

// OPTION Reg. on page 176 (datasheet PIC16F1827)
OPTION_REG=0b11000001;                                           // BIT2=0,BIT1=0,BIT0=1 Prescaler at 1:4
// BIT3=0 PSA=0 Prescaler is assigned to the Timer0 module
// BIT4=0 Increment on low-to-high transition
// BIT5=0 TMR0 CLock select bit: Internal instruction cycle clock (FOSC/4)
// BIT6=1 Interrupt on rising edge of INT pin
// BIT7=0 Weak pull ups are enabled by WPUx-Register vaule

// ANSELA-Reg. (ADC) on page 123 (datasheet PIC16F1827)
ANSELA=0b00000000; // 7 6 5   4    3    2     1     0     BIT
                                                                       // - - -  RA4  RA3   RA2   RA1   RA0
                                                                       // 1 = Analog
                                                                       // 0 = Digital

// ANSELB-Reg. on page 128 (datasheet PIC16F1827)
ANSELB=0b00000000; //  7   6   5   4   3   2   1   0     BIT
                                                                       // RB7 RB6 RB5 RB4 RB3 RB2 RB1  /
                                                                       // 1 = Analog
                                                                       // 0 = Digital

WPUA=0b00000000; // Weak pull up resistors PORTA disabled
WPUB=0b00000000; // Weak pull up resistors PORTB disabled


GIE=1;
TMR0IE=1;

PROBE = 0;
DACCON1=0;

while(1)
{
//Tut irgend etwas
for(i=0;i <2048; i++);
}
}

arcachofo

arcachofo

Hi.

DAC module is not implemented yet, this is why your code does nothing.

Olaf



I there some change the DAC Module will be implemented soon.

I've very grateful, if you can inform me about forder Implementation of DAC Module

Olaf



How could i see how modules are yet implemented ?
Is there some chance that the DAC Module will implemented soon?

arcachofo

arcachofo

How could i see how modules are yet implemented ?
For 16F1826 you can have a look to this file:
data/PIC/p16F182x/p16F182x_perif.xml

And this forum discussion:
https://simulide.forumotion.com/t405-pic-enhanced-mid-range-core-and-16f1826

Is there some chance that the DAC Module will implemented soon?
Yes, there is some chance.
But depends on what you understand by "soon".
I will have a look.

Sponsored content



Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum