หัวข้อ: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: kanoknan ที่ มกราคม 14, 2008, 12:04:39 pm อยากจะได้โปรแกรมสแกนคีย์จากวงจรนี้ครับ
1.กดรหัส 4 ตัว ซ้ำกันสองครั้งแล้วให้มันเก็บข้อมูลไว้ แล้วให้ขาa1ทำงาน(สมมุติ) 2.กดรหัสตรงกับรหัสเดิมให้ขาa1หยุดทำงาน 3.ถ้ากดรหัสไม่ตรงกับรหัสเดิมสองครั้งให้ขาa2ทำงาน ประมาณนี้อะครับ จะทำกันขโมยครับช่วยทีนะครับขอบคุณครับ :( หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: JUB ที่ มกราคม 15, 2008, 04:20:06 pm มันยากเอาการอยู่นะครับแต่จะลองทำให้ :P
หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: JUB ที่ มกราคม 16, 2008, 02:09:44 pm อันนี้ดีกว่าครับเอา code ไปใช้ได้เลยผมลองแล้ว work มากๆ (ถ้าไม่ได้ทำ โปรเจคส่งนะ)
www.josepino.com/pic_projects/index.pl?security_keypad_2.j pc หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: kanoknan ที่ มกราคม 17, 2008, 11:35:06 pm ขอบคุณครับ พอดีเคยทำแล้วตอนสามปีก่อนอะครับทำเล่นๆอะแต่ตอนนี้มันจำไม่ได้ ผมใช้ picbasic pro เขียนอะครับ ขอตัวอย่าง แค่กด 1 ครั้งแล้วให้มันเก็บค่าของporta .0-3ใส่ค่าตัวแปร สี่ตัว ตัวแปรเอาแบบที่เอามาเปรียบเทียบกันได้ว่าตรงกันหรือไม่อะครับ ไม่รู้จะใช้คำสั่ง button ได้รึป่าวกำลังงงครับ :D
ตอนนี้จาเอามาทำโปรเจคอะครับ หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: JUB ที่ มกราคม 18, 2008, 12:54:06 am ผมเขียนได้แต่ ASM ครับภาษาอื่นเขียนไม่ได้เลย เอามั๊ยครับผมจะลองเขียนให้ :)
หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: kanoknan ที่ มกราคม 18, 2008, 01:38:35 am แบบนี้จะได้มะครับใครดูเป็นช่วบอกทีครับ จะต้องแก้ตรงไหนบ้าง
P0 VAR BYTE P1 VAR BYTE P2 VAR BYTE P3 VAR BYTE P4 VAR BYTE B0 VAR BYTE B1 VAR BYTE B2 VAR BYTE B3 VAR BYTE B4 VAR BYTE STARTCH : CHACKA1 : P0 = PORTA IF P0 = 0 THEN CHACKA1 A1 = P0 P0 = 0 CHACKA2 : P0 = PORTA IF P0 = 0 THEN CHACKA2 A2 = P0 P0 = 0 CHACKA3 : P0 = PORTA IF P0 = 0 THEN CHACKA3 A3 = P0 P0 = 0 CHACKA4 : P0 = PORTA IF P0 = 0 THEN CHACKA4 A4 = P0 P0 = 0 CHACKB1 : P0 = PORTA IF P0 = 0 THEN CHACKB1 B1 = P0 IF A1 >< B1 THEN CHACKA1 P0 = 0 CHACKB2 : P0 = PORTA IF P0 = 0 THEN CHACKB2 B2 = P0 IF A2 >< B2 THEN CHACKA1 P0 = 0 CHACKB3 : P0 = PORTA IF P0 = 0 THEN CHACKB3 B3 = P0 IF A3 >< B3 THEN CHACKA1 P0 = 0 CHACKB4 : P0 = PORTA IF P0 = 0 THEN CHACKB4 B4 = P0 IF A4 >< B4 THEN CHACKA1 P0 = 0 อันนี้เช็ครหัสสองครั้งแรกว่าตรงกันถึงให้ผ่านใช้ได้ไหมครับ ถ้าใช้ได้แล้วต้องใช้คำสั่งไหนเก็บขอมูลรหัสไว้ตอนที่ไม่มีไฟเลี้ยงอะ ครับ :( ยังไงก็ขอบคุณ คุณ JUBมากครับ :D หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: nont_peet ที่ กุมภาพันธ์ 10, 2008, 11:17:11 pm เก็บค่าลงรอม (ต้องเป็นเบอร์ที่มีรอมนะครับเช่น 16f877)ใช้คำสั่ง รีดกับไรด์ครับ
เช่น ไรด์ 21,v หมายความว่า เก็บค่าตัวแปร v ลงในรอมในตำแหน่งที่ 21 รีด 21,x หมายความว่า อ่านค่าที่ตำแหน่ง 21 เก็บในตัวแปร x หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: pitak ที่ กุมภาพันธ์ 05, 2009, 01:25:58 am INCLUDE "MODEDEFS.BAS"
KEY_WORD VAR BYTE KEY_MOED VAR BYTE KEY VAR WORD PASS VAR BYTE LOCK CON 4 '***************************** PASS SELECT CONTRO**************************** '***************************************************************************** A VAR BYTE 'กำหนดไว้เพื่อเก็บตัวแปล B VAR BYTE 'กำหนดไว้เพื่อเก็บตัวแปล G VAR BYTE 'กำหนดไว้เพื่อเก็บตัวแปล P var byte 'กำหนดไว้เพื่อเก็บตัวแปล PASS_ENTER VAR BYTE PASS_ENTER = 4321 'ใส่รหัสให้ตรง ถึงผ่าน"เปลี่ยนได้ตามใจชอบ." PASS_CONTRO VAR BYTE'............DATA OUTPUT............. ................... .. KEY_PASS VAR BYTE '.............INPUT KEY WORD............... ................. pass_all var byte TRISB=%11111111 PORTB=%11111111 START: P=1 MAIN_PASS1: PORTA=0 IF PORTB =%00000001 Then KEY=1 :GOTO SAVE_KEY1 ELSE IF PORTB =%00000010 Then KEY=2 :GOTO SAVE_KEY1 ELSE IF PORTB =%00000011 Then KEY=3 :GOTO SAVE_KEY1 ELSE IF PORTB =%00000100 Then KEY=4 :GOTO SAVE_KEY1 ELSE IF PORTB =%00000101 then KEY=5 :GOTO SAVE_KEY1 ELSE IF PORTB =%00000110 Then KEY=6 :GOTO SAVE_KEY1 ELSE IF PORTB =%00000111 Then KEY=7 :GOTO SAVE_KEY1 ELSE IF PORTB =%00001000 Then KEY=8 :GOTO SAVE_KEY1 ELSE IF PORTB =%00001001 Then KEY=9 :GOTO SAVE_KEY1 ELSE IF PORTB =%00001010 THEN KEY=0 :GOTO SAVE_KEY1 ELSE IF PORTB=%00001011 Then KEY="*":gosub Beep_Beep:GOTO ENTER ELSE IF PORTB=%00001100 THEN KEY="#":PAUSE 100 ELSE ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF GOTO MAIN_PASS1 pause 100 '//////////////////////CODE KEY PASSWORD/////////////////////////////////// SAVE_KEY1:gosub Beep_Beep:goto sav_key sav_key: A[P]=KEY KEY_ALL=(A[1]*1000)+(A[2]*100)+(A[3]*10)+(A[4]*1) '>>>>>>>>>>>>>>>>>>> IF P=LOCK THEN ENTER '>>>>>>>>>>>>>>>>>>> P=P+1 '>>>>>>>>>>>>>>>>>>> PAUSE 400 GOTO MAIN_PASS1 ENTER: IF KEY_ALL = pass_enter then OUT_LOOP IF KEY_ALL!= PASS_ENTER THEN ERROR OUT_LOOP:TOGGLE porta.1 ให้ led ติดครัง และดับอีกครัง เมื่อใส่รหัสถูกอีกครั้งครับ ERROR :HIGH PORTA.2 เมื่อใส่พลาสเวิสไม่ถูก porta.2ทามงาน หน่วงเวลา 2 "วินาที แล้วส่งไป รอรับการใส่คีย์อีกครั้ง PAUSE 200 GOTO MAIN_PASS1 END ''''''ไม่รู้ว่าทำาเสร็จยังน่ะครับไงก็ลองเอาไปใช้ดูแล้วกันครับ laugh2 หัวข้อ: Re: ใครเก่ง picช่วยทีครับ เริ่มหัวข้อโดย: kanoknan ที่ กุมภาพันธ์ 10, 2009, 10:06:27 pm เรียบร้อยแล้วครับ หากระทู้ไม่เจอพอดีลง windows ใหม่ พึ่งมาเจอ ขอบคุณมากๆครับ olleyes2
|