[ บทความ : ตัวอย่างโปรแกรมของ CP-PIC877 V1/V2 ] ตอนที่ 5 การติดต่อกับ Switch และ LED ด้วย PIC16F877 |
ตัวอย่างต่อไปนี้เป็น โปรแกรมที่เขียนขึ้นเพื่อใช้งานกับบอร์ด CP-PIC877 V1 หรือ V2 ของบริษัท ETT ตัวอย่าง นี้เป็นการติดต่อ LED และ Switch โดย โปรแกรมจะอ่านค่าจาก Switch (Port D) แล้วทำการกลับบิตของค่าที่รับ แล้ว ส่งออกไปที่ LED (Port C) ก่อนอื่น มาดูวงจรกันก่อนครับ
โค้ดสำหรับภาษาแอสเซมบลีเป็นดังนี้ครับ
;******************************************** ; Test Switch with LED ; Hardware : CP-PIC877 V2.0 ; Assembler : mpasm.exe ; Programmer: Somkiat siha ; Company : ETT CO.,LTD. ; Date : 14/2/2000 ;******************************************** LIST P=16f877 includetemp EQU 0x70 LED EQU PORTC SW EQU PORTD ORG 0x0000 ;********* initial port ************** bsf STATUS,RP0 ; select bank 1 clrf TRISC ; port c is output movlw 0xff movwf TRISD ; port d is input bcf STATUS,RP0 ;select abnk 0 clrf LED ; clear LED ;************************************ ML movf SW,w ; read value from SW movwf temp ; keep to tempolary comf temp,w ; Invert data movwf LED ; Send to LED goto ML end ต่อไปนี้เป็นตัวอย่าง สำหรับภาษา BASIC
'********************************************* 'Test switch X 8 'Hardware : CP-PIC877 V2.0 'file name : PicBasic Pro compiler (PBP.EXE) 'Programmer : Somkiat Siha 'Company : ETT CO.,LTD. ' Date : 1/2/2000 '********************************************* TRISD=$FF 'Port d is input TRISC=$00 'Port c is output loop: portc=portd ^ $FF goto loopLiNK :
CP-PIC877 V1
CP-PIC877 V2