⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.asm

📁 基于PROTEUS的仿真 含带源代码 C语言编程
💻 ASM
字号:
;每个串行中断发送一次30H~32H中的十六进制数,1sm延时保证同步
ORG  0000H
LJMP START
ORG 0023H
LJMP SINT
ORG 30H
START:MOV 30H,#0FFH;向存储区内送数
      MOV 31H,#0FFH
      MOV 32H,#0FFH
      MOV TMOD,#20H  ;定时器1初始化
      MOV TH1,#0F3H  ;设置波特率为1200MHz,6MHz的晶振
      MOV TL1,#0F3H  ;
      MOV SCON,#50H  ;串口初始化为可以接收
      MOV PCON,#00H  ;波特率不倍增
      SETB TR1   ;启动定时器
      SETB EA   ;开中断
      SETB ES   ;允许串口中断
      MOV R0,#30H;定义数据存储区首地址和个数
      MOV R3,#3

MAIN:NOP    ;主程序主要是等中断
     NOP
     SJMP MAIN

SINT:CLR EA        ;关闭系统中断          
     CLR RI        ;清除中断标志位 
SENT:MOV A,@R0
     MOV SBUF,A
WAIT:JNB TI,WAIT
     LCALL DELAY
     CLR TI
     INC R0
     DJNZ R3,SENT
     MOV R0,#30H
     MOV R3,#3
NEXT:CLR RI          ;清除中断标志位 
     SETB EA         ;打开系统中断 
     RETI            ;中断程序返回

DELAY:MOV R6,#02H
AGAIN:MOV R7,#0F8H
DELAY1:DJNZ R7,DELAY1
       DJNZ R6,AGAIN
       RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -