Menu English Ukrainian Tiếng Nga Trang Chủ

Thư viện kỹ thuật miễn phí cho những người có sở thích và chuyên gia Thư viện kỹ thuật miễn phí


ENCYCLOPEDIA VỀ ĐIỆN TỬ TRUYỀN THANH VÀ KỸ THUẬT ĐIỆN
Thư viện miễn phí / Sơ đồ của các thiết bị vô tuyến-điện tử và điện

Cách kết nối vi điều khiển và máy tính qua RS-232. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện

Thư viện kỹ thuật miễn phí

Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện / Bộ vi điều khiển

Bình luận bài viết Bình luận bài viết

Bài viết này nhằm mục đích làm ví dụ về việc triển khai phát triển thiết bị vi điều khiển được điều khiển bởi máy tính cá nhân thông qua kênh nối tiếp. Nó dành cho những người chưa có kinh nghiệm trong những phát triển như vậy. Khi bạn hiểu cách PC điều khiển bộ vi điều khiển, hiển thị, xử lý và lưu trữ thông tin nhận được từ nó, bạn có thể áp dụng kiến ​​thức này vào sự phát triển của riêng mình. Ngoài ra, thiết bị được mô tả còn có giá trị độc lập: đó là một vôn kế kỹ thuật số được điều khiển, kết quả đo trước khi hiển thị có thể được máy tính xử lý theo thuật toán xác định trước và cũng được lưu vào tệp trên ổ cứng. của PC của bạn, được xem và in. Tất cả điều này làm cho thiết bị được mô tả trở thành nền tảng cho một hệ thống đơn giản để thu thập, xử lý và ghi lại dữ liệu, hữu ích cho các kỹ sư điện tử không có trình độ hiểu biết về công nghệ vi điều khiển để phát triển độc lập.

Giới thiệu

Mục tiêu của công việc này là phát triển và tạo ra một thiết bị đo đơn giản dựa trên bộ vi điều khiển, loại phổ biến nhất hiện nay, thuộc họ x51, có thể trao đổi thông tin với máy tính cá nhân. Thiết bị này được cho là có chức năng đo điện áp, sau này có thể được bổ sung thêm nhiều phụ kiện khác nhau để chuyển đổi các đại lượng vật lý được đo trực tiếp khác thành điện áp. Một thiết bị như vậy sẽ giúp bạn có thể dễ dàng thực hiện một loạt phép đo, được điều khiển bởi máy tính, cũng như tích lũy kết quả và thực hiện xử lý máy tính của chúng. Chịu những thay đổi cơ bản, nó có thể dễ dàng biến thành một hệ thống giám sát và điều khiển từ xa các thiết bị hoặc các dụng cụ, thiết bị khác.

Mô tả chung về thiết bị. Phần điện của thiết bị

Thiết bị (Hình 1) về cơ bản là một vôn kế kỹ thuật số. Ở đầu vào của vôn kế có bộ khuếch đại hoạt động (DA1), có trở kháng đầu vào cao. Theo sau bộ khuếch đại hoạt động là ADC (DD2), cho phép chúng ta số hóa điện áp quan tâm để truyền tiếp tới bộ vi điều khiển. Bộ vi điều khiển DD3 là bộ phận điều khiển chính của thiết bị, vì nó đọc thông tin từ ADC và giao tiếp với máy tính cá nhân thông qua kênh nối tiếp. Thiết bị này cũng bao gồm bộ chuyển đổi nguồn để tạo ra +5 V cho phần kỹ thuật số và tạo ra +/- 10 V cho bộ khuếch đại hoạt động, cũng như chip chuyển đổi mức (logic <0> và <1> đến -15: +15 V và ngược lại) để trao đổi thông tin qua kênh nối tiếp như RS232.

Cách kết nối vi điều khiển và máy tính qua RS-232
Cơm. 1

Giá trị gửi về máy tính nằm trong khoảng 0...4095 (tương ứng với độ sâu bit ADC), 0 tương ứng với mức đầu vào 0V, 4095 - mức 5V, sự phụ thuộc là tuyến tính.

Tốc độ trao đổi thông tin có thể được chọn dưới 9600 baud hoặc cao hơn - lên tới 115 baud. Trên các máy tính khá cũ, chẳng hạn như 200 trở về trước, giới hạn trên thấp hơn nhiều - 386 baud. Điều này là do các chip cổng nối tiếp trong các máy tính này không được thiết kế cho tốc độ cao hơn.

Mô tả vi mạch

Bộ chuyển đổi nguồn MAX680

