Update of /cvsroot/pure-data/externals/hardware/arduino/PICduino
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31093/PICduino
Added Files:
P16F767.INC f767duino.HEX f767duino.asm f767duino.mcw
picduino.png
Log Message:
The PIC version of the arduino
--- NEW FILE: f767duino.HEX ---
:020000040000FA
:020000002A28AC
:08000800F1000308F2000A08F0
:10001000F3008C1E1F28831218080639031D26289A
:100020000408F000560884001A0880007008840054
:10003000D60A50305606031D1F284030D6007308DC
:100040008A0072088300F10E710E090018121A0856
:1000500018161F28A001A101A201A301A401A50156
:10006000A601A701A801A901AA010130AB00063031
:10007000AC004030D600D700F701F80186018701B7
:10008000FF3083168500F4008600F5008700F60037
:1000900083129420D1015108D2000030D3000821EE
:1000A000D10A0E305102031C4B28953083169F0055
:1000B000831280309F00283083169B0083121F1408
:1000C0007E202B1C6B2897308E200730A2207E20AC
:1000D0000030A2207E20AD012C082D0203186028DC
:1000E000CE24A1302D078E202F0D2E0D07398E2006
:1000F0002F087F398E207E20AD0A6C2856085706BF
:10010000031908005708840000081F22D70A50303E
:100110005706031D7E284030D7007E288316981C82
:100120008F2883129900080083162F309900181524
:1001300083129817831698168C16831218160B17AD
:100140008B170800DA01D900D100D501D4010314BE
:10015000D50DD40DD1080319B828D103A828D10A88
:10016000073051060319C328D90A0310D50DD40D41
:1001700026085505031DAF2825085405031DAF2883
:100180008524DA0CAF280310DA0C5A088E200800F8
:10019000871B03140800071B03140800871A0314A5
:1001A0000800071A0314080087190314080006182A
:1001B00003140800061A03140800861B0314080021
:1001C000061B03140800861A0314080007190314F9
:1001D000080087180314080007180314080086187D
:1001E000031408008530FE288D30FE289530FE2847
:1001F000A530FE288730FE288F30FE289F001F196B
:10020000FF281E08AE0083161E088312AF000800E8
:1002100000305306031D4D29982C26102810F61780
:1002200076088316870083120800A610A810761798
:10023000102926112811F6161029A611A8117616D4
:10024000102926122812F6151029A612A8127514C4
:100250007508831686008312080026132813751666
:100260002829A613A813F517282925102710751774
:100270002829A510A710F51628292511271176156C
:100280001029A511A711F61410292512271276148A
:100290001029A512A712F5142829013053060319B5
:1002A0008429AA2C0800080026152811F612102906
:1002B000A615A8117612102926162812F611102953
:1002C000A616A81275102829261728137512282992
:1002D000A617A813F5132829251427107513282904
:1002E000A514A710F5122829251527117611102914
:1002F000A515A711F610102925162712761010291A
:10030000A516A712F5102829023053060319080074
:10031000BC2C0800080026152815F6121029A61571
:10032000A8157612102926162816F6111029A616D9
:10033000A816751028292617281775122829A61718
:10034000A817F51328292514271475132829A5148F
:10035000A714F51228292515271576111029A5159A
:10036000A715F61010292516271676101029A516A0
:10037000A716F51028297808870008007708860056
:100380000800F817031CF813BB297817031C78130F
:10039000BB29F816031CF812BB297816031C781227
:1003A000BB29F815031CF811BB297714031C77101F
:1003B000BE297716031C7712BE29F717031CF71303
:1003C000BE297717031C7713BE29F716031CF712F3
:1003D000BE297815031C7811BB29F814031CF810EA
:1003E000BB297814031C7810BB29F714031CF710E1
:1003F000BE29AB0108002B14080003010A2A0130B2
:100400000A2A02300A2A03300A2A04300A2A05304E
:100410000A2A0630AC0008000230A0005808A100EB
:1004200008000130A0005808A100080024140800AA
:10043000F0308E2000308E2001308E200800D80051
:10044000A0080319462AA003223020078400580878
:100450008000A10803190800A008031D0800D82C7B
:100460002308D2000230D3000821442A2208D200F7
:100470000030D3000821442A2308D2000230D300E0
:100480000821442A442A442AA1010800D81B002C30
:100490002808FF3A2605D5002708FF3A2505D4008D
:1004A000241C7E2AD51F582A031058180314DD2156
:1004B000541C5E2A0310D8180314E121D41C642AAA
:1004C000031058190314E521541D6A2A0310D81982
:1004D0000314E921D41D702A0310581A0314ED21C6
:1004E000541E762A0310D81A0314F121D41E7C2A34
:1004F0000310581B0314F521A4010800551C842A7D
:10050000031058180314C121D51C8A2A0310D818C7
:100510000314C521551D902A031058190314C9212D
:10052000D51D962A0310D8190314CD21551E9C2AD7
:100530000310581A0314D121D51EA22A0310D81A69
:100540000314D521551FA82A0310581B0314D921C1
:020550000800A1
:1008000004308A0058087F398207080008000D2943
:10081000152919291D29212925292D29312935296C
:1008200039293D294129452949290800080008009E
:10083000080008000800F929FB2908000800080042
:1008400008000800080008000800FD29FF29012A07
:10085000032A052A072A092A0800080008000800B8
:100860000800080008000800080008000800080048
:100870000800080008000800080008000800080038
:100880000800080008000800080008000800080028
:1008900008000800080008000800522953295429BC
:1008A00058295C296029642968296C2970297429D0
:1008B00078297C2980290800080008000800080021
:1008C00008000800080008000800080008000800E8
:1008D00008000800162A08000800080008000800A0
:1008E00008000800080008000800182A080008008E
:1008F0000800080008000800080008000800112A85
:100900000C2A112A0C2A112A080004308A005908DE
:1009100003108207C828CB28CE28D128D428D7286E
:10092000DA28DD28E028E328E628E928EC28EF2863
:1009300004308A00520882070D29152919291D291A
:10094000212925292D293129352939293D294129CF
:100950004529492904308A0052088207522953291F
:10096000542958295C296029642968296C2970292F
:10097000742978297C29802904308A00520882074A
:1009800089298A298B298F29932997299B299F298E
:10099000A329A729AB29AF29B329B72904308A0095
:1009A0002D088207F228F428F628F828FA28FC28CF
:1009B00004308A00FA3021028207362A302A422A7D
:0409C0003C2A432A60
:02400E00A23FCF
:02401000BC3FB3
:00000001FF
--- NEW FILE: P16F767.INC ---
LIST
; P16F767.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
NOLIST
; This header file defines configurations, registers, and other useful bits of
; information for the PIC16F767 microcontroller. These names are taken to match
; the data sheets as closely as possible.
; Note that the processor must be selected before this file is
; included. The processor may be selected the following ways:
; 1. Command line switch:
; C:\ MPASM MYFILE.ASM /PIC16F767
; 2. LIST directive in the source file
; LIST P=PIC16F767
; 3. Processor Type entry in the MPASM full-screen interface
;==========================================================================
;
; Revision History
;
;==========================================================================
;Rev: Date: Reason:
;1.00 05/05/03 Initial Release
;1.01 10/21/03 Made changes to Program Memory register names.
;1.02 04/07/04 Added INT0IE & INT0IF bit names.
;==========================================================================
;
; Verify Processor
;
;==========================================================================
IFNDEF __16F767
MESSG "Processor-header file mismatch. Verify selected processor."
ENDIF
;==========================================================================
;
; Register Definitions
;
;==========================================================================
W EQU H'0000'
F EQU H'0001'
;----- Register Files------------------------------------------------------
INDF EQU H'0000'
TMR0 EQU H'0001'
PCL EQU H'0002'
STATUS EQU H'0003'
FSR EQU H'0004'
PORTA EQU H'0005'
PORTB EQU H'0006'
PORTC EQU H'0007'
PORTE EQU H'0009'
PCLATH EQU H'000A'
INTCON EQU H'000B'
PIR1 EQU H'000C'
PIR2 EQU H'000D'
TMR1L EQU H'000E'
TMR1H EQU H'000F'
T1CON EQU H'0010'
TMR2 EQU H'0011'
T2CON EQU H'0012'
SSPBUF EQU H'0013'
SSPCON EQU H'0014'
CCPR1L EQU H'0015'
CCPR1H EQU H'0016'
CCP1CON EQU H'0017'
RCSTA EQU H'0018'
TXREG EQU H'0019'
RCREG EQU H'001A'
CCPR2L EQU H'001B'
CCPR2H EQU H'001C'
CCP2CON EQU H'001D'
ADRESH EQU H'001E'
ADCON0 EQU H'001F'
OPTION_REG EQU H'0081'
TRISA EQU H'0085'
TRISB EQU H'0086'
TRISC EQU H'0087'
TRISE EQU H'0089'
PIE1 EQU H'008C'
PIE2 EQU H'008D'
PCON EQU H'008E'
OSCCON EQU H'008F'
OSCTUNE EQU H'0090'
SSPCON2 EQU H'0091'
PR2 EQU H'0092'
SSPADD EQU H'0093'
SSPSTAT EQU H'0094'
CCPR3L EQU H'0095'
CCPR3H EQU H'0096'
CCP3CON EQU H'0097'
TXSTA EQU H'0098'
SPBRG EQU H'0099'
ADCON2 EQU H'009B'
CMCON EQU H'009C'
CVRCON EQU H'009D'
ADRESL EQU H'009E'
ADCON1 EQU H'009F'
WDTCON EQU H'0105'
LVDCON EQU H'0109'
PMDATA EQU H'010C'
PMADR EQU H'010D'
PMDATH EQU H'010E'
PMADRH EQU H'010F'
PMCON1 EQU H'018C'
;----- STATUS Bits --------------------------------------------------------
IRP EQU H'0007'
RP1 EQU H'0006'
RP0 EQU H'0005'
NOT_TO EQU H'0004'
NOT_PD EQU H'0003'
Z EQU H'0002'
DC EQU H'0001'
C EQU H'0000'
;----- INTCON Bits --------------------------------------------------------
GIE EQU H'0007'
PEIE EQU H'0006'
T0IE EQU H'0005'
TMR0IE EQU H'0005'
INTE EQU H'0004'
INT0IE EQU H'0004'
RBIE EQU H'0003'
T0IF EQU H'0002'
TMR0IF EQU H'0002'
INTF EQU H'0001'
INT0IF EQU H'0001'
RBIF EQU H'0000'
;----- PIR1 Bits ----------------------------------------------------------
PSPIF EQU H'0007'
ADIF EQU H'0006'
RCIF EQU H'0005'
TXIF EQU H'0004'
SSPIF EQU H'0003'
CCP1IF EQU H'0002'
TMR2IF EQU H'0001'
TMR1IF EQU H'0000'
;----- PIR2 Bits ----------------------------------------------------------
OSFIF EQU H'0007'
CMIF EQU H'0006'
LVDIF EQU H'0005'
BCLIF EQU H'0003'
CCP3IF EQU H'0001'
CCP2IF EQU H'0000'
;----- T1CON Bits ---------------------------------------------------------
T1RUN EQU H'0006'
T1CKPS1 EQU H'0005'
T1CKPS0 EQU H'0004'
T1OSCEN EQU H'0003'
NOT_T1SYNC EQU H'0002'
T1INSYNC EQU H'0002' ; Backward compatibility only
T1SYNC EQU H'0002'
TMR1CS EQU H'0001'
TMR1ON EQU H'0000'
;----- T2CON Bits ---------------------------------------------------------
TOUTPS3 EQU H'0006'
TOUTPS2 EQU H'0005'
TOUTPS1 EQU H'0004'
TOUTPS0 EQU H'0003'
TMR2ON EQU H'0002'
T2CKPS1 EQU H'0001'
T2CKPS0 EQU H'0000'
;----- SSPCON Bits --------------------------------------------------------
WCOL EQU H'0007'
SSPOV EQU H'0006'
SSPEN EQU H'0005'
CKP EQU H'0004'
SSPM3 EQU H'0003'
SSPM2 EQU H'0002'
SSPM1 EQU H'0001'
SSPM0 EQU H'0000'
;----- CCP1CON Bits -------------------------------------------------------
CCP1X EQU H'0005'
CCP1Y EQU H'0004'
CCP1M3 EQU H'0003'
CCP1M2 EQU H'0002'
CCP1M1 EQU H'0001'
CCP1M0 EQU H'0000'
;----- RCSTA Bits ---------------------------------------------------------
SPEN EQU H'0007'
RX9 EQU H'0006'
RC9 EQU H'0006' ; Backward compatibility only
NOT_RC8 EQU H'0006' ; Backward compatibility only
RC8_9 EQU H'0006' ; Backward compatibility only
SREN EQU H'0005'
CREN EQU H'0004'
ADDEN EQU H'0003'
FERR EQU H'0002'
OERR EQU H'0001'
RX9D EQU H'0000'
RCD8 EQU H'0000' ; Backward compatibility only
;----- CCP2CON Bits -------------------------------------------------------
CCP2X EQU H'0005'
CCP2Y EQU H'0004'
CCP2M3 EQU H'0003'
CCP2M2 EQU H'0002'
CCP2M1 EQU H'0001'
CCP2M0 EQU H'0000'
;----- ADCON0 Bits --------------------------------------------------------
ADCS1 EQU H'0007'
ADCS0 EQU H'0006'
CHS2 EQU H'0005'
CHS1 EQU H'0004'
CHS0 EQU H'0003'
GO EQU H'0002'
NOT_DONE EQU H'0002'
GO_DONE EQU H'0002'
CHS3 EQU H'0001'
ADON EQU H'0000'
;----- OPTION_REG Bits -----------------------------------------------------
NOT_RBPU EQU H'0007'
INTEDG EQU H'0006'
T0CS EQU H'0005'
T0SE EQU H'0004'
PSA EQU H'0003'
PS2 EQU H'0002'
PS1 EQU H'0001'
PS0 EQU H'0000'
;----- TRISE Bits ---------------------------------------------------------
IBF EQU H'0007'
OBF EQU H'0006'
IBOV EQU H'0005'
PSPMODE EQU H'0004'
TRISE3 EQU H'0003'
TRISE2 EQU H'0002'
TRISE1 EQU H'0001'
TRISE0 EQU H'0000'
;----- PIE1 Bits ----------------------------------------------------------
PSPIE EQU H'0007'
ADIE EQU H'0006'
RCIE EQU H'0005'
TXIE EQU H'0004'
SSPIE EQU H'0003'
CCP1IE EQU H'0002'
TMR2IE EQU H'0001'
TMR1IE EQU H'0000'
;----- PIE2 Bits ----------------------------------------------------------
OSFIE EQU H'0007'
CMIE EQU H'0006'
LVDIE EQU H'0005'
BCLIE EQU H'0003'
CCP3IE EQU H'0001'
CCP2IE EQU H'0000'
;----- PCON Bits ----------------------------------------------------------
SBOREN EQU H'0002'
NOT_POR EQU H'0001'
NOT_BO EQU H'0000'
NOT_BOR EQU H'0000'
;----- OSCCON Bits -------------------------------------------------------
IRCF2 EQU H'0006'
IRCF1 EQU H'0005'
IRCF0 EQU H'0004'
OSTS EQU H'0003'
IOFS EQU H'0002'
SCS1 EQU H'0001'
SCS0 EQU H'0000'
;----- OSCTUNE Bits -------------------------------------------------------
TUN5 EQU H'0005'
TUN4 EQU H'0004'
TUN3 EQU H'0003'
TUN2 EQU H'0002'
TUN1 EQU H'0001'
TUN0 EQU H'0000'
;----- SSPCON2 Bits --------------------------------------------------------
GCEN EQU H'0007'
ACKSTAT EQU H'0006'
ACKDT EQU H'0005'
ACKEN EQU H'0004'
RCEN EQU H'0003'
PEN EQU H'0002'
RSEN EQU H'0001'
SEN EQU H'0000'
;----- SSPSTAT Bits -------------------------------------------------------
SMP EQU H'0007'
CKE EQU H'0006'
D EQU H'0005'
I2C_DATA EQU H'0005'
NOT_A EQU H'0005'
NOT_ADDRESS EQU H'0005'
D_A EQU H'0005'
DATA_ADDRESS EQU H'0005'
P EQU H'0004'
I2C_STOP EQU H'0004'
S EQU H'0003'
I2C_START EQU H'0003'
R EQU H'0002'
I2C_READ EQU H'0002'
NOT_W EQU H'0002'
NOT_WRITE EQU H'0002'
R_W EQU H'0002'
READ_WRITE EQU H'0002'
UA EQU H'0001'
BF EQU H'0000'
;----- CCP3CON Bits -------------------------------------------------------
CCP3X EQU H'0005'
CCP3Y EQU H'0004'
CCP3M3 EQU H'0003'
CCP3M2 EQU H'0002'
CCP3M1 EQU H'0001'
CCP3M0 EQU H'0000'
;----- TXSTA Bits ---------------------------------------------------------
CSRC EQU H'0007'
TX9 EQU H'0006'
NOT_TX8 EQU H'0006' ; Backward compatibility only
TX8_9 EQU H'0006' ; Backward compatibility only
TXEN EQU H'0005'
SYNC EQU H'0004'
BRGH EQU H'0002'
TRMT EQU H'0001'
TX9D EQU H'0000'
TXD8 EQU H'0000' ; Backward compatibility only
;----- ADCON2 Bits ---------------------------------------------------------
ACQT2 EQU H'0005'
ACQT1 EQU H'0004'
ACQT0 EQU H'0003'
;----- CMCON Bits ---------------------------------------------------------
C2OUT EQU H'0007'
C1OUT EQU H'0006'
C2INV EQU H'0005'
C1INV EQU H'0004'
CIS EQU H'0003'
CM2 EQU H'0002'
CM1 EQU H'0001'
CM0 EQU H'0000'
;----- CVRCON Bits --------------------------------------------------------
CVREN EQU H'0007'
CVROE EQU H'0006'
CVRR EQU H'0005'
CVR3 EQU H'0003'
CVR2 EQU H'0002'
CVR1 EQU H'0001'
CVR0 EQU H'0000'
;----- ADCON1 Bits --------------------------------------------------------
ADFM EQU H'0007'
ADCS2 EQU H'0006'
VCFG1 EQU H'0005'
VCFG0 EQU H'0004'
PCFG3 EQU H'0003'
PCFG2 EQU H'0002'
PCFG1 EQU H'0001'
PCFG0 EQU H'0000'
;----- WDTCON Bits --------------------------------------------------------
WDTPS3 EQU H'0004'
WDTPS2 EQU H'0003'
WDTPS1 EQU H'0002'
WDTPS0 EQU H'0001'
SWDTEN EQU H'0000'
SWDTE EQU H'0000'
;----- LVDCON Bits --------------------------------------------------------
IRVST EQU H'0005'
LVDEN EQU H'0004'
LVDL3 EQU H'0003'
LVDL2 EQU H'0002'
LVDL1 EQU H'0001'
LVDL0 EQU H'0000'
;----- PMCON1 Bits --------------------------------------------------------
RD EQU H'0000'
;==========================================================================
;
; RAM Definition
;
;==========================================================================
__MAXRAM H'1FF'
__BADRAM H'08'
__BADRAM H'88', H'9A'
__BADRAM H'107'-H'108'
__BADRAM H'185', H'187'-H'189', H'18D'-H'18F'
;==========================================================================
;
; Configuration Bits
;
;==========================================================================
_CONFIG1 EQU H'2007'
_CONFIG2 EQU H'2008'
;Configuration Byte 1 Options
_CP_ALL EQU H'1FFF'
_CP_OFF EQU H'3FFF'
_CCP2_RC1 EQU H'3FFF'
_CCP2_RB3 EQU H'2FFF'
_DEBUG_OFF EQU H'3FFF'
_DEBUG_ON EQU H'37FF'
_VBOR_2_0 EQU H'3FFF'
_VBOR_2_7 EQU H'3F7F'
_VBOR_4_2 EQU H'3EFF'
_VBOR_4_5 EQU H'3E7F'
_BOREN_1 EQU H'3FFF' ;MUST BE CONFIGURED IN CONJUCTION W/ BORSEN (CONFIG2)
_BOREN_0 EQU H'3FBF' ;MUST BE CONFIGURED IN CONJUCTION W/ BORSEN (CONFIG2)
_MCLR_ON EQU H'3FFF'
_MCLR_OFF EQU H'3FDF'
_PWRTE_OFF EQU H'3FFF'
_PWRTE_ON EQU H'3FF7'
_WDT_ON EQU H'3FFF'
_WDT_OFF EQU H'3FFB'
_EXTRC_CLKOUT EQU H'3FFF'
_EXTRC_IO EQU H'3FFE'
_INTRC_CLKOUT EQU H'3FFD'
_INTRC_IO EQU H'3FFC'
_EXTCLK EQU H'3FEF'
_HS_OSC EQU H'3FEE'
_XT_OSC EQU H'3FED'
_LP_OSC EQU H'3FEC'
;Configuration Byte 2 Options
_BORSEN_1 EQU H'3FFF' ;MUST BE CONFIGURED IN CONJUCTION W/ BOREN (CONFIG1)
_BORSEN_0 EQU H'3FBF' ;MUST BE CONFIGURED IN CONJUCTION W/ BOREN (CONFIG1)
_IESO_ON EQU H'3FFF'
_IESO_OFF EQU H'3FFD'
_FCMEN_ON EQU H'3FFF'
_FCMEN_OFF EQU H'3FFE'
;**** Brown-out Reset configurations **** (Refer to the 16F7x7 Data Sheet for more details)
;BOREN_1 & BORSEN_1 = BOR enabled and always on
;BOREN_1 & BORSEN_0 = BOR enabled during operation and disabled during sleep by hardware
;BOREN_0 & BORSEN_1 = BOR controlled by software bit SBOREN (PCON,2)
;BOREN_0 & BORSEN_0 = BOR disabled
; To use the Configuration Bits, place the following lines in your source code
; in the following format, and change the configuration value to the desired
; setting (such as CP_OFF to CP_ALL). These are currently commented out here
; and each __CONFIG line should have the preceding semicolon removed when
; pasted into your source code.
;Program Configuration Register 1
; __CONFIG _CONFIG1, _CP_OFF & _CCP2_RC1 & _DEBUG_OFF & _VBOR_2_0 & BOREN_1 & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC
;Program Configuration Register 2
; __CONFIG _CONFIG2, _BORSEN_1 & _IESO_OFF & _FCMEN_OFF
LIST
--- NEW FILE: f767duino.mcw ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: picduino.png ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: f767duino.asm ---
;********************************************************
; *
; Filename: f767duino.asm *
; Date: 20061016 *
; File Version: 0.6 *
; Fixed a bug in receive interrupt handler and *
; buffer increment *
; Date: 20061012 *
; File Version: 0.5 *
; Using shadow registers for tris *
; registers to avoid bcf and bsf instructions *
; Date: 20061012 *
; File Version: 0.4 *
; Fixed another bug. Digital out still doesn't *
; work. Next try using shadow registers for tris *
; registers to avoid bcf and bsf instructions *
; Date: 20061011 *
; File Version: 0.3 *
; fixed a couple of bugs. Now analog input works *
[...1771 lines suppressed...]
goto analogRead5
; -------------------------------------------------------------------------
doMultiByteCommand
; switch(executeMultiByteCommand)
; {
movlw HIGH mbctab
movwf PCLATH
movlw DISABLE_PWM ; 250
subwf executeMultiByteCommand,w ; remove offset of 250
addwf PCL,f
mbctab
goto mb_disablePwm ; 250
goto mb_enablePwm ; 251
goto mb_disableSoftPwm ; 252
goto mb_enableSoftPwm ; 253
goto mb_setSoftPwmFreq ; 254
; -------------------------------------------------------------------------
;
END ; directive 'end of program'