led equ p2 org 00h ;-------------------------------------- start: mov r4,#0 next: mov a,r4 mov dptr,#led_data ;指標指到顯示資料位址開頭 movc a,@a+dptr ;取出顯示資料 mov led,a mov a,r4 mov dptr,#delay_time ;指標指到延遲時間資料位址開頭 movc a,@a+dptr ;取出延遲時間資料 mov r5,a call delay inc r4 cjne r4,#16,next ;判斷是否是最後一筆 jmp start ;從頭開始 led_data: db 0xf3,0xf7,0xf3,0xf7,0xf3,0xf7,0xf3,0xf5 db 0xde,0xfe,0xde,0xfe,0xde,0xfe,0xde,0xee delay_time: db 150,5,5,5,5,5,5,30,150,5,5,5,5,5,5,30 ;--- delay time = r5 * 0.08s --------- delay: mov r6,#200 del1: mov r7,#200 del: djnz r7,del djnz r6,del1 djnz r5,delay ret ;-------------------------------------- end