|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
;功能说明:当单片机收到计算机发来的两位十制数后就转相应的子程序。
如收到“00”则转NEXT00子程;序使P00置“0”,收到“01”则转NEXT01子程序,
;使P01置“0”,以些类推。
ORG 0000H
LJMP START
ORG 0030H
START:MOV TMOD ,#20H; 定时器方式2
MOV TH1,#FAH; 置初值
MOV TL1,#FAH; 置初值
MOV PCON ,#00H; 波特率不增倍
MOV SCON,#50H; 串行方式1,REN=1允许接收
SETB TR1; 启动定时
RECEIVE:JNB RI,$; 没有收到原地等待
CLR RI; 收完后置0
MOV A,SBUF; 将接收缓冲区中的数放A
CLR TR1; 关定时
CJNE A,#00,NEXT01; 收到的数与00比较,相同转NEXT00,不同转NEXT01与其它数比较
NEXT00:CLR P0.0; 上到00后执行动作
NEXT01:CJNE A,#01,NEXT02; 与01比
CLR P0.1
NEXT02:CJNE A,#02,NEXT03; 与02比
.....
.....
.....
问题:
计算机发的是ASCI 我用VB转成十进制行不行?
MAX232 的电容用多大?
各子程序下要不要RET? |
|