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

📄 hu.asm.bak

📁 ti2407 pwm 产生程序 用来上手 事件管理器
💻 BAK
字号:
	.include  "LF2407.H" 		;引用头部文件
	.include  "vector.h"
     .def    _c_int0  
     .text
_c_int0:
        CALL  SYSINIT				;系统初始化程序
    	CALL   PWM_INIT				;EVB模块PWM初始化程序
WAIT:
	NOP 
	B	WAIT
;(3)系统初始化程序
SYSINIT:
         SETC 	INTM
         CLRC 	SXM
       	 CLRC 	OVM
		 CLRC 	CNF					;B0区被配置为数据空间
         LDP 		#0E0H				;指向7000h~7080h区
         SPLK 	#1000011000001100B,SCSR1   		;时钟1倍频,CLKIN=20 M,CLKOUT=20 M
         SPLK		#0E8H,WDCR			;不使能WDT
	     LDP		#0
	    SPLK		#0002H,IMR			;使能中断第2级INT2
		SPLK		#0FFFFH,IFR			;清全部中断标志
         RET
;(4)EVA模块的PWM初始化程序
PWM_INIT:
      LDP    #225
      splk   #0000111111000000b,MCRA  
		;LDP		#DP_PF2				;指向7080h~7100h区
		;LACL	MCRC
	;	OR		#007EH				;IOPE[1~6]被配置为基本功能方式:PWM[7~12]
	;	SACL	MCRC
		LDP		#DP_EVA				;指向7500h~7580h区
		SPLK		#0FFFFH,EVAIFRA		;清EVB 全部中断标志
		SPLK		#0666H,ACTRA		;PWM6,4,2 低有效,PWM5,3,1 高有效
		SPLK	    #00000001111110100B,DBTCONA		;01F4H=0000 0001 1111 0100使能死区控制 0000(保留位)0000( 死区定时器周期 ) 1( 死区定时器3使能) 1(死区定时器2使能)1(死区定时器1使能) 000死区定时器预分频 00保留位  000X/1 001 X/2 010 X/4 011 X/8 100 X/16 101,110,111 X/32 
		SPLK		#500,CMPR1			;设置比较初值 PWM1高电平占3/10, 
;低电平占10/60
		SPLK		#300,CMPR2			;设置PWM3,4的比较寄存器 5/10
		SPLK		#800,CMPR3			;设置PWM5,6的比较寄存器 7/10
		SPLK		#1000,T1PR			;设置定时器3周期寄存器,
;即PWM周期为60个CPU时钟周期
		SPLK		#0A600H,COMCONA	;使能比较操作
		SPLK		#0,T1CNT
		SPLK		#41H,GPTCONA		;TCOMPOE=1,T3PIN=01
		SPLK		#080H,EVAIMRA		;通用定时器3使能
        SPLK		#0104eh ,T1CON		;TMODE=10 连续增计数模式,TPS=111 预分频为128
					  ;084e  0000 1000 0100 1110 				;TENABLE=1 定时器计数使能, TCLKS=00  0001 0000 0100 1110
;内部时钟              104e  0001 0000 0100 1110  
									;TECMPR=1 定时器3比较使能, SELT3PR=0  
		CLRC	INTM				;开总中断
		RET
;(5)定时器1中断程序
GISR2:							;优先级INT2中断入口
		LDP		#0E0H
		LACC	PIVR,1				;读取外设中断向量寄存器(PIVR),并左移一位
		ADD		#PVECTORS			;加上外设中断入口地址
		BACC						;跳到相应的中断服务子程序
T1GP_ISR:						;通用定时器3中断入口 ;T1GP_IS地址向量0027H  定时器TIMER1周期中断
		LDP		#DP_EVA	
		SPLK	#0,T1CNT
GISR2_RET:						;中断返回

		CLRC	INTM			;开总中断,因为一进中断就自动关闭总中断
		RET
;(6)假中断程序
PHANTOM: 	
        KICK_DOG				;复位看门狗
		RET
		END

⌨️ 快捷键说明

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