PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp cổng COM và LPT (http://www.picvietnam.com/forum/forumdisplay.php?f=44)
-   -   Giao tiếp RS232 trên PC (http://www.picvietnam.com/forum/showthread.php?t=274)

vdt 31-03-2007 11:36 PM

Delphi
 
1 Attachment(s)
Có ai lập trình điều khiển bằng Delphi không? Do lịch sử để lại, thời mình đi học chỉ đựoc dạy Pascal, thế nên sau này cũng vẫn theo con đường cũ mà dùng Delphi.
Mình thấy viết chương trình điều khiển bằng VB thì đơn giản thật, nhưng khi dân kỹ thuật dùng thì vẫn thấy thế nào ấy. Dùng VC thì là Pro nhất, nhưng với mình thì sẽ mất rất nhiều thời gian để học. Thế nên mình phải sử dụng Delphi.
Hiện mình có một số thư viện để viết cho cổng RS232 bằng Delphi, đây cũng là những thư viện free và mình download trên net cả thôi, nhưng mình thấy dùng khá ổn định và dễ dàng. Mình xin đóng góp lên đây để mọi ngừoi tham khảo nhé.
Chúc mọi người vui vẻ :) :) :)

hoangthongd 14-04-2007 08:50 PM

truyen du lieu so dung VC++
 
chao cac bac!
em chi moi tap tanh ve VC++ va dung MScomm de giao tiep voi vdk 89s52.
truyen du lieu thi ca hai ben dieu nhan duoc. khi truyen kieu CString thi du lieu truyen khong co sai sot. tuy nhien, em muon truyen theo kieu so, chang han nhu truyen con so nguyen 234 thi lai truyen sai het ca ben vdk va PC.
em thay cac bac kha ranh ve van de nay nen xin cac bac giup em voi
dieu nay rat can thiet cho em vi em dang lam de tai mon hoc.
xin bac nao biet giup em voi

hoangtham 16-04-2007 11:22 AM

Hiển thị dữ liệu giao tiếp qua RS232
 
Mình có 1 mạch điều khiển động cơ DC sd VDK có giao tiếp với máy tính qua cổng COM.Dữ liệu về tốc độ được đọc về từ encoder. Giờ muốn lưu lại vào 1 file để chuyển thành đồ thị thì làm thế nào? có cao thủ nào giúp mình với.Mình dùng visual C++ để lập trình

ngohaibac 17-04-2007 09:06 PM

Thám à,

Cậu xem về đọc ghi file trong VC++ nhé, mở MSDN ra mà xem. Thư viện với VC++ là fstream.h.

Còn việc hiển thị dữ liệu lên figure thì tìm component của VC++ ấy. Mình tìm cho sau nhé.

Chúc mày ok :D.

Attiny 01-05-2007 11:16 PM

Sao em down cai link http://luckytoki.com/haibac/download...C/Terminal.zip

chương trình TERMINAL

của anh HẢI BẮC ko dược nhỉ nhờ các bác chi ZUM THANK!

ngohaibac 01-05-2007 11:53 PM

Chương trình Terminal
 
1 Attachment(s)
Chương trình Terminal đây, các bạn download về nhà dùng nhé.

Chúc anh em luôn luôn ok :D.

signin 21-06-2007 09:30 PM

Goi Anh Hai Bac!
 
Chương trình nhận dữ liệu từ máy tính của vi điều khiển
Code:

org        000h

        ;  khoi tao UART
        ; Thiet lap SMOD = 1, nghia la chia cho 16
                mov        a,87h                ; 87h chinh la dia chi cua thanh ghi PCON
                setb        ACC.7                ; SMOD =1, nghia la chia cho 32
                mov        87h,a       
       
                mov        SCON,#01010010b
                                        ; SM0_SM1_SM2_REN_TB8_RB8_TI_RI
                                        ;    0        1        0        1          0        0      1    0
                                        ; UART 8 bit , cho phep nhan ki tu, set co ngat phat

                mov        TMOD,#00100000b
                                        ; GATE_C/T_M1_M0_GATE_C/T_M1_M0
                                        ;      0        0      1      0          0        0      0      0
                                        ; Timer 1, mode 2 ( auto load )
                mov        TH1,#-3                ; toc do thuc 19200 baud
                setb        TR1                ; cho phep timer hoat dong
               
td:                mov        r0,#40h                ; vi tri o nho bat dau luu
               
td1:                jnb        RI,$
                clr        RI
                mov        @r0,SBUF
                inc        r0
                jmp        td1

               
end


Chương trình gởi dữ liệu từ máy tính tới vi điều khiển:

Code:

Private Sub Form_Load()

RX_Counter = 0
' init for comport

With MSComm1
    .CommPort = 2              'chose COM2
    .Settings = "19200,N,8,1"    'baud 9600bps, none parity, 8 bit data, 1 bit stop
    .InBufferSize = 1024
    .InputLen = 0
    .RThreshold = 1
    .SThreshold = 1
    .OutBufferSize = 512
    .InputMode = comInputModeBinary
    '.InputMode = comInputModeText
    .PortOpen = True