Op-amp thường yêu cầu nguồn lưỡng cực (ví dụ: +10 V và -10 V so với mặt đất). Những người nghiệp dư vô tuyến ít quen thuộc với phần đế hiện đại thường sử dụng một máy biến áp có hai cuộn dây thứ cấp (hoặc một, nhưng có một vòi ở giữa), hai tụ lọc, hai bộ ổn định, v.v. để có được điện áp như vậy. tùy ý sử dụng điện áp ổn định là 5V và bộ khuếch đại hoạt động được sử dụng, yêu cầu nguồn điện lưỡng cực, chỉ có thể có giá +7:10 V, trong khi tiêu thụ 1:2 mA, khi đó sẽ không cần hai cuộn dây và hai bộ ổn định đã đề cập . Chỉ cần sử dụng vi mạch MAX680 của Maxim là đủ (lưu ý rằng các vi mạch tương tự được sản xuất bởi Linear Technology và một số công ty nổi tiếng khác).

Điện áp Uin từ 3:5 đến 6:10 V (tùy thuộc vào loại) được đặt vào đầu vào của vi mạch; điện áp xấp xỉ +2Uin được tạo ra ở đầu ra của nó. Điều đáng chú ý là, thứ nhất, để tạo ra các điện áp này, ngoài MAX8 hoặc LT680 1026 chân, chỉ cần 4 tụ điện nhỏ (xem Hình 1), và thứ hai, khi điện áp đầu vào thay đổi, đầu ra sẽ tăng gấp đôi thay đổi pha, điều này hầu như không ảnh hưởng đến tín hiệu đầu ra của op-amp. Để biết thêm thông tin chi tiết về các vi mạch như vậy, tác giả khuyên bạn nên tham khảo các mô tả độc quyền tương ứng.

ADC MAX1241

Trong những năm gần đây, các vi mạch được điều khiển thông qua kênh nối tiếp đã nhận được sự phát triển rộng rãi trong công nghệ vi điều khiển. Một trong những chip này là ADC 12 bit MAX1241. Như trong trường hợp MAX680, MAX1241 có khá nhiều điểm tương tự chính xác và gần đúng (MAX187 từ Maxim, LTC1286, LTC1298 từ Công nghệ tuyến tính, AD7894 từ Thiết bị analog và một số thiết bị khác).

MAX1241 được đóng gói trong gói 8 chân, được cấp nguồn bằng điện áp từ 2,7 đến 5 V và tiêu thụ dòng điện khoảng 5 mA. Nó yêu cầu sử dụng nguồn điện áp tham chiếu bên ngoài (trong trường hợp này, sử dụng diode zener chính xác KR142EN19, tạo ra điện áp 2,50 V) và chỉ sử dụng 3 đường để liên lạc với vi điều khiển.

Hoạt động của MAX1241 được minh họa bằng sơ đồ thời gian như trong Hình 2. 1241. Trước khi bắt đầu chuyển đổi và trao đổi, đầu vào CS# MAX1241 phải được bộ vi điều khiển duy trì ở một trạng thái duy nhất. Để bắt đầu chuyển đổi, mức logic 8 phải được áp dụng cho đầu vào này. Quá trình chuyển đổi sang MAX1241 chỉ mất chưa đầy 0 µs. Trong toàn bộ thời gian chuyển đổi, MAX1241 duy trì mức logic XNUMX ở đầu ra DOUT. Sau khi hoàn thành chuyển đổi, MAXXNUMX sẽ chuyển đầu ra DOUT sang một trạng thái duy nhất.

Cách kết nối vi điều khiển và máy tính qua RS-232
Cơm. 2

Trước khi bắt đầu chuyển đổi, bộ vi điều khiển ở đầu vào SCLK của MAX1241 phải đặt mức logic bằng 12. Khi quá trình chuyển đổi bên trong ADC hoàn tất, bộ vi điều khiển phải tạo ra một chuỗi gồm ít nhất 2 xung dương ở đầu vào SCLK (Hình 1241). Cạnh của xung đầu tiên chuẩn bị cho MAX12 truyền dữ liệu. Khi xung rơi vào DOUT, bit thứ 11 quan trọng nhất sẽ xuất hiện dưới dạng số XNUMX hoặc số XNUMX logic. Bộ vi điều khiển đọc bit này, tạo thành cạnh của xung thứ hai trên SCLK và sau một thời gian - nó rơi xuống. Khi xung thứ hai rơi xuống, bit thứ XNUMX xuất hiện trên DOUT, sau đó được vi điều khiển đọc, v.v.

Khi xung thứ 12 giảm xuống, bit thứ 1 ít quan trọng nhất được đặt ở đầu ra DOUT. Sự suy giảm của xung thứ 13 đưa DOUT về trạng thái 1, đó là trạng thái trước khi đầu vào CS# được đặt thành 1241. Bằng cách chuyển CS# sang trạng thái đơn, bộ vi điều khiển thông báo cho MAX1241 rằng quá trình đọc kết quả chuyển đổi đã hoàn tất. MAX1 có thể thực hiện chuyển đổi tiếp theo khoảng 1 µs sau khi đặt CS# thành XNUMX.

