Thông báo

Collapse
No announcement yet.

COde này bị lỗi ở đâu vậy các anh ??

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

  • COde này bị lỗi ở đâu vậy các anh ??

    Đề bài của bọn em yêu cầu : Sử dụng chip AT89C51, ADC0804,cảm biến nhiệt LM35 để hiển thị ra màn LCD. Em đã vẽ xong mạch trên protues nhưng khi viết CODE để chạy thì liên tục báo 3 warnings mà em ko biết lỗi ở đâu. Đoạn CODE đây ạ, ai biết sai chỗ nào chỉ giúp em với ạ. Thanks for reading!
    #include <AT89X51.H>
    #include <stdio.h>
    #include<string.h>

    #define RS P3_5
    #define RW P3_6//RW=0 => ghi du lieu
    #define EN P3_7//RW=1 => doc du lieu
    //RS=0 => code
    //RS=1 => data
    #define LCD_PORT P1

    #define INTR P3_0
    #define RD P3_1
    #define WR P3_2


    //===========================
    void delay_ms(int n)
    {
    int k,j;
    for(k=0;k<n;k++)
    {
    for(j=0;j<500;j++);
    }

    }
    //==========================
    void delay_5ms(){
    int i,j;
    for(i=0;i<250;i++)
    for(j=0;j<4;j++){}
    }
    //===========================
    void delay_15ms(){
    int i,j;
    for(i=0;i<250;i++)
    for(j=0;j<100;j++){}
    }
    //============================
    void LCDWriteCmd(unsigned char c) //CT con ghi du lieu len LCD
    {
    RS=0;
    RW=0;
    LCD_PORT=c;
    EN=1;
    EN=0;
    delay_5ms();
    }
    //==============================
    void LCDWriteData(unsigned char c) //CT con doc du lieu tu LCD
    {
    RS=1;
    RW=0;
    LCD_PORT=c;
    EN=1;
    EN=0;
    delay_5ms();
    }
    //=============================
    void LCDcursorxy(int x, int y)
    {
    if((x<1||x>2)&&(y<1||y>16))
    {
    x=1;
    y=1;
    }
    if(x == 1)
    LCDWriteCmd(0x7F+y);
    else
    LCDWriteCmd(0xBF+y);
    }
    //===============================
    void LCD_init() // Khoi tao LCD
    {
    delay_15ms();

    LCDWriteCmd(0x38);
    LCDWriteCmd(0x0C);
    LCDWriteCmd(0x06);
    LCDWriteCmd(0x01); // Xoa man hinh LCD
    }
    //================================
    void LCD_clear()
    {
    LCDWriteCmd(0x01);
    }
    //===============================
    void LCD_home()
    {
    LCDWriteCmd(0x80);
    }
    //=============================
    void LCD_putstr(unsigned char *s)
    {
    while (*s)
    {
    LCDWriteData(*s);
    s++;
    }
    }
    //============================
    void HienThi_ADC(unsigned char t)
    {
    unsigned char v;


    if(t<10)
    { LCDWriteData(t+48);
    }else if(t<100){
    LCDWriteData(t/10+48);
    LCDWriteData(t%10+48);
    }else{
    v=t/10;
    LCDWriteData(v/10+48);
    LCDWriteData(v%10+48);
    LCDWriteData(t%10+48);
    }
    }

    //==========================================


    void main (void)
    {
    unsigned char gt=0; //gt la bie^n' cho gia tri 8bit ADC
    LCD_init();
    LCDWriteCmd(0x83);
    LCD_putstr("Nhom03KTVT");
    while(1)
    {

    WR=0; // Bat dau chuyen doi gia tri tu ADC
    delay_ms(5); // Tao tre de cap nhat du lieu tu ADC
    WR=1; //
    while(!INTR);
    RD=0; // Nhan du lieu da duoc chuyen doi
    gt=P2;
    LCDWriteCmd(0x01);
    LCDWriteCmd(0x83);
    LCD_putstr("Nhom03KTVT");
    LCDWriteCmd(0xC0);
    LCD_putstr("Nhiet do bay gio la:");
    HienThi_ADC(gt);
    delay_ms(150);






    }
    }

Về tác giả

Collapse

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

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

Collapse

  • 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
  • afrendly
    Trả lời cho Đấu tắt điện cho máy tính bảng
    bởi afrendly
    Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
    04-12-2025, 01:27
  • nick22
    Trả lời cho Máy điện châm ?
    bởi nick22
    Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
    01-12-2025, 13:23
Đang tải...
X