单片机与PC串行通信

来源:百度知道 编辑:UC知道 时间:2024/04/28 11:26:03
我想做一个单片机与PC串行通信的,要实现的功能是,计算机发送不同数值,单片机连接的8个LED相应亮灭,各位高手,教教单片机程序怎么写比较好!
希望在程序中加上比较详细的解释,用什么单片机等?

ORG 00
AJMP MAIN
ORG 23H
LJMP RECEIVE
MAIN:
LCALL URTINIT
AJMP $
RECEIVE:
MOV A,SBUF ;将缓冲区的数据送到A
MOV P0,A
MOV SBUF,A ;将A的数据发回到电脑
JNB TI,$ ;等待数据发送完毕
CLR TI ;清发送中断标志
CLR RI ;清接收中断标志
RETI ;中断返回
URTINIT:
MOV SCON,#50H ;设置成串口1方式
MOV TMOD,#20H ;波特率发生器T1工作在模式2上
MOV TH1,#0FBH ;预置初值 9BTL=2^SMOD/32*FOSC/12/(256-TH1)
MOV TL1,#0FBH ;波特率9600
SETB TR1;启动定时器T1
SETB EA ;CPU所有中断开(IE最高位MSB)
SETB ES ;串口中断标志位
RET

其中单片机用的是,AT89S52,P0口接LED的+,晶振为,11.0592MHz,单片机的RX接串口中的TX,单片机中的TX接串口的RX
上机软件我用的是串口调试助手...
希望对你有帮助...:)

与上位机的串行通信,还能怎么写啊?你在单片机中做好接收的程序(怎样接收,怎样处理),PC机中装一个串行调试工具就可以了。
呵呵,对不住,要程序,我可没时间写。
不过,我这正好有一个,不是与上位机的通信,也没注释,你先看着吧!
ORG 0000H
SJMP START
STAR