Các thuật toán vận hành của LTC1286, LTC1298 từ Công nghệ tuyến tính và AD7894 từ Thiết bị analog hơi khác so với các thuật toán được mô tả cho MAX1241. Bạn có thể làm quen với họ chi tiết hơn bằng cách tham khảo các mô tả tương ứng của công ty.

Bộ chuyển đổi mức MAX202E

Một điều bí mật đối với một số người là trong logic tiêu chuẩn, một mức được biểu thị bằng mức điện áp từ 2,4 đến 5 V và 0 - từ 0,8 đến 232 V. Tuy nhiên, những người mới bắt đầu có thể không biết rằng khi truyền qua kênh RS-5, bằng 12 và một được mã hóa bằng các tín hiệu có cùng giá trị (từ XNUMX đến XNUMX V), nhưng khác nhau về dấu hiệu. Trong khuôn khổ bài viết này, nó không nhằm mục đích giải thích lý do tại sao lại làm điều này mà không làm điều khác - chúng tôi sẽ hạn chế chỉ nêu rõ sự thật này.

Vì các tín hiệu logic tiêu chuẩn phải được chuyển đổi thành tín hiệu ở mức khác để truyền qua RS-232 nên cần cung cấp các phương tiện chuyển đổi thích hợp trong mạch. Khoảng 10 năm trước, các tầng được thiết kế đặc biệt gồm ba hoặc bốn bóng bán dẫn, một cặp điốt và gần chục điện trở đã được sử dụng cho mục đích này. Giờ đây, tình hình đã thay đổi đáng kể: các nhà sản xuất chip hàng đầu sản xuất các bộ chuyển đổi hoàn chỉnh đòi hỏi số lượng phần tử bổ sung tối thiểu. Chúng bao gồm MAX202E của MAXIM và AD232 của Analog Devices, hoàn toàn giống với nó, cho đến sơ đồ chân. Bên trong, cả hai vi mạch đều chứa bộ chuyển đổi điện áp từ +5 V đến +10 V, giống hệt MAX680 được mô tả ở trên và các tầng chuyển đổi tín hiệu logic mức tiêu chuẩn thành tín hiệu mức theo tiêu chuẩn RS-232. Mỗi vi mạch được đề cập đều chứa bộ chuyển đổi mức logic cho hai máy thu và hai máy phát. Chúng tôi sẽ chỉ sử dụng một kênh thu phát.

Chế độ hoạt động của MK với kênh nối tiếp

Như đã biết (ví dụ, xem số 10 và 11 của tạp chí Radio năm 1994), các bộ vi điều khiển thuộc họ x51 có bốn chế độ hoạt động của bộ thu phát. Chúng ta sẽ quan tâm đến chế độ 1 là đơn giản nhất và dễ chấp nhận nhất.

Chế độ 1 được đặc trưng bởi các tham số sau:

  • trao đổi thông tin không đồng bộ;
  • 10 bit được truyền trên mỗi trao đổi (bit bắt đầu (0), 8 bit dữ liệu và bit dừng (1));
  • Tốc độ thu/truyền có thể lập trình và cài đặt bằng bộ hẹn giờ.

Đây là chế độ thuận tiện cho việc lập trình: cần rất ít mã lập trình để thiết lập và vận hành bộ thu phát. Mặc dù, nếu muốn, bạn có thể sử dụng các chế độ hoạt động khác. Mục đích của bài viết này là mô tả một thiết bị nhất định có khả năng giao tiếp với máy tính cá nhân.

Ở đây chúng tôi sẽ không mô tả chính xác cách thức hoạt động của bộ thu phát. Thông tin này có thể được thu thập từ các tạp chí Radio đã đề cập hoặc các tài liệu khác.

Thói quen cơ bản cho MK

Các hoạt động chính của bộ vi điều khiển sẽ là: đọc dữ liệu từ ADC, khởi tạo UART, nhận byte và gửi byte.

Đọc dữ liệu từ ADC

Thiết lập PC để trao đổi thông tin qua kênh nối tiếp.

Để định cấu hình PC của bạn để trao đổi thông tin qua kênh nối tiếp, bạn phải làm như sau:

  • vô hiệu hóa tất cả các ngắt vì không cần sử dụng chúng;
  • định cấu hình bộ hẹn giờ 1 để hoạt động ở chế độ 2 với việc tải lại nội dung tự động. Điều này là cần thiết để thiết lập tốc độ trao đổi thông tin và duy trì nó liên tục;
  • tải các giá trị ban đầu vào bộ đếm thời gian;
  • bắt đầu hẹn giờ 1.

