交通灯课程设计.doc_第1页
交通灯课程设计.doc_第2页
交通灯课程设计.doc_第3页
交通灯课程设计.doc_第4页
交通灯课程设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

;十字路口交通控制器DATASEGMENT SETTIMEDB ?;用户设置的通行时间NOWTIMEDB ?;当前计时时间TIME1EQU 10TIMEOT1DB TIME1;0.5秒定时单元TIME2EQU 2TIMEOT2DB TIME2;1秒定时单元FLAGDB 1;闪烁标志ONOFFDB 1;亮灭标志LEFTDB 1;南北向和东西向标志 TABDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;09的显示码DATAENDSSTACKSEGMENT STACKDW 64 DUP(?);定义堆栈段STACK ENDSCODE SEGMENT;代码段定义ASSUME CS:CODE,DS:DATA;段指定START:MOVAX,DATAMOVDS,AXPUSH DS;当前用户DS段入栈保存MOV AX,0000HMOV DS,AX;修改DS=0000H,指向中断矢量表所在段MOV AX,OFFSET IRQ0;取出中断处理子程序的入口偏移地址(以0为基准)ADD AX,2000H;修正,实际地址=装入地址的偏移量+相对于0起始的偏移量MOV SI,0020H;IR0中断矢量号为08H,处于矢量表的20H23HMOV SI,AX;将偏移地址装入矢量表MOV AX,0000HMOV SI,0022HMOV SI,AX;将段地址(0000H)装入矢量表 MOV AX,OFFSET IRQ5ADD AX,2000HMOV SI,0034HMOV SI,AXMOV AX,0000HMOV SI,0036HMOV SI,AX MOV AX,OFFSET IRQ6ADD AX,2000HMOV SI,0038HMOV SI,AXMOV AX,0000HMOV SI,003AHMOV SI,AXMOV AX,OFFSET IRQ7ADD AX,2000HMOV SI,003CHMOV SI,AXMOV AX,0000HMOV SI,003EHMOV SI,AXPOP DS;恢复用户数据段DS MOV AL,13H ;方式选择控制子 OUT 20H,ALMOV AL,08HOUT 21H,ALMOV AL,01HOUT 21H,ALMOV AL,01CH ;D1,D0位复位为0OUT 21H,AL;写入OCW1(IMR);开放8259A的IR1和IR0中断MOV AL,34H;设定8253通道0的工作方式,00110100BOUT 43H,AL;CH0采用先写低8位,后写高8位,方式2,二进制计数MOV AX,59500;计数初值为59500,输出20HZ信号,定时0.05秒OUT 40H,AL;写入CH0MOVAL,AHOUT40H,ALSTI;开中断MOV AL,88H;写入8255A的方式控制字,设定工作方式为10001000BOUT 63H,AL;即A口方式0输出,C口高4位输入,B口方式0输出,C口低4位输出 IN AL,62H;循环读出C口的四个开关状态(PC4PC7)ANDAL,0F0H;高四位为0090秒MOVSETTIME,AL;读取用户设定的通行时间MOVNOWTIME,AL A1:MOVAL,FLAGTESTAL,01HJZA2;不闪烁,则转显示MOVAL,ONOFF;闪烁标志为1,闪烁,则测试是亮,还是灭TESTAL,01HJNZA2;为1,说明亮,则转A2MOVAL,0FHOUT62H,ALMOVAL,00HOUT61H,AL;灭,则关闭显示JMPA3 A2:MOVAL,NOWTIME ;取出当前剩余时间的低位ANDAL,0FHMOVBX,OFFSET TABXLAT;查表转换为显示码OUT61H,ALMOVAL,05H;PC3PC0为0101B,允许X2、X4数码管选通OUT62H,ALCALLDALEYMOVAL,NOWTIMEMOVCL,4RORAL,CLANDAL,0FH;取出当前剩余时间的高位MOVBX,OFFSET TABXLATOUT61H,ALMOVAL,0AHOUT62H,AL;PC3PC0为1010B,允许X1、X3数码管选通CALLDALEY A3:MOVAL,LEFTTESTAL,01HJZA5;测试是南北向通行,还是东西向通行MOVAL,FLAG;东西向通行TESTAL,01H;测试是否应让黄灯亮JZA4;不是东西向的黄灯亮,则转东西向绿灯亮(南北向红灯亮)MOVAL,ONOFF ;东西向黄灯亮(南北向红灯亮)TESTAL,01HJNZA4;测试亮灭MOVAL,0FFH;关指示灯OUT60H,ALJMPEXIT A4:MOVAL,77H ;东西向绿灯亮(南北向红灯亮)OUT60H,ALJMPEXIT A5:MOVAL,FLAG ;南北向通行TESTAL,01H;测试是否应让黄灯亮JZA6;不是南北向的黄灯亮,则转南北向绿灯亮(东西向红灯亮)MOVAL,ONOFF;南北向黄灯亮(东西向红灯亮)TESTAL,01HJNZA6;测试亮灭MOVAL,0FFH;关指示灯OUT60H,ALJMPEXIT A6:MOVAL,0EEH;南北向绿灯亮(东西向红灯亮)OUT60H,AL EXIT:JMP A1;8259A的IR0中断处理子程序(8253的CH0每来59500个脉冲后(定时0.05秒),则执行下面的中断处理程序一次)IRQ0:STIPUSHAXMOV AL,TIMEOT1DECALJZIRTIME1MOVTIMEOT1,ALJMPIREXIT;不到0.5秒,则退出IRTIME1:MOVTIMEOT1,TIME1;0.5秒定时时间到,重装初值MOVAL,ONOFFXORAL,01HMOVONOFF,AL;取反亮灭标志MOVAL,TIMEOT2DECAL;1秒定时单元减1JZIRTIME2MOVTIMEOT2,AL;1秒不到,保存,退出JMPIREXITIRTIME2:MOVTIMEOT2,TIME2MOVAL,NOWTIMESUBAL,1DASCMPAL,0JNZIRTIME3MOVAL,SETTIMEMOVNOWTIME,AL;重装通行时间MOVAL,LEFTXORAL,01HMOVLEFT,AL;南北向与东西向通行转换MOVFLAG,00H;闪烁标志复位(不闪)JMPIREXITIRTIME3: MOVNOWTIME,ALCMPAL,04H;剩余时间小于4秒,则闪烁JAEIRTIME4MOVFLAG,01HJMPIREXITIRTIME4: MOVFLAG,00H;3秒,则不闪烁IREXIT: MOV AL,20H;常规EOI中断结束指令OUT 20H,AL;写入8259A的OCW2POPAXIRET IRQ5: STI IN AL,62H;循环读出C口的四个开关状态(PC4PC7)ANDAL,0F0H;高四位为0090秒MOVSETTIME,AL;读取用户设定的通行时间MOVNOWTIME,AL MOV AL,20H OUT 20H,AL IRETIRQ6: CLI MOV DX,60H MOV AL,11101110B OUT DX,AL CALLDALEY MOV DX,0FFFFHL7: MOVAL,NOWTIME ;取出当前剩余时间的低位ANDAL,0FHMOVBX,OFFSET TABXLAT;查表转换为显示码OUT61H,ALMOVAL,05H;PC0PC3为0101B,允许X2、X4数码管选通OUT62H,ALCALLDALEY MOVAL,NOWTIMEMOVCL,4RORAL,CLANDAL,0FH;取出当前剩余时间的高位MOVBX,OFFSET TABXLATOUT61H,ALMOVAL,0AHOUT62H,ALCALLDALEY;PC0PC3为1010B,允许X1、X3数码管选通 DEC DX JNZ L7 MOV AL,20H OUT 20H,AL STI IRETIRQ7: CLIMOV DX,60HMOV AL,01110111BOUT DX,AL CALLDALEY MOV DX,0FFFFH ;赋计数初值 L5: MOVAL,NOWTIME ;取出当前剩余时间的低位ANDAL,0FHMOVBX,OFFSET TABXLAT ;查表转换为显示码OUT61H,ALMOVAL,05H ;PC0PC3为0101B,允许X2、X4数码管选通OUT62H,ALCALLDALEY MOVAL,NOWTIMEMOVCL,4RORAL,CLANDAL,0FH ;取出当前剩余时间的高位MOVBX,OFFSET TABXLATOUT61H,ALMOVAL,0AHOU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论