[ บทความ : ตัวอย่างสำหรับ 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 ได้เลยครับ