Chào mừng các bạn đến với forum lớp DTVT_K7A CNTT Thái Nguyên
Bạn hãy "Đăng nhập" để tham gia cùng chúng tôi

Join the forum, it's quick and easy

Chào mừng các bạn đến với forum lớp DTVT_K7A CNTT Thái Nguyên
Bạn hãy "Đăng nhập" để tham gia cùng chúng tôi

Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Top posters

banmun08 (721)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
Toanlt_GP (368)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
tiendientu343 (344)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
hany_mitu (281)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
TranTuyen_BG (275)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
Capkama (271)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
VDuy_NĐ (260)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
Minh (257)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
tieuthantien_3t (173)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 
Hangvt_gc (171)
[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_left[8051] Đo nhiệt độ hiển thị led 7 thanh Bar[8051] Đo nhiệt độ hiển thị led 7 thanh Bar_right 

Latest topics

» Game dân gian thuần việt 2014 ra mắt phiên bả
by banmun08 Fri May 02, 2014 5:38 pm

» Ứng dụng Bóng đá trực tuyến - Chia sẻ mới dàn
by meocontt89 Fri May 02, 2014 3:44 pm

» Bài bào cáo mạch bấm chuông trò chơi
by tuyenbk2009 Sun Apr 27, 2014 10:48 pm

» Tư vấn học công nghệ thông tin - lập trình
by wyuru Thu Apr 24, 2014 5:17 pm

» Hero Chibi - Khai mở máy chủ S10 - SonGoKu
by Poligon121 Wed Apr 16, 2014 2:15 pm

» mạch đông hồ vạn niên sư dụng DS1307
by ttd2506 Mon Apr 14, 2014 9:45 pm

» Game8 phát 1000 GiftCode mừng máy chủ mới của
by Poligon121 Mon Apr 14, 2014 3:07 pm

» HIỆP KHÁCH 4U.COM OPEN GAME HỒI 10H00 SÁNG
by anata Fri Apr 11, 2014 1:34 pm

» Đua tốp Mu Thần Tài nhận iphone iphone 5s
by muthantai Sun Apr 06, 2014 12:26 pm

» Hiệp khách 4u.com OPEN game hồi 10h00 chủ nh
by anata Sat Apr 05, 2014 7:48 am


4 posters

    [8051] Đo nhiệt độ hiển thị led 7 thanh

    Capkama
    Capkama
    Admin
    Admin


    Gender : Nam Số bài : 271
    Birthday : 14/05/1989
    Họ và tên : Dương Vũ Kiên Đến từ : DTVT K7A
    Ước mơ : We are one family
    Status : It only takes a second to say I love you, but it will take a lifetime to show you how much...

    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by Capkama Sun Jul 24, 2011 10:22 pm

    Đây là mạch mô phỏng
    [8051] Đo nhiệt độ hiển thị led 7 thanh Proteusadc
    Và đây là code nguồn:
    Code:
    // CODE DO NHIET DO. HAND IN HAND GROUP. DTVT K7A CNTT THAI NGUYEN//
    ORG 0000H
      CLR C

    TD:
      LCALL CDOI
      LCALL HEX_BCD
      LCALL BCD_7DOAN
      LCALL HIENTHI
      SJMP TD

    CDOI: 
       CLR P3.6
       SETB P3.6
    HERE:
       JNB P3.7,HERE
       CLR P3.5
       MOV A,P1
       RET
    HEX_BCD:
      MOV B,#10
      DIV AB
      MOV 10H,B
      MOV 11H,A
      MOV A,#30

    BCD_7DOAN:
      MOV DPTR,#900H
      MOV A,10H
      MOVC A,@A + DPTR
      MOV 22H,A
     
      MOV A,11H
      MOVC A,@A + DPTR
      MOV 23H,A
      MOV 21H,#09CH
      MOV 20H,#0C6H
      RET
     
    HIENTHI:
      MOV R0,#23H
      MOV A,#01H
      MOV R7,#04
    HT: 
       MOV P0,@R0
       MOV P2,A
       LCALL DELAY
       MOV P2,#00H
       DEC R0
       RL A
       DJNZ R7,HT
       RET
     
    DELAY:  MOV 7FH,#100
      DJNZ 7FH,$
      RET
    ORG 900H
    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
    END
    Mình chỉ up hình và code, các bạn về tự vẽ proteus. Các bạn lập trình mớ rộng thêm theo khả năng của mình nhé.
    thanga7a
    thanga7a
    Thượng Sĩ
    Thượng Sĩ


    Gender : Nam Số bài : 88
    Birthday : 04/08/1991
    Họ và tên : vũ đình thắng Đến từ : bình giang _hải dương
    Ước mơ : kĩ sư điện tử
    Status : tui là thắng đến từ hải dương

    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty Re: [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by thanga7a Mon Jul 25, 2011 9:30 pm

    không có code c hả đại ka
    Capkama
    Capkama
    Admin
    Admin


    Gender : Nam Số bài : 271
    Birthday : 14/05/1989
    Họ và tên : Dương Vũ Kiên Đến từ : DTVT K7A
    Ước mơ : We are one family
    Status : It only takes a second to say I love you, but it will take a lifetime to show you how much...

    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty Re: [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by Capkama Mon Jul 25, 2011 9:33 pm

    Bạn chế C từ ASM được mà. Căn cứ vào câu lệnh asm viết ra C đơn giản lắm. Mà mới học về 8051 thì tốt nhất bạn nên viết bằng ASM để hiểu rõ về cả phần cứng lần hoạt động của IC.
    langtu_htd5
    langtu_htd5
    Thượng Sĩ
    Thượng Sĩ


    Gender : Nam Số bài : 87
    Birthday : 10/01/1991
    Họ và tên : Hoàng Thế Nam Đến từ : Hà Tây
    Ước mơ : Học đã, tính sau!
    Status : ĐTVT K8D

    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty Re: [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by langtu_htd5 Sat Oct 01, 2011 8:54 am

    anh oi anh giải thích cho em thuật toán để giải mã từ mã nhị phân để hiển thị ra led 7 thanh với. VD: Từ con LM35 ta đo đc 35 độ C, làm thế nào để nó hiển thị đc 35 độ trên led vậy anh. Em đoc code không hiểu


    Được sửa bởi langtu_htd5 ngày Sat Oct 01, 2011 3:53 pm; sửa lần 1.
    tiendientu343
    tiendientu343
    Đại Tướng
    Đại Tướng


    Gender : Nam Số bài : 344
    Birthday : 03/01/1990
    Họ và tên : Bùi Duy Tiến Đến từ : Hải Dương
    Ước mơ : CEO
    Status : Biết lái máy bay ! Biết lái xe tăng.

    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty Re: [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by tiendientu343 Sat Oct 01, 2011 12:14 pm

    Chắc bạn chưa nắm rõ được phương pháp quet dữ liệu rồi.
    Chuyển đổi từ nhị phân sang mã led 7 đoạn có gì khó đâu. Bạn có một mảng dữ liệu nơi chứa các mã 7 đoạn của các số sau đó bạn thực hiện chia tách các số hàng trăm, chục, đơn vị sau đó ứng với vị trí nào nó là cái đó đấy
    Thế này bạn nhé!:
    Do VĐK chỉ làm việc với tín hiệu số nên khi dùng cảm biến nhiêt LM35 bạn phải cho qua một ic chuyển đổi là ADC0804 như Admin đã post trên hình trên.
    Việc của bạn bây giờ đơn giản chỉ là điều khiển ADC0804 chuyển đổi và nhận hiển thị thôi.
    Bạn cần đọc và hiểu nguyên lý ADC trước đi rồi mình sẽ giúp bạn như vậy sẽ tốt hơn!
    Thuật Toán như thế này:
    Cảm biến--->ADC-->VĐK---->Led7 đoạn
    Vi điều khiển nhận dữ liệu từ ADC sau đó hiển thị trên led bằng phương pháp quét.
    Với bài trên a chuyển đổi code sang C như sau:

    Code:

    // Chuong trinh dieu khien ADC0804
    // duoc viet boi nhom Hand in Hand
    // DTVTK7A- DHCNTT-TT Thai Nguyen
    #include<reg51.h>
    #include<stdio.h>
    // khai bao cac chan de quet led
    sbit led1 = P3^4;
    sbit led2 = P3^5;
    sbit led3 = P3^6;
    sbit led4 = P3^7;
    // khai bao chan dieu khien ADC
    sbit doc  = P3^0;
    sbit viet = P3^1;
    sbit ngat = P3^2;
    sbit cs  = P3^3;
    //khai bao ham delay
    void delay()
      {
      TMOD=0x01;
      TH0=48201/256;
      TL0=48201%256;             
      TR0=1;
      while(!TF0);
      TR0=0;
      TF0=0;
      }
    void tre(unsigned char ms)
      {
      int i,j;
      for(i=0;i<ms;i++)
        for(j=0;j<125;j++);
      }
    //khai bao cac bien su dung hien thi tu 0-99
    unsigned char mang[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; // ma led 7 doan tuong ung tu 0-9;
    unsigned char chuc,donvi,giatri_adc;
    // Cac ham dieu khien ADC
    void chuyendoi_dulieu(void)
        {
       viet=0;
       viet=1;
       while(ngat);
       }
    void xuat_dulieu(void)
        {

       doc=0;
        giatri_adc=P1;
       doc=1;
       }
    // ham quet led
    void quet_led(void)
      {
      chuc=giatri_adc/10; // gia tri hang chuc
      donvi=giatri_adc%10;// gia tri ham don vi
      //bat dau quet nay
      //hien hang chuc
      led1=1;         
      P2=mang[chuc];
      delay();
      led1=0;
      P2=0xFF;
      // hien hang don vi
      led2=1;
      P2=mang[donvi];
      delay();
      led2=0;
      P2=0xFF;
      // hien thi do C
      led3=1;
      P2=0x9C;
      delay();
      led3=0;
      P2=0xFF;
      led4=1;
      P2=0xC6;
      delay();
      led4=0;
      P2=0xFF;
      }
    // chuong trinh chinh
    void main(void)
        {
       chuyendoi_dulieu();
       xuat_dulieu();
       quet_led();
       }
    langtu_htd5
    langtu_htd5
    Thượng Sĩ
    Thượng Sĩ


    Gender : Nam Số bài : 87
    Birthday : 10/01/1991
    Họ và tên : Hoàng Thế Nam Đến từ : Hà Tây
    Ước mơ : Học đã, tính sau!
    Status : ĐTVT K8D

    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty Re: [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by langtu_htd5 Sat Oct 01, 2011 1:46 pm

    em biết là LM35 là con cảm biến nhiệt, đưa qua con ADC để chuyển thành mã nhị phân. E chỉ biết đưa mã nhị phân đó qua con 7447 để đc mã của led 7 thanh nhưng để đưa trực tiếp ra mã led 7 thanh thì em chưa hiểu lắm, nhất là về con trỏ dữ liệu và cái bảng ở đoạn code cuối (anh chuyến sang code C thì e có thể hiểu đc, còn ASM thì vẫn hơi mơ màng chút)
    tiendientu343
    tiendientu343
    Đại Tướng
    Đại Tướng


    Gender : Nam Số bài : 344
    Birthday : 03/01/1990
    Họ và tên : Bùi Duy Tiến Đến từ : Hải Dương
    Ước mơ : CEO
    Status : Biết lái máy bay ! Biết lái xe tăng.

    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty Re: [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by tiendientu343 Sat Oct 01, 2011 2:39 pm

    Có gì mà mơ màng e! Cấu trúc Asm cũng như các ngôn ngữ khác.
    Cũng có cấu trúc for, if, while nhưng nó ko ghi trực tiếp như ngôn ngữ khác.
    E phải kết hợp các câu lệnh mới có những cấu trúc điều khiển như trên.
    Nhóm Hand in hand sẽ sớm ra mắt hướng dẫn kỹ thuật về lập trình ASM để anh em tham khảo cho dễ dàng tiếp cận.
    Còn việc e chưa hiểu cách đưa ra mã led 7 đoạn thế nào thì e phải viết các thanh của led 7 đoạn rồi tính ra dễ thôi. Nếu e học điện tử số rồi chắc chắn e đã được học.E xem cái này sẽ có ích cho e
    [You must be registered and logged in to see this link.]

    Sponsored content


    [8051] Đo nhiệt độ hiển thị led 7 thanh Empty Re: [8051] Đo nhiệt độ hiển thị led 7 thanh

    Bài gửi by Sponsored content


      Hôm nay: Fri May 10, 2024 1:21 pm