Thông báo

Collapse
No announcement yet.

giup' do

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

  • giup' do

    các anh ơi giúp em với.....!!!!.e kỳ này phải làm đồ án vi điều khiển:đề là:thiết kế volmetter đo điện áp với 3 thang đo 0-0.25v,0-25v,0-250v,hiển thị trên màn hình LCD..đó đồ án của e đó,:e hỏi xem có anh nào biêt về cai này không thì giúp đỡ e với về phần lập trình..........e thanks các bác trước...


  • #2
    bạn nắn tính hiệu nhận từ AC ra DC, rồi đưa vào ADC lấy tín hiệu số đưa qua VĐK - ở đây dùng VDK Pic là tiện lợi nhất - thế rồi mình giải mã hiển thị lên LCD thôi
    Nhận thiết kế và làm mạch in đồ án điện tử:
    Nick:doandientu
    Mail:
    Phone: 0904078671 (A.Danh)
    Add:18 - Phan Chu Trinh - Q.9
    Web: my.opera.com/doandientu

    Comment


    • #3
      @@@@@@

      a ơi a có thể giải thích kỹ hơn nữa dùm e được không ah?????
      e mới bắt đầu làm cái này lần đầu kinh nghiêm chưa có.....a đã từng làm về cái này rùi thỉ chỉ dum e với;;;;;;;;;

      Comment


      • #4
        bạn cws thiết kế phần cứng cho xong đi. Rồi các bác trên 4r giúp cho.
        Thích nghe tụ nổ !
        Thích xem nổ tụ !

        Comment


        • #5
          em nho cac bac giup do

          #include<reg52.h>
          #include<stdio.h>
          #include<math.h>
          sbit INTR_ADC=P1^0;
          sbit RD_ADC=P1^1;
          sbit WR_ADC=P1^2;
          sbit RS = P1^3;
          sbit RW= P1^4;
          sbit EN= P1^5;
          sbit a = P0^0;
          sbit a1 = P0^1;
          sbit a2 = P0^2;
          char x;
          unsigned char y;
          int t;
          float v;
          unsigned char message[32];

          void delay30ms(void) // ham tre trong LCD
          {
          TMOD=0x10;
          TH1=35535/256;
          TL1=35535%256;
          TR1=1;
          while(!TF1);
          TR1=TF1=0;
          }
          void delay(unsigned long int m) // tre
          {
          unsigned long int i;
          for(i=0;i<m;++i);
          }
          void busy_flag(void) //co busy
          {
          P3=0xff; // P2 o muc cao
          RS=0; // chon thanh ghi lenh
          RW=1; // doc du lieu tu LCD
          do // thuc hien cong viec
          {
          EN=1; // dua chan cho phep len cao
          delay(80);
          EN=0; // ha chan cho phep xuong thap
          x=P3;
          x=x&0x80; // (khong hieu)
          }
          while(x==0x80); // cho den khi D7 = 1 LCD ban
          }
          void write_command(unsigned char LCD_command) // thanh ghi lenh
          {
          busy_flag(); // kiem tra co ban
          P3=LCD_command; // gan P2 = lcd conman
          RS=0; // Chon thanh ghi lenh
          RW=0; // dua du lieu vao LCD
          EN=1; // dua chan cho phep len cao
          delay(80);
          EN=0;
          delay(80);
          }
          void write_data(unsigned char LCD_data) // thanh ghi du lieu
          {
          busy_flag();
          if(LCD_data!='\n')
          {
          P3=LCD_data;
          }
          else
          {
          write_command(0xC0);
          return;
          }
          RS=1;
          RW=0;
          EN=1;
          delay(80);
          EN=0;
          delay(80);
          }
          void write_string(char *s)
          {
          while(*s)
          {
          write_data(*s);
          s++;
          }
          }

          void init(void) //khoi tao LCD
          {
          write_command(0x03);
          write_command(0x38);
          write_command(0x06);
          write_command(0x0e);
          }
          void chuyendoi(void)
          {
          RD_ADC=0;
          WR_ADC=0;
          for(t=1;t<=2;t++)
          WR_ADC=1;
          while (!INTR_ADC);
          y = P2;
          }
          void v250(void)
          {
          if(a==0)
          vfloat)(y*5)/255)*50;
          }
          void v25(void)
          {
          if(a1==0)
          vfloat)(y*5)/255)*5;
          }
          void v2.5 (void)
          {
          if(a2==0)
          {vfloat)(y*5)/255);
          if(v > 2.5)
          v=0;
          } }
          void hienthi(void)
          {
          sprintf(&message[0]," \n volt = %0.2f V ",v);
          write_string(&message[0]);
          }
          void main(void)
          {
          delay30ms();
          init();
          P2=0xff;
          write_command(0x01);
          write_command(0x80);
          sprintf(&message[0]," LOP DT3_K2 \n *DO AN MON VDK*");
          delay30ms();
          write_command(0x01);
          write_command(0x80);
          sprintf(&message[0],"DIEN AP DO DUOC:");
          write_string(&message[0]);

          while(1)
          {
          chuyendoi();
          v250();
          v25();
          v2.5();
          /*write_command(0x01);*/
          /*write_command(0x80); */
          /*write_command(0xc0); */
          hienthi();
          delay30ms();
          }
          }





          Đó là chương trình do e thử viết bằng Keil C đó e chạy nhưng mà nó không đúng,nhất là cái phần mà để chuyển đổi đó e viết nhưng mà nó bị sai và em không hiểu về phần này lắm,bác nào mà biết được rõ về phần này chỉ giáo cho em vơi.....ma thầy giáo e yêu cầu dùng họ 8051 co chứ không phải là họ Pic đau cá bác ah......còn về mạch in và mach nguyên lý nữa bác nào biết chỉ giáo cho e........e THANKs!!!!!!!!1

          Comment


          • #6
            e cung tuong tu nhu bac ne , cho e biet vs

            Comment


            • #7
              bac hanhdt o3 oi bac lam dc chua chi cho e

              Comment


              • #8
                up lên cho mọi người thấy và giúp đỡ
                - Mạch nạp vdk 8051, AVR, PIC, EEPROM
                - Linh kiện điện tử cho sinh viên


                Comment


                • #9
                  #include<REGX51.H>
                  #include<stdio.h>
                  sbit int_adc=P2^3;
                  sbit rw_adc=P2^4;
                  sbit rd_adc=P2^5;
                  sbit EN_lcd=P2^2;
                  sbit RW_lcd=P2^1;
                  sbit RS_lcd=P2^0;
                  sbit THANG1=P1^0;
                  sbit THANG2=P1^1;
                  sbit THANG3=P1^2;
                  unsigned char x;
                  float volt;
                  void delay(unsigned int time)
                  {
                  unsigned int i;
                  for(i=0;i<time;++i);
                  }
                  void busy_flag(void)
                  {
                  P0=0xff;
                  RW_lcd=1;
                  RS_lcd=0;
                  do
                  {
                  EN_lcd=1;
                  delay(50);
                  EN_lcd=0;
                  x=P0;
                  x=x&&0x80; //giu lai bit D7 de so sanh
                  }
                  while(x==0x80);// cho bit D7 bang 0 thi thoat
                  }
                  void write_command( unsigned char lcd_command)
                  {
                  busy_flag();
                  P0=lcd_command;
                  RW_lcd=0;
                  RS_lcd=0;
                  EN_lcd=1;
                  delay(50);
                  EN_lcd=0;
                  delay(50);
                  }
                  void write_data(unsigned char lcd_data)
                  {
                  busy_flag();
                  P0=lcd_data;
                  RW_lcd=0;
                  RS_lcd=1;
                  EN_lcd=1;
                  delay(50);
                  EN_lcd=0;
                  delay(50);
                  }
                  void write_string(char *s)
                  {
                  while(*s)
                  {
                  write_data(*s);
                  s++;
                  }
                  }
                  void thiet_lap_ban_dau(void)
                  {
                  write_command(0x03);//dua con tro ve vi tri dau dong
                  write_command(0x038);//2dong,font 5*7
                  write_command(0x06);//dich con tro sang phai
                  write_command(0x0e);//bat hien thi,con tro nhap nhay
                  }
                  void hienthi()
                  {
                  int tram,chuc,donvi,phan,phan1,phan2;
                  int n;
                  n=(int)(volt*100);
                  tram=n/10000;
                  chuc=(n%10000)/1000;
                  donvin%10000)%1000)/100;
                  phann%10000)%1000)%100;
                  phan1=phan/10;
                  phan2=phan%10;
                  if(tram!=0)
                  write_data(48+tram);
                  if((tram!=0)&&(chuc==0)&&(donvi==0))
                  write_data(48);
                  if((tram!=0)&&(chuc==0)&&(donvi!=0))
                  write_data(48);
                  if(chuc!=0)
                  write_data(48+chuc);
                  if((donvi!=0)||(phan1!=0)||(phan2!=0))
                  {
                  write_data(48+donvi);
                  write_data('.');
                  write_data(48+phan1);
                  write_data(48+phan2);
                  }
                  if((donvi==0)&&(phan1==0)&&(phan2==0))
                  write_data(48);


                  }
                  void main(void)
                  {
                  thiet_lap_ban_dau();
                  P3=0xff;
                  while(1)
                  {
                  write_command(0x01);//xoa man hinh
                  write_command(0x80);//tro ve dau dong thu nhat
                  write_string("DIEN AP:");
                  rd_adc=0;//cong dem 3 trang thai o dau ra Dout luon mo
                  rw_adc=0;//bat dau bien doi
                  delay(3);
                  rw_adc=1;
                  while(int_adc==0);
                  x=P3;
                  if(THANG1==0)
                  {
                  volt=(float)(x*5)/255;
                  if((volt<0)||(volt>2.5))

                  {
                  write_command(0xc0);//tro ve dau dong thu hai
                  write_string(" KHONG DO DUOC ");
                  delay(50000);
                  }
                  else
                  {
                  hienthi();
                  write_string("V");
                  write_command(0xc0);//tro ve dau dong thu hai
                  write_string("--HAN-THANG-TU--");
                  delay(50000);
                  }
                  }
                  if(THANG2==0)
                  {
                  volt=(float)(x*50)/255;
                  if((volt<0)||(volt>25))

                  {
                  write_command(0xc0);//tro ve dau dong thu hai
                  write_string(" KHONG DO DUOC ");
                  delay(50000);
                  }
                  else
                  {
                  hienthi();
                  write_string("V");
                  write_command(0xc0);//tro ve dau dong thu hai
                  write_string("--HAN-THANG-TU--");
                  delay(50000);
                  }
                  }
                  if(THANG3==0)
                  {
                  volt=(float)(x*500)/255;
                  if((volt<0)||(volt>250))

                  {
                  write_command(0xc0);//tro ve dau dong thu hai
                  write_string(" KHONG DO DUOC ");
                  delay(50000);
                  }
                  else
                  {
                  hienthi();
                  write_string("V");
                  write_command(0xc0);//tro ve dau dong thu hai
                  write_string("--HAN-THANG-TU--");
                  delay(50000);
                  }
                  }
                  }
                  }

                  Comment


                  • #10
                    BAC XEM CHO E CO SAI J KO , cai nay e coppy dc

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    • tuyennhan
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi tuyennhan
                      Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                      Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                      hôm nay, 07:44
                    • vi van pham
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi vi van pham
                      Cám ơn những lời chúc tốt đẹp của em.

                      Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                      Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                      hôm nay, 02:00
                    • nhathung1101
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi nhathung1101
                      Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                      Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                      Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                      Hôm qua, 22:18
                    • dinhthuong80
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi dinhthuong80
                      Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                      Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                      Hôm qua, 14:51
                    • dinhthuong80
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi dinhthuong80
                      Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                      Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                      Hôm qua, 14:39
                    • dinhthuong80
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi dinhthuong80
                      Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                      Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                      Hôm qua, 14:28
                    • bqviet
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi bqviet
                      Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                      21-02-2025, 20:26
                    • mèomướp
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi mèomướp
                      Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                      21-02-2025, 12:32
                    • vi van pham
                      Trả lời cho Tiếng Anh cho người Việt
                      bởi vi van pham
                      Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                      Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                      20-02-2025, 21:31
                    • bqviet
                      Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                      bởi bqviet
                      Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                      20-02-2025, 17:22
                    Đang tải...
                    X