Showing posts with label Vi điều khiển 8051. Show all posts
Showing posts with label Vi điều khiển 8051. Show all posts

Thursday, September 24, 2015

Giải mã tín hiệu từ remote tivi sharp với 89S52

Posted by dientudieukhien at 3:08 PM 1 Comment
   Trong project này, chúng ta sử dụng vi điều khiển 89S52 để giải mã (decoder) tín hiệu từ remote tivi sharp.
H1 - Sơ đồ đấu dây

Read More »

Wednesday, July 22, 2015

Đồng hồ hẹn giờ sử dụng Atemega168p hiển thị giao diện LCD

Posted by dientudieukhien at 3:41 AM 0 Comments
Đồng hồ hẹn giờ sử dụng ATEMEGA168P
Trong project này ta sử dụng button "Set" để cài đặt thời gian hiển thị và mode đếm lên hay đếm xuống.
Dùng các button "Set" "+" "-" để cài đặt thời gian
 Ngoài ra trên board có 2 đèn led, 1 cái nhấp nháy, 1 cái sẽ sáng lên và loa sẽ reo vang.
nguồn: libstock.com
||Download project tại đây   
Xem thêm project Hẹn giờ on/off thiết bị dùng pic 16f84                                    
Read More »

Monday, May 11, 2015

Phần mềm giả lập cổng COM Virtual serial port driver

Posted by dientudieukhien at 5:34 AM 0 Comments
Phần mềm giả lập cổng COM rất cần thiết trong việc thực hành lập trình vi điều khiển và mô phỏng giao tiếp giửa chúng với máy tính (các bạn có thể dùng phần mềm này trong protues). Khi sử dụng chương trình Virtual serial port driver, bạn có thể tạo nhiều cặp cổng COM giao tiếp với nhau:

Chương trình tạo cổng COM ảo
Chương trình tạo cổng COM ảo - Virtual Serial Port Driver
||Tải chương trình cho win 8 (32 bit và 64 bit, 5.29 Mb) link mediafire
||Link dự phòng
Read More »

Friday, March 13, 2015

Tự tạo bộ nguồn Dity variable bench power supply

Posted by dientudieukhien at 11:23 AM 0 Comments
Bộ nguồn là một phần quan trọng trong bộ thí nghiệm điện tử của bạn và nó sẽ thuận tiện hơn khi bộ nguồn đó có thể điều chỉnh giá trị điện thế, có thể quan sát điện thế, dòng điện, công suất của tải trên màng hình LCD hoặc trên PC (thông qua kết nối với cổng COM). Bạn sẽ được xem chi tiết hơn thông qua video sau:

Sơ đồ khối:
tu tao bo nguon diy variable bench power supply
Sơ đồ nguyên lý
|| Hướng dẫn chi tiết và source code + giao diện trên PC tại đây
Read More »

Saturday, February 7, 2015

Line Follower Robot với vi điều khiển 89C2051

Posted by dientudieukhien at 1:01 AM 0 Comments
Robot được lập trình trên vi điều khiển 89c2051, cầu H sử dụng LM293D và 4 sensor phát hiện vạch đen. Chương trình được viết bằng ngôn ngưc C dễ hiểu.