Một ví dụ về mã được thiết kế cho tốc độ trao đổi 9600 bps cho bộ cộng hưởng thạch anh có tần số cộng hưởng 11,059 MHz:

GET_VOLT: SETB DOUT ; ĐƯỢC PHÉP NHẬP DỮ LIỆU TỪ ADC SETB CS; THIẾT LẬP TRẠNG THÁI BAN ĐẦU ADC CLR SCLK; THIẾT LẬP TRẠNG THÁI BAN ĐẦU ADC CLR CS; BÁO CÁO MONG MUỐN ĐỌC DỮ LIỆU MUL AB; 4 ISS TẠI 12 MHZ\ MUL AB; 4 ISS | MUL AB ; 4 ISS ĐANG CHỜ KẾT THÚC; | SỐ HÓA MUL AB ; 4 MKS/MOV R0,#12 ; ĐỌC 12 BITS GET_VC: SETB SCLK ; \nop; | KHÔNG; | CLR SCLK ; } HÌNH THÀNH MỘT XUNG ĐỂ ĐỌC BIT NOP; | KHÔNG; / MOV C,DOUT ; ĐỌC BIT MOV A,R2 ; \RLC A; | MOV R2,A ; | MOV A,R3 ; } ĐẶT BIT VÀO MỘT TỪ ; |KẾT QUẢ - R3R2 RLC A ; | MOV R3,A ; / DJNZ R0,GET_VC ; Vòng lặp ANL A,#0FH MOV R3,A ; XÓA BIT CAO R3R2 SETB CS ; CHÚNG TÔI KHÔNG MUỐN ĐẾM NỮA; (BIT KHÁC = 0) MUL AB ; 4 MKS TẠI 12 MHZ \ MUL AB; 4 ISS | MUL AB ; 4 ISS | MUL AB ; 4 MKS }CHẾ ĐỘ TRỄ PHÚT ; | TRƯỚC TIẾP THEO MUL AB ; 4 ISS | MUL AB ; 4 ISS/RET   

Chương trình con này được gọi đầu tiên trong chương trình máy vi tính chính. Về nguyên tắc, nó thậm chí không cần phải được hình thức hóa thành một chương trình con.

Nhận và gửi byte

Quy trình nhận và gửi byte qua kênh nối tiếp rất đơn giản.

SERINIT: MOV IE, #0 ; Vô hiệu hóa tất cả các ngắt MOV TMOD, #20H ; Đặt chế độ 2 cho bộ định thời 1 MOV TH1, #REL96 ; Giá trị cho bộ đếm tự động tải lại MOV TL1, #REL96 ; Giá trị bộ đếm ban đầu là 9600 bps; tại SMOD = 0 ANL PCON, #7FH ; Đã xóa SMOD MOV SCON, #50H ; Chế độ dành cho dữ liệu 8 bit và tốc độ truyền, ; SETB TR1 phụ thuộc vào bộ đếm thời gian; Bộ định thời/bộ định thời khởi động 1 RET trong đó REL96 là hằng số bằng 0FDh

Bạn chỉ có thể đọc một byte từ cổng I/O SBUF khi bit RI của thanh ghi trạng thái/điều khiển SCON được thiết lập, cho biết sự hiện diện của một byte trong bộ đệm nhận. Sau khi đọc byte này, bit RI phải được đặt lại.

Sau khi ghi một byte vào cổng I/O, bạn cần đợi cho đến khi bit TI được thiết lập, điều này sẽ báo hiệu kết thúc việc gửi byte đến đường truyền. Sau đó, bit TI cũng sẽ cần được thiết lập lại.

Chương trình con để nhận một byte vào bộ tích lũy:

GETCH: JNB RI, GETCH MOV A, SBUF CLR RI RET

Chương trình con gửi một byte từ bộ tích lũy:

PUTCH: MOV SBUF, A GỬI: JNB TI, GỬI CLR TI RET

Cũng cần lưu ý rằng máy vi tính không có bất kỳ phương tiện nào để phát hiện lỗi đầu vào/đầu ra.

Để tổ chức kiểm tra theo cách phần mềm và phần cứng, bạn có thể mở rộng số lượng đường đầu vào/đầu ra để truyền tín hiệu bổ sung và từ đó có thể xác định trạng thái của những người tham gia đối thoại, cũng như phát hiện lỗi.

