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

📄 mc_16f72.inc

📁 pic application note code
💻 INC
字号:
;USER DEFINED VARIABLES
#ifdef	PIC16F72
	INCLUDE		<P16F72.INC>
#endif
#ifdef	PIC16F73
	INCLUDE		<P16F73.INC>
#endif
;---------------------------------------------------------------------------------------
;OSCILLATOR FREQUENCY
#DEFINE OSCILLATOR	D'20000000'
;---------------------------------------------------------------------------------------
;TIMER0 PRESCALER
#DEFINE	TIMER0_PRESCALE	D'128'
;---------------------------------------------------------------------------------------
;NUMBER OF ENTRIES IN THE SINE TABLE, OR THE SAMPLING FREQUENCY
#DEFINE	SINE_TABLE_ENTRIES	D'19'
;---------------------------------------------------------------------------------------
;PORT AND BIT DEFINITIONS					
#define KEY_PORT	PORTB
#define	RUN_STOP_KEY	2					;RB1
#define FWD_REV_KEY	1
#define DEBOUNCE_COUNT 0x80

;BIT DEFINITION OF FLAGS
#DEFINE	MOTOR_FREQ_COUNTER	0
#DEFINE OFFSET1_FLAG		1
#DEFINE OFFSET2_FLAG		2
#DEFINE OFFSET3_FLAG		3

;BIT DEFINITION OF FLAGS1
#define RUN_STOP		0
#define FWD_REV			1
#define DEBOUNCE		2

#define KEY_RS			4
#define KEY_FR			5
#define KEY_PRESSED		6



;FLAG1 flags definition
#define	PWM_FIRST	0	
#define	PWM_SECOND	1	
#define	PWM_THIRD	3	
#define	PWM_NEW_CYCLE	4	

;BIT DEFINITION OF FLAGS2
#DEFINE	FREQ_REF			0
#DEFINE	MOTOR_CUR			1
#DEFINE	HEATSINK_TEMP		2
#DEFINE	OVER_CURRENT		3
#DEFINE	OVER_TEMPARATURE	4


#DEFINE	DELAY_COUNT1		0XFF
#DEFINE	DELAY_COUNT2		0XFF

#define	PWM_PORT PORTC
#define	PWM0_PIN	0	
#define	PWM1_PIN	1	
#define	PWM2_PIN	2	
#define	PWM3_PIN	3	
#define	PWM4_PIN	4	
#define	PWM5_PIN	5	
	
;Define maximum allowed motor current here
;The value should be 26d/Amp with 0.05Ohm shunt resistor and 10 amplifying ratio.
#define	MAX_MOTOR_CURRENT	0x80	;5 Amps
;Define maximum allowed heatsink temparature here
#define	MAX_HEATSINK_TEMP	0x80
;----------------------------------------------------------------
#define	PORT_RELAY	PORTB
#define	RELAY_BIT	7

#define	HARDWARE_OC_COUNT	0x5
;---------------------------------------------------------------------------------------
	
;---------------------------------------------------------------------------------------
#ifdef PIC16F72
;	UDATA 20h
W_TEMP			equ 0x20	;LOCATION FOR SAVING 'WREG' DURING INTERRUPT
STATUS_TEMP		equ 0x21		;LOCATION FOR SAVING 'STATUS' DURING INTERRUPT
FLAGS			equ 0x22		;FLAGS REGISTERS USED TO INDICATE DIFFERENT STATUS
FLAGS1			equ 0x23		;FLAGS REGISTERS USED TO INDICATE DIFFERENT STATUS
FLAGS2			equ 0x24		;FLAGS REGISTERS USED TO INDICATE DIFFERENT STATUS
TEMP_LOC		equ 0x25		;GENERAL PURPOSE TEMPORARY LOCATION
TEMP_LOC_1		equ 0x26		;GENERAL PURPOSE TEMPORARY LOCATION
TEMP_LOC_2		equ 0x27		;GENERAL PURPOSE TEMPORARY LOCATION
NO_1_LSB		equ 0x28		;NUMERATOR(LSB) AND QUOTIENT(LSB) OR MULTIPLIER(LSB)
RESULT_LSB		equ 0x29		;RESULT OF MULTIPLICATION(LSB)/REMAINDER(LSB)
RESULT_MSB		equ 0x2A		;resULT OF MULTIPLICATION(MSB)/REMAINDER(MSB)
VDC_COUNT		equ 0x2B		;DIGITAL COUNT OF DC BUS VOLTAGE
NEW_FREQ		equ 0x2C		;NEW REFERENCE FREQUENCY INPUT
MOTOR_FREQUENCY	equ 0x2D		;TEMPORAY LOCATION FOR HOLDING DEC_COUNTER OR ACC_COUNTER
TABLE_OFFSET1	equ 0x2E		;PHASE1 OFFSET TO THE SINE TABLE
TABLE_OFFSET2	equ 0x2F		;PHASE2 OFFSET TO THE SINE TABLE
TABLE_OFFSET3	equ 0x30		;PHASE3 OFFSET TO THE SINE TABLE
SINE_TABLE_RAM	equ	0X31		;SINE TABLE, 0x14 bytes

PWM_PR_CH1_Buff	equ 0x50		;Priority definition on channels
PWM_PR_CH2_Buff	equ 0x51	
PWM_PR_CH3_Buff	equ 0x52	
PWM1_DS_Buff	equ 0x53		;Duty cycle buffers	
PWM2_DS_Buff	equ 0x54	
PWM3_DS_Buff	equ 0x55	
PWM4_DS_Buff	equ 0x56	
OC_COUNT		equ 0x57		;Count for over current

DEBOUNCE_COUNTER equ 0x58

#endif

;***********************************************************************

⌨️ 快捷键说明

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