atmega32hvbrevb.pp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530
  1. unit ATmega32HVBrevB;
  2. interface
  3. var
  4. PINA: byte absolute $20; // Port A Input Pins
  5. DDRA: byte absolute $21; // Port A Data Direction Register
  6. PORTA: byte absolute $22; // Port A Data Register
  7. PINB: byte absolute $23; // Port B Input Pins
  8. DDRB: byte absolute $24; // Port B Data Direction Register
  9. PORTB: byte absolute $25; // Port B Data Register
  10. PINC: byte absolute $26; // Port C Input Pins
  11. PORTC: byte absolute $28; // Port C Data Register
  12. TIFR0: byte absolute $35; // Timer/Counter Interrupt Flag register
  13. TIFR1: byte absolute $36; // Timer/Counter Interrupt Flag register
  14. OSICSR: byte absolute $37; // Oscillator Sampling Interface Control and Status Register
  15. PCIFR: byte absolute $3B; // Pin Change Interrupt Flag Register
  16. EIFR: byte absolute $3C; // External Interrupt Flag Register
  17. EIMSK: byte absolute $3D; // External Interrupt Mask Register
  18. GPIOR0: byte absolute $3E; // General Purpose IO Register 0
  19. EECR: byte absolute $3F; // EEPROM Control Register
  20. EEDR: byte absolute $40; // EEPROM Data Register
  21. EEAR: word absolute $41; // EEPROM Read/Write Access
  22. EEARL: byte absolute $41; // EEPROM Read/Write Access
  23. EEARH: byte absolute $42; // EEPROM Read/Write Access;
  24. GTCCR: byte absolute $43; // General Timer/Counter Control Register
  25. TCCR0A: byte absolute $44; // Timer/Counter 0 Control Register A
  26. TCCR0B: byte absolute $45; // Timer/Counter0 Control Register B
  27. TCNT0: word absolute $46; // Timer Counter 0 Bytes
  28. TCNT0L: byte absolute $46; // Timer Counter 0 Bytes
  29. TCNT0H: byte absolute $47; // Timer Counter 0 Bytes;
  30. OCR0A: byte absolute $48; // Output Compare Register 0A
  31. OCR0B: byte absolute $49; // Output Compare Register B
  32. GPIOR1: byte absolute $4A; // General Purpose IO Register 1
  33. GPIOR2: byte absolute $4B; // General Purpose IO Register 2
  34. SPCR: byte absolute $4C; // SPI Control Register
  35. SPSR: byte absolute $4D; // SPI Status Register
  36. SPDR: byte absolute $4E; // SPI Data Register
  37. SMCR: byte absolute $53; // Sleep Mode Control Register
  38. MCUSR: byte absolute $54; // MCU Status Register
  39. MCUCR: byte absolute $55; // MCU Control Register
  40. SPMCSR: byte absolute $57; // Store Program Memory Control and Status Register
  41. SP: word absolute $5D; // Stack Pointer
  42. SPL: byte absolute $5D; // Stack Pointer
  43. SPH: byte absolute $5E; // Stack Pointer ;
  44. SREG: byte absolute $5F; // Status Register
  45. WDTCSR: byte absolute $60; // Watchdog Timer Control Register
  46. CLKPR: byte absolute $61; // Clock Prescale Register
  47. PRR0: byte absolute $64; // Power Reduction Register 0
  48. FOSCCAL: byte absolute $66; // Fast Oscillator Calibration Value
  49. PCICR: byte absolute $68; // Pin Change Interrupt Control Register
  50. EICRA: byte absolute $69; // External Interrupt Control Register
  51. PCMSK0: byte absolute $6B; // Pin Change Enable Mask Register 0
  52. PCMSK1: byte absolute $6C; // Pin Change Enable Mask Register 1
  53. TIMSK0: byte absolute $6E; // Timer/Counter Interrupt Mask Register
  54. TIMSK1: byte absolute $6F; // Timer/Counter Interrupt Mask Register
  55. VADC: word absolute $78; // VADC Data Register Bytes
  56. VADCL: byte absolute $78; // VADC Data Register Bytes
  57. VADCH: byte absolute $79; // VADC Data Register Bytes;
  58. VADCSR: byte absolute $7A; // The VADC Control and Status register
  59. VADMUX: byte absolute $7C; // The VADC multiplexer Selection Register
  60. DIDR0: byte absolute $7E; // Digital Input Disable Register
  61. TCCR1A: byte absolute $80; // Timer/Counter 1 Control Register A
  62. TCCR1B: byte absolute $81; // Timer/Counter1 Control Register B
  63. TCNT1: word absolute $84; // Timer Counter 1 Bytes
  64. TCNT1L: byte absolute $84; // Timer Counter 1 Bytes
  65. TCNT1H: byte absolute $85; // Timer Counter 1 Bytes;
  66. OCR1A: byte absolute $88; // Output Compare Register 1A
  67. OCR1B: byte absolute $89; // Output Compare Register B
  68. TWBR: byte absolute $B8; // TWI Bit Rate register
  69. TWSR: byte absolute $B9; // TWI Status Register
  70. TWAR: byte absolute $BA; // TWI (Slave) Address register
  71. TWDR: byte absolute $BB; // TWI Data register
  72. TWCR: byte absolute $BC; // TWI Control Register
  73. TWAMR: byte absolute $BD; // TWI (Slave) Address Mask Register
  74. TWBCSR: byte absolute $BE; // TWI Bus Control and Status Register
  75. ROCR: byte absolute $C8; // Regulator Operating Condition Register
  76. BGCCR: byte absolute $D0; // Bandgap Calibration Register
  77. BGCRR: byte absolute $D1; // Bandgap Calibration of Resistor Ladder
  78. BGCSR: byte absolute $D2; // Bandgap Control and Status Register
  79. CHGDCSR: byte absolute $D4; // Charger Detect Control and Status Register
  80. CADAC0: byte absolute $E0; // ADC Accumulate Current
  81. CADAC1: byte absolute $E1; // ADC Accumulate Current
  82. CADAC2: byte absolute $E2; // ADC Accumulate Current
  83. CADAC3: byte absolute $E3; // ADC Accumulate Current
  84. CADIC: word absolute $E4; // CC-ADC Instantaneous Current
  85. CADICL: byte absolute $E4; // CC-ADC Instantaneous Current
  86. CADICH: byte absolute $E5; // CC-ADC Instantaneous Current;
  87. CADCSRA: byte absolute $E6; // CC-ADC Control and Status Register A
  88. CADCSRB: byte absolute $E7; // CC-ADC Control and Status Register B
  89. CADCSRC: byte absolute $E8; // CC-ADC Control and Status Register C
  90. CADRCC: byte absolute $E9; // CC-ADC Regular Charge Current
  91. CADRDC: byte absolute $EA; // CC-ADC Regular Discharge Current
  92. FCSR: byte absolute $F0; // FET Control and Status Register
  93. CBCR: byte absolute $F1; // Cell Balancing Control Register
  94. BPIMSK: byte absolute $F2; // Battery Protection Interrupt Mask Register
  95. BPIFR: byte absolute $F3; // Battery Protection Interrupt Flag Register
  96. BPSCD: byte absolute $F5; // Battery Protection Short-Circuit Detection Level Register
  97. BPDOCD: byte absolute $F6; // Battery Protection Discharge-Over-current Detection Level Register
  98. BPCOCD: byte absolute $F7; // Battery Protection Charge-Over-current Detection Level Register
  99. BPDHCD: byte absolute $F8; // Battery Protection Discharge-High-current Detection Level Register
  100. BPCHCD: byte absolute $F9; // Battery Protection Charge-High-current Detection Level Register
  101. BPSCTR: byte absolute $FA; // Battery Protection Short-current Timing Register
  102. BPOCTR: byte absolute $FB; // Battery Protection Over-current Timing Register
  103. BPHCTR: byte absolute $FC; // Battery Protection Short-current Timing Register
  104. BPCR: byte absolute $FD; // Battery Protection Control Register
  105. BPPLR: byte absolute $FE; // Battery Protection Parameter Lock Register
  106. const
  107. // Port A Data Register
  108. PA0 = $00;
  109. PA1 = $01;
  110. PA2 = $02;
  111. PA3 = $03;
  112. // Port B Data Register
  113. PB0 = $00;
  114. PB1 = $01;
  115. PB2 = $02;
  116. PB3 = $03;
  117. PB4 = $04;
  118. PB5 = $05;
  119. PB6 = $06;
  120. PB7 = $07;
  121. // Port C Data Register
  122. PC0 = $00;
  123. PC1 = $01;
  124. PC2 = $02;
  125. PC3 = $03;
  126. PC4 = $04;
  127. PC5 = $05;
  128. // Timer/Counter Interrupt Flag register
  129. TOV0 = $00;
  130. OCF0A = $01;
  131. OCF0B = $02;
  132. ICF0 = $03;
  133. // Timer/Counter Interrupt Flag register
  134. TOV1 = $00;
  135. OCF1A = $01;
  136. OCF1B = $02;
  137. ICF1 = $03;
  138. // Oscillator Sampling Interface Control and Status Register
  139. OSIEN = $00;
  140. OSIST = $01;
  141. OSISEL0 = $04;
  142. // Pin Change Interrupt Flag Register
  143. PCIF0 = $00; // Pin Change Interrupt Flags
  144. PCIF1 = $01; // Pin Change Interrupt Flags
  145. // External Interrupt Flag Register
  146. INTF0 = $00; // External Interrupt Flags
  147. INTF1 = $01; // External Interrupt Flags
  148. INTF2 = $02; // External Interrupt Flags
  149. INTF3 = $03; // External Interrupt Flags
  150. // External Interrupt Mask Register
  151. INT0 = $00; // External Interrupt Request 3 Enable
  152. INT1 = $01; // External Interrupt Request 3 Enable
  153. INT2 = $02; // External Interrupt Request 3 Enable
  154. INT3 = $03; // External Interrupt Request 3 Enable
  155. // EEPROM Control Register
  156. EERE = $00;
  157. EEPE = $01;
  158. EEMPE = $02;
  159. EERIE = $03;
  160. EEPM0 = $04;
  161. EEPM1 = $05;
  162. // General Timer/Counter Control Register
  163. PSRSYNC = $00;
  164. TSM = $07;
  165. // Timer/Counter 0 Control Register A
  166. WGM00 = $00;
  167. ICS0 = $03;
  168. ICES0 = $04;
  169. ICNC0 = $05;
  170. ICEN0 = $06;
  171. TCW0 = $07;
  172. // Timer/Counter0 Control Register B
  173. CS00 = $00;
  174. CS01 = $01;
  175. CS02 = $02;
  176. // SPI Control Register
  177. SPR0 = $00; // SPI Clock Rate Selects
  178. SPR1 = $01; // SPI Clock Rate Selects
  179. CPHA = $02;
  180. CPOL = $03;
  181. MSTR = $04;
  182. DORD = $05;
  183. SPE = $06;
  184. SPIE = $07;
  185. // SPI Status Register
  186. SPI2X = $00;
  187. WCOL = $06;
  188. SPIF = $07;
  189. // Sleep Mode Control Register
  190. SE = $00;
  191. SM0 = $01; // Sleep Mode Select bits
  192. SM1 = $02; // Sleep Mode Select bits
  193. SM2 = $03; // Sleep Mode Select bits
  194. // MCU Status Register
  195. PORF = $00;
  196. EXTRF = $01;
  197. BODRF = $02;
  198. WDRF = $03;
  199. OCDRF = $04;
  200. // MCU Control Register
  201. IVCE = $00;
  202. IVSEL = $01;
  203. PUD = $04;
  204. CKOE = $05;
  205. // Store Program Memory Control and Status Register
  206. SPMEN = $00;
  207. PGERS = $01;
  208. PGWRT = $02;
  209. LBSET = $03;
  210. RWWSRE = $04;
  211. SIGRD = $05;
  212. RWWSB = $06;
  213. SPMIE = $07;
  214. // Status Register
  215. C = $00;
  216. Z = $01;
  217. N = $02;
  218. V = $03;
  219. S = $04;
  220. H = $05;
  221. T = $06;
  222. I = $07;
  223. // Watchdog Timer Control Register
  224. WDE = $03;
  225. WDCE = $04;
  226. WDP0 = $00; // Watchdog Timer Prescaler Bits
  227. WDP1 = $01; // Watchdog Timer Prescaler Bits
  228. WDP2 = $02; // Watchdog Timer Prescaler Bits
  229. WDP3 = $05; // Watchdog Timer Prescaler Bits
  230. WDIE = $06;
  231. WDIF = $07;
  232. // Clock Prescale Register
  233. CLKPS0 = $00; // Clock Prescaler Select Bits
  234. CLKPS1 = $01; // Clock Prescaler Select Bits
  235. CLKPCE = $07;
  236. // Power Reduction Register 0
  237. PRVADC = $00;
  238. PRTIM0 = $01;
  239. PRTIM1 = $02;
  240. PRSPI = $03;
  241. PRVRM = $05;
  242. PRTWI = $06;
  243. // Pin Change Interrupt Control Register
  244. PCIE0 = $00; // Pin Change Interrupt Enables
  245. PCIE1 = $01; // Pin Change Interrupt Enables
  246. // External Interrupt Control Register
  247. ISC00 = $00; // External Interrupt Sense Control 0 Bits
  248. ISC01 = $01; // External Interrupt Sense Control 0 Bits
  249. ISC10 = $02; // External Interrupt Sense Control 1 Bits
  250. ISC11 = $03; // External Interrupt Sense Control 1 Bits
  251. ISC20 = $04; // External Interrupt Sense Control 2 Bits
  252. ISC21 = $05; // External Interrupt Sense Control 2 Bits
  253. ISC30 = $06; // External Interrupt Sense Control 3 Bits
  254. ISC31 = $07; // External Interrupt Sense Control 3 Bits
  255. // Timer/Counter Interrupt Mask Register
  256. TOIE0 = $00;
  257. OCIE0A = $01;
  258. OCIE0B = $02;
  259. ICIE0 = $03;
  260. // Timer/Counter Interrupt Mask Register
  261. TOIE1 = $00;
  262. OCIE1A = $01;
  263. OCIE1B = $02;
  264. ICIE1 = $03;
  265. // The VADC Control and Status register
  266. VADCCIE = $00;
  267. VADCCIF = $01;
  268. VADSC = $02;
  269. VADEN = $03;
  270. // The VADC multiplexer Selection Register
  271. VADMUX0 = $00; // Analog Channel and Gain Selection Bits
  272. VADMUX1 = $01; // Analog Channel and Gain Selection Bits
  273. VADMUX2 = $02; // Analog Channel and Gain Selection Bits
  274. VADMUX3 = $03; // Analog Channel and Gain Selection Bits
  275. // Digital Input Disable Register
  276. PA0DID = $00;
  277. PA1DID = $01;
  278. // Timer/Counter 1 Control Register A
  279. WGM10 = $00;
  280. ICS1 = $03;
  281. ICES1 = $04;
  282. ICNC1 = $05;
  283. ICEN1 = $06;
  284. TCW1 = $07;
  285. // Timer/Counter1 Control Register B
  286. CS10 = $00; // Clock Select1 bis
  287. CS11 = $01; // Clock Select1 bis
  288. CS12 = $02; // Clock Select1 bis
  289. // TWI Status Register
  290. TWPS0 = $00; // TWI Prescaler
  291. TWPS1 = $01; // TWI Prescaler
  292. TWS3 = $03; // TWI Status
  293. TWS4 = $04; // TWI Status
  294. TWS5 = $05; // TWI Status
  295. TWS6 = $06; // TWI Status
  296. TWS7 = $07; // TWI Status
  297. // TWI (Slave) Address register
  298. TWGCE = $00;
  299. TWA0 = $01; // TWI (Slave) Address register Bits
  300. TWA1 = $02; // TWI (Slave) Address register Bits
  301. TWA2 = $03; // TWI (Slave) Address register Bits
  302. TWA3 = $04; // TWI (Slave) Address register Bits
  303. TWA4 = $05; // TWI (Slave) Address register Bits
  304. TWA5 = $06; // TWI (Slave) Address register Bits
  305. TWA6 = $07; // TWI (Slave) Address register Bits
  306. // TWI Control Register
  307. TWIE = $00;
  308. TWEN = $02;
  309. TWWC = $03;
  310. TWSTO = $04;
  311. TWSTA = $05;
  312. TWEA = $06;
  313. TWINT = $07;
  314. // TWI (Slave) Address Mask Register
  315. TWAM0 = $01;
  316. TWAM1 = $02;
  317. TWAM2 = $03;
  318. TWAM3 = $04;
  319. TWAM4 = $05;
  320. TWAM5 = $06;
  321. TWAM6 = $07;
  322. // TWI Bus Control and Status Register
  323. TWBCIP = $00;
  324. TWBDT0 = $01; // TWI Bus Disconnect Time-out Period
  325. TWBDT1 = $02; // TWI Bus Disconnect Time-out Period
  326. TWBCIE = $06;
  327. TWBCIF = $07;
  328. // Regulator Operating Condition Register
  329. ROCWIE = $00;
  330. ROCWIF = $01;
  331. ROCD = $04;
  332. ROCS = $07;
  333. // Bandgap Calibration Register
  334. BGCC0 = $00; // BG Calibration of PTAT Current Bits
  335. BGCC1 = $01; // BG Calibration of PTAT Current Bits
  336. BGCC2 = $02; // BG Calibration of PTAT Current Bits
  337. BGCC3 = $03; // BG Calibration of PTAT Current Bits
  338. BGCC4 = $04; // BG Calibration of PTAT Current Bits
  339. BGCC5 = $05; // BG Calibration of PTAT Current Bits
  340. // Bandgap Control and Status Register
  341. BGSCDIE = $00;
  342. BGSCDIF = $01;
  343. BGSCDE = $04;
  344. BGD = $05;
  345. // Charger Detect Control and Status Register
  346. CHGDIE = $00;
  347. CHGDIF = $01;
  348. CHGDISC0 = $02; // Charger Detect Interrupt Sense Control
  349. CHGDISC1 = $03; // Charger Detect Interrupt Sense Control
  350. BATTPVL = $04;
  351. // CC-ADC Control and Status Register A
  352. CADSE = $00;
  353. CADSI0 = $01; // The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined.
  354. CADSI1 = $02; // The CADSI bits determine the current sampling interval for the Regular Current detection in Power-down mode. The actual settings remain to be determined.
  355. CADAS0 = $03; // CC_ADC Accumulate Current Select Bits
  356. CADAS1 = $04; // CC_ADC Accumulate Current Select Bits
  357. CADUB = $05;
  358. CADPOL = $06;
  359. CADEN = $07;
  360. // CC-ADC Control and Status Register B
  361. CADICIF = $00;
  362. CADRCIF = $01;
  363. CADACIF = $02;
  364. CADICIE = $04;
  365. CADRCIE = $05;
  366. CADACIE = $06;
  367. // CC-ADC Control and Status Register C
  368. CADVSE = $00;
  369. // FET Control and Status Register
  370. CFE = $00;
  371. DFE = $01;
  372. CPS = $02;
  373. DUVRD = $03;
  374. // Cell Balancing Control Register
  375. CBE1 = $00; // Cell Balancing Enables
  376. CBE2 = $01; // Cell Balancing Enables
  377. CBE3 = $02; // Cell Balancing Enables
  378. CBE4 = $03; // Cell Balancing Enables
  379. // Battery Protection Interrupt Mask Register
  380. CHCIE = $00;
  381. DHCIE = $01;
  382. COCIE = $02;
  383. DOCIE = $03;
  384. SCIE = $04;
  385. // Battery Protection Interrupt Flag Register
  386. CHCIF = $00;
  387. DHCIF = $01;
  388. COCIF = $02;
  389. DOCIF = $03;
  390. SCIF = $04;
  391. // Battery Protection Control Register
  392. CHCD = $00;
  393. DHCD = $01;
  394. COCD = $02;
  395. DOCD = $03;
  396. SCD = $04;
  397. EPID = $05;
  398. // Battery Protection Parameter Lock Register
  399. BPPL = $00;
  400. BPPLE = $01;
  401. implementation
  402. {$i avrcommon.inc}
  403. procedure BPINT_ISR; external name 'BPINT_ISR'; // Interrupt 1 Battery Protection Interrupt
  404. procedure VREGMON_ISR; external name 'VREGMON_ISR'; // Interrupt 2 Voltage regulator monitor interrupt
  405. procedure INT0_ISR; external name 'INT0_ISR'; // Interrupt 3 External Interrupt Request 0
  406. procedure INT1_ISR; external name 'INT1_ISR'; // Interrupt 4 External Interrupt Request 1
  407. procedure INT2_ISR; external name 'INT2_ISR'; // Interrupt 5 External Interrupt Request 2
  408. procedure INT3_ISR; external name 'INT3_ISR'; // Interrupt 6 External Interrupt Request 3
  409. procedure PCINT0_ISR; external name 'PCINT0_ISR'; // Interrupt 7 Pin Change Interrupt 0
  410. procedure PCINT1_ISR; external name 'PCINT1_ISR'; // Interrupt 8 Pin Change Interrupt 1
  411. procedure WDT_ISR; external name 'WDT_ISR'; // Interrupt 9 Watchdog Timeout Interrupt
  412. procedure BGSCD_ISR; external name 'BGSCD_ISR'; // Interrupt 10 Bandgap Buffer Short Circuit Detected
  413. procedure CHDET_ISR; external name 'CHDET_ISR'; // Interrupt 11 Charger Detect
  414. procedure TIMER1_IC_ISR; external name 'TIMER1_IC_ISR'; // Interrupt 12 Timer 1 Input capture
  415. procedure TIMER1_COMPA_ISR; external name 'TIMER1_COMPA_ISR'; // Interrupt 13 Timer 1 Compare Match A
  416. procedure TIMER1_COMPB_ISR; external name 'TIMER1_COMPB_ISR'; // Interrupt 14 Timer 1 Compare Match B
  417. procedure TIMER1_OVF_ISR; external name 'TIMER1_OVF_ISR'; // Interrupt 15 Timer 1 overflow
  418. procedure TIMER0_IC_ISR; external name 'TIMER0_IC_ISR'; // Interrupt 16 Timer 0 Input Capture
  419. procedure TIMER0_COMPA_ISR; external name 'TIMER0_COMPA_ISR'; // Interrupt 17 Timer 0 Comapre Match A
  420. procedure TIMER0_COMPB_ISR; external name 'TIMER0_COMPB_ISR'; // Interrupt 18 Timer 0 Compare Match B
  421. procedure TIMER0_OVF_ISR; external name 'TIMER0_OVF_ISR'; // Interrupt 19 Timer 0 Overflow
  422. procedure TWIBUSCD_ISR; external name 'TWIBUSCD_ISR'; // Interrupt 20 Two-Wire Bus Connect/Disconnect
  423. procedure TWI_ISR; external name 'TWI_ISR'; // Interrupt 21 Two-Wire Serial Interface
  424. procedure SPI_STC_ISR; external name 'SPI_STC_ISR'; // Interrupt 22 SPI Serial transfer complete
  425. procedure VADC_ISR; external name 'VADC_ISR'; // Interrupt 23 Voltage ADC Conversion Complete
  426. procedure CCADC_CONV_ISR; external name 'CCADC_CONV_ISR'; // Interrupt 24 Coulomb Counter ADC Conversion Complete
  427. procedure CCADC_REG_CUR_ISR; external name 'CCADC_REG_CUR_ISR'; // Interrupt 25 Coloumb Counter ADC Regular Current
  428. procedure CCADC_ACC_ISR; external name 'CCADC_ACC_ISR'; // Interrupt 26 Coloumb Counter ADC Accumulator
  429. procedure EE_READY_ISR; external name 'EE_READY_ISR'; // Interrupt 27 EEPROM Ready
  430. procedure SPM_ISR; external name 'SPM_ISR'; // Interrupt 28 SPM Ready
  431. procedure _FPC_start; assembler; nostackframe; noreturn; public name '_START'; section '.init';
  432. asm
  433. jmp __dtors_end
  434. jmp BPINT_ISR
  435. jmp VREGMON_ISR
  436. jmp INT0_ISR
  437. jmp INT1_ISR
  438. jmp INT2_ISR
  439. jmp INT3_ISR
  440. jmp PCINT0_ISR
  441. jmp PCINT1_ISR
  442. jmp WDT_ISR
  443. jmp BGSCD_ISR
  444. jmp CHDET_ISR
  445. jmp TIMER1_IC_ISR
  446. jmp TIMER1_COMPA_ISR
  447. jmp TIMER1_COMPB_ISR
  448. jmp TIMER1_OVF_ISR
  449. jmp TIMER0_IC_ISR
  450. jmp TIMER0_COMPA_ISR
  451. jmp TIMER0_COMPB_ISR
  452. jmp TIMER0_OVF_ISR
  453. jmp TWIBUSCD_ISR
  454. jmp TWI_ISR
  455. jmp SPI_STC_ISR
  456. jmp VADC_ISR
  457. jmp CCADC_CONV_ISR
  458. jmp CCADC_REG_CUR_ISR
  459. jmp CCADC_ACC_ISR
  460. jmp EE_READY_ISR
  461. jmp SPM_ISR
  462. .weak BPINT_ISR
  463. .weak VREGMON_ISR
  464. .weak INT0_ISR
  465. .weak INT1_ISR
  466. .weak INT2_ISR
  467. .weak INT3_ISR
  468. .weak PCINT0_ISR
  469. .weak PCINT1_ISR
  470. .weak WDT_ISR
  471. .weak BGSCD_ISR
  472. .weak CHDET_ISR
  473. .weak TIMER1_IC_ISR
  474. .weak TIMER1_COMPA_ISR
  475. .weak TIMER1_COMPB_ISR
  476. .weak TIMER1_OVF_ISR
  477. .weak TIMER0_IC_ISR
  478. .weak TIMER0_COMPA_ISR
  479. .weak TIMER0_COMPB_ISR
  480. .weak TIMER0_OVF_ISR
  481. .weak TWIBUSCD_ISR
  482. .weak TWI_ISR
  483. .weak SPI_STC_ISR
  484. .weak VADC_ISR
  485. .weak CCADC_CONV_ISR
  486. .weak CCADC_REG_CUR_ISR
  487. .weak CCADC_ACC_ISR
  488. .weak EE_READY_ISR
  489. .weak SPM_ISR
  490. .set BPINT_ISR, Default_IRQ_handler
  491. .set VREGMON_ISR, Default_IRQ_handler
  492. .set INT0_ISR, Default_IRQ_handler
  493. .set INT1_ISR, Default_IRQ_handler
  494. .set INT2_ISR, Default_IRQ_handler
  495. .set INT3_ISR, Default_IRQ_handler
  496. .set PCINT0_ISR, Default_IRQ_handler
  497. .set PCINT1_ISR, Default_IRQ_handler
  498. .set WDT_ISR, Default_IRQ_handler
  499. .set BGSCD_ISR, Default_IRQ_handler
  500. .set CHDET_ISR, Default_IRQ_handler
  501. .set TIMER1_IC_ISR, Default_IRQ_handler
  502. .set TIMER1_COMPA_ISR, Default_IRQ_handler
  503. .set TIMER1_COMPB_ISR, Default_IRQ_handler
  504. .set TIMER1_OVF_ISR, Default_IRQ_handler
  505. .set TIMER0_IC_ISR, Default_IRQ_handler
  506. .set TIMER0_COMPA_ISR, Default_IRQ_handler
  507. .set TIMER0_COMPB_ISR, Default_IRQ_handler
  508. .set TIMER0_OVF_ISR, Default_IRQ_handler
  509. .set TWIBUSCD_ISR, Default_IRQ_handler
  510. .set TWI_ISR, Default_IRQ_handler
  511. .set SPI_STC_ISR, Default_IRQ_handler
  512. .set VADC_ISR, Default_IRQ_handler
  513. .set CCADC_CONV_ISR, Default_IRQ_handler
  514. .set CCADC_REG_CUR_ISR, Default_IRQ_handler
  515. .set CCADC_ACC_ISR, Default_IRQ_handler
  516. .set EE_READY_ISR, Default_IRQ_handler
  517. .set SPM_ISR, Default_IRQ_handler
  518. end;
  519. end.