loveofteens8x
21-12-2010, 11:00 PM
em đang làm 1 bài đồ án về Công nghệ m-touch,theo phương pháp biến đổi tần số. Em đang nghiên cứu ngôn ngữ Pic-basicpro. vì ngôn ngữ này mới lạ nên em chưa hiểu lắm,với lại phần lớn là em nghiên cứu của người ta.. 2 bữa nữa là thầy kêu lên hỏi rồi, nhưng giờ thì em lại chưa biết rõ, mong pác nào biết về ngôn ngữ này thỉ làm ơn chỉ dạy em út 1 xíu. Nếu mấy pác giải thích từng lệnh thì hay biết mấy, em xin thanks các pác nhiều lắm!!!!
'************************************************* ***************
'* Name : UNTITLED.BAS *
'* Author : [DO ANH VIET] *
'* Notice : Copyright (c) 2010 [electronics_viet@yahoo.com] *
'* : All Rights Reserved *
'* Date : 12/17/2010 *
'* Version : 1.0 *
'* Notes : *
'* : *
'************************************************* ***************
'************************************************* ***************
'* Name : M-TOUCH.BAS *
'* Author : [DO ANH VIET] *
'* Notice : Copyright (c) 2010 [electronics_viet@yahoo.com] *
'* : All Rights Reserved *
'* Date : 12/4/2010 *
'* Version : 1.0 *
'* Notes : PIC 16F84 PROJECT *
'* : *
'************************************************* ***************
' Set LCD Data port
DEFINE LCD_DREG PORTB
' Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 4
' Set LCD Register Select port
DEFINE LCD_RSREG PORTB
' Set LCD Register Select bit
DEFINE LCD_RSBIT 2
' Set LCD Enable port
DEFINE LCD_EREG PORTB
' Set LCD Enable bit
DEFINE LCD_EBIT 3
' Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
' Set number of lines on LCD
DEFINE LCD_LINES 2
' Set command delay time in us
DEFINE LCD_COMMANDUS 2000
' Set data delay time in us
DEFINE LCD_DATAUS 50
dg1 var byte
dg2 var byte
dg3 var byte
dg4 var byte
dg5 var byte
dg6 var byte
t1 var byte
t2 var byte
t3 var byte
t4 var byte
t5 var byte
t6 var byte
i var byte
i=0
st:
i=i+1
POT porta.0,255,dg1
POT porta.1,255,dg2
POT porta.3,255,dg3
POT portb.0,255,dg4
POT porta.2,255,dg5
lcdout $fe,1,"Telephone"
pause 50
t1=dg1
t2=dg2
t3=dg3
t4=dg4
t5=dg5
if i=50 then
i=0
goto main
endif
goto st
main:
lcdout $fe,1,"SOS"
POT porta.0,255,dg1
if dg1<(t1-1) or dg1>(t1+1) then call ct1
POT porta.1,255,dg2
if dg2<(t2-1)or dg2>(t2+1) then call ct2
POT porta.3,255,dg3
if dg3< (t3-1) or dg3> (t3+1) then call ct3
POT portb.0,255,dg4
if dg4< (t4-1) or dg4> (t4+1) then call ct4
POT porta.2,255,dg5
if dg5< (t5-1) or dg5> (t5+1) then call ct5
goto main
ct1:
lcdout $fe,1,"Canh sat",$fe,$c0,"113"
pause 1000
DTMFOUT PORTa.4,500,100,[1,1,3]
return
ct2:
lcdout $fe,1,"Chua Chay",$fe,$c0,"114"
pause 1000
DTMFOUT PORTa.4,500,100,[1,1,4]
return
ct3:
lcdout $fe,1,"0988223803"
pause 1000
DTMFOUT PORTa.4,500,100,[0,9,8,8,2,2,3,8,0,3]
return
ct4:
lcdout $fe,1,"0938634786"
pause 1000
DTMFOUT PORTa.4,500,100,[0,9,3,8,6,3,4,7,8,6]
return
ct5:
lcdout $fe,1,"Cap Cuu",$fe,$c0,"115"
pause 1000
DTMFOUT PORTa.4,500,100,[1,1,5]
return
'************************************************* ***************
'* Name : UNTITLED.BAS *
'* Author : [DO ANH VIET] *
'* Notice : Copyright (c) 2010 [electronics_viet@yahoo.com] *
'* : All Rights Reserved *
'* Date : 12/17/2010 *
'* Version : 1.0 *
'* Notes : *
'* : *
'************************************************* ***************
'************************************************* ***************
'* Name : M-TOUCH.BAS *
'* Author : [DO ANH VIET] *
'* Notice : Copyright (c) 2010 [electronics_viet@yahoo.com] *
'* : All Rights Reserved *
'* Date : 12/4/2010 *
'* Version : 1.0 *
'* Notes : PIC 16F84 PROJECT *
'* : *
'************************************************* ***************
' Set LCD Data port
DEFINE LCD_DREG PORTB
' Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 4
' Set LCD Register Select port
DEFINE LCD_RSREG PORTB
' Set LCD Register Select bit
DEFINE LCD_RSBIT 2
' Set LCD Enable port
DEFINE LCD_EREG PORTB
' Set LCD Enable bit
DEFINE LCD_EBIT 3
' Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
' Set number of lines on LCD
DEFINE LCD_LINES 2
' Set command delay time in us
DEFINE LCD_COMMANDUS 2000
' Set data delay time in us
DEFINE LCD_DATAUS 50
dg1 var byte
dg2 var byte
dg3 var byte
dg4 var byte
dg5 var byte
dg6 var byte
t1 var byte
t2 var byte
t3 var byte
t4 var byte
t5 var byte
t6 var byte
i var byte
i=0
st:
i=i+1
POT porta.0,255,dg1
POT porta.1,255,dg2
POT porta.3,255,dg3
POT portb.0,255,dg4
POT porta.2,255,dg5
lcdout $fe,1,"Telephone"
pause 50
t1=dg1
t2=dg2
t3=dg3
t4=dg4
t5=dg5
if i=50 then
i=0
goto main
endif
goto st
main:
lcdout $fe,1,"SOS"
POT porta.0,255,dg1
if dg1<(t1-1) or dg1>(t1+1) then call ct1
POT porta.1,255,dg2
if dg2<(t2-1)or dg2>(t2+1) then call ct2
POT porta.3,255,dg3
if dg3< (t3-1) or dg3> (t3+1) then call ct3
POT portb.0,255,dg4
if dg4< (t4-1) or dg4> (t4+1) then call ct4
POT porta.2,255,dg5
if dg5< (t5-1) or dg5> (t5+1) then call ct5
goto main
ct1:
lcdout $fe,1,"Canh sat",$fe,$c0,"113"
pause 1000
DTMFOUT PORTa.4,500,100,[1,1,3]
return
ct2:
lcdout $fe,1,"Chua Chay",$fe,$c0,"114"
pause 1000
DTMFOUT PORTa.4,500,100,[1,1,4]
return
ct3:
lcdout $fe,1,"0988223803"
pause 1000
DTMFOUT PORTa.4,500,100,[0,9,8,8,2,2,3,8,0,3]
return
ct4:
lcdout $fe,1,"0938634786"
pause 1000
DTMFOUT PORTa.4,500,100,[0,9,3,8,6,3,4,7,8,6]
return
ct5:
lcdout $fe,1,"Cap Cuu",$fe,$c0,"115"
pause 1000
DTMFOUT PORTa.4,500,100,[1,1,5]
return