2016

10 4.104 8051 9 Acquy adc pic All datasheet ALTIUM Altium Designer AM-FM Arduino ARM ARM là gì Ấn Tượng Bản tin công nghệ Bản tin Thiết Bị Số Barobo bất động sản biến Binary Bit board lpc2378 Bộ chuyển đổi ADC Bộ Đếm Bộ điều khiển cửa cuốn Bộ Định Thời Buy Khóa Số Điện Tử Buy Mạch đếm sản phẩm Buy Mạch giao thông Buy Mạch nạp Buy Matrix Byte C cho AVR các hàm vào ra các loại lõi arm các mạch DAC cơ bản các ngắt trong pic Cách đọc điện trở Cách Đọc Giá Trị Điện Trở Cách đọc giá trị tụ điện Cách hàn linh kiện dán cách làm mạch khóa số cách tạo linh kiện dán cad/cam Cài Đặt cài đặt proteus 8 cảm biến Cấu Kiện Logic Khả Trình cấu tạo cấu trúc arm cấu trúc lệnh CCS Chân chân Transistor Chip Khả Trình chuyển đổi Chuyển đổi số tương tự Chuyển Đổi Tương Tự/Số - ADC Chuyển động số chương trình City Clip Điện Tử Code 8051 - ASM Code 8051 - C Code 8051-C code ASM code ASM mẫu 8086 Code AVR - C code C Code Lập Trình Code led sao băng code maupic code mẫu 8051 Code Mẫu 8086 Code Mẫu cho ARM - LPC1343 code mẫu pic Code PIC - C codemaupic Counter Cổng Vào Ra Cơ Bản Cuộn Cảm Cửa cuốn DA DAC Debug Decimal Delay8051 Dev-C++ Diode DIY Dò đường Do It Yourself doanh nghiệp Download DTMF Mobile đảo chiều động cơ Điện Trở Điện Tử Điện Tử Cơ Bản điều chế độ rộng xung điều chế xung PWM điều khiển bằng điện thoại Điều khiển cửa cuốn Điều khiển cửa cuốn bằng điện thoại điều khiển động cơ đo điện áp đo nhiệt độ đo nhiệt độ hiển thị lên lcd trên 8051 Đo Nhiệt Độ LM35 + LCD Đo Nhiệt Độ LM35 + Led 7 thanh đọc màu điện trở đồ chơi động cơ chân không Động cơ nhiên liệu Động cơ robo đồng hồ thời gian thực Ebook Đại Học ebook điện tử Ebook đồ án Ebook Tin Học Encoder Encoder là gì Full Giải Thuật Giải thuật PID Giáo Dục giao tiếp i2c pic 16f877a giao tiếp i2c pic16f877a với ic ds1307 giao tiếp máy tính qua rs232 Giao Tiếp Máy Tính VB6 giao tiếp rs232 giao tiếp spi giữa 2 pic giao tiếp spi trong pic Giáo Trình Điện Tử Giới thiệu 8051 Giới thiệu cơ bản GPIO Graphic Design hàm Hàn linh kiện dán Hexadecimal Hệ Hexa Hệ Nhị Phân Hệ Thập Lục Phân Hệ Thập Phân hiển thị lên lcd 16x2 Hoạt Động Học Học 8051 qua các ví dụ đơn giản Học ALtium Designer học AVR Học Corel Draw X3 Học Eagle HỌC LẬP TRÌNH 16F877A Học Lập Trình 8051 Học Lập Trình C Học Orcad Học Protues hoc-lam-robot-do-duong-qua-video Hồng ngoại hướng dẫn hướng dẫn Altium Designer hướng dẫn đo đồng hồ VOM hướng dẫn keil - C lập trình 8051 hướng dẫn làm led sao băng hướng dẫn làm led trái tim hướng dẫn lập trình ARM Hướng Dẫn Lập Trình ARM - LPC1343 hướng dẫn lập trình ARM-LPC2378 hướng dẫn lập trình CCS hướng dẫn lập trình PIC Hướng Dẫn Led Trái Tim hướng dẫn module sim548c hướng dẫn sử dụng keil hướng dẫn sử dụng proteus 8 Hyper Terminal hercules 3.2.4 I/O IC 555 IC 7447 IC 74HC151 IC 74HC154 IC 74HC245 IC 74HC595 IC 74LS138 IC DS1307 IC đồng hồ thời gian thực IC LM324 IC LM342 IC LM7805 IC số IC số opamp LM324 IC Thông Dụng IC555 Interrupt Keil 4 Full keil arm Keil C Keil uVision3 kế toán kiểm toán khái niệm Khái Niệm Cơ Bản Kho Vật Liệu khóa điện tử khóa số dùng 8051 khóa số dùng 89s52 Khóa Số Điện Tử khuếch đại kiểm tra Kinh doanh maketing kinh tế quản lí Kỹ Thuật Kỹ Thuật Vi Xử Lý làm mạch điện lý thú Làm quen AVR Lap Trinh Dieu Khien Robot Lập Trình lập trình 8051 Lập Trình AVR Lập Trình C lập trình c++ Lập Trình Led Quảng Cáo Lập Trình Nhúng Lập trình pic Lập trình Robot Lập Trình Vi Điều Khiển Lập Trình Với AVR Studio LCD 16x2 Lcd16x2 Led Clock Led Quay led sao băng led trai tim Led Trái Tim Lịch sử ra đời Linh Kiện Cơ Bản linh kiện điện tử Loa LPC 2378 LSB lý thú Mã AVR - C Mạch 7seg Mạch Amply.Mạch Loa Mạch Autorobo Mạch bảo vệ Mạch Cảm Biến mạch cảm ứng sờ tay Mạch Cầu H Mạch cube Mạch Đếm Sản Phẩm Mạch điện cơ bản Mạch điện hay Mạch Điện Ứng Dụng Mạch Điều khiển động cơ Mạch Động Cơ Mạch đồng hồ Mạch đồng hồ 4 led Mạch giao thông Mạch IC số Mạch in mạch khóa số mạch khuếch đại thuật toán mạch led chúc mừng năm mới mạch led đẹp Mạch Led đơn Mạch Led Quảng Cáo mach led trai tim mạch led trái tim Mạch Led Vumeter mạch lý thú Mạch Ma trận Phím Mạch Matrix Mạch nạp Mạch nguồn Mạch Nút Bấm mạch sóng rf mạch tăng áp Mạch thu phát Mạch tổ hợp MSI Mạch trái tim Mạch Vi điều khiển Microbicho module module GSM/GPS Module Sim548 Module Sim548 giao tiếp với vi điều khiển PIC Module Sim548C Mosfet Motor Mô Phỏng Phần Cứng Mô Tả Phần Cứng MSB mua led sao băng News Ngắt Ngắt Trong LPC23xx ngân hàng Ngôn Ngữ Ngôn Ngữ C Ngôn Ngữ Tự Học Lập Trình C Ngôn Ngữ VHDL Nguyên Lý nguyên lý ic 555 Nguyên Tắc nháy led Nhập môn C Nhỏ Gọn Nibble opamp People Phần Mềm phần mềm altium Designer Phần mềm điện tử Phần Mềm Điện Tử Phần Mềm Điện Tử Hay Phần Mềm Hay Phần Mềm Led Quảng Cáo phần mềm proteus 8 Phần mềm vi tính Phần Mền Phương pháp hàn linh kiện dán PIC pic16f877a Print Design Proteus Proteus 7.8 SP2 FULL PWM quà tặng bạn gái quà tặng độc đáo quản trị doanh nghiệp quản trị kinh doanh quét led 7 đoạn Relay robocon Robot ROBOT DÒ ĐƯỜNG rút gọn mạch logic tổ hợp Sach Dien Tu Sản Phẩm Thú Vị Sản Phẩm Thương Mại Sáng tạo Short Smart Home SMD sơ đồ nguyên lý spi Sports Sử Dụng Sử Dụng Đồng Hồ sử dụng đồng hồ VOM sử dụng ngắt trong pic sự khác nhau Sức mạnh số Tải tài chính tài chính doanh nghiệp tài chính ngân hàng Tài Khoản Chia Sẻ Tài Liệu Tài Liệu 8051 tài liệu avr Tài liệu Điện Tử Tài Liệu Pic Tài liệu robocon tài liệu về ngân hàng Tài Liệu Vi Điều Khiển tailieuvn Tạo cổng Com ảo Tạo cổng nối tiếp ảo tạo dự án trong keil arm Tạo Project trong Vi Xử Lý ARM tạo thư viện altium designer tạo xung vuông Tạp chí Tạp Chí Hay tăng áp Tập lệnh AT Team Support TEAMPLATE PROTEUS Test thị trường tài chính Thiết Bị Thú Vị Thiết kế robot Thiết lập Fuse Bits Thiết Lập Pin Thuật Toán Thuật Toán Điều Khiển PID Thuật Toán Quine MCCluskey Thư viện Protues Thực Hành Thyristor Timer Timer/Counter Tin Học Chia Sẻ Tổ Chức Bộ Nhớ tổng quan về proteus 8 Transistor Tranzito Tranzitor Trao đổi học tập Travel Trình Biên Dịch Trình Dịch Trong Suốt Truyền Thông Nối Tiếp Không Đồng Bộ- UART truyền thông nối tiếp RS232 Tụ điện TUT - 8051 - ASM TUT - 8051 - KeilC tự hành Tự Học C Tự Học Lập Trình C Tý hon UART Update USB Ứng Dụng Led Quảng Cáo ứng dụng mạch khuếch đại thuật toán vẽ mạch in vẽ mạch nguyên lý VHDL Vi Điều Khiển Vi điều khiển - Ứng dụng vi điều khiển PIC Vi mạch số Vi Xử Lý Vi Xử Lý 8051 Vi Xử Lý 8086 Vi Xử Lý ARM Vi Xử Lý PIC Video Video Mach Điện Virtual Serial Port Driver VOM vxl Web Design xác định góc quay động cơ xử lý chuỗi

Nhân tiện có một bạn hỏi mình về cách giao tiếp máy tính và vi điều khiển. Bạn ấy bảo " Em đã có dây USB COM thì bây giờ làm sao kết nối ?". Mình lên mạng tìm kiếm, đọc lại tài liệu ngày xưa và mạo muội chia sẻ bài này đến các bạn. Các bạn xem qua để nắm kiến thức. Đây là một bài rất quan trọng. Bạn xem thêm các bài sau:

Ngày nay các thiết bị đo lường, điều khiển ... đều phải giao tiếp với máy tính để quan sát thông số và chế độ hoạt động của thiết bị như thế nào? Chuẩn giao tiếp được coi là đơn giản và dễ dùng đó là cổng RS232. Hầu như các thiết bị đều được giao tiếp với máy tính thông qua chuẩn này. Bài viết này sẽ nói về cơ bản chuẩn giao tiếp RS232: Tổng quan chung về RS232, Sơ đồ ghép nối, Giao diện phần mềm.
Giao Tiếp Máy Tính Và Vi Điều Khiển Qua Cổng Com RS232 Chi Tiết Nhất

I -  Tổng quan chuẩn RS232

1) Đặt vấn đề
Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều khiển, đo lường... Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt. Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền.

Có hia phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường...Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính. Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp.
2) Ưu điểm của giao diện nối tiếp RS232
+ Khả năng chống nhiễu của các cổng nối tiếp cao
+ Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
+ Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
3) Những đặc điểm cần lưu ý trong chuẩn RS232
+ Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V. Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm
+ Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-3V đến 12V
+ Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)
+ Các lối vào phải có điện dung nhỏ hơn 2500pF
+ Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
+ Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m nếu chúng ta không sử model
+ Các  giá trị tốc độ truyền dữ liệu chuẩn : 50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400....56600,115200 bps

