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

📄 stop.sdi

📁 多个仿真例子
💻 SDI
字号:
,,,;这是一个利用串行口扩展并行I/O口的例子
,,,;系统的晶振频率12MHz,利用CD4014和CD4094扩展出两个8位并行口。
,,,;编程读入开关状态,存入片内RAM的40H单元,并同时输出到LED上显示出来。
,,,KEY     EQU     40H
,,,        ORG     0
0000,75 98 00,,        MOV     SCON,#0H        ;串口方式0,允许接收数据
0003,C2 90,RX0,RX0:    CLR     P1.0            ;并行输入开关状态
0005,D2 90,,        SETB    P1.0            ;允许串行移位
0007,D2 9C,,        SETB    REN             ;允许串行接收数据
0009,30 98 FD,,        JNB     RI,$            ;等待一帧数据接收结束
000C,C2 9C,,        CLR     REN             ;停止接收
000E,C2 98,,        CLR     RI
0010,E5 99,,        MOV     A,SBUF          ;读开关状态
0012,F5 40,,        MOV     KEY,A           ;存开关状态
0014,12 00 28,TX0,TX0:    LCALL   CONVERT         ;将开关状态转换为数码管的段码
0017,C2 92,,        clr     p1.2
0019,D2 91,,        setb    P1.1            ;关显示
001B,F5 99,,        MOV     SBUF,A          ;开关状态送数码管显示
001D,30 99 FD,,        JNB     TI,$            ;等待一帧数据发送结束
0020,C2 99,,        CLR     TI
0022,C2 91,,        clr     P1.1            ;选通CD4094
0024,D2 92,,        setb    p1.2
0026,80 DB,,        SJMP    RX0
0028,20 E0 04,CONVERT,CONVERT:JB      ACC.0,C0        ;S0按下了?否,则转
002B,74 3F,,        MOV     A,#3FH          ;"0"的显示段码
002D,80 33,,        SJMP    C_END
002F,20 E1 04,C0,C0:     JB      ACC.1,C1
0032,74 06,,        MOV     A,#06H          ;"1"的显示段码
0034,80 2C,,        SJMP    C_END
0036,20 E2 04,C1,C1:     JB      ACC.2,C2
0039,74 5B,,        MOV     A,#5BH          ;"2"的显示段码
003B,80 25,,        SJMP    C_END
003D,20 E3 04,C2,C2:     JB      ACC.3,C3
0040,74 4F,,        MOV     A,#4FH          ;"3"的显示段码
0042,80 1E,,        SJMP    C_END
0044,20 E4 04,C3,C3:     JB      ACC.4,C4
0047,74 66,,        MOV     A,#66H          ;"4"的显示段码
0049,80 17,,        SJMP    C_END
004B,20 E5 04,C4,C4:     JB      ACC.5,C5
004E,74 6D,,        MOV     A,#6DH          ;"5"的显示段码
0050,80 10,,        SJMP    C_END
0052,20 E6 04,C5,C5:     JB      ACC.6,C6
0055,74 7D,,        MOV     A,#7DH          ;"6"的显示段码
0057,80 09,,        SJMP    C_END
0059,20 E7 04,C6,C6:     JB      ACC.7,C_7
005C,74 27,,        MOV     A,#27H          ;"7"的显示段码
005E,80 02,,        SJMP    C_END
0060,74 00,C_7,C_7:    MOV     A,#0
0062,22,C_END,C_END:  RET
000E,,,        END

⌨️ 快捷键说明

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