微机原理课程实验(十字路口红绿灯设计)

软件:protuse 8.4
具体要求
设计实现交通信号灯系统。设A车道与B车道交叉组成十字路口,A是主道,B是支道,直接对车辆进行交通管理,基本要求如下:

(1)用发光二极管模拟交通信号灯;
(2)正常情况下,A、B两车道轮流放行,A车道放行绿灯亮,其中3秒用于警告(黄灯亮);B车道放行绿灯亮,其中3秒用于警告(黄灯亮);A、B车道放行、禁止通行时间自己定义;
(3)有紧急车辆通过时,按下某开关使A、B车道均为红灯,紧急情况解除后,恢复正常控制(解除方式自选)

代码段
CODE SEGMENT PUBLIC ‘CODE’
ASSUME CS:CODE,DS:DATA,SS:STACK

ORG 100H ;避开中断向量表区域
START:
; Write your code here
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AX,TOP
MOV SP,AX

 CLI;设置中断向量PUSH DSMOV AX,0MOV DS,AXMOV BX,152MOV AX,OFFSET INT6MOV [BX],AXMOV AX,0MOV [BX+2],AXPOP DSPUSH DSMOV AX,0MOV DS,AXMOV BX,156     ;27H*4     IR7MOV AX,OFFSET INT7MOV [BX],AXMOV AX,0MOV [BX+2],AXPOP DS;8259初始化MOV DX,CS8259A     ;写ICW1MOV AL,ICW1OUT DX,ALMOV DX,CS8259B     ;写ICW2MOV AL,ICW2OUT DX,ALMOV AL,ICW4        ;写ICW4OUT DX,ALMOV AL,OCW1        ;写OCW1OUT DX,ALSTI                  ;开中断;8255初始化,写控制字到控制字端口MOV AL,80H  ;1000 0000B,A口输出MOV DX,CT_PORTOUT DX,ALMOV AL,00MOV DX,A_PORTOUT DX,AL;8253初始化MOV DX,CTL    ;0号计数器写入控制字MOV AL,00110110BOUT DX,ALMOV DX,CNT0    ;0号计数器写入初值1000MOV AX,1000OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,CTL     ;1号计数器写入控制字MOV AL,01110110BOUT DX,ALMOV DX,CNT1    ;1号计数器写入初值1000MOV AX,1000OUT DX,ALMOV AL,AHOUT DX,AL

LP: NOP ;主程序
STI
JMP LP

INT6: CLI
PUSH AX
PUSH DX

 MOV AL,00001001BMOV DX,A_PORTOUT DX,ALCALL DELAY100CALL DELAY100MOV DX,CS8259A   ;中断服务子程序结束指令MOV AL,20HOUT DX,ALCLIPOP DXPOP AXSTIIRET

INT7: CLI ;保护现场,中断服务子程序
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV CX,FLAG
CMP CX,0
JG B0
MOV FLAG,20
B0: DEC FLAG
CMP CX,10
JAE A0 ;>10-A道
CMP CX,3
JBE B1 ;<=3–B道黄灯亮,A道红灯亮
;B道绿灯亮,A道红灯亮
MOV AL,00010001B
MOV DX,A_PORT
OUT DX,AL
JMP EXIT
B1: ;B道黄灯亮,A道红灯亮
MOV AL,00100001B
MOV DX,A_PORT
OUT DX,AL
JMP EXIT
A0: SUB CX,10
CMP CX,3
JBE A1 ;<=3,A道黄灯亮,B道红灯亮
;A道绿灯亮,B道红灯亮
MOV AL,00001010B
MOV DX,A_PORT
OUT DX,AL
JMP EXIT
A1: ;A道黄灯亮,B道红灯亮
MOV AL,00001100B
MOV DX,A_PORT
OUT DX,AL

EXIT: MOV DX,CS8259A ;中断服务子程序结束指令
MOV AL,20H
OUT DX,AL
CLI

 POP DXPOP CXPOP BXPOP AXSTIIRET

DELAY100 PROC
PUSH CX
MOV CX,0
LOOP $
LOOP $
LOOP $
MOV CX,15000
LOOP $
POP CX
RET
DELAY100 ENDP

CODE ENDS

DATA SEGMENT
;Y2–8255
A_PORT EQU 0A000H ;1010 0000 0000 0000B
B_PORT EQU 0A002H
C_PORT EQU 0A004H
CT_PORT EQU 0A006H
FLAG DW 20 ;A+B道总循环秒数
;Y1–8253
CNT0 EQU 9000H
CNT1 EQU 9002H
CNT2 EQU 9004H
CTL EQU 9006H
;Y0–8259
CS8259A EQU 8000H ;1000 0000 0000 0000B,偶地址
CS8259B EQU 8002H ;1000 0000 0000 0010B,奇地址
ICW1 EQU 00010011B ;单片8259,上升沿中断,写ICW4
ICW2 EQU 00100000B ;中断号为20H
ICW4 EQU 00000001B ;工作在8086方式
OCW1 EQU 00111111B ;响应INT7和INT6中断
;7段码表
LED_SEV DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H
DATA ENDS
STACK SEGMENT STACK
STA DB 512 DUP(0FFH)
TOP EQU $-STA
STACK ENDS

    END START

电路图