4) Các mức điện áp đường truyền

RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ đầu tiên ra đời nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương thích TTL để mô tả các mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát.
Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả như sau:
+ Mức logic 0 : +3V , +12V
+ Mức logic 1 : -12V, -3V
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến. Chính vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBd .
5) Cổng RS232 trên PC
Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng Com hay cổng nối tiếp RS232. Số lượng cổng Com có thể lên tới 4 tùy từng loại main máy tính. Khi đó các cổng Com đó được đánh dấu là Com 1, Com 2, Com 3...Trên đó có 2 loại đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) hoặc 25 chân (DB25). Tuy hai loại đầu nối này có cùng song song nhưng hai loại đầu nối này được phân biệt bởi cổng đực (DB9) và cổng cái (DB25)
Ta xét sơ đồ chân cổng Com 9 chân:

Giao Tiếp Máy Tính Và Vi Điều Khiển Qua Cổng Com RS232 Chi Tiết Nhất
Giao Tiếp Máy Tính Và Vi Điều Khiển Qua Cổng Com RS232 Chi Tiết Nhất


Trên là các kí hiệu chân và hình dạng của cổng DB9
Chức năng của các chân như sau:
+ chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu
+ chân 2:  Receive Data (RxD) : Nhận dữ liệu
+ chân 3 : Transmit Data (TxD) : Truyền dữ liệu
+ chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích hoạt bởi bộ phận khi muốn truyền dữ liệu
+ chân 5 : Singal Ground ( SG) : Mass của tín hiệu
+ chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt  bởi bộ truyền khi nó sẵn sàng nhận dữ liệu
+ chân 7 : Request to Send : yêu cầu gửi,bô truyền đặt đường này lên mức hoạt động khi sẵn sàng truyền dữ liệu
+ chân 8 : Clear To Send (CTS) : Xóa để gửi ,bô nhận đặt đường này lên mức kích hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận tín hiệu
+ chân 9 : Ring Indicate (RI) : Báo chuông cho biết là bộ nhận đang nhận tín hiệu rung chuông
Còn DB28 bây giờ hầu hết các main mới ra đều không có cổng này nữa. Nên tôi không đề cập đến ở đây.
6) Quá trình dữ liệu
a) Quá trình truyền dữ liệu
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự). Bộ truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp the . Bit này luôn bắt đầu bằng mức 0.. Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng.
b) Tốc độ Baud
Đây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit)
Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud. Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200
Khi sử dụng chuẩn nối tiếp Cáp cổng Com RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ. Điều này làm giới hạn tốc Baud và khoảng cách truyền.
c) Bit chẵn lẻ  hay Parity bit
Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ.
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit "1" được gửi trong một khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9... Nếu như một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp không mắc lỗi vì thế không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi này không được sử dụng trong trường hợp có khả năng một vài bit bị mắc lỗi.
Còn cách thức truyền dẫn. Phần này tôi không đề cập các bạn vui lòng xem trong giáo trình.
II - Sơ đồ ghép nối RS232
Có rất nhiều mạch giao tiếp của RS232 giữa vi điều khiển hay các thiết bị khác. Dưới đây là những mạch giao tiếp thường được dùng.
1) Mạch chuẩn giao RS232 dùng IC Max232
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi. Max232 là IC của hãng Maxim. Đây là IC chay ổn định và được sử dụng phổ biến trong các mạch giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp (12K hay 10K) và tích hợp trong đó hai kênh truyền  cho chuẩn RS232. Dòng tín hiệu được thiết kế cho chuẩn RS232 . Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng tĩnh điện ( hình như là 15KV). Ngoài ra Max232 còn được thiết kế với nguồn +5V cung cấp nguồn công suất nhỏ.
Mạch giao tiếp như sau :

Giao Tiếp Máy Tính Và Vi Điều Khiển Qua Cổng Com RS232 Chi Tiết Nhất


Đây là mạch giao tiếp 1 kênh dùng Max232. Còn giao tiếp 2 kênh thì tương tự. Mạch này được sử dụng khá nhiều trong chuẩn giao tiếp RS232.
2) Mạch chuẩn giao tiếp RS232 dùng DS275
Đây cũng là IC của hãng Maxim. DS275 được dùng trong các mạch giao tiếp của chuẩn RS232 nhưng do nó chỉ là bán song công và dùng trong các thiết kế công suất nhỏ.

Giao Tiếp Máy Tính Và Vi Điều Khiển Qua Cổng Com RS232 Chi Tiết Nhất


Mạch giao tiếp khá đơn giản. Do bán song công nên trong các ứng dụng ít được dùng.
3) Mạch chuẩn giao tiếp RS232 dùng transitor

Mạch sử dụng 2 transior để giao tiếp RS232.

Giao Tiếp Máy Tính Và Vi Điều Khiển Qua Cổng Com RS232 Chi Tiết Nhất


III- Phần mền giao tiếp
Giao tiếp chuẩn giữa RS232 và vi điều khiển phải thông qua phần mền giao diện để nhận biết được dữ liệu truyền lên và nhận xuống như thế nào. Hiện tại có rất nhiều cách lập trình giao tiếp cho RS232 với vi xử lý nhưng mà hay dùng nhất là bộ công cụ Visual C++. Bộ công cụ này lập trình giúp lập trình giao diện thông qua cổng RS232.Ngoài bộ công cụ này còn có bộ công cụ của Delphi cũng được dùng khá nhiều.
Trong trường hợp người dùng mà không biết lập trình giao diện thì có thể sử dụng công cụ trực tiếp của windown. Đó là Hyper Terminal. Công cụ này cho ta giao diện khá đơn giản chỉ truyền nhận dữ liệu thông qua cổng RS232. Đối với Win XP thì các bạn có thể vào đây để lấy nó ra : Start/All Program/Accessories/communations/Hyper Terminal/. Thiết lập thông số quan trọng là ok.
Bộ công cụ Hyper Terminal có giao diện khá cổ điện nên người dùng khó kiểm soát được dữ liệu truyền lên nhận xuống như thế nào. Do vậy trên mạng bây giờ có bộ công cụ lập trình sẵn cho giao tiếp cổng com. Đó là phần mền Terminal ( download tại hội quán). Phần mền này có giao diện khá hơn Hyper Terminal nhưng nó chỉ có box nhận dữ liệu và truyền dữ liệu. Các bạn có thể tham khảo!

Thời gian vừa qua mình có nhận được một cuộc gọi từ một anh dưới Bình Phước. Anh ấy lên ý tưởng việc đóng ngắt máy bơm từ xa. Vì anh ấy đi tưới rẫy kéo dây nước rất xa muốn đóng ngắt. Lên mạng tìm kiếm. Mình kiếm được mạch này khá hay. Xin chia sẻ với bạn.
Xem thêm bài này nhé.

