[ บทความ : ตัวอย่างสำหรับ CP-SB31 V2 ตอนที่ 4 ] ทดสอบติดต่อกับ Mini Speaker ของ CP-SB31V2

ตัวอย่างซอร์สโค้ดสำหรับติดต่อกับ Mini Speaker (ติดต่อกับบอร์ดอยู่ที่ PortC บิตที่ 7 หรือ PC7) กับบอร์ด CP-SB31V2 ที่ติดตั้ง ET-DEBUG31 เป็นดังนี้



	;/*********************************/;
	;/* Demo Program For Mini Speaker */;
	;/* Hardware  :  ET-CPSB31 V2.0   */;
	;/* Complier  :  Cross-32  V2.0   */;
	;/*********************************/;

	;/***************************************/;
	;/* Equate List Port I/O ET-CPSB31 V2.0 */;
	;/***************************************/;
	;
	PORTA      EQU     0E0E0H                  ; Port A 8255
	PORTB      EQU     0E0E1H                  ; Port B 8255
	PORTC      EQU     0E0E2H                  ; Port C 8255
	CONTRL     EQU     0E0E3H                  ; Control Port 8255

	            ORG     2200H                   ; Strat Program For "ET-DEBUG31"

	MAIN:       MOV     R2,#02H                 ; Power-on Delay
	PWR_DLY1:   MOV     R3,#00H
	PWR_DLY2:   MOV     R4,#00H
	            DJNZ    R4,$
	            DJNZ    R3,PWR_DLY2
	            DJNZ    R2,PWR_DLY1
	            ;
	            MOV    DPTR,#CONTRL             ; Control Port 8255
	            MOV    A,#80H                   ; PA,PB,PC = Output
	            MOVX   @DPTR,A
	            ;
	LOOP:       LCALL   BEEP
	            LCALL   DELAY
	            SJMP    LOOP
	
	;/******************************/;
	;/* Sound Beep on Mini Speaker */;
	;/* Used 8255 Port PC3 to BEEP */;
	;/******************************/;
	;
	BEEP:       PUSH    ACC
	            PUSH    DPL
	            PUSH    DPH
	            MOV     R3,#0FFH        ; Long (Note)
	BEEP1:      MOV     DPTR,#PORTC
	            MOVX    A,@DPTR
	            SETB    ACC.7           ; PC7 ON
	            MOVX    @DPTR,A
	            MOV     R2,#0FFH        ; Frequency (High Pulse)
	            DJNZ    R2,$
	            MOVX    A,@DPTR
	            CLR     ACC.7           ; PC7 OFF
	            MOVX    @DPTR,A
	            MOV     R2,#1FH         ; Frequency (Low Pulse)
	            DJNZ    R2,$
	            DJNZ    R3,BEEP1
	            POP     DPH
	            POP     DPL
	            POP     ACC
	            RET

	;/**************/;
	;/* Delay Time */;
	;/**************/;
	;
	DELAY:      MOV     R3,#02H
	DLY1:       MOV     R4,#00H
	DLY2:       MOV     R5,#00H
	            DJNZ    R5,$
	            DJNZ    R4,DLY2
	            DJNZ    R3,DLY1
	            RET

	            END


                

สามารถ download ไฟล์ตัวอย่างของบอร์ด พร้อม assembler ได้เลยครับ


เขียนโดย : ETT
Author : ETT team
e-mail : sales@etteam.com
วันที่ทำการปรับปรุง : ๒๒ ธ.ค. ๒๕๔๓