微机接口与技术-交通灯控制系统内容摘要:

10 只读 /写高字节 *10 方式 2 11 非法 11 先读 /写低字节 *11 方式 3 ,后读 /写高字节 100 方式 4 101 方式 5 五、 软件设计 源程序清单: 源程序(带注释): AD1_8253 EQU 00D0H AD2_8253 EQU 00D1H AD3_8253 EQU 00D2H AD4_8253 EQU 00D3H AD1_8255 EQU 00C0H AD2_8255 EQU 00C2H AD3_8255 EQU 00C4H AD4_8255 EQU 00C6H AD0_8259 EQU 00A0H AD1_8259 EQU 00A1H DATA SEGMENT OLDOC1 DD ? OLDOC2 DD ? R_G DB 0H。 下一次应该亮红灯,还是绿灯, 0(绿 ),1(红 )。 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE MAIN: MOV AX,DATA MOV DS,AX。 中断服务程序。 函数名: RED_GREEN。 功 能:当红绿亮完后设置系统状态 RED_GREEN PROC FAR PUSH AX STI MOV AL,[R_G] SC1 SC0 RW1 RW0 M2 M1 M0 BCD 9 NOT AL。 将 R_G 取反 MOV R_G,AL MOV AL,00000010B。 PC1 置 0,即绿灯变暗 OUT AD4_8255,AL MOV AL,00000100B。 PC2 置 0,即红灯变暗 OUT AD4_8255,AL MOV AL,00000001B。 PC0 置 1,即黄灯变亮 OUT AD4_8255,AL MOV AL,00000110B。 PC3 清 0, GATE1 低电平,计数器 1 暂停计数 OUT AD4_8255,AL MOV AL,00001001B。 PC4 置 1, GATE2 高电平,计数器 2 开始计数 CLI POP AX IRET RED_GREEN ENDP。 函数名: YELLOW。 功 能:当黄灯亮完后设置系统状态 YELLOW PROC FAR PUSH AX STI MOV AL,[R_G] CMP AL,0H JNE CHANGE_RED MOV AL,00000011B。 PC1 置 1,即绿灯亮 OUT AD4_8255,AL JMP ENDCHANGE CHANGE_RED: MOV AL,00000101B。 PC2 设置 1,即红灯亮 OUT AD4_8255,AL ENDCHANGE: MOV AL,00000000B。 PC0 清零,即黄灯暗 MOV AL,[R_G] NOT AL。 将 R_G 取反 MOV R_G,AL OUT AD4_8255,AL MOV AL,00000111B。 PC3 置 1, gate1 高电平,计数器 1 开始计数 OUT AD4_8255,AL MOV AL,00001000B。 PC4 置 0, gate2 低电平,计数器 2 暂停计数 CLI POP AX IRET 10 YELLOW ENDP。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。