⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m169def.inc

📁 该应用软件可以实现大多数单片机的仿真实验
💻 INC
📖 第 1 页 / 共 2 页
字号:
.equ Z          = 1
.equ C          = 0

; *** SPH ***
.equ SP15       = 7  
.equ SP14       = 6
.equ SP13       = 5
.equ SP12       = 4
.equ SP11       = 3
.equ SP10       = 2
.equ SP9        = 1
.equ SP8        = 0

; *** SPL ***
.equ SP7        = 7  
.equ SP6        = 6
.equ SP5        = 5
.equ SP4        = 4
.equ SP3        = 3
.equ SP2        = 2
.equ SP1        = 1
.equ SP0        = 0

; *** SPMCSR ***
.equ SPMIE      = 7  
.equ RWWSB      = 6
.equ RWWSRE     = 4
.equ BLBSET     = 3
.equ PGWRT      = 2
.equ PGERS      = 1
.equ SPMEN      = 0

; *** MCUCR ***
.equ JTD        = 7  
.equ PUD        = 4
.equ IVSEL      = 1
.equ IVCE       = 0

; *** MCUSR ***
.equ JTRF       = 4  
.equ WDRF       = 3
.equ BORF       = 2
.equ EXTRF      = 1
.equ PORF       = 0

; *** SMCR ***
.equ SM2        = 3  
.equ SM1        = 2
.equ SM0        = 1
.equ SE         = 0

; *** OCDR ***
.equ IDRD       = 7  
.equ OCD	= 7
.equ OCDR6      = 6
.equ OCDR5      = 5
.equ OCDR4      = 4
.equ OCDR3      = 3
.equ OCDR2      = 2
.equ OCDR1      = 1
.equ OCDR0      = 0

; *** ACSR ***
.equ ACD        = 7  
.equ ACBG       = 6
.equ ACO        = 5
.equ ACI        = 4
.equ ACIE       = 3
.equ ACIC       = 2
.equ ACIS1      = 1
.equ ACIS0      = 0

; *** SPSR ***
.equ SPIF       = 7  
.equ WCOL       = 6
.equ SPI2X      = 0

; *** SPCR ***
.equ SPIE       = 7 
.equ SPE        = 6
.equ DORD       = 5
.equ MSTR       = 4
.equ CPOL       = 3
.equ CPHA       = 2
.equ SPR1       = 1
.equ SPR0       = 0

; *** TCCR0A ***
.equ FOC0A      = 7 
.equ WGM00      = 6
.equ COM0A1     = 5
.equ COM0A0     = 4
.equ WGM01      = 3
.equ CS02       = 2
.equ CS01       = 1
.equ CS00       = 0

; *** GTCCR ***
.equ TSM        = 7  
.equ PSR2       = 1
.equ PSR10      = 0
					 
; To make tim8pwm_def.inc file
; part independent.		
.equ PSR0       = PSR10	 
.equ PSR1       = PSR10
	
; *** EECR ***
.equ EERIE      = 3  
.equ EEMWE      = 2
.equ EEWE       = 1
.equ EERE       = 0

; *** EIMSK ***
.equ PCIE1      = 7
.equ PCIE0      = 6
.equ INT0       = 0

; *** EIFR ***
.equ PCIF1      = 7
.equ PCIF0      = 6
.equ INTF0      = 0

; *** TIFR2 ***
.equ OCF2A      = 1
.equ TOV2       = 0

; *** TIFR1 ***
.equ ICF1       = 5  
.equ OCF1B      = 2
.equ OCF1A      = 1
.equ TOV1       = 0

; *** TIFR0 ***
.equ OCF0A      = 1
.equ TOV0       = 0

; *** PORTG ***
.equ PORTG5     = 5
.equ PORTG4     = 4
.equ PORTG3     = 3
.equ PORTG2     = 2
.equ PORTG1     = 1
.equ PORTG0     = 0

; *** DDRG ***
.equ DDG4       = 4
.equ DDG3       = 3
.equ DDG2       = 2
.equ DDG1       = 1
.equ DDG0       = 0

; *** PING ***
.equ PING5      = 5
.equ PING4      = 4
.equ PING3      = 3
.equ PING2      = 2
.equ PING1      = 1
.equ PING0      = 0