微机原理课程实验(十字路口红绿灯设计)相关推荐

  1. 8255交通灯实验的微型计算机,微机原理课程设计——8255,8253交通灯模拟实验.doc...

    文档介绍: 微机原理课程设计 设计任务及要求: 交通信号灯的控制: 通过8255A并口来控制LED发光二极管的亮灭. A口控制红灯,B口控制黄灯,C口控制绿灯. 输出为0则亮,输出为1则灭. 用825 ...

  2. 8255,8253微机原理课程十字路口交通灯设计(带交通管制)

    8255,8253微机原理课程十字路口交通灯设计(带交通管制) 前绪 CPU 采 用 8088 设 计 , 采 用 其 最 大 工 作 模 式 . 通 过 245,373,8288 等设计形成地址总线 ...

  3. 微型计算机测控系统课程设计报告,微机原理课程设计实验报告--步进电机控制.docx...

    文档介绍: 2010-2011学年第一学期 微机原理课程设计实验报告 课题名:步进电机控制 一.课题内容和提示: 编程提示: (1)步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机做步进式旋 ...

  4. 微型计算机原理课设抢答器,微机原理课程设计抢答器.doc

    西安郵電大学 硬件课程设计报告 题 目: 抢 答 器 院系名称:计算机学院 专业名称:班 级: 学生姓名:学号(8位):指导教师:设计起止时间 设计目的 用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ...

  5. 微型计算机原理小闹钟8253,微机原理课程设计-电子钟设计.doc

    微机原理课程设计-电子钟设计 摘要 数字闹钟 1.通过8253定时器产生秒脉冲定时中断.在中断服务程序中实现秒.分.小时的进位(24小时制). 2.将当前时分秒在七段LED显示器上显示(如:09113 ...

  6. 微型计算机原理小闹钟8253,微机原理课程设计-电子钟的设计.doc

    微机原理课程设计-电子钟的设计 摘要 数字闹钟 1.通过8253定时器产生秒脉冲定时中断.在中断服务程序中实现秒.分.小时的进位(24小时制). 2.将当前时分秒在七段LED显示器上显示(如:0911 ...

  7. java音乐播放器文库_微机原理课程设计报告——音乐播放器.doc

    微机原理课程设计报告--音乐播放器.doc 微机 应用系统 课程设计报告 题 目 电子音乐播放器 专业班级 电子信息科学与技术 1001 班 设计学生 完成时间 2012 年 6 月 27 日 湖南文 ...

  8. 西安电子科技大学计算机微原课设,西安电子科技大学我机电院微机原理课程设计.doc...

    西安电子科技大学我机电院微机原理课程设计 微机原理课程设计 学 院 机电工程学院 专 业 自动化 姓 名 ******* 学 号 ******** 指导教师 千博 董瑞军 一.微元课程设计 课程设计的 ...

  9. 课程设计用计算机演奏音乐,微机原理课程设计--音乐演奏.doc

    微机原理课程设计--音乐演奏 学 院: 计算机科学技术 专 业: 计算机科学与技术(工) 班 级: 计10-1班 姓 名: 学 号: 指导教师: 2013年3月10日 微机原理与汇编语言课程设计任务书 ...

最新文章

  1. PHP实现XML传输
  2. Linux挂载卸载光盘实践
  3. Spring-AOP 通过配置文件实现 异常抛出增强
  4. Java基础day14
  5. SpringCloud教程-消息总线Bus 客户端(client)刷新(SpringCloud版本Greenwich.SR4)
  6. git reset后本地拉取_一份值得收藏的 Git 异常处理清单
  7. android 发送广播_从0系统学Android--5.2 发送广播
  8. asm冗余 oracle_oracle 11.2.0.1 rac 修改asm磁盘组的冗余模式(redundancy mode)为normal
  9. linux moxa 多串口卡_MOXA多串口卡C32030TCPU模块双RISC-based处理器架构大幅提升I/O数据传输的效能达到8口或以上...
  10. selenium启动火狐浏览器_selenium之nodejs入门使用
  11. 过新版狗php一句话,整理的最新WebSHell (php過狗一句話,過狗菜刀,2016過狗一句話,2016php免殺一句話)...
  12. java 访问 https网站_解决java访问https网站报错的问题
  13. 【Unity】文字游戏制作插件Fungus教程(1)基础的使用方法
  14. vue -【nextTick】-【过度与动画】-【插槽】-【配置代理服务器】-【vuex】-【路由】
  15. 9.9 力扣652. 寻找重复的子树
  16. FPGA的UART信息回显
  17. eNSP防火墙进入WEB界面登陆
  18. 新辰:十种外链终极方法 让SEOer外链之路不再孤独!
  19. 计算机人物系列-约翰·冯·诺依曼
  20. 二十六、ISIS技术总结

热门文章

  1. 信号发生器电路的FPGA设计
  2. 江苏大学计算机技术考研试卷,江苏大学考研历年真题汇总
  3. JAVA_SSM火车售票系统订票(含论文)毕业设计【演示视频】
  4. 第二章 网页基本代码
  5. 分配单元大小是什么意思(分配单元大小)
  6. NeurIPS 2022 | 开放域检测新方法DetCLIP,推理效率提升20倍
  7. 不同手机型号图文预览_手机端图片预览查看
  8. MAC中在eclipse luna上搭建移动平台自动化测试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录
  9. 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.3 按键控制实验
  10. 易语言“非主流”,杀毒软件“躲猫猫”