Pic16f877a-lm35-lcd tc1602a

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • pdkxlily
    Đệ tử 2 túi
    • Mar 2011
    • 27

    #46
    Nguyên văn bởi thanhtrung14487 View Post
    Code:

    #define <16f877a.h>
    #include "16F877A.h" // Đi kèm chương trình dịch, chứa khai báo về các thanh ghi trong
    mỗi con PIC, dùng cho việc cấu hình cho PIC
    #device *=16 adc=8 // Khai báo dùng con trỏ 8 hay 16 bit, bộ ADC là 8 hay 10 bit
    //#device PIC16F877A *=16
    #use delay(clock=12000000) // Tần số thạch anh sử dụng

    #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT // Khai báo về cấu hình cho PIC (# Fuses HS / / OSC tốc độ cao (> 4mhz) HS là khai báo giao động ngoài, # Fuses NOPROTECT / / Mã không bảo vệ khỏi đọc, # Fuses NOPUT / / No Power Up Timer, # Fuses NODEBUG / / Không có chế độ Debug cho ICD, # Fuses NOBROWNOUT / / Không đặt lại brownout, # Fuses NOLVP# use delay (clock = 20000000)
    //#use rs232(baud=115200,parity=N,xmit=PIN_C6,rcv=PIN_C7, bits=9) // Khai báo cho giao tiếp nối tiếp RS232
    #include <LCD.C> // khai bao thu vien LCD
    #INT_EXT // #INT_xxx : Khai báo địa chỉ chương trình phục vụ ngắt
    int8 read;
    void main(void)
    {
    // set_tris_b(0); // cai dat cong b la cong ra
    set_tris_a(0xFF); // cai dat cong a la cong vao
    set_tris_d(0x00); // cai dat cong d la cong ra



    // Khoi tao cho ngat ngoai
    enable_interrupts (INT_EXT); //khoi tao ngat ngoai
    ext_int_edge(H_TO_L);//chon bit canh xuong chan RA4
    enable_interrupts (GLOBAL);// ngat toan cuc
    //Khoi tao ADC
    setup_adc_ports(AN0);// Setup_ADC_ports(value) //Xác định chân lấy tín hiệu Analog và điện thế chuẩn

    setup_adc(ADC_CLOCK_INTERNAL);// _CLOCK_INTERNAL : thời gian lấy mẫu bằng xung clock
    set_ADC_channel(0);
    //delay_ms(10);
    //read = read_adc();

    delay_ms(50);

    while(TRUE)
    {
    lcd_init();//khai bao co su dung LCD
    read=read_adc();//read sẽ có giá trị bằng giá trị điện áp mà chân được
    read =read*1.960784314;
    printf(lcd_putc,"\rNhiet do: %u",read);
    delay_us(20);
    }
    }
    em lam rui mo phong chi hien thi len lcd toan nhiet do le thoi cac anh coi giup em no sai va thua cho nao ko.email:thanhtrungvn87@yahoo.com.em cam on!
    dùng adc 8 bit thường sai 1-2 độ
    thay adc 10bit read =read/0.2048;
    là sẽ hết ngay

    Comment

    • ddong
      Nhập môn đệ tử
      • Nov 2009
      • 1

      #47
      píc6f877a+lm35+pc

      ai có ptoject nào hoàn chỉnh về píc6f877a+lm35+giao tiếp máy tính cho mình xin với.mình mới làm nên kko biết mấy.

      Comment

      • malcolmtys
        Nhập môn đệ tử
        • Oct 2011
        • 1

        #48
        em đang làm đồ án môm học.. là đề tài đo nhiệt độ sử dụng pic 16f877a,lm335,hien thi LCD. Cảnh báo nhiệt độ ở 70oC đồng thời den sáng. Ai giúp e phan code sử dụng hợp ngữ em mới học về pic..... mấy anh chị có thể cho e sơ đồ nguyên lý để dễ dàng thực hiện dc ko>.... thanhk

        Comment

        • norimo
          Đệ tử 1 túi
          • Jul 2011
          • 12

          #49
          Khi dùng ADC 8bit, tín hiệu ADC đọc được từ chân ADC như sau:

          1V 2V 3V 4V 5V
          51 102 153 204 255

          Tức là nếu điện áp vào 1V thì tín hiệu digital tăng 51
          1V  ADC=51
          1C10mVADC=10*51/1000
          Suy ra T ADC = T*10*51/1000
          Suy ra T = ADC*1000/10/51 = ADC * 1.960784314

          Công thức này không đúng lắm. Bác nào có cái chính xác hơn không.

          Comment

          • norimo
            Đệ tử 1 túi
            • Jul 2011
            • 12

            #50
            Up.........................

            Comment

            • {}{}{}
              Nhập môn đệ tử
              • Feb 2012
              • 1

              #51
              help me!!!!!

              em mới học về LCD chưa hiểu j mấy thì thầy bắt làm đề tài hiển thị 2 dòng chữ BKHN, VI XU LY trên 2 dòng của LCD1602 viết bằng CCS. Các anh có thể giúp em được ko ah? em cảm ơn nhiều lắm.

              Comment

              • letanminh
                Nhập môn đệ tử
                • Feb 2010
                • 7

                #52
                Thực tế 8 Bit nhưng khi thiết kế mạch và lập trình phải 4 Bit để tiết kiệm chân PIC: Đầu tiên phải lấy thư viện LCD.
                Đoạn cos sau đây có thể tham khảo
                #include <htc.h>
                #include "lcd.h"
                #include <stdio.h>
                //Cấu hình cho Chip
                __CONFIG(INTIO & WDTDIS & PWRTDIS & MCLREN & UNPROTECT & DUNPROTECT & BORDIS & FCMDIS);
                int value; //Khai báo biến value
                void main()
                {
                VCFG1=VCFG0=0; //Điện áp tham chiếu Vref+=Vdd,Vref-=Vss
                TRISA3=1; //RA3 là Input
                ANS3=1; //RA3 là Analog(trong thanh ghi ANSEL:Analog Select Register)
                CHS0=1; //Chọn kênh ADC : AN3 tương ứng chân RA3(trong thanh ghi ADCON0)
                CHS1=1;
                CHS2=0;
                CHS3=0;
                ADCS0=1; //Thời gian hoàn thành (Focs/8))
                ADCS1=0;
                ADFM=0; //Định dạng kết quả ADC 10bit được sau khi được chuyển đổi,canh chỉnh trái=>value=(high*4+low)
                ADON=1; //Bat che do ADC

                lcd_init(); //Hàm khởi tạo LCD chứa trong thư viện "lcd.c"
                lcd_putc('\f'); //Hiển thị ký tự lên LCD trong dấu ' ' ,ở đây\f là xóa LCD
                while(1)
                {
                GODONE=1; //Bắt đầu chuyển đổi
                value=ADRESH*4 + ADRESL; //Gán biến value = giá trị chuyển đổi 10bit
                lcd_gotoxy(0,0); //Chỉnh con trỏ chuột về đầu dòng hàng thứ nhất LCD
                printf(" Gia tri ADC"); //In chuỗi ký tự:"Gia tri ADC"
                printf("\n %d",value); //In giá trị ADC 10bit sau sau khi chuyển đổi được gán vào biếnvalue
                }
                }
                letanminhqn@gmail.com

                Comment

                • masterking
                  Nhập môn đệ tử
                  • Jan 2012
                  • 3

                  #53
                  Đồ cổ mà vẫn còn hót quá... thank's chủ thớt nhé...................

                  Comment

                  • chutuyen
                    Nhập môn đệ tử
                    • Nov 2012
                    • 3

                    #54
                    ban nao giup minh code de tai tren bang notepad voi dc khong?. minh k hieu gi ve ccs ca~.

                    minh dang gap van de tai cho~ hien thi nhiet do len lcd.email cua minh :chutuyen2509@gmail.com

                    xin loi viet key minh bi loi~> > rat mong dc su giup do~ .

                    a minh hien dang hoc tai cd kt cao thang.

                    Comment

                    • trungthao_uet55
                      Nhập môn đệ tử
                      • Sep 2013
                      • 1

                      #55
                      Nguyên văn bởi Klong19 View Post
                      Lâu nay lên diễn đàn mình chỉ toàn đọc thôi chứ hok post gì vì chưa biết gì để post. Giờ mới làm xong một mạch nhỏ là mạch đo nhiệt độ, hiển thị lên LCD, xin post lên đây bài báo cáo hoàn chỉnh của mình vì biết đâu mý bạn mới bắt đầu thấy cần, có đầy đủ từ Proteus, code CCS, file hex lẫn mạch in luôn . Tiện thể mình cám ơn picvietnam và mý anh chị có những Tutorial mà mình đã đọc trong khi làm mạch này, và những người đã hướng dẫn mình.
                      Mọi người cho mình hỏi chút, mình muốn hiển thị lần lượt các giá trị ở mỗi chân an0,1,2 lên lcd bằng cách ấn phím, mọi người có thể cho m xin bài code được không, m ko biết tí gì về code này cả.
                      Attached Files

                      Comment

                      • eshall
                        Nhập môn đệ tử
                        • Jan 2015
                        • 2

                        #56
                        không biết là cho con biến trở vào để làm gì ạ ? Có phải là để chỉnh độ nhạy của lm35 k các bác @@
                        Pass your a+ certification exam and testking exams in first try by using our guaranteed network+ and wikipedia and best quality selftestengine.

                        Comment

                        • kidmaster08
                          Đệ tử 2 túi
                          • Sep 2010
                          • 41

                          #57
                          Hãy tham gia diễn đàn mới nào. rất mong được sự giúp đỡ của mọi người

                          Comment

                          Working...