导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→第一次用串口不知道这样编程行不行?[guest]

 *第16261篇: 第一次用串口不知道这样编程行不行?

  
楼 主:guest 2003年9月13日20:08
 第一次用串口不知道这样编程行不行?
;功能说明:当单片机收到计算机发来的两位十制数后就转相应的子程序。
如收到“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比
.....
.....
.....
子程序后要不要RET?

  
2楼:yharbour 2003年9月13日20:13
 应该可以,实际试一下吗,不过可以不关定时器的。
  
3楼:天涯眷客 2003年9月14日07:47
 应该是可以的,你仿真试一下



应该是可以的,你仿真试一下

  
4楼:hxq 2003年9月14日19:51
 我想问一下,在读sbuf的数据之前,好象不要清ri,否则,会改掉数据的?
------
mov a ,sbuf
clr   ri
------
  
5楼:guest 2003年9月16日18:13
 你用中断会更好
你用中断会更好
  
6楼:Kuang-chingTsui 2003年9月16日20:11
 这里没有转子程序操作呀!RET干什么?

>>>>>>对该主题发表你的看法

本主题贴数6,分页: [第1页]


[上一篇主题]:求教!

[下一篇主题]:哪位行行好,给我贴一个74ls324的连接