Bạn có thể tăng độ tin cậy của việc nhận/truyền thông tin theo cách khác: truyền một bit khác có tám bit dữ liệu - bit chẵn lẻ, được tính tương tự như cờ chẵn lẻ trong từ trạng thái chương trình (bit 0 PSW). Nó chỉ phải được tính cho một byte được truyền hoặc nhận. Sau khi nhận được byte và bit chẵn lẻ, bạn cần so sánh chúng xem chúng có khớp với nhau không. Nếu chúng không khớp thì đã xảy ra lỗi I/O. Để truyền bit thông tin thứ 9 bổ sung, bạn cần sử dụng chế độ 2 hoặc 3 của bộ định thời/bộ đếm.

Chương trình chung cho MK. Sơ đồ trạng thái thiết bị

Chương trình máy vi tính nói chung dựa trên thuật toán được mô tả dưới đây. Thuật toán khá phức tạp, bởi vì... Tuy nhiên, bạn cần bằng cách nào đó, ít nhất là bằng lập trình, xác định các lỗi đầu vào/đầu ra và ứng phó khi chúng xảy ra.

Để rõ ràng hơn, một bản vẽ được đính kèm với thuật toán được mô tả bằng từ thông thường - cái gọi là sơ đồ trạng thái thiết bị (Hình 3), hiển thị bốn trạng thái chính của thiết bị từ quan điểm trao đổi thông tin với máy tính.

Cách kết nối vi điều khiển và máy tính qua RS-232
Cơm. 3

Chúng ta hãy quy định trước rằng máy vi tính của chúng ta là nô lệ, còn máy tính cá nhân là chủ khi trao đổi dữ liệu. Nói cách khác, bản thân thiết bị, nếu không có lệnh từ PC, sẽ không làm được gì cả. Nó hoàn toàn phụ thuộc vào máy tính điều khiển. Một máy tính cá nhân được chọn làm máy chủ vì lý do đơn giản là nó có nhiều năng lượng hơn và có thể điều khiển thiết bị mà không gặp vấn đề gì. Ngoài ra, nó có thể cung cấp cho người dùng nhiều chức năng dịch vụ hơn.

Trạng thái một - Đợi đã

Thiết bị ở trạng thái này ngay sau khi bật điện áp nguồn. Ở đây nó chờ yêu cầu khởi tạo từ máy tính, được thể hiện bằng máy tính gửi ký tự NUL. Đến lượt mình, thiết bị phải đáp ứng yêu cầu nhận được, kích hoạt và định cấu hình, nếu được yêu cầu, các mô-đun và tài nguyên bổ sung, sau đó, nếu mọi thứ suôn sẻ, hãy gửi biểu tượng ACK đến máy tính. Trong trường hợp có lỗi, nó sẽ gửi NAK. Như vậy, cuộc “giao tiếp” đầu tiên của hai “người đối thoại” diễn ra. Nếu thích thì họ nên "chào nhau" hoặc "bắt tay".

Nếu thiết bị được khởi tạo thành công và sau đó gửi ký tự ACK, thiết bị sẽ tự động chuyển sang trạng thái tiếp theo. Quá trình chuyển đổi này được biểu thị bằng mũi tên 1 trong sơ đồ.

Trạng thái sẵn sàng

Ở trạng thái này, máy vi tính của chúng tôi chờ yêu cầu của PC gửi giá trị đo được đọc từ ADC. Yêu cầu là ký tự XON. Khi chấp nhận biểu tượng này, thiết bị sẽ chuyển sang trạng thái mới - Đang gửi. Sự chuyển đổi tương ứng với mũi tên 2.

Trạng thái gửi

Đến đây, bộ vi điều khiển đọc số nhị phân 1 bit từ ADC bằng phương pháp đã chỉ định trước đó và gửi nó theo từng phần tới máy tính. Việc triển khai này chuyển đổi số nhị phân thành số thập lục phân ba ký tự tương đương, chẳng hạn như <511FF> cho số thập phân 1. <XNUMX> được gửi trước, sau đó và một lần nữa .

Sau khi giá trị được chuyển sang máy tính, máy vi tính sẽ chuyển sang trạng thái tiếp theo dọc theo mũi tên 4.

Trạng thái đã gửi

Trạng thái này là trạng thái cuối cùng và có thể nói là đóng vòng tròn của một hành động giao tiếp duy nhất giữa thiết bị và máy tính. Ở đây, máy tính phải xác nhận rằng nó đã chấp nhận chính xác giá trị được gửi đến nó.

