Thông báo

Collapse
No announcement yet.

Proteus Atmega8 - dội phím

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Proteus Atmega8 - dội phím

    - Cho em hỏi có phải là trong Proteus 7.8 cũng có mô phỏng sự dội phím phai ah ? Cứ nhấn 1 cái là nó nhảy gần chục cái. Em thử delay đủ thứ mà ko tác dụng, mong các bác giúp đỡ


    Code:
                           for(i=0;i<4;i++)
    				{
    					while(_key==0)      //Neu khong bam phim
    					{
    						_key=get_key(); //Thi tiep tuc goi ham bam phim 
    					}
    
    					nlcd_Print("0");     //Sau khi nhan dc phim thi in ra man hinh so 0
    					_key=0;             // Reset lai gia tri phim 
    				}
    
                                    // Kiem tra phim bam 
    
    // Kiem tra phim bam 
    
    int get_key (void)
    {
    	if(bit_is_clear(PIND,f2))
    	{
    		_delay_ms(10);
    		return 1;
    	}
    
    	if(bit_is_clear(PIND,f1))
    	{
    		_delay_ms(10);
    		return 2;
    	} else {return 0;}
    	
    }
    Last edited by truongton100; 28-06-2013, 16:04.

  • #2
    Hi xem qua code thì cũng đúng, có vài điểm thế này.
    I: delay_ms(10); là rất nhỏ nó sẽ làm lại vòng lặp rất nhanh nên chắc chắn sẽ làm nhìu lần , nếu ấn giử.
    II: Còn việc chỉ print lên lcd có số 0 thôi thì đâu thấy gì , mổi lần nó in lên lcd không có xóa màn hình thì nó sẽ đôn tới nên
    sẽ có nhìu số 0 trên lcd là đúng.
    Lưu ý : nếu mún làm một lần trong 1 lần nhấn thì sau khi làm công việc trong nút nhấn xong phải
    cho lên đợi phím nữa là được.
    còn nếu muốn làm nhiều lần,trong 1 lần nhấn (giử phím) thì chỉ việc tăng cái delay_ms lên tầm 1s là được.
    Thân.

    Comment


    • #3
      Hi, mình chưa đọc code của bạn, nhưng nghe bạn tả thì giống lần đầu mình làm, đơn giản lắm: trong cái vòng lặp đọc phím để hiển thị LCD, bạn thêm 2 cái đại loại thế này 1: thêm ở đầu vòng key = getKey();
      2: thêm cuối vòng while(key == getkey());
      Vậy là OK, k cần chỉnh đì lây đì lọt j hết

      //ah quên, nếu bạn định tiết kiệm chân, dùng 74154 (dùng ké 1 ứng dụng khác) thì phải có _delay_us(10) trong hàm quét phím để con 154 kịp đáp ứng

      Comment

      Về tác giả

      Collapse

      truongton100 Tìm hiểu thêm về truongton100

      Bài viết mới nhất

      Collapse

      Đang tải...
      X