用串口接收字符为命令来控制LED灯,该怎么写程序

用串口接收字符为命令来控制LED灯,该怎么写程序,第1张

switch(Recv_Buff[0]) //读控制字段

{

case 0x00://关闭LED

LED_pin=0;

break

case 0x01://打开LED

LED_pin=1;

break

default:

break

}

程序如下:

----------------------------------------

ORG 0000H

SJMP START

ORG 0023H

LJMP UART_INT

----------------------------------------

START:

MOV SP, #60H

MOV SCON, #50H 方式1,8-n-1

MOV TMOD, #20H

MOV TH1, #0FDH 波特率设置

MOV TL1, #0FDH [email protected]

SETB TR1

SETB ES 开放中断

SETB EA

LOOP:

MOV A, P2 读出的拨码开关信息

DJNZ R7, $ 延时

DJNZ R6, $ - 2

MOV B, P2 再读

CJNE A, B, LOOP 消抖

MOV SBUF, A 向串口发送

MOV P1, A 在本机显示

JNB TI, $

CLR TI

SJMP LOOP

----------------------------------------

UART_INT:

PUSH ACC

JBTI, U_EXIT

CLR RI

MOV A, SBUF 读出串口收到的信息

MOV P0, A 送P0口显示

U_EXIT: POP ACC

RETI

----------------------------------------

END


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12051143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存