Giúp em về mạch đếm lên xuống dùng 8051

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • vinhtelecom
    Thành viên mới
    • Mar 2008
    • 14

    #1

    Giúp em về mạch đếm lên xuống dùng 8051

    Ai biết về mạch đếm xin cung cấp tài liệu.
    Đang làm bài tập lớn về VXL.
    Mạch đếm lên xuống dùng 8051,mod 16 xuất ra hai led 7 đoạn.Cám ơn
    xin cám ơn.
    |
  • trong123
    Thành viên chính thức
    • Mar 2008
    • 79

    #2
    Nguyên văn bởi vinhtelecom Xem bài viết
    Ai biết về mạch đếm xin cung cấp tài liệu.
    Đang làm bài tập lớn về VXL.
    Mạch đếm lên xuống dùng 8051,mod 16 xuất ra hai led 7 đoạn.Cám ơn
    xin cám ơn.
    Mạch thì mình không có, nhưng mình có thể giúp bạn phần lập trình khi bạn đã làm được mạch!
    Không TÔI là kẻ phàm phu
    Cái TÔI quá lớn làm ngu muội mình!
    - 0983.886.113

    Comment

    • chumanh
      Thành viên tích cực
      • Nov 2009
      • 256

      #3
      zz mạch thì không có thật, tuy nhiên thuật toán thì ok ngay , nhìn mạch đoán code hehe

      Comment

      • hoangdai
        Thành viên tích cực
        • Nov 2005
        • 2720

        #4
        thuật toán ntn:
        -Dùng ngắt timer tạo ra khoảng thời gian chuẩn(Tùy ý)
        -Trong ngắt tăng biến đếm i nào đó(Bước nhảy tùy ý, có thể tăng tốc và giảm tốc tăng i bằng 1 biến trung gian j nào đó)
        -Trong CT chính thì chia cái biến i này lấy các phần ngàn, trăm, chục, đơn vị.....và cho hiển thị.
        Còn đếm lùi thì tương tự, nhớ là nạp trc giá trị cho nó, trong ngắt thì giảm chứ ko tăng biến đếm.


        Add: 97 Quán Nam - Lê Chân - Hải Phòng.
        Tel: 031 518648 Phone: 0904 283 505

        Comment

        • thuongdtqb
          Thành viên tích cực
          • Apr 2011
          • 513

          #5
          Nguyên văn bởi vinhtelecom Xem bài viết
          Ai biết về mạch đếm xin cung cấp tài liệu.
          Đang làm bài tập lớn về VXL.
          Mạch đếm lên xuống dùng 8051,mod 16 xuất ra hai led 7 đoạn.Cám ơn
          xin cám ơn.
          Tặng bạn một chương trình ASM đếm lên xuống có nút nhấn hẳn hoi.
          QUET 2 LED 7 DOAN DEM CO NUT NHAN.rar
          ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

          Comment

          • thoainx
            Thành viên mới
            • Aug 2011
            • 12

            #6
            co the cho minh xin code cua mach dem len xuong dk ko?

            Comment

            • bienhou
              Thành viên tích cực
              • Dec 2011
              • 971

              #7
              Code:
              #include <REGX51.H>
              unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
              unsigned char i=99;
              unsigned char n;
              unsigned char a=0;
              sbit A1=P1^0; // Anot led hang chuc
              sbit A2=P1^1;	 // Anot led hang don vi
              void delay(unsigned int time) //ham tre phuc vu quet led
              {unsigned int n;
              for(n=0;n<time;n++)
              {
              ;
              }
              }
              void hienthi()
              {// LED HANG CHUC
              
                        A1=1;
                        P2=M[i/10];
                        delay(50);
                        A1=0;	 // xoa led
                        P2=0xff;
              //............LED HANG DON VI
                        A2=1;
                        P2=M[i%10];
                        delay(50);
                        A2=0; 
                        P2=0xff;
              }
              void khoitao()
              { 
                        TMOD = 0x01;
                        IE = 0x82; 
                        TH0 = -5000/256; //tre 5ms
                        TL0 = -5000%256;
                        EA = 1;
                        ET0 = 1;
                        TR0 = 1;
              
              }
              void isr_timer0(void) interrupt 1
              { 
                        TF0 = 0;
                        TR0 = 0;
                        a++;
                        hienthi();
                        TH0 = -5000/256;
                        TL0 = -5000%256;	
                        TR0=1;
                        if(a==200)
                           {
                              a=0;
                              i--;
              
                           }
              
              }	
              void main()
              { 
              khoitao();
              {
              while(1)//{
              if(i==0)
              i=99;
              }
              
              }
              tặng bạn cái code đếm ngược này
              Nguyễn Huy Biên - 01649 802 694
              gmail :

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...