[success title="LINH KIỆN CẦN " icon="check-circle"] + Máy hàn nhỏ ,chì hàn , nhựa thông , kìm bấm , đồng hồ đo điện ( không có cũng được mà có thì càng tốt )
+ Mạch nạp pitkit2 hoặc burn-e để nạp chương trình cho vi điều khiển PIC ( có kèm phần mềm nạp ) , 1 máy tính laptop
+ 1 cục nguồn 220V – 12V để test mạch
+ PIC16F54 
 PT2272-M4 
C1815 
 78L05 
Nút nhấn nhỏ loại tròn 2 chân 
Module thu sóng 315Mhz loại không có IC 
Role 12V 5 chân 
Domino 2C ( màu xanh ) 
 Diode 1N4007 
 Diode 1N4148 
 Đèn LED 3mm ( màu gì cũng được ) 
 Điện trở 10K 
 Điện trở 4K7 
Điện trở 1K 
Điện trở 620k ( phải mua đúng loại điện trở này ) 
Tụ hóa 220uF-16V 
Tụ hóa 47uF-16V 
Tụ gốm 100nF ( tụ trên lưng có ghi số 104 ) 
Loa chíp nhỏ loại 12V
Remote 315Mhz loại có 4 nút ( giống như hình )[/success]
Module Điều Khiển 4 Kênh
Mạch Điều Khiển Từ Xa 4 Thiết Bị RF
Sơ Đồ Mạch Nguyên Lý
Sơ Đồ Mạch Layout
Mạch In Làm Thực Tế
Lưu Ý Đấu Dây

Mạch Thật Thực Tế
Code CCS
Nếu bạn chưa biết về CCS có thể xem thêm ở đây:


[warning title="CODE NÈ" icon="exclamation-triangle"]
#include <16f54.h>
#FUSES WDT // Watch Dog Timer
#FUSES LP //Low power osc < 200 khz
#FUSES PROTECT //Code protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=68000,RESTART_WDT)

#define R4 PIN_B4
#define R3 PIN_B5
#define R2 PIN_B6
#define R1 PIN_B7

#define D0 PIN_A2
#define D1 PIN_A3
#define D2 PIN_A0
#define D3 PIN_A1

#define N1 PIN_B0
#define N2 PIN_B1
#define N3 PIN_B2
#define N4 PIN_B3

void main (void)
{
SETUP_WDT(WDT_1152MS );
RESTART_WDT();
set_tris_b(0b11110000);
set_tris_a(0xff);
output_low(R1);
output_low(R2);
output_low(R3);
output_low(R4);
int1 R1_set=0,R2_set=0,R3_set=0,R4_set=0;
while(true)
{
RESTART_WDT();

if((input(D0))&&(R1_set==1)){output_toggle(R1);R1_set=0;}
else if((input(N1))&&(R1_set==1)){output_toggle(R1);R1_set=0;}
if(((input(D0))==0)&&((input(N1))==0))R1_set=1;

if((input(D1))&&(R2_set==1)){output_toggle(R2);R2_set=0;}
else if((input(N2))&&(R2_set==1)){output_toggle(R2);R2_set=0;}
if(((input(D1))==0)&&((input(N2))==0))R2_set=1;

if((input(D2))&&(R3_set==1)){output_toggle(R3);R3_set=0;}
else if((input(N3))&&(R3_set==1)){output_toggle(R3);R3_set=0;}
if(((input(D2))==0)&&((input(N3))==0))R3_set=1;

if((input(D3))&&(R4_set==1)){output_toggle(R4);R4_set=0;}
else if((input(N4))&&(R4_set==1)){output_toggle(R4);R4_set=0;}
if(((input(D3))==0)&&((input(N4))==0))R4_set=1;
}
} [/warning]

Video Mạch Thực Tế
Toàn bộ file mạch in vẽ bằng PROTEUS 8 cùng với file code hex. Bạn có thể tải tại đây:

Chắc hẳn nhiều bạn đã từng có trường hợp tải file có đuôi ISO. Và nhiều người loay hoay cách giải nén ra để lấy dữ liệu. Hôm nay ĐIỆN TỬ CHIA SẺ xin giới thiệu đến bạn cách giải nén nhanh nhất mà chúng tôi hay dùng. 

1. Tại Sao Phải Sử Dụng File Có Đuôi ISO.

File ISO là file mà virut rất khó ăn dữ liệu được. Tính bảo toàn dữ liệu rất cao và boot được. Ưu điểm hơn lưu trữ dưới dạng file RAR rất nhiều. Tuy nhiên nhiều bạn khi tải về thì vướng phải công đoạn giải nén ra. Nhiều bài hướng dẫn chỉ cách tạo ổ đĩa ảo rồi dùng phần mềm này nọ rất phức tạp.

2. Cách Giải Nén Dữ Liệu File ISO

Yêu cầu:
Máy bạn phải có chương trình winrar. Cái này thì hây như máy nào cũng có rồi.
Bước 1: Đầu tiên bạn chuột phải vào file cần giải nén. Một hộp thoại hiện ra. Bạn nhấp chuột trái vào các mục dưới đây tùy theo mục đích.

Hướng Dẫn Giải Nén File Đuôi ISO Đơn Giản Nhất
Bạn có thể Extract Here là giải nén tại thư mục chứa file ISO. Tuy nhiên nếu bên trong file ISO là 1 thư mục thì lúc giải nén nhận được rất gọn gàng. Thật không may nếu bên trong chứa nhiều file. Vì lúc giải nén bằng Extract Here thì sẽ rất lộn xộn. Bởi vậy bạn nên dùng Extract to...tên thư muc..... Sẽ tốt hơn.
Chúc bạn thành công và học tập đạt kết quả cao.

Chào bạn. Một người học điện tử, làm điện tử bạn không thể nào không biết đến ic dịch 74hc595. Lần này Điện Tử Chia Sẻ gửi đến bạn một bài hướng dẫn lập trình đơn giản IC 89c51 điều khiển led 4 led 7 đoạn đếm số từ 0000 đến 9999 qua ic dịch 74HC595. 

[LẬP TRÌNH 8051] Lập trình C Điều Khiển Led 7 Đoạn Đếm 0000 Đến 9999 Qua IC 74HC595
Video DEMO



[alert title="CODE MẪU" icon="info-circle"]
#include<REGX51.H>
#include<stdio.h>
#include<math.h>
#define bat 1
#define tat 0
//=================================
sbit shcp=P3^0;
sbit ds=P3^1;
sbit stcp=P3^2;
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;

//=============Chuong trinh tao tre==============
void delay(int ms)
{
     int a,b;
      for(a=0;a<ms;a++)
          for(b=0;b<125;b++)
         {
         }
}
//================Maled 7 doan anode chung================
int m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int donvi1,chuc1;
int donvi2,chuc2;
int donvi3,chuc3;
int giay,phut,gio;
//==========dua data vao595===========
void data(unsigned char data)
{
unsigned char i;
unsigned int k;
k=128;
           for(i=0;i<8;i++)
         {
           if((data&k)==k)
           ds=1;
           else
           ds=0;
           shcp=1;
           shcp=0;
           stcp=1;
           stcp=0;
          k>>=1;
         }
}
//============ hien thi=============

void hienthi(void)
{
       int c;
       for(c=0;c<10;c++)
     {
        chuc1=giay/10;
        donvi1=giay%10;
        data(m[chuc1]);
        led5=bat;
        delay(8);
        led5=tat;
       data(m[donvi1]);
       led6=bat;
      delay(8);
      led6=tat; 
/*====led3 và led 4=phut====*/
        chuc2=phut/10;
        donvi2=phut%10;
        data(m[chuc2]);
        led3=bat;
        delay(8);
        led3=tat;
        data(m[donvi2]);
        led4=bat;
        delay(8);
        led4=tat; 
/*======led 1 va led 2 = gio==*/
       chuc3=gio/10;
       donvi1=gio%10;
      data(m[chuc3]);
      led2=bat;
      delay(8);
      led2=tat;
     data(m[donvi3]);
     led1=bat;
     delay(8);
     led1=tat; 
     }
}
//==============ham chinh=======
void main(void)
{
     while(1)
     {
           gio=phut=giay=0;
          for(gio=0;gio<24;gio++)
         {
             hienthi();
                     for(phut=0;phut<60;phut++)
                          {
                      hienthi();
                           for(giay=0;giay<60;giay++)
                                {
                               hienthi();

                                }
                          }
         }
   }
}
[/alert] 


Các bộ chuyển đổi ADC thuộc những thiết bị được sử dụng rộng rãi nhất để thu dữ liệu. Các máy tính số sử dụng các giá trị nhị phân, nhưng trong thế giới vật lý thì mọi đại lượng ở dạng tương tự (liên tục). Nhiệt độ, áp suất (khí hoặc chất lỏng), độ ẩm và vận tốc và một số ít những đại lượng vật lý của thế giới thực mà ta gặp hằng ngày. Một đại lượng vật lý được chuyển về dòng điện hoặc điện áp qua một thiết bị được gọi là các bộ biến đổi. Các bộ biến đổi cũng có thể coi như các bộ cảm biến. Mặc dù chỉ có các bộ cảm biến nhiệt, tốc độ, áp suất, ánh sáng và nhiều đại lượng tự nhiên khác nhưng chúng đều cho ra các tín hiệu dạng dòng điện hoặc điên áp ở dạng liên tục. Do vậy, ta cần một bộ chuyển đổi tương tự số sao cho bộ vi điều khiển có thể đọc được chúng. Một chip ADC được sử dụng rộng rãi là ADC0804.


                                               Sơ đồ chân ADC0804
