PIC Vietnam

Go Back   PIC Vietnam > falleaf

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Conversation Between falleaf and manha3
Showing Visitor Messages 1 to 1 of 1
  1. manha3
    06-01-2013 01:32 AM
    manha3
    a ơi .a giúp e tìm lỗi code đếm encode với.
    mục đích của e là đếm cả 2 cạnh xung của cả 2 kênh a và b . nghĩa là với encode 200 lỗ/1vong thì e phải đếm được 800.nhưng e chỉ đếm được có 200.code này e cắt mất đoạn hiển thị ra led. a xem đoạn đếm encode e với nhé.e cảm ơn a nhiều
    Code:
    #include <16F877A.h>
    #device *=16
    #device adc=8

    #FUSES NOWDT //No Watch Dog Timer
    #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
    #FUSES NOPUT //No Power Up Timer
    #FUSES NOPROTECT //Code not protected from reading
    #FUSES NODEBUG //No Debug mode for ICD
    #FUSES NOBROWNOUT //No brownout reset
    #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
    #FUSES NOCPD //No EE protection
    #FUSES NOWRT //Program memory not write protected

    #use delay(clock=4000000)
    #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
    //================================================== ============================
    #byte portc=0x07
    #byte portd=0x08
    #bit rc3=0x07.3
    #bit rc4=0x07.4
    #bit rc5=0x07.5
    #bit rd0=0x08.0
    #bit rd1=0x08.1
    #define srclk rc3
    #define rclk rc4
    #define ser rc5
    //================================================== ============================
    //================================================== ============================
    const unsigned int8 smg[]={0x0a,0xfa,0x8c,0xa8,0x78,0x29,0x09,0xba,0x08,0x2 8,0x00,};
    // 0 1 2 3 4 5 6 7 8 9 all

    const unsigned int8 smg_bit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xff,};
    const unsigned int8 smg_text[]={0xbf,0xfe,0xfb,0xef,0xdf,0x7f,0xfd,0xf7,};
    unsigned int8 c;
    unsigned int8 d;
    signed int32 a1,a11,b1,num1,num11;
    signed int8 i,a;
    //================================================== ============================
    //================================================== ============================
    void senddata_74595(unsigned int8 SendData);
    void hienthi(signed int32 so);
    //================================================== ============================
    #int_RB
    void RB_isr(void)
    {
    a1=input(pin_b4);
    b1=input(pin_b5);

    if(a11==1&&a1==0)
    {
    if(b1==1) num1++ ;

    else num1-- ;
    }
    a11=a1;
    if(num1>=0) {
    num11=num1;
    }
    if(num1<0) {
    num11=0-num1;
    }
    }

    #int_EXT
    void EXT_isr(void)
    {

    }

    #int_RDA
    void RDA_isr(void)
    {

    }

    #int_TIMER0
    void TIMER0_isr(void)
    {

    }



    void main()
    {

    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_OFF);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);
    setup_comparator(NC_NC_NC_NC);
    setup_vref(FALSE);
    enable_interrupts(INT_RB);
    enable_interrupts(INT_EXT);
    enable_interrupts(INT_RDA);
    enable_interrupts(INT_TIMER0);
    enable_interrupts(GLOBAL);
    set_tris_C(0x00);
    set_tris_D(0x00);
    set_tris_B(0xff);
    portd=0xFF;
    rclk=0;

    delay_ms(100);

    rclk=0;
    senddata_74595(0x00);
    senddata_74595(0x00);
    rclk=1;
    a1=1;a11=1;b1=0;num1=0;num11=0;
    i=0;
    while(1)
    {
    hienthi(num11);
    }

    // TODO: USER CODE!!

    }

Múi giờ GMT. Hiện tại là 02:11 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam