การถ่ายโอนข้อมูล/คำสั่งผ่าน RS232C |
|||||||||||||||||
RS232C คือ มาตรฐานการติดต่อสื่อสารแบบอนุกรมที่กำหนดโดย
EIA (Electrical Industries Association) เป็นการรับส่งข้อมูลครั้งละ 1 บิต
ต่อเนื่องกันไป มาตรฐาน RS232C ที่ EIA กำหนดไว้ 1.Electrical Signal Characteristics - Voltage levels defined in the standard |
|||||||||||||||||
Data signals Driver (Required) Terminator (expected) Control signals Driver (Required) Terminator (expected) |
"0","Space" 5 - 15 Volts 3 - 25 Volts "Off" -5 - -15 Volts -3 - -25 Volts |
"1","Mark" -5 - -15 Volts -3 - -25 Volts "On" 5 - 15 Volts 3 - 25 Volts |
|||||||||||||||
- The Noise Margin Issue The maximum load capacitance is specified as 2500pf (picofarad) by the standard The capacitance of one meter of cable is typically around 130pf The maximum cable length is limited to around 17 meters 2.Interface Mechanical Characteristics (Connectors) |
|||||||||||||||||
![]() |
|||||||||||||||||
3.Functional
Description of Interchange Circuits 4.Standard Interfaces for Selected Communications System Configurations ดูรายละเอียดเพิ่มเติม http://www2.rad.com/networks/1995/rs232/common.htm |
|||||||||||||||||
การถ่ายโอนข้อมูล/คำสั่งผ่าน RS232C ระหว่างเครื่องคอมพิวเตอร์กับไม่โครคอลโทลเลอร์ MCS-51 | |||||||||||||||||
![]() |
ตามมาตรฐาน RS232C ระดับสัญญาญข้อมูล
(Data signals)จะมีค่าในช่วง 0 - 5 โวลต์ เรียกว่า "TTL voltage levels" จะต้องปรับระดับสัญญาณให้เป็นแบบ "RS232C voltage levels" ซึ่งมีระดับในช่วง -15 - +15 โวลต์ในที่นี้ใช้ IC MAX232 เป็นตัวปรับระดับสัญญาณ |
||||||||||||||||
-
การใช้งานพอร์ตอนุกรม สิ่งที่เกี่ยวข้องกับการสือสารผ่านพอร์ตอนุกรม 1.SCON: Serial Port Control Register ทำหน้าที่ควบคุมการสื่อสาร สามารถอ้างถึงตำแหน่ง (address) แบบบิตได้ |
|||||||||||||||||
![]() |
|||||||||||||||||
0 |
0 |
= MODE 0 เมื่อ SM2=0 | |||||||||||||||
0 |
1 |
= MODE 1 | |||||||||||||||
1 |
0 |
= MODE 2 | |||||||||||||||
1 |
1 |
= MODE 3 | |||||||||||||||
SM2 = 1 จะใช้กรณีที่มีคอนโทรลเลอร์เชื่อต่อหลายตัว
"Multiprocessor Enviroment" REN = 1 ให้มีการรับข้อมูล REN = 0 ไม่ให้มีการรับข้อมูล TB8 = สำหรับส่งข้อมูลบิตที่9ในโหมด 2 หรือ 3 RB8 = สำหรับรับข้อมูลบิตที่9ในโหมด 2 หรือ 3 ในโหมด 1 เมื่อกำหนด SM2 = 0 RB8 จะรับข้อมูล "stop bit" TI = แฟลกอินเตอร์รัพต์ด้านส่งข้อมูล RI= แฟลกอินเตอร์รัพต์ด้านรับข้อมูล 2.PCON ทำหน้าที่ควบคุมความเร็ว(Baud rate:จำนวนของบิตข้อมูลภายในหนึ่งช่วงเวลา bit/s) ไม่สามารถเข้าถึงแบบบิต! สำหรับการรับ-ส่งข้อมูลในโหมด 1 และ 3 ใช้การการโอเวอร์โฟลวของ Timer1 หรือ Timer2 เป็นตัวกำหนด |
|||||||||||||||||
ความถี่ครีสตอล 11.0592 MHz 11.0592 MHz 11.0592 MHz 11.0592 MHz |
Boad rate 1200 2400 4800 9600 |
โหมดการทำงานของ
Timer1 2 2 2 2 |
ค่าเริ่มต้น Register
TH1 E8H F4H FAH FDH |
SMOD 0 0 0 0 |
|||||||||||||
ตัวอย่างหลักการกำหนดค่าเริ่มต้นให้กับ TH1 |
|||||||||||||||||
![]() |
|||||||||||||||||
![]() |
|||||||||||||||||
![]() |
|||||||||||||||||
3.ขาสัญญาณ RXD,TXD | |||||||||||||||||
ตัวอย่างการโปรแกรมโดยไม่มีการอินเตอร์รัพต์ | |||||||||||||||||
![]() |
โปรแกรมส่งข้อมูลออก ORG 0000H MAIN: MOV SCON,#40H ;SET SERIAL PORT MODE 1,REN=0,SM2=0 MOV PCON,#00H ;SET BIT SMOD=0 MOV TMOD,#20H ;SET TIMER1 MODE2 (00100000B) MOV TH1,#0FDH ;BUAD RATE 9,600 BIT/S SETB TR1 ;START TIMER1 CLR TI MOV A,#65H ;MOVE DATA(65H) TO A-REGISTER MOV SBUF,A JNB TI,$ ;WAIT, FOR SEND ALL DATA END โปรแกรมรับข้อมูลเข้า SETB TR1 ;START TIMER1 CLR RI MOV A,SBUF JNB RI,$ ;WAIT, FOR RECEIVE ALL DATA |
||||||||||||||||