Thông báo

Collapse
No announcement yet.

Làm máy tính bỏ túi bằng 89s52

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

  • #16
    mình có cái máy tính bỏ túi =89s52 nhưng mà mình chỉ làm với 16 phím thôi chứ ko làm với 30 phím như chủ topic, muốn mở rộng phím đơn giản thôi
    Website chính thức đổi địa chỉ website thành
    Mời các bạn ghé thăm !!!

    Comment


    • #17
      thật hả?cài bản bao nhiêu vậy bạn?mình cài 7.6 hình như ko có?bạn gửi cho mình được không?thank?
      phudubathanh@gmail.com

      Comment


      • #18
        vậy cao thủ cho tớ xin bản 16 phím đi.gửi vào mail của mình nhé.thank.cho cả code nhé?hj
        phudubathanh@gmail.com

        Comment


        • #19
          Xem thread Help me!! của ngocquan2204.Trang 2
          , , ,

          Comment


          • #20
            các pro làm xong cho e xin 1 bản nhé.e cũng đang làm đồ án về cái này.thank!!!!
            phudubathanh@gmail.com

            Comment


            • #21
              viết bằng asm để tính toán là siêu rồi.

              Comment


              • #22
                bạn gamowaxaky mình cần máy tính bỏ túi 89s52 bạn có thể gửi cho mình lại dc không? mình cảm ơn

                Comment


                • #23
                  bạn gamowaxaky mình cần máy tính bỏ túi 89s52 bạn có thể gửi cho mình lại dc không? mình cảm ơn

                  Comment


                  • #24
                    link máy tinh dung 89s52 chet rui ban oi ! ban gưi lại dc khong

                    Comment


                    • #25
                      mình đang làm đồ án thiết kế máy tính bỏ tui. làm mạch xong rùi mà k hiển thị LCD. ai pro giúp kiểm tra hộ vs. cảm ơn nhiều...
                      Click image for larger version

Name:	Untitled.png
Views:	1
Size:	123.7 KB
ID:	1366771
                      Click image for larger version