Có một số tùy chọn khả thi để PC phản hồi với số đã gửi: nó có thể phản hồi bằng việc nhận thành công với biểu tượng XOFF, điều này có nghĩa là hiện tại không cần thêm giá trị nào khác hoặc nó có thể phản hồi bằng biểu tượng XON, có nghĩa là cần thêm một giá trị. Nếu XOFF được chấp nhận, thiết bị sẽ trở về trạng thái Sẵn sàng (chuyển tiếp 7 trong sơ đồ). Nếu nhận được ký hiệu XON, thiết bị lại ở trạng thái Gửi (chuyển tiếp 5) và lặp lại việc đọc từ ADC với việc truyền số tới đường dây tiếp theo. Trường hợp duy nhất không được xem xét là khi PC không thích những gì nó nhận được: ví dụ: thay vì các ký tự trong phạm vi <0>...<9>, hữu ích. Cảm ơn !, anh ấy có thứ khác, hoặc <,>. Trong tình huống này, nó sẽ gửi biểu tượng NAK đến thiết bị của chúng tôi, biểu tượng này sẽ được hiểu là yêu cầu gửi lại giá trị cuối cùng, điều này sẽ xảy ra: thiết bị lại được chuyển sang trạng thái Gửi (chuyển đổi dọc theo mũi tên 6).

Sự chuyển đổi được biểu thị bằng mũi tên 3 và 8 trong sơ đồ vẫn chưa được mô tả. Nếu máy tính gặp lỗi I/O nghiêm trọng hoặc cần ngừng liên lạc với thiết bị, nó sẽ chỉ gửi NUL khởi tạo, NUL này sẽ khởi tạo thiết bị và đưa thiết bị vào trạng thái Sẵn sàng.

Những thứ kia. Dù thiết bị của chúng ta đang ở trạng thái nào thì nó cũng phải đáp ứng yêu cầu khởi tạo theo cách tương tự như trong quá trình khởi tạo ban đầu (xem Trạng thái chờ mục). Nếu máy vi tính nhận được một số ký hiệu hoặc yêu cầu không mong muốn hoặc không chính xác thì nó phải luôn phản hồi lại bằng ký hiệu NAK.

Chiến lược này rất thuận lợi, vì việc tổ chức chương trình cho thiết bị như vậy giúp thực hiện nhiều tác vụ cùng một lúc dễ dàng hơn: máy vi tính và PC sẽ không chơi với điện thoại bị hỏng, thứ nhất, và thứ hai, chúng sẽ có thể thực hiện một cách đơn giản và hiệu quả. “giao tiếp” với nhau với một người bạn.

Hãy chuyển sang PC. Chương trình chung cho PC. Sơ đồ trạng thái PC

Về cơ bản, chương trình chung của máy tính sẽ không khác gì chương trình được sử dụng trong vi điều khiển. Thuật toán sẽ tương tự và sơ đồ trạng thái sẽ tương tự.

Khởi tạo trạng thái đầu tiên

Đây là nơi máy tính nhận được khi người dùng nhấn một phím trên bàn phím tương ứng với việc chấp nhận một giá trị duy nhất. Ở trạng thái này, máy tính sẽ gửi ký tự khởi tạo NUL tới thiết bị và chờ phản hồi bằng ký tự ACK hoặc NAK. Nếu nhận được ACK thì quá trình khởi tạo diễn ra bình thường và bạn có thể tiếp tục làm việc - chuyển sang trạng thái tiếp theo dọc theo mũi tên 2 trong sơ đồ. Nếu nhận được NAK, thao tác sẽ dừng và máy tính sẽ chuyển sang trạng thái Xong cuối cùng ở mũi tên 1.

Trạng thái sẵn sàng

Ở trạng thái này, máy tính đang chuẩn bị nhận các ký tự sẽ tạo nên giá trị được yêu cầu từ máy vi tính. Có hai yêu cầu gửi một giá trị. Đầu tiên là yêu cầu giá trị bình thường; nó tương ứng với ký tự XON.

Yêu cầu thứ hai là yêu cầu gửi lại giá trị cuối cùng. Điều này là cần thiết nếu giá trị không được chấp nhận hoàn toàn trong một khoảng thời gian khách quan nào đó hoặc nếu các ký tự không chính xác được chấp nhận không nằm trong phạm vi từ <0> đến <9> và từ đến . Để yêu cầu gửi lại, ký hiệu NAK được gán.

Tiếp theo, sau khi chuẩn bị nhận các ký hiệu giá trị, một trong hai yêu cầu trên đến thiết bị của chúng ta xảy ra, khi đó máy tính sẽ di chuyển theo mũi tên 4 sang trạng thái nhận giá trị.

Trạng thái nhận

Ở đây PC chỉ cần đọc ba ký tự của giá trị được ADC đo và chuyển đổi. Như đã nêu trước đó, có một khoảng thời gian khách quan mà máy tính chờ đợi một ký tự. Nếu ký tự không được đọc trong thời gian này thì tình huống này được hiểu là sai, tức là. đã xảy ra lỗi I/O.

