;航顺8位单片机,锦锐CA51F551S1,可调光,调速,调灯组
LEDYS EQU 030H
LEDWTML EQU 0CEH
LEDWTMH EQU 0CEH
LEDAT1 EQU 0C7H
PWMEN EQU 090H
PWM2DIVL EQU 0ADH
PWM2DIVH EQU 0AEH
PWM2DUTL EQU 09FH
PWM2DUTH EQU 091H
PWM2CKD EQU 0B3H
PWM2CON EQU 0BBH
LEFLG EQU 0BFH
P34F EQU 0801CH
CKCON EQU 08030H
LEDUTL EQU 08060H
LEDUTH EQU 08061H
ORG 0000H
LJMP MAIN
ORG 0040H
MAIN: MOV A , #05H ;定义P3.4作为PWM信号输出脚
MOV DPTR, #P34F
MOVX @DPTR,A
MOV A , #80H ;定义时钟控制寄存器地址空间
MOV DPTR, #CKCON ;打开 IRCH 时钟
MOVX @DPTR,A
MOV A , #00H
MOV DPTR, #LEDUTH ;设置位码 1 时间
MOVX @DPTR,A
MOV A , #13H
MOV DPTR, #LEDUTL
MOVX @DPTR,A
MAIN1:
MOV PWM2CON,#58
MOV PWM2CKD,#0 ;设置预分频系数,设置为 0 表示不分频
MOV PWM2DIVH,#0 ;设置位周期时间
MOV PWM2DIVL,#20
MOV PWM2DUTH,#0 ;设置位码 0 时间
MOV PWM2DUTL,#6
MOV LEDWTMH,#0 ;设置暂停时间
MOV LEDWTML,#50
MOV PWMEN,#4 ;PWM2 使能
SETB EA ;开总中断
AA3: MOV LEDYS,#00H
ACALL TEST
AA2: MOV A,LEDYS
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV LEDAT1,A
AA1: MOV A,LEFLG
CJNE A,#40H,AA1
INC LEDYS
MOV A,LEDYS
CJNE A,#24,AA2 ;8个LED
MOV LEDYS,#00H
ACALL TEST
LJMP AA3
TEST: CLR P34F
MOV R6,#100
D7: MOV R7,#255
DJNZ R7,$
DJNZ R6,D7
RET
TEST1: CLR P34F
MOV R5,#255
D8: MOV R6,#255
D6: MOV R7,#255
DJNZ R7,$
DJNZ R6,D6
DJNZ R5,D8
RET
TAB: DB 40H,00H,00H, 00H,40H,00H, 00H,00H,40H, 40H,40H,00H, 40H,00H,40H, 00H,40H,40H, 40H,40H,40H, 40H,0F0H,0F0H
END
|