help! mạch đếm

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • asiamap
    Thành viên mới
    • Sep 2012
    • 15

    #1

    help! mạch đếm

    hi men!
    em có cái mạch như sau:


    Uploaded with ImageShack.us
    code:
    #include <REGX51.H>
    #include <stdio.h>
    #include <math.h>
    long int num,i;
    unsigned char donvi,nghin,tram,chuc;
    M[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };
    void delay(unsigned long int t)
    {
    for(i=0;i<=t;++i);
    }
    void dung(void) /*hien chu dung*/
    {
    P3=0x80;
    P0=0x90;//g
    delay(100);
    P3=0x40;
    P0=0xc8;//n
    delay(100);
    P3=0x20;
    P0=0xc1;//u
    delay(100);
    P3=0x10;
    P0=0xa1;//d
    delay(100);
    }
    void hienthi(int num)
    {

    nghin=num/1000;

    tram=(num%1000)/100;

    chuc = ((num%1000)%100)/10;

    donvi = ((num%1000)%100)%10;


    P3=0x80;
    P0=M[donvi];
    delay(100);
    P3=0x40;
    P0=M[chuc];
    delay(100);
    P3=0x20;
    P0=M[tram];
    delay(100);
    P3=0x10;
    P0=M[nghin];
    delay(100);
    }
    void main (void)
    {
    IE=0x84;
    IT1=1;
    num=0;
    while(1)
    {
    if(num<=9999)
    hienthi(num);
    else
    dung();
    }
    }
    void ngat1(void) interrupt 2
    {
    num++;
    }
    khi có tín hiệu ngắt ngoài INT0 em muốn nó thực hiện phép toán (100 - num*2) nhưng loai hoay hoài vẫn k ra có pro nào giúp em đoạn code đó k?
    thanks
  • maingochoc
    Thành viên tích cực
    • Jan 2010
    • 501

    #2
    Nguyên văn bởi asiamap Xem bài viết
    khi có tín hiệu ngắt ngoài INT0 em muốn nó thực hiện phép toán (100 - num*2) nhưng loai hoay hoài vẫn k ra có pro nào giúp em đoạn code đó k?
    thanks
    Sửa lại code.
    hienthi(100-num*2);
    ok.

    Comment

    • asiamap
      Thành viên mới
      • Sep 2012
      • 15

      #3
      Nguyên văn bởi maingochoc Xem bài viết
      Sửa lại code.
      hienthi(100-num*2);
      ok.
      có cần khai báo gì nữa không anh?
      ý em là hienthi(num) rồi nhưng gờ em muốn hiển thị thêm hienthi(100-num*2)
      có nghĩa là hiển thị 2 lần

      Comment

      • asiamap
        Thành viên mới
        • Sep 2012
        • 15

        #4
        không ai giúp em ak?
        yêu cầu là:
        -đếm xung vào ở INT1,hienthi(num)
        -khi có tín hiệu ngắt ngoài INT0 thì ngừng đếm,thực hiện phép toán (100-num*2) và hiển thị led
        yêu cầu đầu tiên thi em viết đựoc rồi con yêu cầu thứ 2 nữa pro nào giúp em đi
        đang cần lắm mọi người ơi
        cố gắng giúp em đi
        Last edited by asiamap; 13-11-2012, 17:46.

        Comment

        • asiamap
          Thành viên mới
          • Sep 2012
          • 15

          #5
          sao k ai giúp mình hết vậy?

          Comment

          • quang_le_pt
            Thành viên tích cực
            • Mar 2012
            • 189

            #6
            void ngat0(void) interrupt 0
            {hienthi(100-num*2) ;
            while(1);
            }
            liệu được ko nhỉ

            Comment

            • asiamap
              Thành viên mới
              • Sep 2012
              • 15

              #7
              Nguyên văn bởi quang_le_pt Xem bài viết
              void ngat0(void) interrupt 0
              {hienthi(100-num*2) ;
              while(1);
              }
              liệu được ko nhỉ
              mình thử rồi không được bạn ơi.
              help me!

              Comment

              • quang_le_pt
                Thành viên tích cực
                • Mar 2012
                • 189

                #8
                b đính kèm file mô phỏng với chương trình mih chạy thử xem sao :d

                Comment

                • asiamap
                  Thành viên mới
                  • Sep 2012
                  • 15

                  #9
                  Nguyên văn bởi quang_le_pt Xem bài viết
                  b đính kèm file mô phỏng với chương trình mih chạy thử xem sao :d
                  bạn xem dùm mình với sao mình làm ra mạch thật nó k chạy được
                  spkt.rar

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...