; *** PORTF ***
.equ PORTF7     = 7  
.equ PORTF6     = 6
.equ PORTF5     = 5
.equ PORTF4     = 4
.equ PORTF3     = 3
.equ PORTF2     = 2
.equ PORTF1     = 1
.equ PORTF0     = 0

; *** DDRF ***
.equ DDF7       = 7  
.equ DDF6       = 6
.equ DDF5       = 5
.equ DDF4       = 4
.equ DDF3       = 3
.equ DDF2       = 2
.equ DDF1       = 1
.equ DDF0       = 0

; *** PINF ***
.equ PINF7      = 7  
.equ PINF6      = 6
.equ PINF5      = 5
.equ PINF4      = 4
.equ PINF3      = 3
.equ PINF2      = 2
.equ PINF1      = 1
.equ PINF0      = 0

; *** PORTE ***
.equ PORTE7     = 7  
.equ PORTE6     = 6
.equ PORTE5     = 5
.equ PORTE4     = 4
.equ PORTE3     = 3
.equ PORTE2     = 2
.equ PORTE1     = 1
.equ PORTE0     = 0

; *** DDRE ***
.equ DDE7       = 7  
.equ DDE6       = 6
.equ DDE5       = 5
.equ DDE4       = 4
.equ DDE3       = 3
.equ DDE2       = 2
.equ DDE1       = 1
.equ DDE0       = 0

; *** PINE ***
.equ PINE7      = 7  
.equ PINE6      = 6
.equ PINE5      = 5
.equ PINE4      = 4
.equ PINE3      = 3
.equ PINE2      = 2
.equ PINE1      = 1
.equ PINE0      = 0

; *** PORTD ***
.equ PORTD7     = 7  
.equ PORTD6     = 6
.equ PORTD5     = 5
.equ PORTD4     = 4
.equ PORTD3     = 3
.equ PORTD2     = 2
.equ PORTD1     = 1
.equ PORTD0     = 0

; *** DDRD ***
.equ DDD7       = 7  
.equ DDD6       = 6
.equ DDD5       = 5
.equ DDD4       = 4
.equ DDD3       = 3
.equ DDD2       = 2
.equ DDD1       = 1
.equ DDD0       = 0

; *** PIND ***
.equ PIND7      = 7  
.equ PIND6      = 6
.equ PIND5      = 5
.equ PIND4      = 4
.equ PIND3      = 3
.equ PIND2      = 2
.equ PIND1      = 1
.equ PIND0      = 0

; *** PORTC ***
.equ PORTC7     = 7  
.equ PORTC6     = 6
.equ PORTC5     = 5
.equ PORTC4     = 4
.equ PORTC3     = 3
.equ PORTC2     = 2
.equ PORTC1     = 1
.equ PORTC0     = 0

; *** DDRC ***
.equ DDC7       = 7  
.equ DDC6       = 6
.equ DDC5       = 5
.equ DDC4       = 4
.equ DDC3       = 3
.equ DDC2       = 2
.equ DDC1       = 1
.equ DDC0       = 0

; *** PINC ***
.equ PINC7      = 7  
.equ PINC6      = 6
.equ PINC5      = 5
.equ PINC4      = 4
.equ PINC3      = 3
.equ PINC2      = 2
.equ PINC1      = 1
.equ PINC0      = 0

; *** PORTB ***
.equ PORTB7     = 7  
.equ PORTB6     = 6
.equ PORTB5     = 5
.equ PORTB4     = 4
.equ PORTB3     = 3
.equ PORTB2     = 2
.equ PORTB1     = 1
.equ PORTB0     = 0

; *** DDRB ***
.equ DDB7       = 7  
.equ DDB6       = 6
.equ DDB5       = 5
.equ DDB4       = 4
.equ DDB3       = 3
.equ DDB2       = 2
.equ DDB1       = 1
.equ DDB0       = 0

; *** PINB ***
.equ PINB7      = 7  
.equ PINB6      = 6
.equ PINB5      = 5
.equ PINB4      = 4
.equ PINB3      = 3
.equ PINB2      = 2
.equ PINB1      = 1
.equ PINB0      = 0

; *** PORTA ***
.equ PORTA7     = 7  
.equ PORTA6     = 6
.equ PORTA5     = 5
.equ PORTA4     = 4
.equ PORTA3     = 3
.equ PORTA2     = 2
.equ PORTA1     = 1
.equ PORTA0     = 0

; *** DDRA ***
.equ DDA7       = 7  
.equ DDA6       = 6
.equ DDA5       = 5
.equ DDA4       = 4
.equ DDA3       = 3
.equ DDA2       = 2
.equ DDA1       = 1
.equ DDA0       = 0

; *** PINA ***
.equ PINA7      = 7  
.equ PINA6      = 6
.equ PINA5      = 5
.equ PINA4      = 4
.equ PINA3      = 3
.equ PINA2      = 2
.equ PINA1      = 1
.equ PINA0      = 0

;*****************************************************************************
; CPU Register Declarations
;*****************************************************************************

.def	XL	= r26		; X pointer low
.def	XH	= r27		; X pointer high
.def	YL	= r28		; Y pointer low
.def	YH	= r29		; Y pointer high
.def	ZL	= r30		; Z pointer low
.def	ZH	= r31		; Z pointer high


;*****************************************************************************
; Data Memory Declarations
;*****************************************************************************

.equ 	RAMEND	= $4ff		; Highest internal data memory (SRAM) address.
							;(1k RAM + IO + REG)
.equ	EEPROMEND = $01ff   ; Highest EEPROM address.
	                        ;(512 byte)
;*****************************************************************************
; Program Memory Declarations
;*****************************************************************************

.equ    FLASHEND = $1FFF	;  Highest program memory (flash) address
	                        ; (When addressed as 16 bit words)
							; ( 8k words , 16k byte ) 
		
;**** Boot Vectors ****
			;  byte groups
			;   /--\/--\/--\ 
.equ 	SMALLBOOTSTART	=0b1111110000000  ;($1F80) smallest boot block is 256B
.equ 	SECONDBOOTSTART	=0b1111100000000  ;($1F00) second boot block size is 512B
.equ 	THIRDBOOTSTART	=0b1111000000000  ;($1E00) third boot block size is 1KB
.equ 	LARGEBOOTSTART	=0b1110000000000  ;($1C00) largest boot block is 2KB
.equ 	BOOTSTART	=THIRDBOOTSTART   ;OBSOLETE!!! kept for compatibility

;**** Page Size ****
.equ	PAGESIZE	=64     ;number of WORDS in a page

;**** Interrupt Vectors ****		
.equ	INT0addr     =$002	;External Interrupt0 Interrupt Address
.equ	PCINT0addr   =$004	;Pin Change Interrupt0 Interrupt Address 
.equ	PCINT1addr   =$006	;Pin Change Interrupt1 Interrupt Address
.equ	CMP2addr     =$008 
.equ	OC2addr      =$008	;Timer/Counter2 Compare Match Interrupt Address
.equ	OVF2addr     =$00a	;Overflow1 Interrupt Address
.equ	ICP1addr     =$00c	;Input Capture1 Interrupt Address
.equ	OC1Aaddr     =$00e	;Output Compare1A Interrupt Address
.equ	OC1Baddr     =$010	;Output Compare1B Interrupt Address 
.equ	OVF1addr     =$012	;Overflow1 Interrupt Address
.equ	CMP0addr     =$014 
.equ	OC0addr      =$014	;Timer/Counter0 Compare Match Interrupt Address
.equ	OVF0addr     =$016	;Overflow0 Interrupt Address
.equ	SPIaddr      =$018	;SPI Interrupt Address
.equ	URXC0addr    =$01a	;UART Receive Complete Interrupt Address
.equ	UDRE0addr    =$01c	;UART Data Register Empty Interrupt Address
.equ	UTXC0addr    =$01e	;UART Transmit Complete Interrupt Address
.equ	USI_STARTaddr=$020	;Universal Serial Bus Start Interrupt Address   
.equ	USI_OVFaddr  =$022	;Universal Serial Bus Overflow Interrupt Address	
.equ	ACIaddr	     =$024	;Analog Comparator Interrupt Address
.equ  ADCCaddr     =$026	;ADC Conversion Complete Interrupt Address
.equ	ERDYaddr     =$028	;EEPROM write complete Interrupt Address
.equ	SPMRaddr     =$02a	;Store Program Memory Ready Interrupt Address
.equ	LCDSFaddr    =$02c	;LCD Start of Frame Interrupt Address

;for compatibility with s8515
.equ	URXCaddr=$01a	;UART Receive Complete Interrupt 
.equ	UDREaddr=$01e	;UART Data Register Empty Interrupt 
.equ	UTXCaddr=$022	;UART Transmit Complete Interrupt 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -