PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Đếm số lần bấm phím từ 0-99 (http://www.picvietnam.com/forum/showthread.php?t=8697)

romantics892005 09-04-2011 10:03 AM

Đếm số lần bấm phím từ 0-99
 
1 Attachment(s)
Số lần bấm phím hiển thị lên 2 led 7 đoạn , reset khi >99. Em mô phỏng bằng proteus mà nó chạy tùm lum, vd như em có bật chân RB7 lên đâu mà nó lại ở mức cao. Các bác test cho em cái chương trình và mạch thực hiện đã đúng chưa, với BJT NPN nếu em dùng led anode thì nối chân E vào Anode còn chân C nối vào Vcc phải ko

Code:

#include "C:\Users\Thai\Desktop\dem sp bang CCS\dsp main.h"

#use delay(clock=4000000)

#FUSES NOWDT, NOLVP, NOPROTECT, nobrownout
int maled[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x90, 0x80};
int count=0 ;
int  n, hc, hdv ;
#int_EXT
void  EXT_isr(void)
{
count++ ;
if (count > 99 )
 count=0;
}

void main()
{

  set_tris_D(0x00);
  set_tris_b(0x01);
  hc=count/10;
  hdv=count%10;
  n=1;
  enable_interrupts(INT_EXT);
  enable_interrupts(GLOBAL);
 
   
  while(1)
      {
      switch(n)
      {
      case 1 :
      {
       
        output_low(pin_B2);
        output_high(pin_B1);
        output_D(maled[hc]);
        delay_ms(10);
      n=2;}
      break;
      case 2 :
      {
        output_low(pin_B1);
        output_high(pin_B2);
        output_D(maled[hdv]);
        delay_ms(10);
        n=1;
      }
      break;
      }
      }
}


romantics892005 09-04-2011 10:05 AM

em tính thay phím bấm bằng cặp thu-phát để mạch đếm mỗi khi có vật đi qua


Múi giờ GMT. Hiện tại là 12:45 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