atm328p.inc 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  1. ;Internal I/O-Registers------------------------------------------------
  2. .equ SREG, 0x3f ;Intern
  3. .equ SPL, 0x3d ;Intern
  4. .equ SPH, 0x3e ;Intern
  5. .equ SPMCSR, 0x37 ;Intern
  6. .equ MCUCR, 0x35 ;Intern
  7. .equ MCUSR, 0x34 ;Intern
  8. .equ SMCR, 0x33 ;Intern
  9. .equ ACSR, 0x30 ;Intern
  10. .equ SPDR, 0x2e ;Intern
  11. .equ SPSR, 0x2d ;Intern
  12. .equ SPCR, 0x2c ;Intern
  13. .equ GPIOR2, 0x2b ;Intern
  14. .equ GPIOR1, 0x2a ;Intern
  15. .equ OCR0B, 0x28 ;Intern
  16. .equ OCR0A, 0x27 ;Intern
  17. .equ TCNT0, 0x26 ;Intern
  18. .equ TCCR0B, 0x25 ;Intern
  19. .equ TCCR0A, 0x24 ;Intern
  20. .equ GTCCR, 0x23 ;Intern
  21. .equ EEARH, 0x22 ;Intern
  22. .equ EEARL, 0x21 ;Intern
  23. .equ EEDR, 0x20 ;Intern
  24. .equ EECR, 0x1f ;Intern
  25. .equ GPIOR0, 0x1e ;Intern
  26. .equ EIMSK, 0x1d ;Intern
  27. .equ EIFR, 0x1c ;Intern
  28. .equ PCIFR, 0x1b ;Intern
  29. .equ TIFR2, 0x17 ;Intern
  30. .equ TIFR1, 0x16 ;Intern
  31. .equ TIFR0, 0x15 ;Intern
  32. .equ PORTD, 0x0b ;Intern
  33. .equ DDRD, 0x0a ;Intern
  34. .equ PIND, 0x09 ;Intern
  35. .equ PORTC, 0x08 ;Intern
  36. .equ DDRC, 0x07 ;Intern
  37. .equ PINC, 0x06 ;Intern
  38. .equ PORTB, 0x05 ;Intern
  39. .equ DDRB, 0x04 ;Intern
  40. .equ PINB, 0x03 ;Intern
  41. ;External I/O-Registers------------------------------------------------
  42. .equ UDR0, 0xc6 ;Extern
  43. .equ UBRR0L, 0xc4 ;Extern
  44. .equ UBRR0H, 0xc5 ;Extern
  45. .equ UCSR0C, 0xc2 ;Extern
  46. .equ UCSR0B, 0xc1 ;Extern
  47. .equ UCSR0A, 0xc0 ;Extern
  48. .equ TWAMR, 0xbd ;Extern
  49. .equ TWCR, 0xbc ;Extern
  50. .equ TWDR, 0xbb ;Extern
  51. .equ TWAR, 0xba ;Extern
  52. .equ TWSR, 0xb9 ;Extern
  53. .equ TWBR, 0xb8 ;Extern
  54. .equ ASSR, 0xb6 ;Extern
  55. .equ OCR2B, 0xb4 ;Extern
  56. .equ OCR2A, 0xb3 ;Extern
  57. .equ TCNT2, 0xb2 ;Extern
  58. .equ TCCR2B, 0xb1 ;Extern
  59. .equ TCCR2A, 0xb0 ;Extern
  60. .equ OCR1BL, 0x8a ;Extern
  61. .equ OCR1BH, 0x8b ;Extern
  62. .equ OCR1AL, 0x88 ;Extern
  63. .equ OCR1AH, 0x89 ;Extern
  64. .equ ICR1L, 0x86 ;Extern
  65. .equ ICR1H, 0x87 ;Extern
  66. .equ TCNT1L, 0x84 ;Extern
  67. .equ TCNT1H, 0x85 ;Extern
  68. .equ TCCR1C, 0x82 ;Extern
  69. .equ TCCR1B, 0x81 ;Extern
  70. .equ TCCR1A, 0x80 ;Extern
  71. .equ DIDR1, 0x7f ;Extern
  72. .equ DIDR0, 0x7e ;Extern
  73. .equ ADMUX, 0x7c ;Extern
  74. .equ ADCSRB, 0x7b ;Extern
  75. .equ ADCSRA, 0x7a ;Extern
  76. .equ ADCH, 0x79 ;Extern
  77. .equ ADCL, 0x78 ;Extern
  78. .equ TIMSK2, 0x70 ;Extern
  79. .equ TIMSK1, 0x6f ;Extern
  80. .equ TIMSK0, 0x6e ;Extern
  81. .equ PCMSK1, 0x6c ;Extern
  82. .equ PCMSK2, 0x6d ;Extern
  83. .equ PCMSK0, 0x6b ;Extern
  84. .equ EICRA, 0x69 ;Extern
  85. .equ PCICR, 0x68 ;Extern
  86. .equ OSCCAL, 0x66 ;Extern
  87. .equ PRR, 0x64 ;Extern
  88. .equ CLKPR, 0x61 ;Extern
  89. .equ WDTCSR, 0x60 ;Extern
  90. ;USART0-Interface------------------------------------------------------
  91. ;UCSR0A
  92. .equ MPCM0, 0 ;Multi-processor Communication Mode
  93. .equ U2X0, 1 ;Double the USART transmission speed
  94. .equ UPE0, 2 ;Parity Error
  95. .equ DOR0, 3 ;Data overRun
  96. .equ FE0, 4 ;Framing Error
  97. .equ UDRE0, 5 ;USART Data Register Empty
  98. .equ TXC0, 6 ;USART Transmitt Complete
  99. .equ RXC0, 7 ;USART Receive Complete
  100. ;UCSR0B
  101. .equ TXB80, 0 ;Transmit Data Bit 8
  102. .equ RXB80, 1 ;Receive Data Bit 8
  103. .equ UCSZ02, 2 ;Character Size
  104. .equ TXEN0, 3 ;Transmitter Enable
  105. .equ RXEN0, 4 ;Receiver Enable
  106. .equ UDRIE0, 5 ;USART Data register Empty Interrupt Enable
  107. .equ TXCIE0, 6 ;TX Complete Interrupt Enable
  108. .equ RXCIE0, 7 ;RX Complete Interrupt Enable
  109. ;UCSR0C
  110. .equ UCPOL0, 0 ;Clock Polarity
  111. .equ UCSZ00, 1 ;Character Size
  112. .equ UCSZ01, 2 ;Character Size
  113. .equ USBS0, 3 ;Stop Bit Select
  114. .equ UPM00, 4 ;Parity Mode Bit 0
  115. .equ UPM01, 5 ;Parity Mode Bit 1
  116. .equ UMSEL00,6 ;USART Mode Select
  117. .equ UMSEL01,7 ;USART Mode Select
  118. ;2Wire-Interface-------------------------------------------------------
  119. ;TWCR
  120. .equ TWIE, 0 ;TWI Interrupt Enable
  121. .equ TWEN, 2 ;TWI Enable Bit
  122. .equ TWWC, 3 ;TWI Write Collition Flag
  123. .equ TWSTO, 4 ;TWI Stop Condition Bit
  124. .equ TWSTA, 5 ;TWI Start Condition Bit
  125. .equ TWEA, 6 ;TWI Enable Acknowledge Bit
  126. .equ TWINT, 7 ;TWI Interrupt Flag
  127. ;TWSR
  128. .equ TWPS0, 0 ;TWI Prescaler
  129. .equ TWPS1, 1 ;TWI Prescaler
  130. .equ TWS3, 3 ;TWI Status
  131. .equ TWS4, 4 ;TWI Status
  132. .equ TWS5, 5 ;TWI Status
  133. .equ TWS6, 6 ;TWI Status
  134. .equ TWS7, 7 ;TWI Status
  135. ;TWAR
  136. .equ TWGCE, 0 ;TWI General Call Recognition Enable Bit
  137. ;Timer/Counter0-------------------------------------------------------
  138. ;TIMSK0
  139. .equ TOIE0, 0 ;Overflow Interrupt Enable
  140. .equ OCIE0A, 1 ;Output Compare Match A Interrupt Enable
  141. .equ OCIE0B, 2 ;Output Compare Match B Interrupt Enable
  142. ;TIFR0
  143. .equ TOV0, 0 ;Overflow Flag
  144. .equ OCF0A, 1 ;Output Compare Flag 0A
  145. .equ OCF0B, 2 ;Output Compare Flag 0B
  146. ;TCCR0A
  147. .equ WGM00, 0 ;Waveform Generation Mode
  148. .equ WGM01, 1 ;Waveform Generation Mode
  149. .equ COM0B0, 4 ;Compare Output Mode, Fast PWm
  150. .equ COM0B1, 5 ;Compare Output Mode, Fast PWm
  151. .equ COM0A0, 6 ;Compare Output Mode, Phase Correct PWM Mode
  152. .equ COM0A1, 7 ;Compare Output Mode, Phase Correct PWM Mode
  153. ;TCCR0B
  154. .equ CS00, 0 ;Clock Select
  155. .equ CS01, 1 ;Clock Select
  156. .equ CS02, 2 ;Clock Select
  157. .equ WGM02, 3 ;Waveform Generation Mode
  158. .equ FOC0B, 6 ;Force Output Compare B
  159. .equ FOC0A, 7 ;Force Output Compare A
  160. ;Timer/Counter1--------------------------------------------------------
  161. ;TIMSK1
  162. .equ TOIE1, 0 ;Overflow Interrupt Enable
  163. .equ OCIE1A, 1 ;Output CompareA Match Interrupt Enable
  164. .equ OCIE1B, 2 ;Output CompareB Match Interrupt Enable
  165. .equ ICIE1, 5 ;Input Capture Interrupt Enable
  166. ;TIFR1
  167. .equ TOV1, 0 ;Overflow Flag
  168. .equ OCF1A, 1 ;Output Compare Flag 1A
  169. .equ OCF1B, 2 ;Output Compare Flag 1B
  170. .equ ICF1, 5 ;Input Capture Flag 1
  171. ;TCCR1A
  172. .equ WGM10, 0 ;Waveform Generation Mode
  173. .equ WGM11, 1 ;Waveform Generation Mode
  174. .equ COM1B0, 4 ;Compare Output Mode 1B, bit 0
  175. .equ COM1B1, 5 ;Compare Output Mode 1B, bit 1
  176. .equ COM1A0, 6 ;Comparet Ouput Mode 1A, bit 0
  177. .equ COM1A1, 7 ;Compare Output Mode 1A, bit 1
  178. ;TCCR1B
  179. .equ CS10, 0 ;Prescaler source of Timer/Counter 1
  180. .equ CS11, 1 ;Prescaler source of Timer/Counter 1
  181. .equ CS12, 2 ;Prescaler source of Timer/Counter 1
  182. .equ WGM12, 3 ;Waveform Generation Mode
  183. .equ WGM13, 4 ;Waveform Generation Mode
  184. .equ ICES1, 6 ;Input Capture 1 Edge Select
  185. .equ ICNC1, 7 ;Input Capture 1 Noise Canceler
  186. ;TCCR1C
  187. .equ FOC1B, 6 ;Force Output Compare A
  188. .equ FOC1A, 7 ;Force Output Compare B
  189. ;GTCCR
  190. .equ PSRSYNC,0 ;Prescaler Reset Timer/Counter1 and Timer/Counter0
  191. .equ TSM, 7 ;Timer/Counter Synchronization Mode
  192. ;Timer/Counter2-------------------------------------------------------
  193. ;TIMSK2
  194. .equ TOIE2, 0 ;Overflow Interrupt Enable
  195. .equ OCIE2A, 1 ;Output Compare Match A Interrupt Enable
  196. .equ OCIE2B, 2 ;Output Compare Match B Interrupt Enable
  197. ;TIFR2
  198. .equ TOV2, 0 ;Overflow Flag
  199. .equ OCF2A, 1 ;Output Compare Flag 2A
  200. .equ OCF2B, 2 ;Output Compare Flag 2B
  201. ;TCCR2A
  202. .equ WGM20, 0 ;Waveform Genration Mode
  203. .equ WGM21, 1 ;Waveform Genration Mode
  204. .equ COM2B0, 4 ;Compare Output Mode bit 0
  205. .equ COM2B1, 5 ;Compare Output Mode bit 1
  206. .equ COM2A0, 6 ;Compare Output Mode bit 1
  207. .equ COM2A1, 7 ;Compare Output Mode bit 1
  208. ;TCCR2B
  209. .equ CS20, 0 ;Clock Select bit 0
  210. .equ CS21, 1 ;Clock Select bit 1
  211. .equ CS22, 2 ;Clock Select bit 2
  212. .equ WGM22, 3 ;Waveform Generation Mode
  213. .equ FOC2B, 6 ;Force Output Compare B
  214. .equ FOC2A, 7 ;Force Output Compare A
  215. ;ASSR
  216. .equ TCR2BUB,0 ;Timer/Counter Control Register2 Update Busy
  217. .equ TCR2AUB,1 ;Timer/Counter Control Register2 Update Busy
  218. .equ OCR2BUB,2 ;Output Compare Register 2 Update Busy
  219. .equ OCR2AUB,3 ;Output Compare Register2 Update Busy
  220. .equ TCN2UB, 4 ;Timer/Counter2 Update Busy
  221. .equ AS2, 5 ;Asynchronous Timer/Counter2
  222. .equ EXCLK, 6 ;Enable External Clock Input
  223. ;GTCCR
  224. .equ PSRASY, 1 ;Prescaler Reset Timer/Counter2
  225. ;AD-Converter--------------------------------------------------------
  226. ;ADMUX
  227. .equ MUX0, 0 ;Analog Channel and Gain Selection Bits
  228. .equ MUX1, 1 ;Analog Channel and Gain Selection Bits
  229. .equ MUX2, 2 ;Analog Channel and Gain Selection Bits
  230. .equ MUX3, 3 ;Analog Channel and Gain Selection Bits
  231. .equ ADLAR, 5 ;Left Adjust Result
  232. .equ REFS0, 6 ;Reference Selection Bit 0
  233. .equ REFS1, 7 ;Reference Selection Bit 1
  234. ;ADCSRA
  235. .equ ADPS0, 0 ;ADC Prescaler Select Bits
  236. .equ ADPS1, 1 ;ADC Prescaler Select Bits
  237. .equ ADPS2, 2 ;ADC Prescaler Select Bits
  238. .equ ADIE, 3 ;ADC Interrupt Enable
  239. .equ ADIF, 4 ;ADC Interrupt Flag
  240. .equ ADATE, 5 ;ADC Auto Trigger Enable
  241. .equ ADSC, 6 ;ADC Start Conversion
  242. .equ ADEN, 7 ;ADC Enable
  243. ;ADCSRB
  244. .equ ADTS0, 0 ;ADC Auto Trigger Source bit 0
  245. .equ ADTS1, 1 ;ADC Auto Trigger Source bit 1
  246. .equ ADTS2, 2 ;ADC Auto Trigger Source bit 2
  247. ; DIDR0 - Digital Input Disable Register
  248. .equ ADC0D, 0
  249. .equ ADC1D, 1
  250. .equ ADC2D, 2
  251. .equ ADC3D, 3
  252. .equ ADC4D, 4
  253. .equ ADC5D, 5
  254. ;Analog-Comparator----------------------------------------------------
  255. ;ACSR
  256. .equ ACIS0, 0 ;Analog Comparator Interrupt Mode Select bit 0
  257. .equ ACIS1, 1 ;Analog Comparator Interrupt Mode Select bit 1
  258. .equ ACIC, 2 ;Analog Comparator Input Capture Enable
  259. .equ ACIE, 3 ;Analog Comparator Interrupt Enable
  260. .equ ACI, 4 ;Analog Comparator Interrupt Flag
  261. .equ ACO, 5 ;Analog Compare Output
  262. .equ ACBG, 6 ;Analog Comparator Bandgap Select
  263. .equ ACD, 7 ;Analog Comparator Disable
  264. ;DIDR1
  265. .equ AIN0D, 0 ;AIN0 Digital Input Disable
  266. .equ AIN1D, 1 ;AIN1 Digital Input Disable
  267. ;PORTB----------------------------------------------------------------
  268. .equ PB0, 0 ;Port B Data Register bit 0
  269. .equ PB1, 1 ;Port B Data Register bit 1
  270. .equ PB2, 2 ;Port B Data Register bit 2
  271. .equ PB3, 3 ;Port B Data Register bit 3
  272. .equ PB4, 4 ;Port B Data Register bit 4
  273. .equ PB5, 5 ;Port B Data Register bit 5
  274. .equ PB6, 6 ;Port B Data Register bit 6
  275. .equ PB7, 7 ;Port B Data Register bit 7
  276. ;DDRB
  277. .equ DDB0, 0 ;Port B Data Direction Register bit 0
  278. .equ DDB1, 1 ;Port B Data Direction Register bit 1
  279. .equ DDB2, 2 ;Port B Data Direction Register bit 2
  280. .equ DDB3, 3 ;Port B Data Direction Register bit 3
  281. .equ DDB4, 4 ;Port B Data Direction Register bit 4
  282. .equ DDB5, 5 ;Port B Data Direction Register bit 5
  283. .equ DDB6, 6 ;Port B Data Direction Register bit 6
  284. .equ DDB7, 7 ;Port B Data Direction Register bit 7
  285. ;PINB
  286. .equ PINB0, 0 ;Port B Input Pins bit 0
  287. .equ PINB1, 1 ;Port B Input Pins bit 1
  288. .equ PINB2, 2 ;Port B Input Pins bit 2
  289. .equ PINB3, 3 ;Port B Input Pins bit 3
  290. .equ PINB4, 4 ;Port B Input Pins bit 4
  291. .equ PINB5, 5 ;Port B Input Pins bit 5
  292. .equ PINB6, 6 ;Port B Input Pins bit 6
  293. .equ PINB7, 7 ;Port B Input Pins bit 7
  294. ;PORTC----------------------------------------------------------------
  295. ;PORTC
  296. .equ PC0, 0 ;Port C Data Register bit 0
  297. .equ PC1, 1 ;Port C Data Register bit 1
  298. .equ PC2, 2 ;Port C Data Register bit 2
  299. .equ PC3, 3 ;Port C Data Register bit 3
  300. .equ PC4, 4 ;Port C Data Register bit 4
  301. .equ PC5, 5 ;Port C Data Register bit 5
  302. .equ PC6, 6 ;Port C Data Register bit 6
  303. ;DDRC
  304. .equ DDC0, 0 ;Port C Data Direction Register bit 0
  305. .equ DDC1, 1 ;Port C Data Direction Register bit 1
  306. .equ DDC2, 2 ;Port C Data Direction Register bit 2
  307. .equ DDC3, 3 ;Port C Data Direction Register bit 3
  308. .equ DDC4, 4 ;Port C Data Direction Register bit 4
  309. .equ DDC5, 5 ;Port C Data Direction Register bit 5
  310. .equ DDC6, 6 ;Port C Data Direction Register bit 6
  311. ;PINC
  312. .equ PINC0, 0 ;Port C Input Pins bit 0
  313. .equ PINC1, 1 ;Port C Input Pins bit 1
  314. .equ PINC2, 2 ;Port C Input Pins bit 2
  315. .equ PINC3, 3 ;Port C Input Pins bit 3
  316. .equ PINC4, 4 ;Port C Input Pins bit 4
  317. .equ PINC5, 5 ;Port C Input Pins bit 5
  318. .equ PINC6, 6 ;Port C Input Pins bit 6
  319. ;PORTD----------------------------------------------------------------
  320. ;PORTD
  321. .equ PD0, 0 ;Port D Data Register bit 0
  322. .equ PD1, 1 ;Port D Data Register bit 1
  323. .equ PD2, 2 ;Port D Data Register bit 2
  324. .equ PD3, 3 ;Port D Data Register bit 3
  325. .equ PD4, 4 ;Port D Data Register bit 4
  326. .equ PD5, 5 ;Port D Data Register bit 5
  327. .equ PD6, 6 ;Port D Data Register bit 6
  328. .equ PD7, 7 ;Port D Data Register bit 7
  329. ;DDRD
  330. .equ DDD0, 0 ;Port D Data Direction Register bit 0
  331. .equ DDD1, 1 ;Port D Data Direction Register bit 1
  332. .equ DDD2, 2 ;Port D Data Direction Register bit 2
  333. .equ DDD3, 3 ;Port D Data Direction Register bit 3
  334. .equ DDD4, 4 ;Port D Data Direction Register bit 4
  335. .equ DDD5, 5 ;Port D Data Direction Register bit 5
  336. .equ DDD6, 6 ;Port D Data Direction Register bit 6
  337. .equ DDD7, 7 ;Port D Data Direction Register bit 7
  338. ;PIND
  339. .equ PIND0, 0 ;Port D Input Pins bit 0
  340. .equ PIND1, 1 ;Port D Input Pins bit 1
  341. .equ PIND2, 2 ;Port D Input Pins bit 2
  342. .equ PIND3, 3 ;Port D Input Pins bit 3
  343. .equ PIND4, 4 ;Port D Input Pins bit 4
  344. .equ PIND5, 5 ;Port D Input Pins bit 5
  345. .equ PIND6, 6 ;Port D Input Pins bit 6
  346. .equ PIND7, 7 ;Port D Input Pins bit 7
  347. ;External-Interrupts--------------------------------------------------
  348. ;EICRA
  349. .equ ISC00, 0 ;External Interrupt Sense Control 0 Bit 0
  350. .equ ISC01, 1 ;External Interrupt Sense Control 0 Bit 1
  351. .equ ISC10, 2 ;External Interrupt Sense Control 1 Bit 0
  352. .equ ISC11, 3 ;External Interrupt Sense Control 1 Bit 1
  353. ;EIMSK
  354. .equ INT0, 0 ;External Interrupt Request 0 Enable
  355. .equ INT1, 1 ;External Interrupt Request 1 Enable
  356. ;PCICR
  357. .equ PCIE0, 0 ;Pin Change Interrupt Enable 0
  358. .equ PCIE1, 1 ;Pin Change Interrupt Enable 1
  359. .equ PCIE2, 2 ;Pin Change Interrupt Enable 2
  360. ;PCMSK2
  361. .equ PCINT16,0 ;Pin Change Enable Mask 16
  362. .equ PCINT17,1 ;Pin Change Enable Mask 17
  363. .equ PCINT18,2 ;Pin Change Enable Mask 18
  364. .equ PCINT19,3 ;Pin Change Enable Mask 19
  365. .equ PCINT20,4 ;Pin Change Enable Mask 20
  366. .equ PCINT21,5 ;Pin Change Enable Mask 21
  367. .equ PCINT22,6 ;Pin Change Enable Mask 22
  368. .equ PCINT23,7 ;Pin Change Enable Mask 23
  369. ;PCMSK1
  370. .equ PCINT8, 0 ;Pin Change Enable Mask 8
  371. .equ PCINT9, 1 ;Pin Change Enable Mask 9
  372. .equ PCINT10,2 ;Pin Change Enable Mask 10
  373. .equ PCINT11,3 ;Pin Change Enable Mask 11
  374. .equ PCINT12,4 ;Pin Change Enable Mask 12
  375. .equ PCINT13,5 ;Pin Change Enable Mask 13
  376. .equ PCINT14,6 ;Pin Change Enable Mask 14
  377. ;PCMSK0
  378. .equ PCINT0, 0 ;Pin Change Enable Mask 0
  379. .equ PCINT1, 1 ;Pin Change Enable Mask 1
  380. .equ PCINT2, 2 ;Pin Change Enable Mask 2
  381. .equ PCINT3, 3 ;Pin Change Enable Mask 3
  382. .equ PCINT4, 4 ;Pin Change Enable Mask 4
  383. .equ PCINT5, 5 ;Pin Change Enable Mask 5
  384. .equ PCINT6, 6 ;Pin Change Enable Mask 6
  385. .equ PCINT7, 7 ;Pin Change Enable Mask 7
  386. ;PCIFR
  387. .equ PCIF0, 0 ;Pin Change Interrupt Flag 0
  388. .equ PCIF1, 1 ;Pin Change Interrupt Flag 1
  389. .equ PCIF2, 2 ;Pin Change Interrupt Flag 2
  390. ;SPI------------------------------------------------------------------
  391. ;SPSR
  392. .equ SPI2X, 0 ;Double SPI Speed Bit
  393. .equ WCOL, 6 ;Write Collision Flag
  394. .equ SPIF, 7 ;SPI Interrupt Flag
  395. ;SPCR
  396. .equ SPR0, 0 ;SPI Clock Rate Select 0
  397. .equ SPR1, 1 ;SPI Clock Rate Select 1
  398. .equ CPHA, 2 ;Clock Phase
  399. .equ CPOL, 3 ;Clock polarity
  400. .equ MSTR, 4 ;Master/Slave Select
  401. .equ DORD, 5 ;Data Order
  402. .equ SPE, 6 ;SPI Enable
  403. .equ SPIE, 7 ;SPI Interrupt Enable
  404. ;Watchdog------------------------------------------------------------
  405. ;WDTCSR
  406. .equ WDP0, 0 ;Watch Dog Timer Prescaler bit 0
  407. .equ WDP1, 1 ;Watch Dog Timer Prescaler bit 1
  408. .equ WDP2, 2 ;Watch Dog Timer Prescaler bit 2
  409. .equ WDE, 3 ;Watch Dog Enable
  410. .equ WDCE, 4 ;Watchdog Change Enable
  411. .equ WDP3, 5 ;Watchdog Timer Prescaler Bit 3
  412. .equ WDIE, 6 ;Watchdog Timeout Interrupt Enable
  413. .equ WDIF, 7 ;Watchdog Timeout Interrupt Flag
  414. ;CPU-----------------------------------------------------------------
  415. ;SREG
  416. .equ SREG_C, 0 ;Carry Flag
  417. .equ SREG_Z, 1 ;Zero Flag
  418. .equ SREG_N, 2 ;Negative Flag
  419. .equ SREG_V, 3 ;Two's Complement Overflow Flag
  420. .equ SREG_S, 4 ;Sign Bit
  421. .equ SREG_H, 5 ;Half Carry Flag
  422. .equ SREG_T, 6 ;Bit Copy Storage
  423. .equ SREG_I, 7 ;Global Interrupt Enable
  424. ;CLKPR
  425. .equ CLKPS0, 0 ;Clock Prescaler Select Bit 0
  426. .equ CLKPS1, 1 ;Clock Prescaler Select Bit 1
  427. .equ CLKPS2, 2 ;Clock Prescaler Select Bit 2
  428. .equ CLKPS3, 3 ;Clock Prescaler Select Bit 3
  429. .equ CLKPCE, 7 ;Clock Prescaler Change Enable
  430. ;SPMCSR
  431. .equ SELFPRG,0 ;Self Programming Enable
  432. .equ PGERS, 1 ;Page Erase
  433. .equ PGWRT, 2 ;Page Write
  434. .equ BLBSET, 3 ;Boot Lock Bit Set
  435. .equ RWWSRE, 4 ;Read-While-Write section read enable
  436. .equ RWWSB, 6 ;Read-While-Write Section Busy
  437. .equ SPMIE, 7 ;SPM Interrupt Enable
  438. ;MCUCR
  439. .equ PUD, 4 ;Pull-up Disable
  440. .equ BODSE, 5 ;BOD Sleep Enable
  441. .equ BODS, 6 ;BOD Sleep
  442. ;MCUSR
  443. .equ PORF, 0 ;Power-on reset flag
  444. .equ EXTRF, 1 ;External Reset Flag
  445. .equ BORF, 2 ;Brown-out Reset Flag
  446. .equ WDRF, 3 ;Watchdog Reset Flag
  447. ;SMCR
  448. .equ SE, 0 ;Sleep Enable
  449. .equ SM0, 1 ;Sleep Mode Select Bit 0
  450. .equ SM1, 2 ;Sleep Mode Select Bit 1
  451. .equ SM2, 3 ;Sleep Mode Select Bit 2
  452. ;PRR
  453. .equ PRADC, 0 ;Power Reduction ADC
  454. .equ PRUSART,1 ;Power Reduction USART
  455. .equ PRSPI, 2 ;Power Reduction Serial Peripheral Interface
  456. .equ PRTIM1, 3 ;Power Reduction Timer/Counter1
  457. .equ PRTIM0, 5 ;Power Reduction Timer/Counter0
  458. .equ PRTIM2, 6 ;Power Reduction Timer/Counter2
  459. .equ PRTWI, 7 ;Power Reduction TWI
  460. ;EEPROM---------------------------------------------------------------
  461. ;EECR
  462. .equ EERE, 0 ;EEPROM Read Enable
  463. .equ EEPE, 1 ;EEPROM Write Enable
  464. .equ EEMPE, 2 ;EEPROM Master Write Enable
  465. .equ EERIE, 3 ;EEPROM Ready Interrupt Enable
  466. .equ EEPM0, 4 ;EEPROM Programming Mode Bit 0
  467. .equ EEPM1, 5 ;EEPROM Programming Mode Bit 1
  468. ;LOCK-Bits------------------------------------------------------------
  469. .equ LB1, 0 ;Lock bit
  470. .equ LB2, 1 ;Lock bit
  471. .equ BLB01, 2 ;Boot Lock bit
  472. .equ BLB02, 3 ;Boot Lock bit
  473. .equ BLB11, 4 ;Boot lock bit
  474. .equ BLB12, 5 ;Boot lock bit
  475. ;FUSES----------------------------------------------------------------
  476. ;LOW
  477. .equ CKSEL0, 0 ;Select Clock Source
  478. .equ CKSEL1, 1 ;Select Clock Source
  479. .equ CKSEL2, 2 ;Select Clock Source
  480. .equ CKSEL3, 3 ;Select Clock Source
  481. .equ SUT0, 4 ;Select start-up time
  482. .equ SUT1, 5 ;Select start-up time
  483. .equ CKOUT, 6 ;Clock output
  484. .equ CKDIV8, 7 ;Divide clock by 8
  485. ;HIGH
  486. .equ BOOTRST,0 ;Select reset vector
  487. .equ BOOTSZ0,1 ;Select boot size
  488. .equ BOOTSZ1,2 ;Select boot size
  489. .equ EESAVE, 3 ;EEPROM memory is preserved through chip erase
  490. .equ WDTON, 4 ;Watchdog Timer Always On
  491. .equ SPIEN, 5 ;Enable Serial programming and Data Downloading
  492. .equ DWEN, 6 ;debugWIRE Enable
  493. .equ RSTDIS, 7 ;External reset disable
  494. ;EXTENDED
  495. .equ BODLVL0,0 ;Brown-out Detector trigger level
  496. .equ BODLVL1,1 ;Brown-out Detector trigger level
  497. .equ BODLVL2,2 ;Brown-out Detector trigger level
  498. ;DATA-Section---------------------------------------------------------
  499. .equ FLASHEND, 0x3fff
  500. .equ IOEND, 0x00ff
  501. .equ SRAM_START,0x0100
  502. .equ SRAM_SIZE, 2048
  503. .equ RAMEND, 0x08ff
  504. .equ XRAMEND, 0x0000
  505. .equ E2END, 0x03ff
  506. .equ EEPROMEND, 0x03ff
  507. .equ EEADRBITS, 10
  508. ;Bootloader-----------------------------------------------------------
  509. .equ NRWW_START_ADDR, 0x3800
  510. .equ NRWW_STOP_ADDR, 0x3fff
  511. .equ RWW_START_ADDR, 0x0
  512. .equ RWW_STOP_ADDR, 0x37ff
  513. .equ PAGESIZE, 64
  514. .equ FIRSTBOOTSTART, 0x3f00
  515. .equ SECONDBOOTSTART, 0x3e00
  516. .equ THIRDBOOTSTART, 0x3c00
  517. .equ FOURTHBOOTSTART, 0x3800
  518. .equ SMALLBOOTSTART, FIRSTBOOTSTART
  519. .equ LARGEBOOTSTART, FOURTHBOOTSTART