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

📄 serial.sdi

📁 多个仿真例子
💻 SDI
字号:
,,,;这是一个串行口方式1用法的例子
,,,;系统的晶振频率11.0592MHz,通信波特率9600
,,,;要求每秒钟将以ADDR1为首地址的内部RAM8字节数据块发送出去
,,,;接收的数据块长为8字节,收到后存放到ADDR2为首地址的内部RAM中
,,,ADDR1   EQU     30H
,,,ADDR2   EQU     40H
,,,SEC     BIT     00H     ;秒标志
,,,CR2     EQU     0AH     ;1区R2
,,,BR0     EQU     10H     ;2区R0
,,,BR1     EQU     11H     ;2区R1
,,,BR2     EQU     12H     ;2区R2
,,,BR3     EQU     13H     ;2区R3
,,,        ORG     0
0000,02 00 30,,        LJMP    START
,,,        ORG     0BH
000B,02 00 7C,,        LJMP    TS
,,,        ORG     23H
0023,02 00 95,,        LJMP    TR
,,,        ORG     30H
0030,75 81 60,START,START:  MOV     SP,#60H
,,,;==============================================
,,,;给发送缓冲区赋值
,,,;==============================================
0033,78 30,,        MOV     R0,#ADDR1
0035,7A 08,,        MOV     R2,#8
0037,74 30,,        MOV     A,#30H
0039,F6,LL1,LL1:    MOV     @R0,A
003A,04,,        INC     A
003B,08,,        INC     R0
003C,DA FB,,        DJNZ    R2,LL1
,,,;=============================================
003E,75 89 21,,        MOV     TMOD,#21H
0041,75 8C 4C,,        MOV     TH0,#4CH
0044,75 8A 00,,        MOV     TL0,#0          ;50mS定时初值
0047,75 8D FD,,        MOV     TH1,#0FDH
004A,75 8B FD,,        MOV     TL1,#0FDH       ;9600波特
004D,53 87 7F,,        ANL     PCON,#7FH
0050,75 98 50,,        MOV     SCON,#50H
0053,D2 A9,,        SETB    ET0
0055,D2 AC,,        SETB    ES
0057,D2 B9,,        SETB    PT0
0059,D2 AF,,        SETB    EA
005B,75 10 30,,        MOV     BR0,#ADDR1
005E,75 11 40,,        MOV     BR1,#ADDR2
0061,75 12 08,,        MOV     BR2,#8
0064,75 13 08,,        MOV     BR3,#8
0067,75 0A 14,,        MOV     CR2,#20
006A,C2 00,,        CLR     SEC
006C,D2 8C,,        SETB    TR0
006E,D2 8E,,        SETB    TR1
0070,30 00 FD,LOOP,LOOP:   JNB     SEC,$
0073,C2 00,,        CLR     SEC
0075,A8 10,,        MOV     R0,BR0
0077,E6,,        MOV     A,@R0
0078,F5 99,,        MOV     SBUF,A  ;启动发送,发送第一个字节
007A,80 F4,,        SJMP    LOOP    ;等待下一秒钟时间到
007C,C0 D0,TS,TS:     PUSH    PSW
007E,D2 D3,,        SETB    RS0
0080,C2 D4,,        CLR     RS1     ;选1区工作寄存器
0082,C2 8C,,        CLR     TR0
0084,75 8C 4C,,        MOV     TH0,#4CH
0087,75 8A 00,,        MOV     TL0,#0
008A,D2 8C,,        SETB    TR0
008C,DA 04,,        DJNZ    R2,TS1
008E,7A 14,,        MOV     R2,#20
0090,D2 00,,        SETB    SEC
0092,D0 D0,TS1,TS1:    POP     PSW
0094,32,,        RETI
0095,C0 D0,TR,TR:     PUSH    PSW
0097,C0 E0,,        PUSH    ACC
0099,D2 D4,,        SETB    RS1
009B,C2 D3,,        CLR     RS0     ;选择2区工作寄存器
009D,30 99 0E,,        JNB     TI,SR2
00A0,C2 99,,        CLR     TI
00A2,DA 06,,        DJNZ    R2,SR1
00A4,78 30,,        MOV     R0,#ADDR1
00A6,7A 08,,        MOV     R2,#8
00A8,80 04,,        SJMP    SR2
00AA,08,SR1,SR1:    INC     R0
00AB,E6,,        MOV     A,@R0
00AC,F5 99,,        MOV     SBUF,A
00AE,30 98 0C,SR2,SR2:    JNB     RI,SR3
00B1,C2 98,,        CLR     RI
00B3,E5 99,,        MOV     A,SBUF
00B5,F7,,        MOV     @R1,A
00B6,09,,        INC     R1
00B7,DB 04,,        DJNZ    R3,SR3
00B9,79 40,,        MOV     R1,#ADDR2
00BB,7B 08,,        MOV     R3,#8
00BD,D0 E0,SR3,SR3:    POP     ACC
00BF,D0 D0,,        POP     PSW
00C1,32,,        RETI
000E,,,        END

⌨️ 快捷键说明

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