การถ่ายโอนข้อมูล/คำสั่งผ่าน 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