Line follower robot với vi điều khiển 89c2051
Line follower robot - Ảnh: http://chaokhun.kmitl.ac.th/~kswichit
   Line robot được thiết kế khá đơn giản, gồm 2 motor điều khiển 2 bánh xe phía sau, có một bánh xe phía trước - nó được để tự do và các cảm biến để phát hiện vạch đen. Khi một cảm biến phát hiện được vạch màu đen, ngõ ra của mạch so sánh có mức logic thấp, các ngõ ra khác có mức logic cao.
   Vi điều khiển 89c2051 và cầu H LM293D điều khiển hướng và tốc độ của motor.

  • Sơ đồ nguyên lí của Line follower robot:
    • Sơ đồ nguyên lý line follower robot
      Sơ đồ nguyên lý line follower robot - Ảnh: http://chaokhun.kmitl.ac.th/~kswichit


      • Sơ đồ nguyên lý của khối IR sensor

      Sơ đồ nguyên lý khối IR
      Sơ đồ nguyên lý khối IR - Ảnh: http://chaokhun.kmitl.ac.th/~kswichit


      • Sơ đố lắp đặt các IR sensor:

      Sơ đồ lắp đặt IR sensor
      Sơ đồ lắp đặt IR sensor - Ảnh: http://chaokhun.kmitl.ac.th/~kswichit
        Như vậy, với hình ảnh tổng quan ở trên cùng với các sơ đồ khối chi tiết, bạn có thể tự mình làm một robot cho mình. Đến đây, bạn mới có phần cứng của một line follower robot. Sau đây, bạn tải chương trình về và nạp cho vi điều khiển 89c2051 là sẽ có một line robot hoàn chỉnh.

      || Tải chương trình (c + hex)
      Read More »

      Wednesday, February 4, 2015

      Quay 8 led đơn trên motor để hiển thị dòng text

      Posted by dientudieukhien at 3:36 AM 0 Comments
      Việc sử dụng một số ít led để hiển thị một dòng text là việc làm thật thú vị, với số lượng ít led mà ta có thể hiển thị được dòng text thì phải cần đến một motor để xoay mạch điện được lập trình bởi vi điều khiển 89s52 xuất dữ liệu lên 8 led.


      • Sơ đồ nguyên lý:

      Propeller led
      Sử dụng 8 led đơn hiển thị text
      Mạch hoàn chỉnh - ảnh: kmitl.ac.th
      • Firmware: 8 led nối với Port P1 của 89s52  và được nuôi bởi +3V Lithium battery. Tốc độ và nội dung text dễ dàng thay đổi trong chương trình. Tải chương trình ở cuối trang (.C, .Hex)
      • Video:


      || Download code                                                                            nguồn: kmitl.ac.th
      Read More »

      Friday, January 23, 2015

      Làm quen với vi điều khiển 8051 tiếng việt phần 1

      Posted by dientudieukhien at 8:57 AM 0 Comments

      I- Kiến trúc vi điều khiển 8051

      1. Tiêu chuẩn của 8051 là gì?
           Các nhà sản xuất vi điều khiển đã cạnh tranh trong một thời gian dài để thu hút khách hàng khó tính và cứ vài ngày một chip mới với một tần số hoạt động cao hơn, bộ nhớ nhiều hơn và nâng cấp bộ chuyển đổi A / D xuất hiện trên thị trường.
          Tuy nhiên hầu hết trong số chúng giống nhau hoặc có một số ít  giống nhau về cấu trúc của 8051. Tất cả việc này như thế nào? 
         Toàn bộ câu chuyện đã được bắt đầu ở những năm 80 khi Intel ra mắt cấu trúc của vi điều khiển đầu tiên được gọi là MCS 051. Mặc dù các vi điều khiển đầu tiên có các tính năng khá khiêm tốn so với những vi điều khiển ngày nay, chúng đã  sớm chinh phục thế giới và đã trở thành một tiêu chuẩn cho những vi điều khiển sau này.
         Lý do chính cho sự thành công lớn  và phổ biến của họ là một cấu hình khéo léo đáp ứng được nhu cầu khác nhau của một số lượng lớn người dùng và đồng thời cho phép mở rộng liên tục (đề cập đến các loại vi điều khiển mới). Bên cạnh đó, các phần mềm đã được phát triển trong thời gian đó, và nó thật đơn giản vì không có sự thay đổi nào trong cốt lõi cơ bản của vi điều khiển. Đây là lý do cho việc có một số lượng lớn các vi điều khiển khác nhau ra đời  trên nền tản  8051. Điều gì làm cho vi điều khiển này trở nên đặc biệt và phổ biến đến như vậy?
      Cấu trúc vi điều khiển 8051
      Cấu trúc vi điều khiển 8051 - ảnh mikroe.com
      Read More »

      Wednesday, August 27, 2014

      Lập trình hiển thị LCD 4bit trên vi điều khiển 8051

      Posted by dientudieukhien at 8:03 AM 0 Comments

      Lập trình hiển thị LCD 4bit trên vi điều khiển 8051

      Đây là một bài học về lập trình hiển thị trên LCD 4-bit, trong project này sử dụng vi điều khiển 8051, ngôn ngữ lập trình là C, trình biên dịch Mikroc Pro for 8051.

      Các hàm sử dụng trong project:
      • Lcd_Init
      • Lcd_Out
      • Lcd_Out_Cp
      • Lcd_Chr
      • Lcd_Chr_Cp
      • Lcd_Cmd

      Định nghĩa hàm và ví dụ:
      Prototype
      void Lcd_Out(char row, char column, char *text);
      Returns
      Nothing.
      Description
      Prints text on Lcd starting from specified position. Both string variables and literals can be passed as a text.
      Parameters :
      • row: starting position row number
      • column: starting position column number
      • text: text to be written
      Requires
      The Lcd module needs to be initialized. See Lcd_Init routine.
      Example
      // Write text "Hello!" on Lcd starting from row 1, column 3:
      Lcd_Out(1, 3, "Hello!");

      Lcd_Out_CP

      Prototype
      void Lcd_Out_Cp(char *text);
      Returns
      Nothing.
      Description
      Prints text on Lcd at current cursor position. Both string variables and literals can be passed as a text.
      Parameters :
      • text: text to be written
      Requires
      The Lcd module needs to be initialized. See Lcd_Init routine.
      Example
      // Write text "Here!" at current cursor position:
      Lcd_Out_CP("Here!");

      Lcd_Chr

      Prototype
      void Lcd_Chr(char row, char column, char out_char);
      Returns
      Nothing.
      Description
      Prints character on Lcd at specified position. Both variables and literals can be passed as a character.
      Parameters :
      • row: writing position row number
      • column: writing position column number
      • out_char: character to be written
      Requires
      The Lcd module needs to be initialized. See Lcd_Init routine.
      Example
      // Write character "i" at row 2, column 3:
      Lcd_Chr(2, 3, 'i');

      Lcd_Chr_CP

      Prototype
      void Lcd_Chr_Cp(char out_char);
      Returns
      Nothing.
      Description
      Prints character on Lcd at current cursor position. Both variables and literals can be passed as a character.
      Parameters :
      • out_char: character to be written
      Requires
      The Lcd module needs to be initialized. See Lcd_Init routine.
      Example
      // Write character "e" at current cursor position:
      Lcd_Chr_CP('e');

      Lcd_Cmd

      Prototype
      void Lcd_Cmd(char out_char);
      Returns
      Nothing.
      Description
      Sends command to Lcd.
      Parameters :
      • out_char: command to be sent
      Note: Predefined constants can be passed to the function, see Available Lcd Commands.
      Requires
      The Lcd module needs to be initialized. See Lcd_Init table.
      Example
      // Clear Lcd display:
      Lcd_Cmd(_LCD_CLEAR);

      Available Lcd Commands

      Lcd Command
      Purpose
      _LCD_FIRST_ROW
      Move cursor to the 1st row
      _LCD_SECOND_ROW
      Move cursor to the 2nd row
      _LCD_THIRD_ROW
      Move cursor to the 3rd row
      _LCD_FOURTH_ROW
      Move cursor to the 4th row
      _LCD_CLEAR
      Clear display
      _LCD_RETURN_HOME
      Return cursor to home position, returns a shifted display to its original position. Display data RAM is unaffected.
      _LCD_CURSOR_OFF
      Turn off cursor
      _LCD_UNDERLINE_ON
      Underline cursor on
      _LCD_BLINK_CURSOR_ON
      Blink cursor on
      _LCD_MOVE_CURSOR_LEFT
      Move cursor left without changing display data RAM
      _LCD_MOVE_CURSOR_RIGHT
      Move cursor right without changing display data RAM
      _LCD_TURN_ON
      Turn Lcd display on
      _LCD_TURN_OFF
      Turn Lcd display off
      _LCD_SHIFT_LEFT
      Shift display left without changing display data RAM
      _LCD_SHIFT_RIGHT
      Shift display right without changing display data RAM

      Sơ đồ nguyên lý:
      8051 LCD 
      Code:
      /*Share by dientudieukhien.net
         MikroC Pro for Pic*/
      // Lcd module connections
      sbit LCD_RS at P2_0_bit;
      sbit LCD_EN at P2_1_bit;

      sbit LCD_D4 at P2_2_bit;
      sbit LCD_D5 at P2_3_bit;
      sbit LCD_D6 at P2_4_bit;
      sbit LCD_D7 at P2_5_bit;
      // End Lcd module connections

      char txt1[] = "Embedded";
      char txt2[] = "Projects";
      char txt3[] = "Lcd 4 bit";
      char txt4[] = "Tutorial";

      char i;                              // Loop variable

      void Move_Delay() {                  // Function used for text moving
        Delay_ms(500);                     // You can change the moving speed here
      }

      void main(){

        Lcd_Init();                        // Initialize Lcd

        Lcd_Cmd(_LCD_CLEAR);               // Clear display
        Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
        Lcd_Out(1,6,txt3);                 // Write text in first row

        Lcd_Out(2,6,txt4);                 // Write text in second row
        Delay_ms(2000);
        Lcd_Cmd(_LCD_CLEAR);               // Clear display

        Lcd_Out(1,1,txt1);                 // Write text in first row
        Lcd_Out(2,5,txt2);                 // Write text in second row

        Delay_ms(2000);

        // Moving text
        for(i=0; i<4; i++) {               // Move text to the right 4 times
          Lcd_Cmd(_LCD_SHIFT_RIGHT);
          Move_Delay();
        }

        while(1) {                         // Endless loop
          for(i=0; i<8; i++) {             // Move text to the left 7 times
            Lcd_Cmd(_LCD_SHIFT_LEFT);
            Move_Delay();
          }

          for(i=0; i<8; i++) {             // Move text to the right 7 times
            Lcd_Cmd(_LCD_SHIFT_RIGHT);
            Move_Delay();
          }
        }



      nguồn: http://microcontrollerprojects00.blogspot.com
      Read More »

      Friday, July 25, 2014

      Khóa điện tử AT89C2051

      Posted by dientudieukhien at 1:31 PM 0 Comments
      electronic Lock 
      Dientudieukhien.net chia sẽ cùng bạn project Khóa điện tử được lập trình trên AT89c2051, sử dụng bàn phím 3x4 để giao tiếp.










      * Sơ đồ nguyên lý:
      Sơ đồ nguyên lý electronic lock
      * Giải thích ngắn gọn hoạt động của project
      Nhìn vào sơ đồ nguyên lý trên ta thấy các cụm chính sau: Vi điều khiển 89c2051, một bàn phím 3x4 để giao tiếp với CPU, một eeproom 24C02 để lưu mật mã, 1 relay để đóng - mở cửa.

      * Code cho 89c2051
      Ở đây có 2 code: code1 sử dụng cho mật khẩu có độ dai 4 ký tự, code2 sử dụng cho mật khẩu có độ dài 8 ký tự.
      || Tải code1 (hex)
      || Tải code2 (hex)
      || Tải code c (.bas)
      || Tải hướng dẫn sử dụng
      || Tải CPB (pdf)


      nguồn: avr.4mg.com
      Read More »

      Sunday, July 20, 2014

      MikroC PRO for AVR

      Posted by dientudieukhien at 3:04 PM 0 Comments
      Ở hai bài trước, dientudieukhien.net đã giới thiệu đến các bạn hai phần mềm biên dịch cho Pic và 8051:
      *Phần mềm MikroC PRO for Pic
      *Phần mềm MikroC PRO for 8051
      Sau đây dientudieukhien.net chia sẽ tiếp với các bạn phần mềm Mikroc PRO for AVR ver 6.00
      MikroC PRO for AVR ver 6.00
      Ở bản 6.00 này hổ trợ 186 AVR microcontrollers

      || Tải Phần mềm MikroC PRO for AVR tại đây

      nguồn: dientudieukhien.net
      Read More »

      MikroC PRO for 8051

      Posted by dientudieukhien at 2:42 PM 0 Comments
      Ở những bài trước dientudieukhien.net đã giới thiệu các bạn phần mềm Mikroc for pic. Hôm nay, mình sẽ chia sẽ với các bạn chương trình biên dịch Mikroc for 8051.
      Giao diện phần mềm MikroC Pro for 8051
      Read More »

      Sunday, May 25, 2014

      Line Following robot using Atmega8

      Posted by dientudieukhien at 6:52 AM 0 Comments
      * Hình project

      * Sơ đồ nguyên lý:



      source: http://extremeelectronics.co.in

      Read More »

      Đo khoảng cách dung Atmega8 và cảm biến âm thanh. Ultrasonic Rangefinder HC-SR04 Interfacing with ATmega8

      Posted by dientudieukhien at 6:27 AM 0 Comments
      * Hình project
      * Sơ đồ nguyên lý:

      * Danh sách linh kiện:
      S. No.ReferenceValuePartQty
      1R1100 OhmsResistor 1/4 watt1
      2R2330 OhmsResistor 1/4 watt1
      3R34.7K OhmsResistor 1/4 watt1
      4C1470uFElectrolytic Capacitor 25V1
      5
      C2,C5,C6,C7
      0.1uF(100nF)Ceramic disk type capacitor4
      6C3,C422pFCeramic disk type capacitor2
      7D11N4007Diode1
      8D2-5mm LED - Round - RED1
      9U1ATmega8ATmega8 MCU1
      10U278055V Voltage Regulator1
      11L110uHInductor1
      12RV110K OhmsPreset (Variable Resistor)1
      13SW1-On/Off Switch1
      14X1-DC Socket1
      15X316MHzCrystal1
      16X4HC-SR04 Sensor1
      17--28 PIN IC Socket1
      18--16 PIN Female Connecter1
      19--4 PIN Female Connecter1
      20--16 PIN Male Connecter1
      21DISP1-LCD Module 16x2 GREEN B/L1

      * Tải chương trình (atmel studio 6 project + Hex)

      Source: http://extremeelectronics.co.in
      Read More »

        tab

      back to top