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

📄 int_rec.sdi

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 SDI
字号:
,,,        ORG  0000H              ;主程序入口
0000,02 01 00,,        LJMP  MAIN
,,,        ORG  0023H              ;串行中断入口
0023,02 01 1B,,        LJMP SERVE2
,,,        ORG  0100H
0100,75 89 20,MAIN,MAIN:   MOV  TMOD, #20H         ;将T1设为工作方式2
0103,75 8D F3,,        MOV  TH1, #0F3H         ;fosc=6MHz时,BD=2400
0106,75 8B F3,,        MOV  TL1, #0F3H
0109,D2 8E,,        SETB  TR1               ;启动T1
010B,75 87 80,,        MOV  PCON, #80H         ;Smod=1
010E,75 98 D0,,        MOV  SCON, #0D0H        ;串行口设为工作方式3, 允许接收
0111,78 40,,        MOV  R0, #40H           ;数据块首地址
0113,7F 10,,        MOV R7, #10H            ;接收字节数
0115,D2 AC,,        SETB ES                 ;允许串行口中断
0117,D2 AF,,        SETB EA                 ;开中断
0119,80 FE,,        SJMP $                  ;等待中断
,,,
,,,;接收方单片机的中断服务程序:
011B,10 98 04,SERVE2,SERVE2: JBC  RI, LOOP           ;是接收中断,清零RI,转入接收
011E,C2 99,,        CLR  TI                 ;是发送中断,清零TI
0120,80 23,,        SJMP ENDT
0122,E5 99,LOOP,LOOP:   MOV  A, SBUF            ;接收数据
0124,A2 D0,,        MOV  C, P               ;奇偶标志送C
0126,40 06,,        JC   LOOP1              ;为奇数,转入LOOP1
0128,72 9A,,        ORL  C, RB8             ;为偶数,检测RB8
012A,40 06,,        JC   LOOP2              ;奇偶校验出错
012C,80 0A,,        SJMP LOOP3
012E,82 9A,LOOP1,LOOP1:  ANL  C, RB8             ;检测RB8
0130,40 06,,        JC   LOOP3              ;奇偶校验正确
0132,74 FF,LOOP2,LOOP2:  MOV  A, #0FFH
0134,F5 99,,        MOV  SBUF, A            ;发送“不正确”应答信号
0136,80 0D,,        SJMP ENDT
0138,F6,LOOP3,LOOP3:  MOV @R0, A              ;存放接收数据
0139,C4,,        SWAP A
013A,F5 90,,        MOV P1,A
013C,74 00,,        MOV  A, #00H
013E,F5 99,,        MOV  SBUF, A            ;发送“正确”应答信号
0140,08,,        INC  R0                 ;修改数据指针
0141,DF 02,,        DJNZ R7, ENDT           ;未接收完数据
0143,C2 AC,,        CLR  ES                 ;全部数据接收完毕, 禁止串行口中断
0145,32,ENDT,ENDT:   RETI                    ;中断返回
,,,
000E,,,        END

⌨️ 快捷键说明

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