Thông báo

Collapse
No announcement yet.

help! mạch đếm

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

  • 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

  • #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


    • #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


      • #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, 18:46.

        Comment


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

          Comment


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

            Comment


            • #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


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

                Comment


                • #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...
                  X