Chip ADC0804 là bộ chuyển đổi tương tự số thuộc họ ADC800 của hãng National Semiconductor. Chip này cũng được nhiều hãng khác sản xuất. Chip có điện áp nuôi +5V và độ phân giải 8 bit. Ngoài độ phân giải thì thời gian chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ ADC. Thời gian chuyển đổi được định nghĩa là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số nhị phân. Đối với ADC0804 thì thời gian chuyển đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK và CLK IN và không bé hơn 110µs. Các chân khác của ADC0804 có chức năng như sau:
- CS (Chip select): Chân số 1, là chân chọn chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt Chip ADC0804. Để truy cập tới ADC0804 thì chân này phải được đặt ở mức thấp.
- RD (Read): Chân số 2, là chân nhận tín hiệu vào tích cực ở mức thấp. Các bộ chuyển đổi của 0804 sẽ chuyển đổi đầu vào tương tự thành số nhị phân và giữ nó ở một thanh ghi trong. Chân RD được sử dụng để cho phép đưa dữ liệu đã được chyển đổi tới đầu ra của ADC0804. Khi CS = 0 nếu có một xung cao xuống thấp áp đến chân RD thì dữ liệu ra dạng số 8 bit được đưa tới các chân dữ liệu (DB0 – DB7).
- WR (Write): Chân số 3, đây là chân vào tích cực mức thấp được dùng báo cho ADC biết để bắt đầu quá trình chuyển đổi. Nếu CS = 0 khi WR tạo ra xung cao xuống thấp thì bộ ADC0804 bắt đầu quá trình chuyển đổi giá trị đầu vào tương tự Vin thành số nhị phân 8 bit. Khi việc chuyển đổi hoàn tất thì chân INTR được ADC hạ xuống thấp.
- CLK IN và CLK R: CLK IN (chân số 4), là chân vào nối tới đồng hồ ngoài được sử dụng để tạo thời gian. Tuy nhiên ADC0804 c ũng có một bộ tạo xung đồng hồ riêng. Để dùng đồng hồ riêng thì các chân CLK IN và CLK R (chân số 19) được nối với một tụ điện và một điện trở. Khi đó tần số được xác định bằng biểu thức:
F =
Với R = 10 kΩ, C = 150 pF và tần số f = 606 kHz và thời gian chuyển đổi là 110 µs.
- Ngắt INTR (Interupt): Chân số 5, là chân ra tích cực mức thấp. Bình thường chân này ở trạng thái cao và khi việc chuyển đổi tương tự số hoàn tất thì nó chuyển xuống mức thấp để báo cho CPU biết là dữ liệu chuyển đổi sẵn sàng để lấy đi. Sau khi INTR xuống thấp, cần đặt CS = 0 và gửi một xung cao xuống thấp tới chân RD để đưa dữ liệu ra.
- Vin (+) và Vin (-): Chân số 6 và chân số 7, đây là 2 đầu vào tương tự vi sai, trong đó Vin = Vin(+) – Vin(-). Thông thường Vin(-) được nối tới đất và Vin(+) được dùng làm đầu vào tương tự và sẽ được chuyển đổi về dạng số.
- Vcc: Chân số 20, là chân nguồn nuôi +5V. Chân này còn được dùng làm điện áp tham chiếu khi đầu vào Vref/2 để hở.
- Vref/2: Chân số 9, là chân điện áp đầu vào được dùng làm điện áp tham chiếu. Nếu chân này hở thì điện áp đầu vào tương tự cho ADC0804 nằm trong dải 0 đến +5V. Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin khác với dải 0 đến +5V. Chân Vref/2 được dùng để thực hiện các điện áp đầu ra khác 0 đến +5V.

- D0 – D7, chân số 18 – 11, là các chân ra dữ liệu số (D7 là bit cao nhất MSB và D0 là bit thấp nhất LSB). Các chân này được đệm ba trạng thái và dữ liệu đã được chuyển đổi chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp. Để tính điện áp đầu ra ta tính theo công thức sau:
Dout = Vin / Kích thước bước.


[LẬP TRÌNH 16F877A-CCS] Bài 5: Giao Tiếp Máy Tính Và Vi Điều Khiển

Chào bạn. Chúng ta lại tiếp tục đến với thứ 5. Lần này tác giả Xuân Kiên sẽ hướng dẫn chúng ta giao tiếp thành công máy tính và vi điều khiển PIC. Bài này rất quan trọng. Ứng dụng rất lớn. Bạn chú ý theo dõi nhé. Bạn nên xem lại các bài trước để hiểu hơn nhé.
[alert title="BÀI TRƯỚC" icon="info-circle"]

 [/alert]
Mời bạn xem tiếp bài 5 của tác giả Xuân Kiên.


Có rất nhiều bản vễ PROTEUS chúng tôi đã vẽ sẵn dành cho bạn. Bạn có thể tải về để sử dụ
Hãy Like và Share vì nó miễn phí.

[LẬP TRÌNH 16F877A-CCS] Bài 4: Hiện Thị Chuỗi Ký Tự Lên LCD 16x2

Chào bạn. Chúng ta lại tiếp tục đến với thứ 4. Lần này tác giả Xuân Kiên sẽ hướng dẫn chúng ta đến với LCD 16x2. Bạn nên xem lại các bài trước để hiểu hơn nhé.
[alert title="BÀI TRƯỚC" icon="info-circle"]

 [/alert]
Mời bạn xem tiếp bài 4 của tác giả Xuân Kiên.

Có rất nhiều bản vễ PROTEUS chúng tôi đã vẽ sẵn dành cho bạn. Bạn có thể tải về để sử dụ
Ngoài ra bạn có thể xem thêm bản vẽ PROTEUS của Điện Tử Chia Sẻ giới thiệu tại đây:
[success title="FILE PROTEUS" icon="check-circle"]

[/success]

[LẬP TRÌNH 16F877A-CCS] Bài 3: Điều Khiển Led Sáng Đuổi
Chào bạn. Chúng ta lại tiếp tục đến với thứ 3. Lần này tác giả Xuân Kiên sẽ đi sâu hơn vào điều khiển 1 trạng thái Led là Led Chạy Sáng Đuổi. Bạn có thể xem lại 2 bài trước ở đây:
[alert title="BÀI TRƯỚC" icon="info-circle"]

 [/alert]
Mời bạn xem tiếp bài 3 của tác giả Xuân Kiên.
Có rất nhiều bản vễ PROTEUS chúng tôi đã vẽ sẵn dành cho bạn. Bạn có thể tải về để sử dụng.
                                                                   TẢI XUỐNG
Ngoài ra bạn có thể xem thêm bản vẽ PROTEUS của Điện Tử Chia Sẻ giới thiệu tại đây:
[success title="FILE PROTEUS" icon="check-circle"]

[/success]

[LẬP TRÌNH 16F877A] Bài 2: Điều Khiển Led Sáng Dần Bằng Nhiều Cách
Sau bài 1:

DIENTUCHIASE xin giới thiệu đến bạn BÀI 2 trong chuỗi video học lập trình PIC 16F877A bằng ngôn ngữ CCS. Các bạn học thật tốt nhé. Hãy like và đăng kí video để động viên chúng mình nhé. 

[LẬP TRÌNH 16F877A] Bài 2: Điều Khiển Led Sáng Dần 

Bạn tải file PROTEUS cũng như file CODE tại đây:
Ngoài ra bạn có thể xem thêm bản vẽ PROTEUS của Điện Tử Chia Sẻ giới thiệu tại đây:
[success title="FILE PROTEUS" icon="check-circle"]

[/success]


[LẬP TRÌNH 16F877A-CCS] Bài 1: Bật Tắt Led Cơ Bản

DIENTUCHIASE giới thiệu đến bạn chuỗi video học lập trình pic 16f877a từ cơ bản đến nâng cao.




Toàn bộ file bản vẽ PROTEUS cũng như file CODE. Bạn tải về để xem nhé:

Ngoài ra bạn có thể xem thêm các bản vẽ khác của ĐIỆN TỬ CHIA SẺ vẽ để hiểu thêm:


[success title="FILE PROTEUS" icon="check-circle"]

[/success]

Author Name

{picture https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN0PUWA2genMqX3Sm26mBTX_30OJgDenoIi4K6BR-E1vl3nI7LALp0X759QZgzqrMcGBB7jEbdZnubJbp4n2ZZ22KT196CWCg9DLs3MfEivocdmkjZEPEn-A42hyphenhyphen9dmsca0VIDQr_LjqM/s512-Ic42/pham-van-ngoc-anh.jpg}

Tôi là Ngọc Anh. Tôi đến từ Nghệ An. Tôi tốt nghiệp một trường đại học tại Sài Gòn. Hiện tôi đang phát triển công ty riêng. Liên lạc với tôi qua:

{facebook https://www.facebook.com/phamvanngocanh}
{twitter https://twitter.com/nghiphong1993}
{google https://plus.google.com/+dientuchiase/posts}
{youtube https://www.youtube.com/channel/UCeJKhA_goBNFmDw6RKNtmYQ}

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.