📄 m3290pdef.inc
字号:
.equ SEG302 = 2 ;
.equ SEG303 = 3 ;
.equ SEG304 = 4 ;
.equ SEG305 = 5 ;
.equ SEG306 = 6 ;
.equ SEG307 = 7 ;
; LCDDR14 - LCD Data Register 14
.equ SEG232 = 0 ;
.equ SEG233 = 1 ;
.equ SEG234 = 2 ;
.equ SEG235 = 3 ;
.equ SEG236 = 4 ;
.equ SEG237 = 5 ;
.equ SEG238 = 6 ;
.equ SEG239 = 7 ;
; LCDDR13 - LCD Data Register 13
.equ SEG224 = 0 ;
.equ SEG225 = 1 ;
.equ SEG226 = 2 ;
.equ SEG227 = 3 ;
.equ SEG228 = 4 ;
.equ SEG229 = 5 ;
.equ SEG230 = 6 ;
.equ SEG231 = 7 ;
; LCDDR12 - LCD Data Register 12
.equ SEG216 = 0 ;
.equ SEG217 = 1 ;
.equ SEG218 = 2 ;
.equ SEG219 = 3 ;
.equ SEG220 = 4 ;
.equ SEG221 = 5 ;
.equ SEG222 = 6 ;
.equ SEG223 = 7 ;
; LCDDR11 - LCD Data Register 11
.equ SEG208 = 0 ;
.equ SEG209 = 1 ;
.equ SEG210 = 2 ;
.equ SEG211 = 3 ;
.equ SEG212 = 4 ;
.equ SEG213 = 5 ;
.equ SEG214 = 6 ;
.equ SEG215 = 7 ;
; LCDDR10 - LCD Data Register 10
.equ SEG200 = 0 ;
.equ SEG201 = 1 ;
.equ SEG202 = 2 ;
.equ SEG203 = 3 ;
.equ SEG204 = 4 ;
.equ SEG205 = 5 ;
.equ SEG206 = 6 ;
.equ SEG207 = 7 ;
; LCDDR9 - LCD Data Register 9
.equ SEG132 = 0 ;
.equ SEG133 = 1 ;
.equ SEG134 = 2 ;
.equ SEG135 = 3 ;
.equ SEG136 = 4 ;
.equ SEG137 = 5 ;
.equ SEG138 = 6 ;
.equ SEG139 = 7 ;
; LCDDR8 - LCD Data Register 8
.equ SEG124 = 0 ;
.equ SEG125 = 1 ;
.equ SEG126 = 2 ;
.equ SEG127 = 3 ;
.equ SEG128 = 4 ;
.equ SEG129 = 5 ;
.equ SEG130 = 6 ;
.equ SEG131 = 7 ;
; LCDDR7 - LCD Data Register 7
.equ SEG116 = 0 ;
.equ SEG117 = 1 ;
.equ SEG118 = 2 ;
.equ SEG119 = 3 ;
.equ SEG120 = 4 ;
.equ SEG121 = 5 ;
.equ SEG122 = 6 ;
.equ SEG123 = 7 ;
; LCDDR6 - LCD Data Register 6
.equ SEG108 = 0 ;
.equ SEG109 = 1 ;
.equ SEG110 = 2 ;
.equ SEG111 = 3 ;
.equ SEG112 = 4 ;
.equ SEG113 = 5 ;
.equ SEG114 = 6 ;
.equ SEG115 = 7 ;
; LCDDR5 - LCD Data Register 5
.equ SEG100 = 0 ;
.equ SEG101 = 1 ;
.equ SEG102 = 2 ;
.equ SEG103 = 3 ;
.equ SEG104 = 4 ;
.equ SEG105 = 5 ;
.equ SEG106 = 6 ;
.equ SEG107 = 7 ;
; LCDDR4 - LCD Data Register 4
.equ SEG032 = 0 ;
.equ SEG033 = 1 ;
.equ SEG034 = 2 ;
.equ SEG035 = 3 ;
.equ SEG036 = 4 ;
.equ SEG037 = 5 ;
.equ SEG038 = 6 ;
.equ SEG039 = 7 ;
; LCDDR3 - LCD Data Register 3
.equ SEG024 = 0 ;
.equ SEG025 = 1 ;
.equ SEG026 = 2 ;
.equ SEG027 = 3 ;
.equ SEG028 = 4 ;
.equ SEG029 = 5 ;
.equ SEG030 = 6 ;
.equ SEG031 = 7 ;
; LCDDR2 - LCD Data Register 2
.equ SEG016 = 0 ;
.equ SEG017 = 1 ;
.equ SEG018 = 2 ;
.equ SEG019 = 3 ;
.equ SEG020 = 4 ;
.equ SEG021 = 5 ;
.equ SEG022 = 6 ;
.equ SEG023 = 7 ;
; LCDDR1 - LCD Data Register 1
.equ SEG008 = 0 ;
.equ SEG009 = 1 ;
.equ SEG010 = 2 ;
.equ SEG011 = 3 ;
.equ SEG012 = 4 ;
.equ SEG013 = 5 ;
.equ SEG014 = 6 ;
.equ SEG015 = 7 ;
; LCDDR0 - LCD Data Register 0
.equ SEG000 = 0 ;
.equ SEG001 = 1 ;
.equ SEG002 = 2 ;
.equ SEG003 = 3 ;
.equ SEG004 = 4 ;
.equ SEG005 = 5 ;
.equ SEG006 = 6 ;
.equ SEG007 = 7 ;
; ***** CPU **************************
; SREG - Status Register
.equ SREG_C = 0 ; Carry Flag
.equ SREG_Z = 1 ; Zero Flag
.equ SREG_N = 2 ; Negative Flag
.equ SREG_V = 3 ; Two's Complement Overflow Flag
.equ SREG_S = 4 ; Sign Bit
.equ SREG_H = 5 ; Half Carry Flag
.equ SREG_T = 6 ; Bit Copy Storage
.equ SREG_I = 7 ; Global Interrupt Enable
; MCUCR - MCU Control Register
.equ IVCE = 0 ; Interrupt Vector Change Enable
.equ IVSEL = 1 ; Interrupt Vector Select
.equ PUD = 4 ; Pull-up disable
.equ BODSE = 5 ; BOD Sleep Enable
.equ BODS = 6 ; BOD Sleep
;.equ JTD = 7 ; JTAG Interface Disable
; MCUSR - MCU Status Register
.equ PORF = 0 ; Power-on reset flag
.equ EXTRF = 1 ; External Reset Flag
.equ BORF = 2 ; Brown-out Reset Flag
.equ WDRF = 3 ; Watchdog Reset Flag
;.equ JTRF = 4 ; JTAG Reset Flag
; OSCCAL - Oscillator Calibration Value
.equ CAL0 = 0 ; Oscillator Calibration Value Bit0
.equ CAL1 = 1 ; Oscillator Calibration Value Bit1
.equ CAL2 = 2 ; Oscillator Calibration Value Bit2
.equ CAL3 = 3 ; Oscillator Calibration Value Bit3
.equ CAL4 = 4 ; Oscillator Calibration Value Bit4
.equ CAL5 = 5 ; Oscillator Calibration Value Bit5
.equ CAL6 = 6 ; Oscillator Calibration Value Bit6
.equ CAL7 = 7 ; Oscillator Calibration Value Bit7
; CLKPR - Clock Prescale Register
.equ CLKPS0 = 0 ; Clock Prescaler Select Bit 0
.equ CLKPS1 = 1 ; Clock Prescaler Select Bit 1
.equ CLKPS2 = 2 ; Clock Prescaler Select Bit 2
.equ CLKPS3 = 3 ; Clock Prescaler Select Bit 3
.equ CLKPCE = 7 ; Clock Prescaler Change Enable
; PRR - Power Reduction Register
.equ PRADC = 0 ; Power Reduction ADC
.equ PRUSART0 = 1 ; Power Reduction USART
.equ PRSPI = 2 ; Power Reduction Serial Peripheral Interface
.equ PRTIM1 = 3 ; Power Reduction Timer/Counter1
.equ PRLCD = 4 ; Power Reduction LCD
; SMCR - Sleep Mode Control Register
.equ SE = 0 ; Sleep Enable
.equ SM0 = 1 ; Sleep Mode Select bit 0
.equ SM1 = 2 ; Sleep Mode Select bit 1
.equ SM2 = 3 ; Sleep Mode Select bit 2
; GPIOR2 - General Purpose IO Register 2
.equ GPIOR20 = 0 ; General Purpose IO Register 2 bit 0
.equ GPIOR21 = 1 ; General Purpose IO Register 2 bit 1
.equ GPIOR22 = 2 ; General Purpose IO Register 2 bit 2
.equ GPIOR23 = 3 ; General Purpose IO Register 2 bit 3
.equ GPIOR24 = 4 ; General Purpose IO Register 2 bit 4
.equ GPIOR25 = 5 ; General Purpose IO Register 2 bit 5
.equ GPIOR26 = 6 ; General Purpose IO Register 2 bit 6
.equ GPIOR27 = 7 ; General Purpose IO Register 2 bit 7
; GPIOR1 - General Purpose IO Register 1
.equ GPIOR10 = 0 ; General Purpose IO Register 1 bit 0
.equ GPIOR11 = 1 ; General Purpose IO Register 1 bit 1
.equ GPIOR12 = 2 ; General Purpose IO Register 1 bit 2
.equ GPIOR13 = 3 ; General Purpose IO Register 1 bit 3
.equ GPIOR14 = 4 ; General Purpose IO Register 1 bit 4
.equ GPIOR15 = 5 ; General Purpose IO Register 1 bit 5
.equ GPIOR16 = 6 ; General Purpose IO Register 1 bit 6
.equ GPIOR17 = 7 ; General Purpose IO Register 1 bit 7
; GPIOR0 - General Purpose IO Register 0
.equ GPIOR00 = 0 ; General Purpose IO Register 0 bit 0
.equ GPIOR01 = 1 ; General Purpose IO Register 0 bit 1
.equ GPIOR02 = 2 ; General Purpose IO Register 0 bit 2
.equ GPIOR03 = 3 ; General Purpose IO Register 0 bit 3
.equ GPIOR04 = 4 ; General Purpose IO Register 0 bit 4
.equ GPIOR05 = 5 ; General Purpose IO Register 0 bit 5
.equ GPIOR06 = 6 ; General Purpose IO Register 0 bit 6
.equ GPIOR07 = 7 ; General Purpose IO Register 0 bit 7
; ***** LOCKSBITS ********************************************************
.equ LB1 = 0 ; Lock bit
.equ LB2 = 1 ; Lock bit
.equ BLB01 = 2 ; Boot Lock bit
.equ BLB02 = 3 ; Boot Lock bit
.equ BLB11 = 4 ; Boot lock bit
.equ BLB12 = 5 ; Boot lock bit
; ***** FUSES ************************************************************
; LOW fuse bits
.equ CKSEL0 = 0 ; Select Clock Source
.equ CKSEL1 = 1 ; Select Clock Source
.equ CKSEL2 = 2 ; Select Clock Source
.equ CKSEL3 = 3 ; Select Clock Source
.equ SUT0 = 4 ; Select start-up time
.equ SUT1 = 5 ; Select start-up time
.equ CKOUT = 6 ; Oscillator options
.equ CKDIV8 = 7 ; Divide clock by 8
; HIGH fuse bits
.equ BOOTRST = 0 ; Select Reset Vector
.equ BOOTSZ0 = 1 ; Select Boot Size
.equ BOOTSZ1 = 2 ; Select Boot Size
.equ EESAVE = 3 ; EEPROM memory is preserved through chip erase
.equ WDTON = 4 ; Watchdog timer always on
.equ SPIEN = 5 ; Enable Serial programming and Data Downloading
.equ JTAGEN = 6 ; Enable JTAG
.equ OCDEN = 7 ; Enable OCD
; EXTENDED fuse bits
.equ RSTDISBL = 0 ; Reset disable fuse
.equ BODLEVEL0 = 1 ; Brown-out Detector trigger level
.equ BODLEVEL1 = 2 ; Brown-out Detector trigger level
; ***** CPU REGISTER DEFINITIONS *****************************************
.def XH = r27
.def XL = r26
.def YH = r29
.def YL = r28
.def ZH = r31
.def ZL = r30
; ***** DATA MEMORY DECLARATIONS *****************************************
.equ FLASHEND = 0x3fff ; Note: Word address
.equ IOEND = 0x00ff
.equ SRAM_START = 0x0100
.equ SRAM_SIZE = 2048
.equ RAMEND = 0x08ff
.equ XRAMEND = 0x0000
.equ E2END = 0x03ff
.equ EEPROMEND = 0x03ff
.equ EEADRBITS = 10
#pragma AVRPART MEMORY PROG_FLASH 32768
#pragma AVRPART MEMORY EEPROM 1024
#pragma AVRPART MEMORY INT_SRAM SIZE 2048
#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x100
; ***** BOOTLOADER DECLARATIONS ******************************************
.equ NRWW_START_ADDR = 0x3800
.equ NRWW_STOP_ADDR = 0x3fff
.equ RWW_START_ADDR = 0x0
.equ RWW_STOP_ADDR = 0x37ff
.equ PAGESIZE = 64
.equ FIRSTBOOTSTART = 0x3f00
.equ SECONDBOOTSTART = 0x3e00
.equ THIRDBOOTSTART = 0x3c00
.equ FOURTHBOOTSTART = 0x3800
.equ SMALLBOOTSTART = FIRSTBOOTSTART
.equ LARGEBOOTSTART = FOURTHBOOTSTART
; ***** INTERRUPT VECTORS ************************************************
.equ INT0addr = 0x0002 ; External Interrupt Request 0
.equ PCI0addr = 0x0004 ; Pin Change Interrupt Request 0
.equ PCI1addr = 0x0006 ; Pin Change Interrupt Request 1
.equ OC2addr = 0x0008 ; Timer/Counter2 Compare Match
.equ OVF2addr = 0x000a ; Timer/Counter2 Overflow
.equ ICP1addr = 0x000c ; Timer/Counter1 Capture Event
.equ OC1Aaddr = 0x000e ; Timer/Counter1 Compare Match A
.equ OC1Baddr = 0x0010 ; Timer/Counter Compare Match B
.equ OVF1addr = 0x0012 ; Timer/Counter1 Overflow
.equ OC0addr = 0x0014 ; Timer/Counter0 Compare Match
.equ OVF0addr = 0x0016 ; Timer/Counter0 Overflow
.equ SPIaddr = 0x0018 ; SPI Serial Transfer Complete
.equ URXCaddr = 0x001a ; USART, Rx Complete
.equ URXC0addr = 0x001a ; For compatibility
.equ UDREaddr = 0x001c ; USART Data register Empty
.equ UDRE0addr = 0x001c ; For compatibility
.equ UTXC0addr = 0x001e ; USART0, Tx Complete
.equ UTXCaddr = 0x001e ; For compatibility
.equ USI_STARTaddr = 0x0020 ; USI Start Condition
.equ USI_OVFaddr = 0x0022 ; USI Overflow
.equ ACIaddr = 0x0024 ; Analog Comparator
.equ ADCCaddr = 0x0026 ; ADC Conversion Complete
.equ ERDYaddr = 0x0028 ; EEPROM Ready
.equ SPMRaddr = 0x002a ; Store Program Memory Read
.equ LCDSFaddr = 0x002c ; LCD Start of Frame
.equ PCI2addr = 0x002e ; Pin Change Interrupt Request 2
.equ PCI3addr = 0x0030 ; Pin Change Interrupt Request 3
.equ INT_VECTORS_SIZE = 50 ; size in words
#endif /* _M3290PDEF_INC_ */
; ***** END OF FILE ******************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -