RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

cứu tôi với

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • dientudong
    Đệ tử 5 túi
    • Oct 2008
    • 95

    #16
    à mình hiểu rồi,phải đặt lệnh goto label trong một hàm i f

    Comment

    • dientudong
      Đệ tử 5 túi
      • Oct 2008
      • 95

      #17
      Các bạn à , mình muốn dùng 1 nút nhấn , nhấn lần 1 thì thực hiện cộng việc 1,nhấn lần 2 thì thực hiện công việc 2, nhấn lần 3 thì thực hiện công việc 3.Mình chưa biết giải thuật thế nào .Mong các bạn chỉ bảo.

      Comment

      • hung_nguyen
        Nhập môn đệ tử
        • Aug 2008
        • 5

        #18
        nhưng sau khi nhất lần 3 thì chip có cần reset lại không? bạn có thể dùng hỏi vòng để kiểm tra trạng thái trên một chân nào đó được nối tới nút nhấn của bạn, khi có một thay đổi trạng thái tức là nút được nhấn thì bạn dùng một biết đếm (count chẳng hạn) tăng lên một. Sau đó dùng if kiểm tra nếu count=1 thì thực hiện công việc 1, count=2 thực hiện công việc 2...

        Comment

        • dientudong
          Đệ tử 5 túi
          • Oct 2008
          • 95

          #19
          Bạn à mình thấy lệnh set_tris_b(0x00) đâu có liên quan gì tới #use fast_io(b).Mình làm nhiều ví dụ và thấy vậy.Bạn có thể cho mình thấy ví dụ nào liên quan không .

          Comment

          • dientudong
            Đệ tử 5 túi
            • Oct 2008
            • 95

            #20
            Code:
            #include "C:\Program Files\PICC\Examples\hienthiso.h"
            #include "C:\Program Files\PICC\Drivers\LCD.C"
            #use delay(clock=20000000)
            #byte portD=0x08
            #byte portB=0x06
            #bit RB0=0x06.0
            #use fast_io(b)
            #use fast_io(d)
            int8 mode,i,j;
              #INT_EXT
              
                  void ext_isr()
                    {
                      
                       mode++;
                       delay_ms(1);
                       if(mode==3)
                          {
                             mode=0;
                          }
                    }
                void program1();
                void program2();
            void main()
            { 
                mode=0;
               set_tris_b(0b00000001);
               portB=0x00;
               set_tris_d(0);
               portD=0x00;
               
               enable_interrupts(int_ext);
               ext_int_edge(H_TO_L);
               enable_interrupts(GLOBAL);
               
               
              while(1)
                 { 
                   
                   switch(mode)
                     {
                        case 1:program1();break;
                        case 2:program2();break;
                     }
                 }
            }
                   void program1()
                      {
                        if(mode==1)
                           { 
                             lcd_putc('\f');
                                for(i=0;i<5;i++)
                                  {
                                   lcd_init();
                                   lcd_gotoxy(1,1);
                                   lcd_putc("NGUYEN VAN THANH");
                                   delay_ms(20);
                                   lcd_gotoxy(1,1);
                                   lcd_putc('\f');
                                   delay_ms(20);
                                   
                                  }
                           }
                      }
            
            void program2()
                      {
                        if(mode==2)
                           { 
                             lcd_putc('\f');
                               for(j=0;j<5;j++)
                                 {
                                   lcd_init();
                                   lcd_gotoxy(1,1);
                                   lcd_putc("HOANG THI HOAI MY");
                                   delay_ms(20);
                                   lcd_gotoxy(1,1);
                                   lcd_putc('\f');
                                   delay_ms(20);
                                 }
                              
                           }
                      }
            Các bạn cho mình hỏi : mình dùng 1 nút nhấn(chân RB0) ,khi nhấn lần 1 thì thực hiện chương trình 1,nhấn lần 2 thì thực hiện chương trình 2,mình dùng ngắt RB0.Mình không biết là phần khai báo ngắt có vấn đề gì không ? Mong các bạn chỉ giúp !MÌnh làm cả đêm rồi mà không chạy được.
            Attached Files
            Last edited by namqn; 05-01-2009, 05:29 AM.

            Comment

            • kimhuynguyen
              Đệ tử 3 túi
              • Nov 2007
              • 48

              #21
              Nguyên văn bởi dientudong View Post
              Bạn à mình thấy lệnh set_tris_b(0x00) đâu có liên quan gì tới #use fast_io(b).Mình làm nhiều ví dụ và thấy vậy.Bạn có thể cho mình thấy ví dụ nào liên quan không .
              Những khai báo này là dẫn hướng cho trình biên dịch. Bạn có thể sẽ không "cảm nhận" được sự khác biệt.

              Tham khảo chi tiết thêm phần Help của CCS.
              More friends more foods

              Comment

              • dientudong
                Đệ tử 5 túi
                • Oct 2008
                • 95

                #22
                còn vấn đề #20 ở trên của mình thì sao,các bạn chỉ giúp mình với

                Comment

                • nguyenquoctoan
                  Đệ tử 6 túi
                  • Nov 2007
                  • 136

                  #23
                  -set_tris_b(0x00) là lấy port b là ngõ ra, giả sử khi đọc encoder hoặc đọc adc ngõ vào kô set làm ngõ vào sao mà chạy,...(theo em là như vậy kô biết các bác như nào)
                  - #20 ổ chổ nào đâu kô thấy ở đâu hít

                  Comment

                  • dientudong
                    Đệ tử 5 túi
                    • Oct 2008
                    • 95

                    #24
                    file lcd.rar của mình và code ở trên đó mà

                    Comment

                    • dientudong
                      Đệ tử 5 túi
                      • Oct 2008
                      • 95

                      #25
                      ý của mình là không có lệnh #use fast_io(b) thi lenh set_tris_b(0x00) van co hieu luc

                      Comment

                      • nguyenquoctoan
                        Đệ tử 6 túi
                        • Nov 2007
                        • 136

                        #26
                        - trong filelcd.rar có hình mô phỏng ah
                        - #use fast_io(b) khi trong chương trình dùng các lệng như output_low(),...nó chỉ set chỉ với lệnh, nhanh hơn so với khi không dùng chỉ thị này (trích tài liệu ccs)
                        - trong hàm main() bạn phải dùng hàm set_tris_x() chỉ rõ chân vào ra
                        -- có nghĩa là sao, bạn có thể bỏ kô ảnh hưởng tới chương trình, nhưng phải có dòng lệnh set_tris_x() để chỉ rõ chân vào ra cho pic hỉu, kô có thì chương trình kô chạy

                        Comment

                        • dientudong
                          Đệ tử 5 túi
                          • Oct 2008
                          • 95

                          #27
                          bạn giúp mình xem code cho mạch trong file lcd.rar.xem có vấn đề gì không

                          Comment

                          • nguyenquoctoan
                            Đệ tử 6 túi
                            • Nov 2007
                            • 136

                            #28
                            trong file lcd.rar kô có code chỉ có hình mô phỏng bằng protues, bạn xem lại,...

                            Comment

                            • dientudong
                              Đệ tử 5 túi
                              • Oct 2008
                              • 95

                              #29
                              code mình post cùng chỗ với file lcd.rar đó mà

                              Comment

                              • nguyenquoctoan
                                Đệ tử 6 túi
                                • Nov 2007
                                • 136

                                #30
                                code của bạn chưa chạy hay sao, bạn đã nạp và mô phỏng chưa, ở đây mình kô có điều kiện để test thử trực tiếp,

                                Comment

                                Working...