Name:	mạch In máy tính bỏ tui.png
Views:	1
Size:	34.0 KB
ID:	1366772

                      COde:

                      #include <at89x51.h>
                      #define BTN_PORT P1 //dinh nghia phim (ma tran 4x4)

                      #define LCD_PORT P0 //dinh nghia chan du lieu cua lcd
                      #define LCD_RS P2_5
                      #define LCD_RW P2_6
                      #define LCD_EN P2_7

                      #define uchar unsigned char //dinh nghia cac kieu ky tu
                      #define uint unsigned int
                      #define ulong unsigned long

                      #define lcdPutc LCDPutChar
                      #define lcdPuti LCDPutInt
                      #define lcdPuts LCDPutStr
                      #define lcdPutb LCDWriteByte
                      #define lcdLine1() lcdPutb(0, 0x80) // tro ve dong dau thu nhat
                      #define lcdLine2() lcdPutb(0, 0xc0) //tro va dong dau thu hai

                      uchar btn = 0, lKey = 0, hang = 0, cot = 0, Signed = 0;
                      uint cKey;

                      uchar M[4][4] ={{'C', '0', '=', '/'}, // Gan ki tu xuat hien cac phim vao mang M;
                      {'1', '2', '3', '*'},
                      {'4', '5', '6', '-'},
                      {'7', '8', '9', '+'} } ;

                      ulong so1;
                      uint so;

                      void delay(uint i) //ham tao tre delay
                      {
                      while(i--);
                      }
                      void LCDWriteByte(uchar mode, uchar d)
                      {
                      LCD_PORT = d; // Chan LCD ;
                      LCD_RW = 0; // Ghi du lieu vao LCD;
                      if(mode == 1) // Chon thanh ghi du lieu;
                      LCD_RS = 1; //
                      else
                      LCD_RS = 0; // Chon thanh ghi lenh ;
                      LCD_EN = 1; // Tin hieu Cho phep LCD;
                      delay(4); // Tao tre;
                      LCD_EN = 0; // Tin hieu khong cho phep LCD;
                      delay(40); // Tao tre;
                      }
                      void LCDPutChar(uchar byte) // Ghi du lieu can hien thi ra LCD;
                      {
                      LCDWriteByte(1, byte);
                      }
                      void LCDPutStr(char const *str) // Ghi chuoi ki tu ra LCD;
                      {
                      char const *sPtr;
                      sPtr = str;
                      while(*sPtr != '\0')
                      {
                      LCDWriteByte(1, *sPtr);
                      sPtr++;
                      }
                      }
                      void LCDPutInt(long x)
                      {
                      long tmp, val;
                      int lenght = 0;
                      uchar str[10]={0};

                      if(x<0) tmp = 0-x;
                      else tmp = x;
                      do
                      {
                      val = tmp%10;
                      str[lenght] = val + '0';
                      lenght++;
                      tmp = tmp/10;
                      } while(tmp !=0);
                      if(x <0)
                      {
                      str[lenght] = '-';
                      lenght++;
                      }
                      do
                      {
                      lenght--;
                      LCDPutChar(str[lenght]);
                      } while(lenght);
                      }
                      void lcdClrL(uchar l)
                      {
                      if(l == 1)
                      {
                      lcdLine1();
                      lcdPuts(" ");
                      lcdLine1();
                      }
                      else
                      {
                      lcdLine2();
                      lcdPuts(" ");
                      lcdLine2();
                      }
                      }
                      void khoitao() //khoi tao lcd
                      {
                      LCDWriteByte(0, 0x38); //LCD 2 dong, font 5*7;
                      LCDWriteByte(0, 0x0C); //Bat hien thi, tat con tro, con tro khong nhap nhay;
                      LCDWriteByte(0, 0x01); // Xoa man hinh;
                      delay(1700);
                      }

                      void Quetphim(void) {
                      uchar i, gKey;
                      i = 1;
                      i = i<< hang;
                      BTN_PORT = ~i; //hang=0 BTN_PORT=0xfe;hang=1 BTN_PORT=0xfd;hang=2 BTN_PORT=0xfb;hang=3 BTN_PORT=0xf7
                      delay(1);
                      gKey = BTN_PORT;
                      if((gKey&0xf0) != 0xf0) //phim duoc nhan( Dat gia tri 1 cho tung cot, kiem tra tung hang )
                      {
                      if(gKey == lKey)
                      {
                      cKey++;
                      if(cKey == 3000) //chong doi phim
                      {
                      if((lKey&0xe0) == 0xe0) cot = 0;
                      else if((lKey&0xd0) == 0xd0) cot = 1; //gan cho cot 2 gia tri =1
                      else if((lKey&0xb0) == 0xb0) cot = 2; //gan cho cot 3 gia tri =2
                      else if((lKey&0x70) == 0x70) cot = 3; //gan cho cot 4 gia tri =3
                      cKey = 0; btn = 1;
                      }
                      }
                      else
                      {
                      cKey = 0;
                      lKey = gKey;
                      }
                      }
                      else{
                      hang++;
                      btn = 0;
                      }
                      if(hang > 3) hang = 0;
                      }
                      void Hienthi(void)
                      {
                      uchar ma = M[cot][hang], sig;
                      if((ma<= '9') && (ma >= '0'))
                      {
                      so = so *10 + ma - '0';
                      lcdPutc(ma);
                      }
                      else if((ma == '+') || (ma == '-') || (ma == '*') || (ma == '/'))
                      {
                      sig = ma;
                      if(Signed == 0){
                      so1 = so; so = 0;
                      lcdPutc(ma);
                      Signed = 1;
                      }
                      else
                      {
                      lcdClrL(2); lcdPuts("Error #2");
                      }
                      }
                      else if(ma == '=')
                      {
                      switch(sig)
                      {
                      case '-': so1 = so1 - so; break;
                      case '+': so1 = so1 + so; break;
                      case '*': so1 = so1 * so; break;
                      case '/':
                      if(so == 0) {
                      lcdClrL(2); lcdPuts("Error #1");
                      }
                      else
                      so1 = so1 / so;
                      break;
                      }
                      lcdPutb(0, 0x0c); // Bat hien thi, tat con tro;
                      lcdLine2(); lcdPutc('=');
                      lcdPuti(so1);
                      Signed = 0; so = 0; so1 = 0;
                      btn = 0; while(btn == 0) Quetphim();
                      lcdPutb(0, 0x01); // Xoa man hinh;
                      delay(5000);
                      lcdPutb(0, 0x0f); // Bat hien thhi, bat con tro, bat nhap nhay;
                      }
                      else{
                      so = so1 = 0;
                      lcdPutb(0, 0x01);
                      delay(5000);
                      lcdPutb(0, 0x0f);
                      }
                      }
                      void main(void)
                      {
                      khoitao();
                      lcdPuts("May Tinh Bo Tui");
                      lcdLine2();
                      lcdPuts(" Vi Dieu Khien");
                      btn = 0;
                      while(btn == 0) Quetphim();
                      lcdPutb(0, 0x01); delay(1700);
                      lcdPutb(0, 0x0f);
                      while(1){
                      btn = 0;
                      while(btn == 0) Quetphim();
                      Hienthi();
                      }
                      }

                      Comment


                      • #26
                        Em chỉ cần cái 4*4 thôi ạ. Với LCD 2*16. Pro nào có cho Em xin với được không.
                        Mail: ducthuanpham10@gmail.com.
                        Cảm ơn nhiều.

                        Comment


                        • #27
                          bạn ơi Link die rùi bạn post lại giúp mình vs nha! Thanks bạn nhiều.

                          Comment


                          • #28
                            Nguyên văn bởi gamowaxaky Xem bài viết
                            Đây là đồ án môn học II của mình, làm một máy tính bỏ túi bằng 89s52, hiển thị bằng LCD16x2, lập trình bằng asm, có kèm theo file mô phỏng bằng proteus, và mạch in vẽ bằng proteus.




                            Download
                            bạn ơi Link die rùi bạn post lại giúp mình vs nha! mình đang cần gấp. Thanks bạn nhiều.

                            Comment


                            • #29
                              Nguyên văn bởi gamowaxaky Xem bài viết
                              Đây là đồ án môn học II của mình, làm một máy tính bỏ túi bằng 89s52, hiển thị bằng LCD16x2, lập trình bằng asm, có kèm theo file mô phỏng bằng proteus, và mạch in vẽ bằng proteus.




                              Download
                              bạn ơi Link die rùi bạn post lại giúp mình vs nha! mình đang cần gấp. Thanks bạn nhiều.

                              Comment


                              • #30
                                Đây là đề tài làm để hiểu biết thêm nhiều về vdk, chứ nói về kinh tế thì sao mà bằng hàng tq bây jo đc. làm để nâng cao kiến thức.
                                _--------------------------------------------------

                                **** ------------------------------------------***

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X