📄 pwm_test.dt
字号:
;
;; % ************************************************************* %
;; % Company : ELAN Microelectronics(SH) Corporation %
;; % File name : pwm_test.dt %
;; % Author : huger %
;; % Date : 25,Dec,2007 %
;; % Processor : ELAN eKTP8733N %
;; % Options : WDT=Off; Code Protection=On %
;; % Function : test pwm %
;; % ************************************************************* %
;
INCLUDE "eKTP8733N.H"
PWM_CNT EQU 0x10
ORG 0x0000 ; Reset vector
JMP MAIN ; P60:T1OUT, P70:T1CK
ORG 0x0015 ; Timer1 interrupt vector
JMP T1PWM_INT
ORG 0x0050
T1PWM_INT:
BANK 0
BC ISR1,0 ; Clear Timer1 interrupt flag
INC PWM_CNT
JBS PWM_CNT,6 ; T = 64 *256*256/4=1.048S
JMP T1PWM_INT_RET
COM PORT8 ; FOR LED TEST
CLR PWM_CNT
T1PWM_INT_RET:
RETI
;
MAIN:
BANK 3
MOV A, @0x1F ; Select ekt8733, IRC: 1*F
MOV COBS1, A
MOV A, @0x30 ; Select IRC 4MHz
MOV COBS2, A
MOV A,@130
MOV TCC,A ; TCC Preset value
BANK 0
MOV A,@0x00
MOV PORT8,A
CLR PWM_CNT ; Clear TCC_CNT register
BANK 1
MOV A,@0x00 ; P8 as output
MOV IOC8,A
PWM1_MODE0:
BANK 2
MOV A,@0B00101111
MOV T1CR,A ; Timer1 control register
; Interrupt select: T1PD underflow
; Timer1 mode select: PWM1
; Timer1 prescaler:1:256
MOV A,@0B00000000
MOV TSR,A ; T-FF is low
; Timer1 clk sources: main clk
; Operate mode: two 8 bit timer
; Repeating mode
MOV A,@255
MOV T1PD,A ; Period = 256*256/4
MOV A,@128
MOV T1TD,A ; Duty
BS TSR,2 ; Timer1 start
BANK 1
MOV A,@0x01
MOV IMR1,A ; Timer1 interrupt enable
BANK 0
BC ISR1,0 ; Clear interrupt flag
ENI
JMP $
;=======================================================================
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -