用VB程序接收单片机从串口发来的数据 . #42H #43H #44H #45H #46H ,并给与显视。
器件选择: 单片机AT89C52或AT89C51
晶振:12MHZ 电平转换芯片:MAX232 9针串口联接线
波持率选取:2400
串口选择:COM2
1:单片机部分电路图如是:
2:单片机程序(循环发送 #42H #43H #44H #45H #46H)对应的ASC11 字符为 B C D E F
CSEG AT 0000H
LJMP START
CSEG AT 1000H
START: MOV TMOD,#20H
MOV TH1,#0F3H
MOV TL1,#0F3H
MOV SCON,#50H
MOV PCON,#00H
SETB TR1
NNEXT: MOV A,#41H
KK:INC A
ACALL DELY
FAI: MOV SBUF,A
JNB TI,$
CLR TI
CJNE A,#46H, KK
SJMP NNEXT
DELY: MOV R4,#20
D0: MOV R5,#125
D1: MOV R6,#200
D2: DJNZ R6, D2
DJNZ R5, D1
DJNZ R4, D0
RET
END
3:用串口调式工具V1.6测试如图(勾选16进制)
4:用串口调式工具V1.6测试如图(不勾选16进制)
5:MAX232:
MAX232是一块电平转换芯片,它使用独立的5V电源,内部含有电压倍增电路,片内有两对收/发线.
6:计算机的9针串口
/1载波信号检测DCD通信设备接收到远程载波
/2接收数据RXD终端接收串行数据
/3发送数据TXD终端发送串行数据
/4数据终端就绪DTR终端准备就绪,可以接收
/5信号地GND
/6数据设备就绪DSR通迅设备就绪,可以接收
/7请求发送RTS终端请求通迅设备切换到发送状态
/8清除发送CTS通迅设备已切换到准备接收
/9振铃指示RI通迅设备通知终端,通信线路接通
7:如图,MAX232周边的电解电容为10UF,单片机通过MAX232和9针串口插头与计算机的串口相联.
这是个完整的电路图,大家可照着焊接路板!
8:计算机VB串口程序设计.
放一个MSComm1串口控件,波特率设为2400
放一个标签Label1,CAPTION为 "刚才接到了数据"
放两个命令按扭,CAPTION分别为 "打开串口2","关闭串口2"
放一个文本框Text1,MULTILINE设为TRUE
然后编写如下代码:
Private Sub Command1_Click()
MSComm1.PortOpen = True
Command1.Enabled = False
Command2.Enabled = True
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
Command2.Enabled = False
Command1.Enabled = True
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.Input
Case "B"
Text1.Text = Text1.Text + "B"
Case "C"
Text1.Text = Text1.Text + "C"
Case "D"
Text1.Text = Text1.Text + "D"
Case "E"
Text1.Text = Text1.Text + "E"
Case "F"
Text1.Text = Text1.Text + "F"
End Select
End Sub
9:用VB调试结果如图:
10:输出EXE程序。
11:运行该程序,哈哈,成功了!