Thông báo

Collapse
No announcement yet.

Cho mình hỏi về ADC0804 và 89V51 !!!

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

  • Cho mình hỏi về ADC0804 và 89V51 !!!

    Mình đang làm đề tai đọc nhiệt độ từ LM35DZ vào ADC 0804 và sau đó đưa giá trị qua 89V51 rồii xuất ra giá trị qua 4 LED 7 đoạn Anod Chung.Minh để sơ đồ mạch dưới đây. Trong quá trình làm mạch mình gặp một rắc rối đó là:
    -Theo lý thuyết thì cần cấp Vref =1.28V thì chỉ cần lấy dữ liệu và xuất ra LED, mình thi để trống nên nhân thêm dữ liệu với 1.953 rồii mới xuất ra lED.
    -Trong quá trình xử lý và xuất LED, nếu mình thử nhập thằng giá trị thập phân cho hàm xuất thì giá trị ra 4 LED 7 đoạn rất tốt.Nhưng khi mình lấy dữ liễu từ ADC vào, xử lý, thì lại gặp rắc rối:
    - LED thứ 4 (hàng trăm ) ko sáng đúng, luôn hiện số 8.
    - 2 LED còn lại (hàng chục, đơn vị ) thì sáng lúc đầu , sau đó tắt đi, và chỉ còn LED thứ 4 sáng, lúc này thì LED thứ 4 sáng đúng giá trị, nhưng 2 LED kia đã tắt và cứ như vậy luôn cho đến khi reset mạch.
    -Mạch xử lý tín hiệu vào và xuất ra chậm lắm, khi tăng nhiệt độ bằng cách đốt nóng LM35 thì 4 LED vẫn ko hiện ra liền, mà cần phải reset vài lần, chập chờn rồi mới ra giá tri nhưng lại bị lỗi ở trên.

    Bạn nào biết xin chỉ giúp minh với: Sắp tới ngày nộp mạch rồii mà vậy chắc tieu.Xin cám ơn các bạn rất nhiều.:
    đây là code mình viết va so do mach trong file dinhkem:
    #include <REG51.H>
    #include <intrins.h>
    #include <stdio.h>
    // P2 : ma hinh ,du lieu LED 7 doan
    // P0: ma chon 4 LEd 7 doan de quet led

    sbit ADC_RD=P3^2;//bit read va write cua ADC
    sbit ADC_WR=P3^4 ;
    unsigned int nhietdo;
    unsigned char meg_hello[14]={
    0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, 0x84
    };
    void delay_us(unsigned char n) //ham delay de quet led
    {
    unsigned char i;
    for(i=0;i<n;i++);
    }
    void delay_ms(unsigned int n)
    {
    unsigned int i;
    for(i=0;i<n;i++) delay_us(255);
    }
    void temp_display( int r1) //ham hien thi led, 4 led 7 doan
    {
    unsigned int r3,r4;
    int r2,LED1,LED2,LED3,LED4;//led 1,led2,led3,led 4: tram, chuc, don vi, Chu C
    LED1= r1/100;
    r2=r1-100*LED1;
    LED2=r2/10;
    LED3=r2-LED2*10;
    LED4=10;
    r4=300;
    while(r4--)
    {
    r3=4;
    while(r3--)
    {
    P0=0x01;
    P2=meg_hello[LED4];
    delay_ms(1);
    P0=0x02;
    P2=meg_hello[LED3];
    delay_ms(1);
    P0=0x04;
    P2=meg_hello[LED2];
    delay_ms(1);
    P0=0x08;
    P2=meg_hello[LED1];
    delay_ms(1);

    }
    }
    }
    void batdau() // khoi tao cac gia tri cho ADC chay
    {
    ADC_RD=1;
    ADC_WR=1;
    IT1=1 ;
    EX1=1;
    EA=1;
    }
    void chuyendoi() //cho ADC chuyen doi sang nhi phan 8 bit
    {
    ADC_WR=0;
    ADC_WR=1;
    }
    int1()interrupt 2
    {
    ADC_RD=0;
    nhietdo= P1; //lay nhiet do tu 8 bit ngo ra ADC noi voi P1
    nhietdo=nhietdo*1.953;
    ADC_RD=1;
    temp_display(nhietdo);
    delay_us(33000);
    chuyendoi();
    }
    void main(void)
    {

    while(1)
    {
    batdau();
    chuyendoi();

    }
    }
    Attached Files

Về tác giả

Collapse

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

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

Collapse

  • Andrea14
    Vấn đề về tốc độ quay
    bởi Andrea14
    Chào mọi người,

    Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
    12-12-2025, 12:42
  • bqviet
    Trả lời cho Đấu tắt điện cho máy tính bảng
    bởi bqviet
    Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
    06-12-2025, 17:17
  • nguyendinhvan
    Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
    bởi nguyendinhvan
    Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
    05-12-2025, 19:59
Đang tải...
X