![]() |
|
Tài trợ cho PIC Vietnam |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Dec 2010
Bài gửi: 5
: |
Sos !!! Các pác nào biết về ngôn ngữ pic-basicpro giúp em với...!!!!
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 |
![]() |
![]() |
![]() |
#2 |
Đệ tử 2 túi
Tham gia ngày: Aug 2010
Bài gửi: 42
: |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
Tham gia ngày: Aug 2010
Bài gửi: 42
: |
thay mấy links này chữ xx thành tt mới có thể vào
official website hxxp://melabs.com/ forum for picbasic pro hxxp://www.picbasic.co.uk/forum/ xài đồ chôm hxxp://www.sonsivri.com/forum/index.php?topic=25291.0 MicroCode Studio 4 hxxp://melabs.com/resources/win_ide.htm#Studio MPLAB IDE hxxp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName =en019469&part=SW007002 những links trên là những gì cần thiết để học picbasic pro. $fe = số hex tương tự trong c là 0xfe %00001010 = số nhị phân (binary) dấu ' là comment trong picbasic pro, hay là lời ghi chú/giải thích st: là label, 1 nơi/địa chỉ mà trong chương trình có thể dùng goto hoặc gosub để gọi tới dg1 var byte 'khai báo variable dg1 là 1 byte POT porta.0,255,dg1 'đọc biến trở ở porta0 và chứa data trong variable dg1, 255 scale (maximum value cho dg1, số thập phân (decimal)) lcdout $fe,1,"Telephone" 'hiển thị trên lcd chữ Telephone, clear lcd first, hàng 1 của lcd pause 50 'chờ 50 millisecond if i=50 then 'nếu i=50 thì set i=0 quay về main, goto st là quay về label st. i=0 goto main endif goto st DTMFOUT PORTa.4,500,100,[0,9,3,8,6,3,4,7,8,6] ' câu này tra trong manual ở post #2 sẽ hiểu thêm. những câu nào không biết thì hỏi ? |
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Dec 2010
Bài gửi: 5
: |
anh giải thích giùm em thêm 2 lệnh này nữa được ko ạ !
t1 var byte if dg1<(t1-1) or dg1>(t1+1) then call ct1 |
![]() |
![]() |
![]() |
#5 |
Đệ tử 2 túi
Tham gia ngày: Aug 2010
Bài gửi: 42
: |
t1 var byte 'khai báo t1 là byte (8 bits)
if dg1<(t1-1) or dg1>(t1+1) then call ct1 if dg1 ít hơn t1 trừ 1 hoặc là dg1 lớn hơn t1 cộng 1 thì gọi ct1 (theo tôi nên dùng gosub thay cho call) |
![]() |
![]() |
![]() |
#6 |
Nhập môn đệ tử
Tham gia ngày: Dec 2010
Bài gửi: 5
: |
ok. tại code này đã chạy rồi , nên em dùng Call luôn. Em cám ơn anh nhìu nghen..!
|
![]() |
![]() |
![]() |
#7 |
Nhập môn đệ tử
Tham gia ngày: Apr 2010
Bài gửi: 7
: |
hoangthe_cung nhom
Pac KVLV co nhieu link hay lam!do lai bai tap lon cua nhom! sau bai tap lon nay,nhom dang phat trien de tai lon hon lam do an tot nghiep,,, neu co the mong Pac giup do nhieu lam cho em hoi la Pac co am hieu ve cong nghe M_touch nhieu khong,,, |
![]() |
![]() |
![]() |
#8 | |
Đệ tử 2 túi
Tham gia ngày: Aug 2010
Bài gửi: 42
: |
Trích:
Nếu em có vấn đề gì thì post lên diễn đàn, nếu tôi có ghé ngang, tôi sẵn sàng giúp đỡ. |
|
![]() |
![]() |
![]() |
|
|