End With

'init for edit boxes
For i = 0 To 10
    Text1.Item(i).Text = i
    Text1.Item(i).Alignment = 2
Next

End Sub

Private Sub cmdSend_Click()

Dim BytesToSend(10) As Byte

'Store the data in a byte array
For i = 0 To 10
    BytesToSend(i) = Val("&h" & Text1.Item(i).Text)
Next

'Send the data to the port
MSComm1.Output = BytesToSend()

End Sub

Em có download chương trình Giao tiếp RS232 trên PC bằng Visual Basic ( do anh Hải Bắc viết ) về dùng!


Em truyền dữ liệu từ vi điều khiển 89S52 lên máy tính thì nhận đúng nhưng gởi dữ liệu từ máy tính xuống vi điều khiển thì vi điều khiển không nhận được!

Kính mong anh Hải Bắc xem dùm source code của Visual Basic, vi điều khiển của em viết đúng không? Nhờ anh Hải Bắc chỉ giúp!

Hiện nay em đang làm đồ án tốt nghiệp nhưng gặp sự cố ở khâu truyền dữ liệu từ máy tính xuống vi điều khiển.

Em hiện đang học ngành cơ khí.

@ngohaibac: em nhớ để code giữa 2 tag code nhé. Cho người đọc dễ nhìn em ạ.

master_boot 21-06-2007 10:44 PM

Anh ơi anh có thể cho em code của trương trình không?em đang làm đề tài cơ sở về "viết chương trình đường truyền file giữa 2 máy tính bằng ngôn ngữ C" em muốn tham khảo thêm anh giup em trong thời gian ngắn nhất nhé em mới vào nghề mà nếu được anh mail vào hòm thư: virus_batdiet_k5d@yahoo.com cảm ơn anh nhiều

ngohaibac 22-06-2007 04:26 PM

Source code ngay trong file đính kèm của bài 1 mà bạn:
http://www.picvietnam.com/forum//sho...47&postcount=1

Chúc bạn thành công.

ngohaibac 22-06-2007 04:38 PM

Trích:

Nguyên văn bởi signin (Post 9509)
Chương trình nhận dữ liệu từ máy tính của vi điều khiển
.................................................. .........

1. Về chương trình truyền trên PC em không có hàm ngắt OnComm à ?Thế thì làm sao xử lý được dữ liệu truyền lên nhỉ ?

SThreshold = 0 để không xảy ra sự kiện ngắt truyền. RThreshold = 1 là khi có 1 byte trong bộ đệm nhận thì sẽ xảy ra sự kiện nhận dữ liệu.

2. Còn chương trình ở VĐK làm sao em biết là vi điều khiển nhận được hay chưa ? vì khi em nhận được dữ liệu thì chỉ có ghi dữ liệu vào trong RAM thôi mà. Em có thể test bằng cách cho một cổng nối với Led để test. Khi nhận được dữ liệu thì setb để led sáng.

Chương trình của em là hoàn toàn dùng kiểu Polling, chờ khi cờ RI = 1 thì ghi dữ liệu. Cách này không tối ưu, sao em không dùng ngắt nhỉ ? như thế sẽ làm được nhiều việc hơn.

Chương trình cũng không có đoạn lệnh gửi dữ liệu lên PC mà?

Chúc em thành công.

signin 02-07-2007 06:33 PM

Cam on anh Hai Bac nhieu!

ngohaibac 09-07-2007 09:13 AM

Chào các bạn.

Tài liệu Serial Port Complete ,TUT01 và các file có liên quan mình đều upload tại đây:
http://www.esnips.com/web/UARTBac

Chúc các bạn thành công.

nofre 19-08-2007 10:07 PM

thú vị thật đấy .
Đa tạ các đại ca đã chỉ dẫn cụ thể.

huunghia 13-09-2007 12:17 PM

Trích:

Nguyên văn bởi ntc (Post 5151)
Đây nè.

http://rapidshare.de/files/23579994/...an_Axelson.pdf

:)

Bạn vào địa chỉ này, nhấn vào cái nút "FREE", sau đó đọc kĩ các thông báo ở các trang tiếp theo và làm theo là được. Nó kêu đợi thì phải chịu khó đợi.

Hehe, sinh viên bắt đầu vào mùa làm đề tài rồi đây. Mình cũng thế.

Link nay hinh nhu die rui
bac gui cho em nhe huunghiaonline@gmail.com
cam on bac nhieu

dung424 13-09-2007 06:28 PM

cảm ơn các bác, em là thành viên mới đang làm đề tài giao tiềp máy tính bằng VB đang trong quá trình tự nghiên cứu nên nhận được tài liệu của các bác em rất hay mong các bác post lến giúp em. cảm ơn các bác


Múi giờ GMT. Hiện tại là 03:41 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam