元器件交易网-中发网全新升级平台
首页 > 解决方案 > 正文

单片机串行口通信程序汇编语言编写

ORG 0000H 

   ;http://www.51hei.com 出品汇编语言串口通信程序
   mov p1,#0ffh
   mov p3,#0ffh
  ;mov p3,#00h
   mov p1,#00h
   MOV SCON,#50H;设置成串口1方式
   MOV TMOD,#20H;波特率发生器T1工作在模式2上
   MOV PCON,#80H;波特率翻倍为2400x2=4800BPS
   MOV TH1,#0faH;预置初值(按照波特率2400BPS预置初值)
   MOV TL1,#0FaH;预置初值(按照波特率2400BPS预置初?1
setb tr1
LOOP:JnB P3.2,WRIT;
LCALL DELAY10
SETB P1.0
LCALL DELAY10
SETB P1.3
LCALL DELAY10
CLR P1.3
LCALL DELAY10
LCALL DELAY10

CLR P1.0

WRIT:JnB P3.3,LOOP;判断K1是否按下,如果没有按下就

lCALL DELAY10;延时10毫秒消触点抖动

JB P3.2,WRIT;去除干扰信号
JB P3.2,$;等待按键松?
SETB p1.0
SETB P1.3;?
mov a,p1
swap a
anl a,#0fh
add a,#03h
mov @r1,a
movc a,@a+pc;将16进制的字符AF发送到串口去
MOV SBUF,A;将AF通过单片机的串行口发送数据出去
sjmp writ

asctab:db '1','2','3','4','5','6','7','8','9'

       db '0','*','#','a','b','c','d'