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

📄 psocgpioint.inc

📁 Button 一个国外大学生毕业设计,用的是AVR单片机
💻 INC
📖 第 1 页 / 共 2 页
字号:
macro ClearLCD_1D7_DriveMode_0
	and		[Port_2_DriveMode_0_SHADE], ~8h
	mov		reg[Port_2_DriveMode_0], [Port_2_DriveMode_0_SHADE]
endm

; LCD_1D7_DriveMode_1 access macros
;   GetLCD_1D7_DriveMode_1 macro, return in a
macro GetLCD_1D7_DriveMode_1
	mov		a,[Port_2_DriveMode_1_SHADE]
	and		a, 8h
endm
;   SetLCD_1D7_DriveMode_1 macro
macro SetLCD_1D7_DriveMode_1
	or		[Port_2_DriveMode_1_SHADE], 8h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm
;   SetLCD_1D7_DriveMode_1 macro
macro ClearLCD_1D7_DriveMode_1
	and		[Port_2_DriveMode_1_SHADE], ~8h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm

; LCD_1E address and mask equates
LCD_1E_Data_ADDR:	equ	8h
LCD_1E_DriveMode_0_ADDR:	equ	108h
LCD_1E_DriveMode_1_ADDR:	equ	109h
LCD_1E_DriveMode_2_ADDR:	equ	bh
LCD_1E_GlobalSelect_ADDR:	equ	ah
LCD_1E_IntCtrl_0_ADDR:	equ	10ah
LCD_1E_IntCtrl_1_ADDR:	equ	10bh
LCD_1E_IntEn_ADDR:	equ	9h
LCD_1E_MASK:	equ	10h
LCD_1E_MUXBusCtrl_ADDR:	equ	1dah
; LCD_1E_Data access macros
;   GetLCD_1E_Data macro, return in a
macro GetLCD_1E_Data
	mov		a,[Port_2_Data_SHADE]
	and		a, 10h
endm
;   SetLCD_1E_Data macro
macro SetLCD_1E_Data
	or		[Port_2_Data_SHADE], 10h
	mov		reg[Port_2_Data], [Port_2_Data_SHADE]
endm
;   SetLCD_1E_Data macro
macro ClearLCD_1E_Data
	and		[Port_2_Data_SHADE], ~10h
	mov		reg[Port_2_Data], [Port_2_Data_SHADE]
endm

; LCD_1E_DriveMode_0 access macros
;   GetLCD_1E_DriveMode_0 macro, return in a
macro GetLCD_1E_DriveMode_0
	mov		a,[Port_2_DriveMode_0_SHADE]
	and		a, 10h
endm
;   SetLCD_1E_DriveMode_0 macro
macro SetLCD_1E_DriveMode_0
	or		[Port_2_DriveMode_0_SHADE], 10h
	mov		reg[Port_2_DriveMode_0], [Port_2_DriveMode_0_SHADE]
endm
;   SetLCD_1E_DriveMode_0 macro
macro ClearLCD_1E_DriveMode_0
	and		[Port_2_DriveMode_0_SHADE], ~10h
	mov		reg[Port_2_DriveMode_0], [Port_2_DriveMode_0_SHADE]
endm

; LCD_1E_DriveMode_1 access macros
;   GetLCD_1E_DriveMode_1 macro, return in a
macro GetLCD_1E_DriveMode_1
	mov		a,[Port_2_DriveMode_1_SHADE]
	and		a, 10h
endm
;   SetLCD_1E_DriveMode_1 macro
macro SetLCD_1E_DriveMode_1
	or		[Port_2_DriveMode_1_SHADE], 10h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm
;   SetLCD_1E_DriveMode_1 macro
macro ClearLCD_1E_DriveMode_1
	and		[Port_2_DriveMode_1_SHADE], ~10h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm

; LCD_1RS address and mask equates
LCD_1RS_Data_ADDR:	equ	8h
LCD_1RS_DriveMode_0_ADDR:	equ	108h
LCD_1RS_DriveMode_1_ADDR:	equ	109h
LCD_1RS_DriveMode_2_ADDR:	equ	bh
LCD_1RS_GlobalSelect_ADDR:	equ	ah
LCD_1RS_IntCtrl_0_ADDR:	equ	10ah
LCD_1RS_IntCtrl_1_ADDR:	equ	10bh
LCD_1RS_IntEn_ADDR:	equ	9h
LCD_1RS_MASK:	equ	20h
LCD_1RS_MUXBusCtrl_ADDR:	equ	1dah
; LCD_1RS_Data access macros
;   GetLCD_1RS_Data macro, return in a
macro GetLCD_1RS_Data
	mov		a,[Port_2_Data_SHADE]
	and		a, 20h
endm
;   SetLCD_1RS_Data macro
macro SetLCD_1RS_Data
	or		[Port_2_Data_SHADE], 20h
	mov		reg[Port_2_Data], [Port_2_Data_SHADE]
endm
;   SetLCD_1RS_Data macro
macro ClearLCD_1RS_Data
	and		[Port_2_Data_SHADE], ~20h
	mov		reg[Port_2_Data], [Port_2_Data_SHADE]
endm

; LCD_1RS_DriveMode_0 access macros
;   GetLCD_1RS_DriveMode_0 macro, return in a
macro GetLCD_1RS_DriveMode_0
	mov		a,[Port_2_DriveMode_0_SHADE]
	and		a, 20h
endm
;   SetLCD_1RS_DriveMode_0 macro
macro SetLCD_1RS_DriveMode_0
	or		[Port_2_DriveMode_0_SHADE], 20h
	mov		reg[Port_2_DriveMode_0], [Port_2_DriveMode_0_SHADE]
endm
;   SetLCD_1RS_DriveMode_0 macro
macro ClearLCD_1RS_DriveMode_0
	and		[Port_2_DriveMode_0_SHADE], ~20h
	mov		reg[Port_2_DriveMode_0], [Port_2_DriveMode_0_SHADE]
endm

; LCD_1RS_DriveMode_1 access macros
;   GetLCD_1RS_DriveMode_1 macro, return in a
macro GetLCD_1RS_DriveMode_1
	mov		a,[Port_2_DriveMode_1_SHADE]
	and		a, 20h
endm
;   SetLCD_1RS_DriveMode_1 macro
macro SetLCD_1RS_DriveMode_1
	or		[Port_2_DriveMode_1_SHADE], 20h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm
;   SetLCD_1RS_DriveMode_1 macro
macro ClearLCD_1RS_DriveMode_1
	and		[Port_2_DriveMode_1_SHADE], ~20h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm

; LCD_1RW address and mask equates
LCD_1RW_Data_ADDR:	equ	8h
LCD_1RW_DriveMode_0_ADDR:	equ	108h
LCD_1RW_DriveMode_1_ADDR:	equ	109h
LCD_1RW_DriveMode_2_ADDR:	equ	bh
LCD_1RW_GlobalSelect_ADDR:	equ	ah
LCD_1RW_IntCtrl_0_ADDR:	equ	10ah
LCD_1RW_IntCtrl_1_ADDR:	equ	10bh
LCD_1RW_IntEn_ADDR:	equ	9h
LCD_1RW_MASK:	equ	40h
LCD_1RW_MUXBusCtrl_ADDR:	equ	1dah
; LCD_1RW_Data access macros
;   GetLCD_1RW_Data macro, return in a
macro GetLCD_1RW_Data
	mov		a,[Port_2_Data_SHADE]
	and		a, 40h
endm
;   SetLCD_1RW_Data macro
macro SetLCD_1RW_Data
	or		[Port_2_Data_SHADE], 40h
	mov		reg[Port_2_Data], [Port_2_Data_SHADE]
endm
;   SetLCD_1RW_Data macro
macro ClearLCD_1RW_Data
	and		[Port_2_Data_SHADE], ~40h
	mov		reg[Port_2_Data], [Port_2_Data_SHADE]
endm

; LCD_1RW_DriveMode_0 access macros
;   GetLCD_1RW_DriveMode_0 macro, return in a
macro GetLCD_1RW_DriveMode_0
	mov		a,[Port_2_DriveMode_0_SHADE]
	and		a, 40h
endm
;   SetLCD_1RW_DriveMode_0 macro
macro SetLCD_1RW_DriveMode_0
	or		[Port_2_DriveMode_0_SHADE], 40h
	mov		reg[Port_2_DriveMode_0], [Port_2_DriveMode_0_SHADE]
endm
;   SetLCD_1RW_DriveMode_0 macro
macro ClearLCD_1RW_DriveMode_0
	and		[Port_2_DriveMode_0_SHADE], ~40h
	mov		reg[Port_2_DriveMode_0], [Port_2_DriveMode_0_SHADE]
endm

; LCD_1RW_DriveMode_1 access macros
;   GetLCD_1RW_DriveMode_1 macro, return in a
macro GetLCD_1RW_DriveMode_1
	mov		a,[Port_2_DriveMode_1_SHADE]
	and		a, 40h
endm
;   SetLCD_1RW_DriveMode_1 macro
macro SetLCD_1RW_DriveMode_1
	or		[Port_2_DriveMode_1_SHADE], 40h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm
;   SetLCD_1RW_DriveMode_1 macro
macro ClearLCD_1RW_DriveMode_1
	and		[Port_2_DriveMode_1_SHADE], ~40h
	mov		reg[Port_2_DriveMode_1], [Port_2_DriveMode_1_SHADE]
endm

; Button 2 address and mask equates
Button 2_Data_ADDR:	equ	ch
Button 2_DriveMode_0_ADDR:	equ	10ch
Button 2_DriveMode_1_ADDR:	equ	10dh
Button 2_DriveMode_2_ADDR:	equ	fh
Button 2_GlobalSelect_ADDR:	equ	eh
Button 2_IntCtrl_0_ADDR:	equ	10eh
Button 2_IntCtrl_1_ADDR:	equ	10fh
Button 2_IntEn_ADDR:	equ	dh
Button 2_MASK:	equ	1h
Button 2_MUXBusCtrl_ADDR:	equ	1dbh
; Button 2_Data access macros
;   GetButton 2_Data macro, return in a
macro GetButton 2_Data
	mov		a,[Port_3_Data_SHADE]
	and		a, 1h
endm
;   SetButton 2_Data macro
macro SetButton 2_Data
	or		[Port_3_Data_SHADE], 1h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm
;   SetButton 2_Data macro
macro ClearButton 2_Data
	and		[Port_3_Data_SHADE], ~1h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm

; Button 5 address and mask equates
Button 5_Data_ADDR:	equ	ch
Button 5_DriveMode_0_ADDR:	equ	10ch
Button 5_DriveMode_1_ADDR:	equ	10dh
Button 5_DriveMode_2_ADDR:	equ	fh
Button 5_GlobalSelect_ADDR:	equ	eh
Button 5_IntCtrl_0_ADDR:	equ	10eh
Button 5_IntCtrl_1_ADDR:	equ	10fh
Button 5_IntEn_ADDR:	equ	dh
Button 5_MASK:	equ	2h
Button 5_MUXBusCtrl_ADDR:	equ	1dbh
; Button 5_Data access macros
;   GetButton 5_Data macro, return in a
macro GetButton 5_Data
	mov		a,[Port_3_Data_SHADE]
	and		a, 2h
endm
;   SetButton 5_Data macro
macro SetButton 5_Data
	or		[Port_3_Data_SHADE], 2h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm
;   SetButton 5_Data macro
macro ClearButton 5_Data
	and		[Port_3_Data_SHADE], ~2h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm

; Button 3 address and mask equates
Button 3_Data_ADDR:	equ	ch
Button 3_DriveMode_0_ADDR:	equ	10ch
Button 3_DriveMode_1_ADDR:	equ	10dh
Button 3_DriveMode_2_ADDR:	equ	fh
Button 3_GlobalSelect_ADDR:	equ	eh
Button 3_IntCtrl_0_ADDR:	equ	10eh
Button 3_IntCtrl_1_ADDR:	equ	10fh
Button 3_IntEn_ADDR:	equ	dh
Button 3_MASK:	equ	4h
Button 3_MUXBusCtrl_ADDR:	equ	1dbh
; Button 3_Data access macros
;   GetButton 3_Data macro, return in a
macro GetButton 3_Data
	mov		a,[Port_3_Data_SHADE]
	and		a, 4h
endm
;   SetButton 3_Data macro
macro SetButton 3_Data
	or		[Port_3_Data_SHADE], 4h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm
;   SetButton 3_Data macro
macro ClearButton 3_Data
	and		[Port_3_Data_SHADE], ~4h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm

; Button 4 address and mask equates
Button 4_Data_ADDR:	equ	ch
Button 4_DriveMode_0_ADDR:	equ	10ch
Button 4_DriveMode_1_ADDR:	equ	10dh
Button 4_DriveMode_2_ADDR:	equ	fh
Button 4_GlobalSelect_ADDR:	equ	eh
Button 4_IntCtrl_0_ADDR:	equ	10eh
Button 4_IntCtrl_1_ADDR:	equ	10fh
Button 4_IntEn_ADDR:	equ	dh
Button 4_MASK:	equ	8h
Button 4_MUXBusCtrl_ADDR:	equ	1dbh
; Button 4_Data access macros
;   GetButton 4_Data macro, return in a
macro GetButton 4_Data
	mov		a,[Port_3_Data_SHADE]
	and		a, 8h
endm
;   SetButton 4_Data macro
macro SetButton 4_Data
	or		[Port_3_Data_SHADE], 8h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm
;   SetButton 4_Data macro
macro ClearButton 4_Data
	and		[Port_3_Data_SHADE], ~8h
	mov		reg[Port_3_Data], [Port_3_Data_SHADE]
endm

⌨️ 快捷键说明

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