|  | 
| 
 | Tài trợ cho PIC Vietnam | ||||||||
| Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC | 
|  | 
|  | Ðiều Chỉnh | Xếp Bài | 
|  03-01-2009, 11:54 AM | #16 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | à mình hiểu rồi,phải đặt lệnh goto label trong một hàm i f | 
|   |   | 
|  03-01-2009, 12:44 PM | #17 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | 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. | 
|   |   | 
|  03-01-2009, 07:00 PM | #18 | 
| Nhập môn đệ tử Tham gia ngày: Aug 2008 
					Bài gửi: 6
 : | 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... | 
|   |   | 
|  04-01-2009, 08:15 PM | #19 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | 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 . | 
|   |   | 
|  05-01-2009, 05:17 AM | #20 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | 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);
                     }
                  
               }
          }thay đổi nội dung bởi: namqn, 05-01-2009 lúc 05:29 AM. | 
|   |   | 
|  05-01-2009, 07:48 AM | #21 | |
| Đệ tử 3 túi Tham gia ngày: Nov 2007 Nơi Cư Ngụ: Vietnam 
					Bài gửi: 48
 : | Trích: 
 Tham khảo chi tiết thêm phần Help của CCS. 
				__________________ More friends more foods | |
|   |   | 
|  05-01-2009, 10:11 AM | #22 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | còn vấn đề #20 ở trên của mình thì sao,các bạn chỉ giúp mình với | 
|   |   | 
|  05-01-2009, 10:40 AM | #23 | 
| Đệ tử 6 túi Tham gia ngày: Nov 2007 Nơi Cư Ngụ: BK TP HCM 
					Bài gửi: 136
 : | -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 | 
|   |   | 
|  05-01-2009, 10:43 AM | #24 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | file lcd.rar của mình và code ở trên đó mà | 
|   |   | 
|  05-01-2009, 10:48 AM | #25 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | ý của mình là không có lệnh #use fast_io(b) thi lenh set_tris_b(0x00) van co hieu luc | 
|   |   | 
|  05-01-2009, 11:13 AM | #26 | 
| Đệ tử 6 túi Tham gia ngày: Nov 2007 Nơi Cư Ngụ: BK TP HCM 
					Bài gửi: 136
 : | - 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 | 
|   |   | 
|  05-01-2009, 11:22 AM | #27 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | bạn giúp mình xem code cho mạch trong file lcd.rar.xem có vấn đề gì không | 
|   |   | 
|  05-01-2009, 11:26 AM | #28 | 
| Đệ tử 6 túi Tham gia ngày: Nov 2007 Nơi Cư Ngụ: BK TP HCM 
					Bài gửi: 136
 : | trong file lcd.rar kô có code chỉ có hình mô phỏng bằng protues, bạn xem lại,... | 
|   |   | 
|  05-01-2009, 11:29 AM | #29 | 
| Đệ tử 5 túi Tham gia ngày: Oct 2008 
					Bài gửi: 95
 : | code mình post cùng chỗ với file lcd.rar đó mà | 
|   |   | 
|  05-01-2009, 11:41 AM | #30 | 
| Đệ tử 6 túi Tham gia ngày: Nov 2007 Nơi Cư Ngụ: BK TP HCM 
					Bài gửi: 136
 : | 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, | 
|   |   | 
|  | 
| 
 | 
 |