Nhân tiện, ở tốc độ trao đổi thông tin khá cao (hơn 19200 bps) hoặc khi làm việc trong hệ điều hành MS-Windows (bất kỳ phiên bản nào), máy tính thường chỉ nhận được hai trong số ba ký tự được gửi tới nó và đôi khi còn ít hơn - một . Để ngăn máy tính khỏi bị "treo" - chờ đợi vô thời hạn một ký tự bị thiếu hoặc bị bỏ qua - một thời gian được đưa ra để hạn chế việc chờ đợi này. Thật không may, những thiếu sót này không được phần cứng phát hiện.

Việc triển khai này xác định hai loại thời gian chờ mà người dùng có thể chỉ định thông qua bàn phím. Loại đầu tiên là thời gian chờ cho ký tự đầu tiên trong số 1 ký tự. Nó cho phép thiết bị bình tĩnh, không cần vội vã đi đâu, đo lường, số hóa con số chúng ta cần và chuyển nó thành một ký hiệu tương đương. Và loại thứ hai là giới hạn thời gian gửi ký tự thứ hai và thứ ba.

Bây giờ chúng ta hãy chuyển sang các chuyển đổi có thể có từ trạng thái Nhận sang trạng thái khác.

Nếu cả 3 ký tự của giá trị không được nhận trong thời gian quy định thì máy tính phải yêu cầu thiết bị của chúng tôi gửi lại giá trị cho nó. Tình huống này tương ứng với sự chuyển tiếp dọc theo mũi tên 5, tức là máy tính đưa ra yêu cầu với biểu tượng NAK và quay trở lại trạng thái Sẵn sàng.

Nếu trong quá trình nhận, máy tính phát hiện lỗi đầu vào/đầu ra (và PC có khả năng phân tích đơn giản thanh ghi trạng thái của cổng nối tiếp), thì tốt hơn hết bạn nên khôi phục cả máy tính và máy vi tính về trạng thái ban đầu, tức là. khởi tạo lặp lại. Do đó, mũi tên 3 cũng có mặt trong sơ đồ.

Và cuối cùng, nếu máy tính đã nhận đủ ba ký tự từ thiết bị thì nó sẽ chuyển sang trạng thái phân tích giá trị nhận được - vào trạng thái Đã nhận dọc theo mũi tên 8.

Xuất bản: cxem.net

Xem các bài viết khác razdela Bộ vi điều khiển.

Đọc và viết hữu ích bình luận về bài viết này.

<< Quay lại

Tin tức khoa học công nghệ, điện tử mới nhất:

Máy tỉa hoa trong vườn 02.05.2024

Trong nền nông nghiệp hiện đại, tiến bộ công nghệ đang phát triển nhằm nâng cao hiệu quả của quá trình chăm sóc cây trồng. Máy tỉa thưa hoa Florix cải tiến đã được giới thiệu tại Ý, được thiết kế để tối ưu hóa giai đoạn thu hoạch. Công cụ này được trang bị cánh tay di động, cho phép nó dễ dàng thích ứng với nhu cầu của khu vườn. Người vận hành có thể điều chỉnh tốc độ của các dây mỏng bằng cách điều khiển chúng từ cabin máy kéo bằng cần điều khiển. Cách tiếp cận này làm tăng đáng kể hiệu quả của quá trình tỉa thưa hoa, mang lại khả năng điều chỉnh riêng cho từng điều kiện cụ thể của khu vườn, cũng như sự đa dạng và loại trái cây được trồng trong đó. Sau hai năm thử nghiệm máy Florix trên nhiều loại trái cây khác nhau, kết quả rất đáng khích lệ. Những nông dân như Filiberto Montanari, người đã sử dụng máy Florix trong vài năm, đã báo cáo rằng thời gian và công sức cần thiết để tỉa hoa đã giảm đáng kể. ... >>

Kính hiển vi hồng ngoại tiên tiến 02.05.2024

Kính hiển vi đóng vai trò quan trọng trong nghiên cứu khoa học, cho phép các nhà khoa học đi sâu vào các cấu trúc và quá trình mà mắt thường không nhìn thấy được. Tuy nhiên, các phương pháp kính hiển vi khác nhau đều có những hạn chế, trong đó có hạn chế về độ phân giải khi sử dụng dải hồng ngoại. Nhưng những thành tựu mới nhất của các nhà nghiên cứu Nhật Bản tại Đại học Tokyo đã mở ra những triển vọng mới cho việc nghiên cứu thế giới vi mô. Các nhà khoa học từ Đại học Tokyo vừa công bố một loại kính hiển vi mới sẽ cách mạng hóa khả năng của kính hiển vi hồng ngoại. Thiết bị tiên tiến này cho phép bạn nhìn thấy cấu trúc bên trong của vi khuẩn sống với độ rõ nét đáng kinh ngạc ở quy mô nanomet. Thông thường, kính hiển vi hồng ngoại trung bị hạn chế bởi độ phân giải thấp, nhưng sự phát triển mới nhất của các nhà nghiên cứu Nhật Bản đã khắc phục được những hạn chế này. Theo các nhà khoa học, kính hiển vi được phát triển cho phép tạo ra hình ảnh có độ phân giải lên tới 120 nanomet, cao gấp 30 lần độ phân giải của kính hiển vi truyền thống. ... >>

Bẫy không khí cho côn trùng 01.05.2024

Nông nghiệp là một trong những lĩnh vực quan trọng của nền kinh tế và kiểm soát dịch hại là một phần không thể thiếu trong quá trình này. Một nhóm các nhà khoa học từ Viện nghiên cứu khoai tây trung tâm-Hội đồng nghiên cứu nông nghiệp Ấn Độ (ICAR-CPRI), Shimla, đã đưa ra một giải pháp sáng tạo cho vấn đề này - bẫy không khí côn trùng chạy bằng năng lượng gió. Thiết bị này giải quyết những thiếu sót của các phương pháp kiểm soát sinh vật gây hại truyền thống bằng cách cung cấp dữ liệu về số lượng côn trùng theo thời gian thực. Bẫy được cung cấp năng lượng hoàn toàn bằng năng lượng gió, khiến nó trở thành một giải pháp thân thiện với môi trường và không cần điện. Thiết kế độc đáo của nó cho phép giám sát cả côn trùng có hại và có ích, cung cấp cái nhìn tổng quan đầy đủ về quần thể ở bất kỳ khu vực nông nghiệp nào. Kapil cho biết: “Bằng cách đánh giá các loài gây hại mục tiêu vào đúng thời điểm, chúng tôi có thể thực hiện các biện pháp cần thiết để kiểm soát cả sâu bệnh và dịch bệnh”. ... >>

Tin tức ngẫu nhiên từ Kho lưu trữ

Ngụy trang lồng mực 26.02.2022

Các nhà nghiên cứu tại Đại học Pennsylvania đã phát triển một phiên bản nhân tạo của tế bào mực và bạch tuộc được gọi là tế bào sắc tố. Trong tự nhiên, những tế bào này giúp động vật chân đầu thay đổi màu sắc của chúng để phù hợp với các sắc thái của môi trường.

Tế bào sắc tố là những tế bào đặc biệt của bạch tuộc và mực ống. Bên trong chúng chứa các màng đàn hồi có thể giãn nở và co lại để đáp ứng với các kích thích bên ngoài. Điều này cho phép trai ngụy trang trong môi trường và cũng có thể xua đuổi những kẻ săn mồi khác.

Trong nghiên cứu, các kỹ sư cũng sử dụng các màng mỏng và linh hoạt được làm từ mạng polyme tinh thể lỏng. Các màng được đặt trên các khoang nhỏ, mỗi khoang có thể được "thổi phồng" đến thể tích mong muốn. Khi màng căng ra, nó giảm độ dày và thay đổi màu sắc.

Kết quả là, nó đã tạo ra một mang màu hoàn toàn nhân tạo, có thể thay đổi màu sắc ngay lập tức.

Sau đó, các nhà khoa học đo các mức áp suất cần thiết để tạo ra các tế bào sắc tố có màu sắc mong muốn. Điều này cho phép họ lập trình ngụy trang giống như các pixel hiển thị.

Nguyên mẫu kết quả có thể tạo ra các mẫu bàn cờ, cũng như hợp nhất với bóng của bề mặt xung quanh.

Tin tức thú vị khác:

▪ Xe điện cao cấp Mercedes-Benz EQS

▪ Internet miễn phí từ Facebook

▪ Hệ thống âm thanh Beta Music của Infinity

▪ Anion đầu tiên trong không gian

▪ Cảm biến bồ công anh

Nguồn cấp tin tức khoa học và công nghệ, điện tử mới

 

Tài liệu thú vị của Thư viện kỹ thuật miễn phí:

▪ phần của trang Cuộc đời của các nhà vật lý đáng chú ý. Lựa chọn bài viết

▪ bài viết thất bại biểu hiện phổ biến

▪ bài viết Nhạc pop là gì? đáp án chi tiết

▪ bài viết Hướng dẫn bảo hộ lao động

▪ bài Đặt dây trên con lăn. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện

▪ bài Bếp điện cho gia chủ. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện

Để lại bình luận của bạn về bài viết này:

Имя:


Email (tùy chọn):


bình luận:





Tất cả các ngôn ngữ của trang này

Trang chủ | Thư viện | bài viết | Sơ đồ trang web | Đánh giá trang web

www.diagram.com.ua

www.diagram.com.ua
2000-2024