File: p16F690.mcu

package info (click to toggle)
simulide 1.1.0.1912%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 37,824 kB
  • sloc: cpp: 115,472; xml: 5,718; sh: 23; makefile: 19
file content (85 lines) | stat: -rw-r--r-- 3,500 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!DOCTYPE SimulIDE>

<mcu name="p16F690" core="Pic14" data="512" prog="4096" progword="2" eeprom="256"
            inst_cycle="4" freq="20000000">
            
    <include file="pic/pic14_regs.xml" />
    <include file="p16F685/p16F685_regs.xml" />
    
    <!-- BANK 0 -->
      <regblock name="SFR0" start="0x001E" end="0x001F" >
        <register name="TMR2"    addr="0x11" />
        <register name="T2CON"   addr="0x12" mask="01111111"
                  bits="T2CKPS0,T2CKPS1,TMR2ON,TOUTPS0,TOUTPS1,TOUTPS2,TOUTPS3"/>
                  
        <register name="SSPBUF"  addr="0x13" />
        <register name="SSPCON"  addr="0x14" 
                  bits="SSPM0,SSPM1,SSPM2,SSPM3,CKP,SSPEN,SSPOV,WCOL" />
        
        <register name="CCPR1L"  addr="0x15" bits=""/>
        <register name="CCPR1H"  addr="0x16" bits=""/>
        <register name="CCP1CON" addr="0x17" 
                  bits="CCP1M0,CCP1M1,CCP1M2,CCP1M3,DC1B0,DC1B1,P1M0,P1M1"/>
                  
        <register name="RCSTA"   addr="0x18" mask="11111000"
                  bits="RX9D,OERR,FERR,ADEN,CREN,SREN,RX9,SPEN"/>
                  
        <register name="TXREG"   addr="0x19" bits=""/>
        <register name="RCREG"   addr="0x1A" bits=""/>
        
        <register name="PWM1CON" addr="0x1C"
                  bits="PDC0,PDC1,PDC2,PDC3,PDC4,PDC5,PRSEN" />
                  
        <register name="ECCPAS"  addr="0x1D" 
                  bits="PSSBD0,PSSBD1,PSSAC0,PSSAC1,ECCPAS0,ECCPAS1,ECCPAS2,ECCPASE"/>
      </regblock>
      
    <!-- BANK 1 -->
      <regblock name="SFR1" start="0x009E" end="0x0009F" >
        <register name="PR2"     addr="0x92" bits="" reset="11111111"/>
        <register name="SSPADD"  addr="0x93" />
        <register name="SSPSTAT" addr="0x94" 
                  bits="BF,UA,RW,S_P,DA_STOP,CKE,SMP" />
                  
        <register name="TXSTA"   addr="0x98" reset="00000010" mask="11111101"
                  bits="TX9D,TRMT,BRGH,SENB,SYNC,TXEN,TX9,CSRC"/>
                  
        <register name="SPBRG"   addr="0x99" />
        <register name="SPBRGH"  addr="0x9A" />
        <register name="BAUDCTL" addr="0x187" reset="01000010" mask="11011011"
                  bits="ABDEN,WUE,0,BRG16,SCKP,0,RCIDL,ABDOVF"/>
      </regblock>
    
    <!-- BANK 2 -->
      <regblock name="SFR2" start="0x0100" end="0x010F">
        <register name="EEDATH"  addr="0x10E" />
        <register name="EEADRH"  addr="0x10F" />
      </regblock>
    
    <!-- BANK 3 -->
      <regblock name="SFR3" start="0x0180" end="0x018F">
        <register name="PSTRCON" addr="0x19D" reset="00000001" mask="00011111"
                  bits="STRA,STRB,STRC,STRD,STRSYNC"/>
      </regblock>
      
    <include file="p16F685/p16F685_int.xml" />
    
    <include file="p16F685/p16F685_perif.xml" />
    
    <timer name="TIMER2" type="820" configregsA="T2CON" configregsB="PR2"
                   counter="TMR2"
                   interrupt="T2_MATCH"
                   prescalers="1,4,16,16"/>
                   
    <ccpunit name="CCP+1" type="01" configregsA="CCP1CON"
                       ccpreg="CCPR1L,CCPR1H"
                       pin="PORTC2"
                       interrupt="CCP1" />
                   
    <usart name="USART0"  number="1" configregsA="TXSTA" configregsB="RCSTA"
                        interrupt="USART_T">

      <trunit type="tx" pin="PORTB7" register="TXREG"/>
      <trunit type="rx" pin="PORTB5" register="RCREG" interrupt="USART_R" />
    </usart>
</mcu>