Tập lệnh trên CCS cho PIC

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • chutchit
    Nhập môn đệ tử
    • Dec 2005
    • 3

    #1

    Tập lệnh trên CCS cho PIC

    Tui đang làm giao tiếp RS232 với máy tính.
    Nhưng tui không biết tập lệnh của nó! Mò trong những ví dụ và phần Help của nó khổ quá! Có ai biết tập lệnh 16F877 được miêu tả rõ ràng hơn ở đâu không? Làm ơn chỉ tui với! Gấp lắm!
  • falleaf
    PIC Bang chủ
    • May 2005
    • 2631

    #2


    Bạn vào đây để download tài liệu CCS C tiếng Việt do txt cung cấp.

    Ngoài ra, để dùng giao tiếp rs232 rất đơn giản:

    #uses rs232

    printf (xuất)
    getc(nhập)

    Bạn xem chi tiết lệnh ở trong phần hướng dẫn chi tiết.

    Chúc vui.
    Last edited by falleaf; 16-02-2008, 04:45 PM.
    Công ty TNHH Thương mại và Giao nhận R&P
    store.hn@rpc.vn - store.hcm@rpc.vn

    Học PIC như thế nào?

    Comment

    • chutchit
      Nhập môn đệ tử
      • Dec 2005
      • 3

      #3
      Cám ơn bác, em đã load cái đó về rùi. Tuy nhiên nó chỉ có một vài cái cơ bản. Em nghĩ phải có nhiều hơn nữa chứ? Nếu bác có cái link nào tiếng Anh cũng OK.
      chẳng lẽ để giao tiếp rs232 chỉ cần có 2 lệnh đó thôi sao? thế còn việc kiểm tra xem lúc nào bộ đệm tràn? như ở bên máy tính em làm cả khâu kiểm tra này, còn ở PIC thì sao? xử lý khi báo tràn như thế nào? EM có đọc datasheet của PIC 16F877 nhưng chưa thông lắm! Mong bác chỉ giáo. Ngoài ra em còn muốn xử lý data xuất/nhập này thì làm như thế nào? có phải ghi từ thanh ghi đệm vào bộ nhớ PIC rồi lấy data từ đó xử lý? Ví dụ như là em muốn cho nó xuất led chẳng hạn!
      Mong bác thông cảm, có lẽ em hỏi hơi bị ngây ngô! Em mới chuyển từ 8051 sang PIC mấy tuần nay! CHưa biết gì cả!

      Comment

      • falleaf
        PIC Bang chủ
        • May 2005
        • 2631

        #4
        Bạn xem kỹ tài liệu, khi uses 232, thì có hàng loạt thông số kèm theo, chỉ cần nhu vậy thôi, hay vì bạn thấy PIC nó quá đơn giản nên còn đắn đo?

        Học pic trong 1 ngày, đó là thông điệp của F mà.

        Chúc học tốt.
        Công ty TNHH Thương mại và Giao nhận R&P
        store.hn@rpc.vn - store.hcm@rpc.vn

        Học PIC như thế nào?

        Comment

        • chutchit
          Nhập môn đệ tử
          • Dec 2005
          • 3

          #5
          Cam on bac.Dung la em lam phuc tap hoa van de that! Qua la no don gian hon em nghi!

          Comment

          • MoH
            Đệ tử 1 túi
            • Dec 2005
            • 18

            #6
            Các bác cho em hỏi. Khi dung CCSC thì có thể set dược toàn bộ địa chỉ cho 1 port giống như dùng Keil cho 89 hay không?
            ví dụ như:
            Trong Keil cho 89: P0 = 0xFA chẳng hạn
            ==> Có lệnh nào tương đương đối với PIC hay không?
            À. Em cũng đã thử giao tiếp RS232 sử dụng
            #uses rs232
            printf (xuất)
            getc(nhập)
            Nhưng không xuất lên máy tính được, máy tính truyền xuống nó nhận được nhưng không biết có nhận đúng hay không (vì không truyền được lên máy tính để kiểm tra)

            Comment

            • txt
              Đệ tử 2 túi
              • Sep 2005
              • 32

              #7
              Trong CCs tiếng việt trên , tôi có trình bày cách set po rt , VD po rt B
              1/ thiết lập cơ chế truy xuất nhanh po rtB :
              khai báo #U SE FAST_IO(po rtB)
              khởi tạo 1 biến danh định chỉ tới địa chỉ PO rt B :Vd po rtB ở địa chỉ 0x3F thì set:
              #LOCATE portB = 0x3F
              portB chỉ là tên , có thể dùng tên khác tùy ý.

              2/ sau đó trong chương trình , set chân vào ra :
              VD : set_tris_B(0x11110000b) ; // B0->B3 : ngõ ra , B4->B7 : ngõ vào
              VD : set_tris_B(255); // tất cà là ngõ vào
              VD : set_tris_B( 0) ; // tất cả là ngõ ra
              khi đó chỉ cần:
              Vd : tất cả là ngõ vào thì có thể khiểm tra 1 cái gì đó :
              if ( portB==0x0011b) { . . .} // nếu B0 và B1 có tín hiệu vào thì . . .
              nếu set tất cả là ngõ ra thì :
              Vd : portB = 127 ; // =0x01111111 : xuất tín hiệu ra trên B0->B6 ,B7 không có .

              Comment

              • linhnc308
                Đệ tử 5 túi
                • Oct 2005
                • 117

                #8
                Nguyên văn bởi chutchit
                Cám ơn bác, em đã load cái đó về rùi. Tuy nhiên nó chỉ có một vài cái cơ bản. Em nghĩ phải có nhiều hơn nữa chứ? Nếu bác có cái link nào tiếng Anh cũng OK.
                chẳng lẽ để giao tiếp rs232 chỉ cần có 2 lệnh đó thôi sao? thế còn việc kiểm tra xem lúc nào bộ đệm tràn? như ở bên máy tính em làm cả khâu kiểm tra này, còn ở PIC thì sao? xử lý khi báo tràn như thế nào? EM có đọc datasheet của PIC 16F877 nhưng chưa thông lắm! Mong bác chỉ giáo. Ngoài ra em còn muốn xử lý data xuất/nhập này thì làm như thế nào? có phải ghi từ thanh ghi đệm vào bộ nhớ PIC rồi lấy data từ đó xử lý? Ví dụ như là em muốn cho nó xuất led chẳng hạn!
                Mong bác thông cảm, có lẽ em hỏi hơi bị ngây ngô! Em mới chuyển từ 8051 sang PIC mấy tuần nay! CHưa biết gì cả!
                Tôi thấy như vậy đã là đủ rồi, kho các hàm của CCS rất nhiệu Về RS232 cho pic thì bạn xem lại trong datasheet, PIC chi có 8 bit cho truyền và 8 bit cho nhân. Tài liệu đầy đủ nhất là help cua nó, kết hợp các hàm lại với nhau sẽ giúp bạn giải quyết nhiều bài toán.
                Còn về lập trình giao tiếp RS232 tôi đã có một bài mẫu. Chương trình nhận ký tự từ bàn phím và hiên thị ra LCD, rồi xuất trả lại máy tính ký tự đó.

                Code:
                #include <16f877a.h>
                #include <def_877a.h>
                #use delay(clock=20000000)
                #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
                #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9)
                
                #include <lcd_lib_4bit.c>
                #include <input.c>
                
                int8 count=0;
                char string_in[16];
                
                #INT_RDA
                Receive_isr() {
                char c;
                int8 i;
                count++;
                c = getc();
                putc(c);
                if (c=='c' | c=='C') {LCD_putcmd(0x01);count=0;} //Clear Screen
                if (count<=16) LCD_putchar(c);
                else {count=0;LCD_putcmd(0xC0);}
                }
                void main()
                {
                
                enable_interrupts(int_rda);
                enable_interrupts(GLOBAL);
                
                lcd_init();
                lcd_putcmd(0x01);
                lcd_putcmd(line_1);
                printf("Enter a String.");
                printf("Or anything you want!");
                while (1) {}
                }
                Attached Files
                Last edited by falleaf; 04-02-2008, 10:32 AM.
                CallerID, Ethernet-RS232, PICWEB, Cảnh báo BTS
                Giải pháp toàn diện giám sát - điều khiển từ xa qua GSM/Internet
                0988006696

                http://linhnc308.blogspot.com
                linhnc308@gmail.com

                Comment

                • falleaf
                  PIC Bang chủ
                  • May 2005
                  • 2631

                  #9
                  Hôm nọ vì lý do sửa diễn đàn, nên bài viết của txt bị mất, trong bài đó có cái link tài liệu CCS C tiếng Việt, nay F post lại cái link đó cho mọi người.

                  Thành thật xin lỗi txt vì diễn đàn đang trong thời gian sửa chữa.



                  Chúc vui
                  Công ty TNHH Thương mại và Giao nhận R&P
                  store.hn@rpc.vn - store.hcm@rpc.vn

                  Học PIC như thế nào?

                  Comment

                  • vtt
                    Đệ tử 2 túi
                    • Mar 2006
                    • 44

                    #10
                    Chào bác linhnc308!
                    Bác có giới thiệu chương trình giao tiếp PC với PIC, trên PIC. Còn chương trình trên PC thì như thế nào, bác có thể post một chương trình để anh em tham khảo được không, vì bọn mình bây giờ mới bắt đầu mà. Cám ơn bác trước nhé.
                    Nếu bác nào đọc được bài này mà đã từng làm rồi thì có thể post bài lên được không.
                    Cám ơn tất cả các bác.

                    Comment

                    • chumeodihia
                      Đệ tử 1 túi
                      • Sep 2006
                      • 17

                      #11
                      chương trình trên pc thì mới học bạn nên dùng visual basic chỉ có một vài lệnh(kèm theo khai báo chế độ cho cổng) là bạn có thể gởi 1 byte xuống cổng com hà.Visual dễ lắm bạn tự học đi,chủ yếu là xem trong thư viện MSDL của visual basic.
                      ví dụ như:
                      strdata = .Input nhận từ cổng com về
                      frmMain.MSComm1.Output = Chr(j) gởi 1 byte xuống cổng com

                      chú mèo đihia tái bút
                      thanks

                      Comment

                      • navyvinpearl
                        Nhập môn đệ tử
                        • Oct 2006
                        • 1

                        #12
                        Ban nao da dung PIC de do duong ket hop voi dieu khien DC motor chua mach nuoc cho minh di moi !

                        Comment

                        • falleaf
                          PIC Bang chủ
                          • May 2005
                          • 2631

                          #13
                          Bạn thảo luận vấn đề này bên dientuvietnam, phần chuyên trang robocon.

                          Chúc vui
                          Công ty TNHH Thương mại và Giao nhận R&P
                          store.hn@rpc.vn - store.hcm@rpc.vn

                          Học PIC như thế nào?

                          Comment

                          • chauhoang
                            Nhập môn đệ tử
                            • Oct 2007
                            • 3

                            #14
                            Nguyên văn bởi falleaf View Post
                            Hôm nọ vì lý do sửa diễn đàn, nên bài viết của txt bị mất, trong bài đó có cái link tài liệu CCS C tiếng Việt, nay F post lại cái link đó cho mọi người.

                            Thành thật xin lỗi txt vì diễn đàn đang trong thời gian sửa chữa.



                            Chúc vui
                            xin chào các bác Mình là thành viên mới, mình có doyn bài CCS c bằng tiếng việt của bác txt và mình thấy rất hay, tại sao bác lại k post tiếp nhỉ?

                            __________________
                            www.dientuvietnam.net - www.vntelecom.org - www.tailieuvietnam.net

                            Học PIC như thế nào?

                            Không download được file? Bấm vào đây
                            Gõ dấu tiếng Việt trong diễn đàn


                            mail@falleaf.net
                            +82 10 4763 0970
                            Last edited by falleaf; 04-02-2008, 10:33 AM.

                            Comment

                            • 100773007
                              Nhập môn đệ tử
                              • Nov 2007
                              • 3

                              #15
                              Cảm ơn đúng là tài liệu em đang cần

                              Comment

                              Working...