交通信号灯控制系统(汇编语言课程设计)
汇编语言交通灯

设计报告一、设计方法:1、通过老师上课讲的内容及要求来设计。
2、开始时可跟着老师走从基础使用4094实现倒计时开始一步一步实现。
3、实现基础部分后我们就可按着自己的思路结合单片机的学习从而一步一步实现整个功能。
二、设计思路:1、首先在实现整个功能之前我并不清楚自己要设计的界面应是什么样子的,我从最基本的开始先学会使用4094实现一位倒计时,然后使用4094实现两位倒计时,实现了两位倒计时之后基本上就可以实现四个路口的倒计时显示。
2、完成基本型后就要想办法如何才能实现在线修改参数,且按照新的参数执行,而且参数用什么来设置等等,通过单片机的学习我想到了用中断方式的方法来实现,且在中断里来调用子程序来设置参数,并选用了键盘来设置参数。
因为单片机里已学过键盘子程序,现在再来使用这样的键盘,虽比单片机里学过的4*4键盘复杂点,但总不会太难了。
就这样一步一步按照自己的思路完成。
3、以上实现后,我们也可多加些按键来控制暂停、复位、行人按键等等,而这些在完成以上功能后再来实现它们就会很容易了。
流程图:三、选择的芯片:AT89C51、4094、KEYPAD-PHONE、LED-GREEN、LED-RED、LED-YELLOW、TSEG-COM-AN-GRN、3WATT100R、BUTTON 四、硬件设计:五、软件设计:1、部分代码:;30H、34H、35H主干道红、绿、黄灯,33H、31H、32H支干道红、绿、黄灯,修改用外部中断ORG 0000HLJMP MAINORG 0003H ;复位中断入口地址LJMP FWORG 0013H ;修改参数中断入口地址LJMP XGORG 0030HMAIN:MOV 30H,#50MOV 31H,#30MOV 32H,#20MOV 33H,#40MOV 34H,#32MOV 35H,#08LOOP: SETB IT0 ;设置外部中断0的触发方式SETB IT1 ;设置外部中断1的触发方式SETB EX0 ;开启外部中断0SETB EX1 ;开启外部中断1SETB PX0 ;设置优先级CLR PX1SETB EA ;开启总中断STAR1:MOV 40H,30HMOV 41H,31HMOV 42H,32HMOV 43H,33HMOV 44H,34HMOV 45H,35H;主干道的红与支干道的绿ZHUHO:CLR P2.7 ;关门,减震作用MOV 46H,#0F5H ;显示LED亮与灭MOV A,40H ;显示主干道的红灯参数LCALL XSLCALL LPMOV A,41H ;显示支干道的绿灯参数LCALL XSLCALL LOPSETB P2.7 ;开门,减震作用LCALL DELAYDEC 40H ;倒计时JNB P1.7,ZHIHODJNZ 41H,ZHUHOCLR P2.7MOV A,40H ;显示主干道的红灯参数LCALL XSLCALL LPMOV A,41H ;显示支干道的绿灯参数LCALL XSLCALL LOPSETB P2.7LCALL DELAY;主干道的红与支干道的黄ZIHU:CLR P2.7MOV 46H,#0F6H ;显示LED亮与灭MOV A,42H ;显示主干道的红灯参数LCALL XSLCALL LPMOV A,42H ;显示支干道的黄灯参数LCALL XSLCALL LOPSETB P2.7LCALL DELAYJNB P1.7,ZHIHO ;倒计时DJNZ 42H,ZIHUCLR P2.7MOV A,42H ;显示主干道的红灯参数LCALL XSLCALL LPMOV A,42H ;显示支干道的黄灯参数LCALL XSLCALL LOPSETB P2.7LCALL DELAY;支干道的红与主干道的绿ZHIHO:CLR P2.7MOV 46H,#0EBH ;显示LED亮与灭MOV A,43H ;显示支干道的红灯参数LCALL XSLCALL LOPMOV A,44H ;显示主干道的绿灯参数LCALL XSLCALL LPSETB P2.7LCALL DELAYDEC 43HDJNZ 44H,ZHIHOCLR P2.7MOV A,43H ;显示支干道的红灯参数LCALL XSLCALL LOPMOV A,44H ;显示主干道的绿灯参数LCALL XSLCALL LPSETB P2.7LCALL DELAY;支干道的红与主干道的黄ZUHU:CLR P2.7MOV 46H,#0DBH ;显示LED亮与灭MOV A,45H ;显示支干道的红灯参数LCALL XSLCALL LOPMOV A,45H ;显示主干道的黄灯参数LCALL XSLCALL LPSETB P2.7LCALL DELAYDJNZ 45H,ZUHUCLR P2.7MOV A,45H ;显示支干道的红灯参数LCALL XSLCALL LOPMOV A,45H ;显示主干道的黄灯参数LCALL XSLCALL LPSETB P2.7LCALL DELAYLJMP STAR1XG:JB P3.3,EXIT ;修改参数中断服务子程序MOV A,#00H ;使数码管都显示00MOV 46H,#0FFH ;使LED都灭LCALL XSLCALL LPLCALL LOPSJMP FCZFW:CLR EA ;复位中断服务子程序MOV A,#88MOV 46H,#0FFHLCALL XSLCALL LPLCALL LOP;产生中断后对参数重新赋初值FCZ:MOV P0,#0F9HMOV P2,#0BFHLCALL LKEY1 ;设置第一个参数MOV 30H,20HMOV P0,#0A4HMOV P2,#0BFHLCALL LKEY1 ;设置第二个参数MOV 31H,20HMOV P0,#0B0HMOV P2,#0BFHLCALL LKEY1 ;设置第三个参数MOV 33H,20HMOV P0,#99HMOV P2,#0BFHLCALL LKEY1 ;设置第四个参数MOV 34H,20HMOV A,30HSUBB A,31HMOV 32H,AMOV A,33HSUBB A,34HMOV 35H,AMOV 40H,30HMOV 41H,31HMOV 42H,32HMOV 43H,33HMOV 44H,34HMOV 45H,35HMOV P0,#0FFHMOV P2,#0FFHEXIT:RETI ;中断返回DELAY:MOV R3,#10 ;延时0.5s子程序MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB TR0LOOP1:JBC TF0,LOOP2SJMP LOOP1LOOP2:MOV TH0,#3CHMOV TL0,#0B0HDJNZ R3,LOOP1CLR TR0RETXS:MOV DPTR,#TAB ;显示子程序MOV B,#10DIV ABMOVC A,@A+DPTRMOV R5,AMOV A,BMOVC A,@A+DPTRMOV R6,ARETTAB: DB 0C0H,0F9H,0A4H,0B0HDB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,8EHLP:CLR C ;4094主干道显示两位倒计时子程序MOV R0,#08HMOV A,R6LP1:CLR P3.7RLC AMOV P3.6,CSETB P3.7DJNZ R0,LP1MOV A,R5MOV R0,#08HLP2:CLR P3.7RLC AMOV P3.6,CSETB P3.7DJNZ R0,LP2RETLOP:CLR C ;4094支干道显示两位数倒计时子程序MOV R0,#08HMOV A,R6LOP1:CLR P3.5RLC AMOV P3.4,CSETB P3.5DJNZ R0,LOP1MOV A,R5MOV R0,#08HLOP2:CLR P3.5RLC AMOV P3.4,CSETB P3.5DJNZ R0,LOP2XP2:MOV R0,#08H ;四个路口红绿灯LED显示器子程序MOV A,46HLP5:CLR P3.1RLC AMOV P3.0,CSETB P3.1DJNZ R0,LP5RET;键盘扫描子程序KEY16:LCALL KS ; 读键盘JZ KEY16 ; 判是否有键按下,A=0表示无键按下,再读LCALL T10MS ; 延时LCALL KS ; 有键按下的话,再读一次,消除抖动JZ KEY16 ; 判是否有键按下,A=0表示无键按下,再读MOV R2,#0EFH ; 列扫描初值,11101111MOV R4,#00H ; 列扫描计数单元置"0"; 下面进行列扫描(0~3)、读行值(01、04、07、0FF)LK1:MOV P1,R2 ; P1.4=0, 扫描第一列JB P1.0,ONE ; 判是否第0行健按下,否判下一行MOV A,#01H ; 是,行值"01"LJMP KPONE:JB P1.1,TWO ; 判是否第1行健按下,否判下一行MOV A,#04H ;是,行值"04"LJMP KPTWO:JB P1.2,THREE ; 判是否第2行健按下,否判下一行MOV A,#07H ; 是,行值"07"LJMP KPTHREE:JB P1.3,NEXT ; 判是否第3行健按下,否则扫描下一列MOV A,#0FFH ; 是,行值"0ff"LJMP KPNEXT:INC R4 ; 列计数加1MOV A,R2 ; 行扫描完,列移位,继续JNB ACC.6,KND ; 判是否列扫描结束RL A ; 左移,扫下一列MOV R2,AAJMP LK1 ; 转下一列读键KND:AJMP KEY16KP:ADD A,R4 ; 生成键值,A=行基值+列值(0~3)PUSH ACCLK:LCALL KSJNZ LKPOP ACCSETB P1.7RETT10MS:MOV R7,#10H ;T10ms延时子程序TS1:MOV R6,#0FFHTS2:NOPNOPDJNZ R6,TS2DJNZ R7,TS1RETKS:MOV P1,#0FH ; 判有无键按下子程序MOV A,P1CPL AANL A,#0FHRETLKEY1:MOV A,#0LCALL KEY16 ; 读第一个数CJNE A,#0AH,LKEY2 ; 键值>9则重读键SJMP LKEY1LKEY2:JNC LKEY1MOV R0,A ; 保存第一个数SWAP ALCALL XSP0P2 ; 显示第一个数LKEY3:MOV A,#0LCALL KEY16 ; 读第二个数CJNE A,#0AH,LKEY4 ; 键值>9(非数字键)则重读键SJMP LKEY3SJMP LKEY3LKEY4:JNC LKEY3MOV R1,A ; 第二个数存入B中MOV A,R0 ; 取第一个数SWAP A ; 换到高位ADD A,R1 ; 第二个数(低位)与第一个数(高位)合并MOV 20H,APUSH AMOV A,R0MOV B,#10MUL ABADD A,R1MOV 20H,APOP ALCALL XSP0P2 ; 显示两个数JB P1.3,$ ;判确定键有没按下RETXSP0P2:PUSH B ;显示子程序MOV DPTR,#XSTAB ; 取数据表首地址MOV B,A ; 保存原数据ANL A,#0FH ; 截取低4位数MOVC A,@A+DPTR ; 取显示字型码MOV P0,A ; 送P0显示MOV A,B ; 取原数据ANL A,#0F0H ; 截取高4位SWAP A ; 半字节交换MOVC A,@A+DPTR ; 取显示段码MOV P2,A ; 送P2显示MOV A,BPOP BRETXSTAB: DB 0C0H,0F9H,0A4H,0B0HDB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,8EHEND六、时间安排:1、要完成这个项目我们只有两个周的时间,第一个周我们完成了基本的用4094实现两位数的倒计时,并实现基本的十字路口,两路显示,能够实现最基本的运行。
交通灯汇编语言课程设计【精选文档】

交通灯汇编语言课程设计【精选文档】(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)课程设计说明书题目交通灯系统设计系(部) 信息工程系专业电气工程及其自动化班级学生姓名学号07081232712 月7 日至12 月18 日共 2 周指导教师(签字)系主任(签字)2009年12 月 4 日课程设计任务书题目交通灯系统设计系(部) 信息工程系专业电气工程及其自动化班级学生姓名学号07081232712 月7 日至12 月18 日共 2 周指导教师(签字)系主任(签字)2009年12 月 4 日成绩评定表目录一、设计任务与要求 (1)1、设计任务与要求的分析 (1)二、软件设计 (2)1、显示原理 (2)2、计数器初值计算 (2)3、每秒钟的设定 (2)4、控制系统、时间显示模块 (3)三、硬件电路设计 (5)1、74LS164的应用 (5)2、LED显示器件工作原理 (5)四、安装与调试 (5)五、结论与心得 (7)六、参考文献 (7)附录:1、源程序2、系统原理图摘要本系统由单片机系统、键盘、LED 显示、数码管显示、交通灯演示系统组成。
系统除基本交通灯功能外,还具有倒计时、时间设置、信号灯闪烁、信号灯颜色分时亮、分时段调整信号灯的点亮时间等功能。
同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,关键词:AT80C51单片机、交通灯控制系统、定时循环、数码管显示、延时。
一、设计任务与要求假设一个十字路口为东西南北走向。
开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20秒),东西路口的绿灯,闪烁若干次后(3秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20秒),南北路口的绿灯闪烁若干次后(3秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。
用51单片机控制交通灯汇编语言编写教材

基于51单片机的交通灯控制系统设计摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。
系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。
关键词:交通灯,单片机,自动控制一引言当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这个技术在19世纪就已经出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消!电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。
左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。
红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口!二概要设计2.1 设计思路利用单片机实现交通灯的控制,该任务分以下几个方面:a 实现红、绿、黄灯的循环控制。
要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。
汇编语言设计方案交通灯控制系统

合肥学院电子系微机实验课程设计任务书摘要随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。
本课程设计是基于微机原理与接口技术的简单应用。
运用所学的微机原理和接口技术知识完成交通灯系统。
通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了现代城市交通控制与管理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的交通灯控制系统的硬件、软件电路设计方案。
该系统适用于单主干道的十字路口,。
现假定其主干道为东西方向,次干道为南北方向。
可随意进行更改双向的通行时间,该功能能实现加中断控制和手动控制的方式进行,红绿灯切换时有闪烁功能以警示车辆和行人将进行红绿灯切换。
当有交通堵塞或紧急状况时可进行中断手动控制,使交通安全与交通流畅度得以保证。
关键词:延迟 8255 交通灯控制设计AbstractWith the development of electronic technology, computers in the development of modern science and technology play an increasingly importantEffect Multimedia technology, network technology, intelligent information processing technology, control technology from the applicationData Mining and processing and so can not do without the computer. The course design is based on Microcomputer Principle and Interface Technology for simple applications.The use of the computer science principles and technical knowledge to complete the interface traffic light systemThrough a combination of hardware and software, We have just learned to use the assembly language program to simulate the conditions of modern urban traffic control and management of the status quo,The actual situation with traffic light control system described working principle,A simple and practical given the traffic light control system hardware, software The system is suitable for a single main road intersection,. It is assumed that the direction of the east-west trunk road, secondary roads for the north-south direction. Two-way free passage of time changesThis feature can achieve plus interrupt control and manual control of the way, Flashing traffic light switching functions as a warning to vehicles and pedestrians will be traffic lights switch.When there is traffic congestion or an emergency manual control can be interrupted, so that the degree of traffic safety and traffic flow can be guaranteed.Key words: Delayed Traffic Light Control Design 8255目录第一部分引言.......................................第二部分交通灯设计的简介......................第三部分交通灯的设计案.......................第四部分交通灯系统的安装与调试.................第五部分程序流程图.................................第六部分设计过程与总结...........................第七部分附源程序..................................第八部分参考文献资料..............................第一部分引言电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
汇编语言与微型计算机技术课设十字交通灯

2024/6/10
7
七、时间安排:
➢ 时间:2013/12/23~2014/1/9
➢ 1.根据要求,设计出正确的电路原理图,并用 PROTEUS软件绘制电路图2天;
➢ 2.正确布线2天; ➢ 3.编制程序2天; ➢ 4.调试、排错、验收3天; ➢ 5.编写课设报告1天。 ➢ 注:具体时间可自己调整,上交报告为第10天17:
A7
B7
B6
A6
74LS245
A0 DIR
E
B0
2024/6/10
D7
PA7
D6
PA6
8255A
D0PA0Fra bibliotekD7 D6
8253
D0
15
(2)74LS06
2024/6/10
16
8255-RES-74LS06连线实例
2024/6/10
17
(3)74LS138
2024/6/10
18
地址译码电路表
2024/6/10
19
标准地址译码电路
8255CS对应的地址为300H~303H, 8253CS对应的地址为304H~307H。
8255CS 8253CS
2024/6/10
20
简化后的非标准地址译码电路 (本次课程设计采用)
8255CS 8253CS
2024/6/10
21
4.8253定时/计数器
2024/6/10
➢ 6.每个发光二极管的正极接排电阻的从2到9的一个引脚, 排电阻的1脚接VCC(+5V)。
2024/6/10
5
五、设计步骤
➢ 1.设计电路原理图,要求用PROTEUS绘图软件 绘制电路图,电路中应包括地址译码电路。
交通灯汇编语言课程设计资料

( 5)闯红灯报警系统(用开关代替红外设备进行模拟)
五、 结论与心得 通过这次课程设计,加深了对很多知识的理解,自己做一个东西的时候,才
会知道理论与实际的差别。 这过对交通灯的设计, 也学到了很多原来不熟悉或没 有掌握好的知识,像查询及其数码管的应用。 对于肯本上的指令理解的更深入了, 原来没有记住的指令,通过这次设计,都能熟悉的运用。
。
1、设计任务与要求的分析 对于具体过程的分析:东西南北红灯( 2S)东西绿南北红( 20S)东西绿灯 闪烁( 3S)东西黄灯亮( 1S)南北绿灯亮( 20S)南北绿灯闪烁( 3S)南北黄灯 亮( 2S) . 上述思路可分为两个循环:一个是在南北绿灯亮之前,南北红灯一直 亮着( 25S)随后是南北灯亮的过程中东西红灯一直亮着( 25S)。分别用数码管 定时 20S,25S 记录红灯和绿灯持续时间。 25 秒后南北方向的持续情况与东西对 调.这样就完成了一次整体循环。 二、 软件设计 1、显示原理 交通信号灯控制逻辑如下: 假设一个十字路口为东西南北走向。 开始为四个 路口的红灯全部亮之后 , 东西路口的绿灯亮 , 南北路口的红灯亮 , 延时一段时间后 , 东西路口的绿灯 , 闪烁若干次后( 3 秒),东西路口的绿灯熄灭,同时东西路口的 黄灯亮 , 延时一段时间后( 2 秒) , 东西路口的红灯亮 , 南北路口的绿灯亮 , 延时一 段时间后 , 南北路口的绿灯闪烁若干次后( 3 秒) , 南北路口的绿灯熄灭,同时南 北路口的黄灯亮,延时一段时间后( 2 秒) , 再切换到东西路口的绿灯亮 , 南北路 口的红灯亮 , 之后重复以上过程。
目录
一、设计任务与要求 ………………………………………………………………… .1
1、设计任务与要求的分析…………………………………………………… 1
课程设计交通灯8086

课程设计交通灯8086一、教学目标本课程旨在让学生了解和掌握交通灯8086的基本原理和编程方法。
通过本课程的学习,学生应达到以下目标:1.了解交通灯控制系统的工作原理。
2.掌握8086微处理器的基本结构和指令系统。
3.掌握交通灯控制程序的编写和调试方法。
4.能够运用8086汇编语言编写简单的交通灯控制程序。
5.能够使用调试工具对程序进行调试和优化。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神。
2.培养学生对交通安全的重视和责任感。
二、教学内容本课程的教学内容主要包括以下几个部分:1.交通灯控制系统的基本原理和工作原理。
2.8086微处理器的基本结构和指令系统。
3.交通灯控制程序的编写和调试方法。
4.交通灯控制程序的优化和升级。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:通过讲解交通灯控制系统的基本原理和8086微处理器的指令系统,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解交通灯控制程序的编写和调试方法。
3.实验法:让学生亲自动手进行实验,培养学生的实际操作能力和解决问题的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《交通灯8086编程指南》。
2.参考书:关于8086微处理器和交通灯控制系统的相关书籍。
3.多媒体资料:交通灯工作原理和8086微处理器的相关视频资料。
4.实验设备:8086微处理器实验板、调试器等。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。
2.作业:布置与课程内容相关的编程作业,评估学生的编程能力和对知识的掌握程度。
3.考试:定期进行考试,测试学生对交通灯8086知识的掌握程度和编程能力。
4.实验报告:评估学生在实验过程中的操作能力和解决问题的能力。
评估结果将以分数或等级形式记录,并及时反馈给学生,以便学生了解自己的学习状况并进行改进。
汇编语言交通灯控制系统设计

交通灯控制系统一、设计要求1.东西方向车辆放行60秒钟。
即东西方向的绿灯和南北方向的红灯同时点亮1分钟;2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从60减为0。
3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。
如此循环重复。
二、设计目的⒈了解交通灯管理的基本工作原理⒉熟悉8259A中断控制器的工作原理和应用编程⒊熟悉8255A并行接口的各种工作方式和应用⒋熟悉8254计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法⒌掌握多位LED显示问题的解决三、程序设计流程图主程序流程图,如下图所示。
装入计数初值支路拐走四、总体设计和电路图Ⅰ.芯片选择及端口选择1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。
2. 用实验系统8254的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的1分钟、5秒钟和20秒的定时。
实验系统8254的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接+5V;定时采用软硬件相结合的方式实现。
⒊用实验系统的发光二极管模拟红绿灯。
注:8259A的端口地址为:218H、219H8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口-203H8254的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器0-20bH。
Ⅱ.设计电路图图2-1 交通灯实时控制系统8255原理图图2-2 中断服务原理图图2-3 中断服务电路接线图图2-4电路连线图Ⅲ..交通灯程序本次设计中,选用8254的计数器0定时向实验系统主片8259A的IRQ0请求中断。
51单片机设计交通灯(汇编语言)

题目:智能交通灯控制系统班级:p09电气四班姓名:刘强0903110429一、任务:设计并制作一个城市交道口交通灯控制糸统二、要求:根据下图交道口模型,装上交通灯。
交道口模型如图所示。
交通灯控制规则如下:1)每个街口有左拐、右拐、直行及行人四种指示灯。
每个灯有红、绿两种颜色。
自行车与汽车共用左拐、右拐和直行灯。
2)共有四种通行方式:①车辆南北直行、各路右拐,南北向行人通行。
南北向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。
②南北向左拐、各路右拐,行人禁行。
通行时间为1分钟。
③东西向直行、各路右拐,东西向行人通行。
东西向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。
④东西向左拐、各路右拐。
行人禁行。
通行时间为1分钟。
3)在通行结束前10秒钟,绿灯闪烁直至结束。
1, 基本部分:按照上述控制要求,用发光二极管代替交通灯,用PROTEUS绘制电路图,并仿真调试实现之。
2, 发挥部分:1.有倒计时时间显示。
2若交道口出现紧急情况,交警可将糸统设置成手动:全路口车辆禁行、行人通行。
紧急情况结束后再转成自动状态。
3当有119、120等特种车辆通过时,糸统自动转为特种车放行,其它车辆禁止状态。
特种车辆通过15秒钟后,糸统自动恢复,用模型车演示。
4其它自选措施。
智能交通灯控制系统1.系统功能的确定功能一:可以实现红绿灯的转换以及控制路口的基本功能。
功能二:有倒计时功能和最后十秒绿灯闪烁的功能。
功能三:出现紧急情况时,警察可以手动控制特殊状态,并维持交通。
功能四:119或120等特种车经过时,可转换成为特种车道行驶状态,并在情况消除后15秒,恢复原状。
2.方案论证2.1方案一:如下图所示,为proteus仿真图。
其中,P1,P0端口的8位分别来控制东西,南北方向的红绿灯。
且运用了4个74LS164的8位移位寄存器(串行输入,并行输出)来控制4个LED的数码显示,通过AT89C51单片机的P3.0,P3.1两个扩展端口来接4个并行连接的74LS164的DIN和CLK两个端口来显示倒计时的功能,这会产生乱码使得显示杂乱,而主程序以顺序执行为主,其中穿插着对P3.7的端口高低电平的测试和跳转语句来实现功能三,并且功能一、二在主程序中实现,没有功能四的的实现程序。
微机原理课程设计—交通灯控制

交通信号灯的控制一、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。
通过本课程设计,使学生初步了解微机系统的硬件设备,学会 8086 系列编程指令的基本功能。
二、设计要求1、通过 8255A 并口来控制 LED 发光二极管的亮灭。
2、A 口控制红灯,B 口控制黄灯,C 口控制绿灯。
3、输出为 0 则亮,输出为 1 则灭。
4、用8253 定时来控制变换时间。
要求:设有一个十字路口,1、3 为南,北方向,2、4 为东西方向,初始态为 4 个路口的红灯全亮。
之后,1、3 路口的绿灯亮,2、4 路口的红灯亮,1、3 路口方向通车。
延迟 30 秒后,1、3 路口的绿灯熄灭,而 1,3 路口的黄灯开始闪烁(1HZ)。
闪烁 5 次后,1、3 路口的红灯亮,同时 2、4 路口的绿灯亮,2、4 路口方向开始通车。
延迟 30 秒时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁。
闪烁 5 次后,再切换到 1、3 路口方向。
之后,重复上述过程。
三、流程图:四、真值表:五、电路图:电路图中地址线连接在 A2,A3 上,用 74HC139 译码,故地址范围为00H~03H,04H~07H,08H~0BH,每个芯片的 A0、A1 均与8086 的A0、A1 相连,RD、WR 与8086 的RD、WR 相连,以控制芯片的读写。
8253 使用定时器 0,输出接 8259 的IR0,故中断向量为08H。
13 方向的绿灯同 PC0 相连,24 方向的绿灯同 PC1 相连,红灯、黄灯接 PA、PB,方式同上。
六、源程序:;-------------------------------------------------------------;模块作用:交通灯控制;编程语言:汇编;编程:孙逸痕,本程序无版权,欢迎使用;日期:2011-12-11;-------------------------------------------------------------;---------STACK------------------------------------------STACK SEGMENT STACK 'STACK'DW 32 DUP(0)STACK ENDS;---------DATA--------------------------------------------DATA SEGMENTCOUNT_L EQU 0H ;计数器初值COUNT_H EQU 0HADD_8253_T0 EQU 00H ;芯片地址ADD_8255 EQU 04HADD_8259 EQU 08HRED_ADD EQU ADD_8255 ;PAYELLOW_ADD EQU ADD_8255+1 ;PBGREEN_ADD EQU ADD_8255+2 ;PCLIGHT_ON EQU 01H ;Pi1/Pi0=01 (i=A,B)LIGHT_OFF EQU 03H ;Pi1/Pi0=11SYS_COUNTER DB 18 ;系统频率GREEN_COUNTER DB 30 ;绿灯30 秒计数YELLOW_COUNTER DB 5 ;黄灯5 秒计数DATA ENDS;----------CODE------------------------------------------CODE SEGMENTMAIN PROC FARASSUME SS:STACK,CS:CODE,DS:DATA;----系统初始化--------PUSH DSMOV AX,0PUSH AXMOV ES,AXMOV AX,DATAMOV DS,AX;----中断向量----------MOV AX,OFFSET TIMER ;装入中断向量表MOV ES:20H,AXMOV AX,SEG TIMERMOV ES:22H,AX;----8253 定时器 0 初始化---MOV AL,36HOUT ADD_8253_T0,AL ;16 位,方式 3MOV AL,COUNT_L ;装入初值OUT MOV OUT ADD_8253_T0,AL AL,COUNT_H ADD_8253_T0,AL;----8255 初始化--------MOV AL,80H ;方式0OUT ADD_8255+3,AL;----8259 初始化--------MOV AL,13H ;单片,边沿触发OUT ADD_8259,ALMOV AL,8H ;中断类型码为 08H~0FHOUT ADD_8259+1,ALMOV AL,0DHOUT ADD_8259+1,AL;-----系统运行---------SYS_ON:IN AL,ADD_8259+1 ;开中断IRQ0AND AL,0FEHOUT ADD_8259+1,ALMOV AL,LIGHT_ON ;开13 方向绿灯,24 方向红灯,关黄灯OUT GREEN_ADD,ALNEG ALOUT RED_ADD,ALMOV AL,LIGHT_OFFOUT YELLOW_ADD,ALGRE_30:JMP $ ;等待计时中断DEC GREEN_COUNTER ;等待绿灯亮30 秒JNZ GRE_30MOV BX,OFFSET GREEN_COUNTER ;复位计数器MOV [BX],30MOV AL,LIGHT_OFF ;关绿灯,开黄灯OUT GREEN_ADD,ALMOV AL,LIGHT_ONOUT YELLOW_ADD,ALYEL_5: JMP $ ;等待计时中断MOV AL,LIGHT_ONMOV AH,03H ;取辅助值(用于黄灯状态取反)放在AH 中SUB AH,ALXOR AL,AH ;黄灯状态取反OUT YELLOW_ADD,ALDEC YELLOW_COUNTER ;计时值,每一秒改变一次状态,共5 秒JNZ YEL_5MOV BX,OFFSET YELLOW_COUNTER ;复位计数器MOV [BX],5MOV AL,LIGHT_ON ;点亮红灯OUT RED_ADD ,ALMOV BX,OFFSET LIGHT_ON ;将13 边换位 24 边MOV [BX],AHMOV AL,LIGHT_OFF ;熄灭黄灯OUT YELLOW_ADD,ALMOV AL,LIGHT_ON ;24 边绿灯亮UT GREEN_ADD,ALJMP SYS_ON ;循环RET;----中断函数------------TIMER: DEC SYS_COUNTER ; 是否计数18 次JNZ OVERMOV BX,OFFSET SYS_COUNTER ;复位计数器MOV [BX],18POP AXINC AXINC AXPUSH AXOVER: IRETMAIN ENDPCODE ENDSEND MAIN。
单片机课程设计报告-交通信号灯控制系统设计

单片机课程设计报告-交通信号灯控制系统设计————————————————————————————————作者:————————————————————————————————日期:单片机课程设计报告一、设计目的1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力.2、通过交通信号灯控制系统的设计,掌握定时/计数哭的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力.二、设计任务和要求任务:设计一个能够控制十二盏交通信号灯的模拟系统要求:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED 灯显示倒计时间。
三、设计原理分析1、首先了解实际交通灯的变化情况和规律。
假设一个十字路口如上图所以,为东南西北走向。
初始状态0为东西南北都红灯亮.然后转状态1东西绿灯通车,南北红灯亮.过一段时间后,转状态2,东西绿灯灭,黄灯闪几下,南北还是红灯。
再转状态3,南北绿灯通车,东西红灯亮.过一段时间后转状态4,南北绿灯灭,闪几个黄灯,东西还是为红灯亮,一段时间后,又循环至状态1。
列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)状态北 西 南 东绿黄红 绿黄红绿黄红绿黄红001 001 001 001 1 001 100 001 100 2 001 010 001 010 3 100 001 100 001 411112、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O 口上的P1口中的6个引脚即可来控制6个信号灯。
3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。
每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
人行道人行人行人四、硬件资源及其分配主要用到的硬件:P1口、P3口、LED数码管、LED发光二级管、定时器T0硬件分配:1、P1口:做为输出口,与发光二极管相连接,其状态及对应的十六进制值如下:方向状态无南北东西十六进制值说明P1。
交通灯 (汇编语言)

——交通灯设计人:张玉印200800800439李娜200800800099一、设计目标:设计一个工作于支、干路交叉处的交通灯系统,支道和干道各有一组交通灯,依次为绿、黄、红。
主干道红灯20秒、黄灯4秒、红灯14秒,支干道绿灯10秒、黄灯4秒、红灯24秒。
主要功能:1、每一时间段内两组数码管都只有一个灯亮,并且颜色不同,能够实现数码管倒计时计时到零时能够自动的转换成下一个阶段,四个阶段交替周期进行。
2、在道路出现紧急情况时,能够手动中断控制使主道和支道的交通灯都变成红灯,并且紧急情况排除后能够手动控制恢复到原来中断前的状态有序执行。
3、能够报警,根据特殊情况的分类报警器(蜂鸣器)的发生的频率不一样,蜂鸣器的频率能够通过旋钮手动调节。
一、实验器材唐都TS-PITE试验箱,用到的芯片单元有8254单元.、8255单元、8259单元、LED显示单元、数码管显示单元、单脉冲产生单元、A/D 0809转换单元、蜂鸣器单元、时钟源。
二、实验原理与方法:1.、8259工作原理1、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。
CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
2、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。
中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚有中断请求时,该寄存器的相应位置1。
3、在试验中应用到8259的MIR7中断申请口,首先写入中断向量表中,将中断申请口接在KK1+上。
通过手动按下KK1+来决定是否产生中断。
4、中断子程序中必须用STI开中断否则会影响下一个中断的响应。
2、8254的工作原理1)8254是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。
其CLK0~CLK2是计数器0~2的时钟脉冲输入端, GATE0~GATE2是门控脉冲输入端, OUT0~OUT2是输出端。
交通信号灯控制系统

摘要这次设计中用到的中断服务程序主要是显示器管理中断,BIOS中屏幕功能调用主要是利用INT 10H实现的。
中断是一种使CPU挂起正在执行的程序而转去处理特殊事件的操作。
这些引起中断的时间称为中断源。
设计中主要使用了调用号为0CH和0的屏幕功能调用,用0号设置屏幕显示方式,调用AH=0CH绘制“X”型路口和红绿灯,同时调用延时程序使红绿灯按规律变换,得到模拟交通信号灯控制系统。
关键字:中断显示器管理中断屏幕功能调用交通灯目录1设计任务及要求 (1)2设计基本中断知识介绍 (1)3设计方案及程序流程图 (3)3.1 方案比较分析 (3)3.2 程序设计分析 (3)3.3 程序设计流程图 (3)3.3.1主程序流程图 (3)3.3.2 绘制斜线的程序流程图 (5)3.3.3 交通灯颜色变换的程序流程图 (6)4程序源代码与运行结果 (7)4.1程序源代码 (7)4.2 程序运行结果 (7)5心得体会 (9)参考文献 (11)附录:完整的程序源代码 (12)交通信号灯控制系统1设计任务及要求运用汇编语言编写程序,在屏幕上绘制一个“X”形路口,按照实际需求安装红绿灯,控制红绿灯的切换时间。
2设计基本中断知识介绍BIOS中屏幕功能调用(1) 显示I/O程序的功能和调用方法利用直接写屏方法,程序可实现快速显示。
但为了实现直接写屏,必须了解显示存储器占用存储空间的具体细节和显示存储区与屏幕显示位置的对应关系,并且最终的程序也与显示适配卡有关。
所以,除非追求显示速度,一般不采用直接写屏方法,而是调用BIOS提供的显示I/O程序。
BIOS提供的显示I/O程序作为10H号中断处理程序存在。
显示I/O程序的主要功能列于表2-1,每一个功能有一个编号。
在调用显示I/O程序的某个功能时,应根据要求设置好入口参数,把功能编号置入AH寄存器,然后发出中断指令“INT 10H”。
调用返回后,从有关寄存器中取得出口参数。
除保存出口参数的寄存器外,其他寄存器内容保持不变。
交通信号灯控制系统课程设计

交通信号灯控制系统课程设计一、引言交通信号灯控制系统是城市交通管理中非常重要的一环。
合理的交通信号灯控制可以提高交通流量,减少交通拥堵,提高道路通行效率,确保交通安全。
本文将以交通信号灯控制系统课程设计为题,对该系统的设计进行详细讨论。
二、系统需求分析交通信号灯控制系统主要用于控制路口交通信号灯的开关以及信号灯的亮灭时长。
系统的需求主要包括以下几个方面:1. 能够根据交通流量和道路状况自动调整信号灯的时长,以实现最优的交通流控制;2. 能够监测交通信号灯的工作状态,及时发现故障并进行报警;3. 能够通过远程控制或本地操作对信号灯进行手动调整;4. 具备数据存储和分析功能,能够对交通流量进行统计和分析。
三、系统设计1. 硬件设计交通信号灯控制系统的硬件设计主要包括信号灯控制器、传感器、通信模块和显示屏等组成部分。
信号灯控制器负责控制信号灯的开关和时长,传感器用于检测交通流量和道路状况,通信模块用于远程控制和数据传输,显示屏用于显示交通信号和系统状态。
2. 软件设计交通信号灯控制系统的软件设计主要包括信号灯控制算法、故障检测和报警系统以及数据存储和分析模块。
信号灯控制算法根据传感器检测到的交通流量和道路状况,自动调整信号灯的开关和时长,以实现最优的交通流控制。
故障检测和报警系统能够监测信号灯的工作状态,及时发现故障并进行报警。
数据存储和分析模块用于对交通流量进行统计和分析,为交通管理部门提供决策支持。
四、系统实施交通信号灯控制系统的实施包括系统的安装和调试、系统的运行和监控以及数据的存储和分析。
在系统安装和调试阶段,需要将硬件设备安装到路口,并进行相应的连接和配置;在系统运行和监控阶段,需要对系统进行实时监控,及时发现和处理故障;在数据存储和分析阶段,需要对采集到的数据进行存储和分析,生成相关的报表和图表。
五、系统评估交通信号灯控制系统的评估主要包括系统的性能评估和应用效果评估。
系统的性能评估主要包括系统的稳定性、可靠性、响应时间等指标的评估;应用效果评估主要包括交通流量的变化、道路通行效率的提高以及交通事故的减少等指标的评估。
汇编设计交通灯

微机交通灯控制系统 课程设计任务书一、课程设计目的微机原理课程设计是微机原理课程的一次综合性训练。
要求通过课程设计达到以下目的:1.掌握微机系统的硬件设计方法(以IBM-PC 机扩充插槽总线为基础)。
2.掌握定时/计数器、输入/输出接口电路设计方法。
3.掌握DOS 中断控制编程技术的方法和应用。
4.掌握8086汇编语言程序设计方法,初探编程技巧。
5.掌握微机控制系统的调试方法。
二、课程设计任务 …微机交通灯控制系统…微机交通灯实时控制系统用于城市十字路口的交通管理。
南北和东西路口各设红(R A 、R B )、黄(O A 、O B )、绿(G A 、G B )三个交通灯(用LED 模拟)。
交通灯的控制要求是:1.南北(A)向和东西(B)向的交通灯定时30秒交换一次。
每次交换前,绿灯闪烁4次共4秒,黄灯亮2秒。
其交换时序为:南北东西2.南、北、东、西向道口各有一个车辆检测器B2。
有车辆经B1 A2 G A O A R A G B O B R BJ A1B2 南东 西 北过时,检测器输出信号有效,输出低电平(如A2=0)。
在一个方向道口24秒期间,通过车后超过5秒无车继续通过时,若另一方向道口有车等待,则交通灯自动提前交换。
交换前,绿灯闪烁4次共4秒,黄灯亮2秒。
(在实验时,车辆检测器由开关模拟。
)3.道口设有紧急车辆检测器。
若紧急车辆检测器有效,J=0时,二个方向交通灯立即亮红灯,原有计时器暂时停止计时,直至J=1。
然后又自动继续恢复正常的交通管理。
关于微机交通灯控制系统课程设计的说明布置任务、背景介绍一、布置任务介绍设计任务书二、介绍设计过程1、理解任务要求(调查研究)2、总体方案论证、分析❶根据任务要求,五个输入信号(信号为0时有效)的可能组合状态,以及识别的方法分析。
用软件程序判断南北(A)有车,转SN;判断南北(A)无车,转PB2的方法分析。
❷根据任务要求,两组共六个输出信号(信号为1时LED点亮)的可能组合状态,以及用软件程序使某一种灯状态输出的方法分析。
微机原理课程设计——交通灯控制系统

设计要求:设计要求:(1) 利用8253定时,8259中断及8255输出实现交通灯模拟控制。
(2) 实现能自动控制和手动控制。
实现能自动控制和手动控制。
(3) 实现能随时可以调整自动模式的绿灯和红灯时间和红灯时间1 1 设计目的设计目的电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
交通灯能保证行人过马路的安全交通灯能保证行人过马路的安全,,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口广泛用于十字路口,,车站车站, , , 码头等公共场所码头等公共场所码头等公共场所,,成为人们出行生活中不可少的必需品成为人们出行生活中不可少的必需品,,由于计算机技术的成熟与广泛应用计算机技术的成熟与广泛应用,,使得交通灯的功能多样化的功能多样化,,远远超过老式交通灯远远超过老式交通灯, , , 交通交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
义。
2 2 设计内容设计内容交通灯控制系统交通灯控制系统利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。
8086交通灯课程设计

8086交通灯课程设计一、课程目标知识目标:1. 理解8086微处理器的基本工作原理,掌握其指令系统及编程方法。
2. 学习交通灯系统的基本构成和工作原理,理解其与微处理器的结合方式。
3. 掌握通过编程实现对交通灯系统的控制,包括定时、切换等功能。
技能目标:1. 能够运用8086汇编语言编写程序,实现对交通灯系统的模拟控制。
2. 学会利用微处理器进行简单的时序控制,培养实际操作和动手解决问题的能力。
3. 通过课程设计实践,提升查找资料、团队协作和项目实施的能力。
情感态度价值观目标:1. 培养学生对计算机硬件及微处理器原理的兴趣,激发对工程实践的热情。
2. 增强学生的科技责任感,理解技术对社会生活的影响,尤其是在交通安全方面的应用。
3. 通过团队协作,培养学生的沟通能力和集体荣誉感,加强社会主义核心价值观的教育。
课程性质分析:本课程设计属于信息技术学科,以实践操作为主,结合理论知识的运用,强调学生动手能力和实际问题的解决。
学生特点分析:考虑到学生为高年级,具备一定的计算机基础和编程能力,能够较快掌握8086微处理器的相关知识和编程技巧。
教学要求:教学内容应紧密结合实际应用,注重理论与实践的结合,通过课程设计的方式,让学生在实际操作中深化理解,提高技能。
教学过程中应注重学生的主体地位,鼓励学生自主探究和合作学习,确保学习目标的实现。
二、教学内容1. 8086微处理器基础知识:包括8086的内部结构、工作原理、寄存器组、指令系统等,关联教材第二章内容。
2. 汇编语言编程:介绍汇编语言的语法、常用指令、伪指令、宏指令等,关联教材第三章内容。
3. 交通灯系统原理:讲解交通灯系统的基本构成、工作流程、控制逻辑,关联教材第五章内容。
4. 交通灯控制系统设计:包括硬件设计(接口电路、时序控制)和软件设计(汇编程序编写),关联教材第六章内容。
5. 课程设计实践:指导学生进行交通灯控制系统的编程与调试,实际操作中掌握知识,关联教材第七章内容。
汇编交通灯课程设计

汇编交通灯课程设计一、课程目标知识目标:1. 学生能够理解并掌握交通灯的基本原理,包括红绿灯、黄灯的功能及意义。
2. 学生能够描述交通灯控制系统的组成及其工作流程。
3. 学生能够运用汇编语言编写简单的交通灯控制程序。
技能目标:1. 学生能够运用所学知识,设计并实现一个简单的交通灯控制系统。
2. 学生能够通过编程实践,培养逻辑思维能力和问题解决能力。
3. 学生能够进行团队协作,共同完成项目任务,提高沟通与协作能力。
情感态度价值观目标:1. 学生能够认识到交通灯在现实生活中的重要作用,增强社会责任感。
2. 学生在课程学习过程中,培养对编程的兴趣,激发自主学习动力。
3. 学生能够通过团队协作,体验成功解决问题的喜悦,树立自信心。
课程性质:本课程为信息技术学科选修课程,以项目式教学为主,注重实践操作和团队合作。
学生特点:学生为初中年级,具有一定的信息技术基础,对编程有初步了解,好奇心强,喜欢动手实践。
教学要求:课程内容要与课本紧密关联,注重理论与实践相结合,充分调动学生的主观能动性,培养其创新精神和实践能力。
在教学过程中,关注学生的个体差异,引导他们积极参与,确保课程目标的实现。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. 交通灯基本原理:讲解交通灯的起源、功能及分类,使学生了解红绿灯、黄灯的作用和意义。
2. 交通灯控制系统组成:介绍交通灯控制系统的硬件和软件组成部分,包括控制器、信号灯、传感器等。
3. 汇编语言基础:回顾汇编语言的基本语法和指令,为编写交通灯控制程序打下基础。
4. 编写交通灯控制程序:结合课本内容,教授如何使用汇编语言编写简单的交通灯控制程序,包括顺序结构、循环结构和条件结构。
5. 实践操作:指导学生分组进行交通灯控制系统的设计和编程实践,培养学生的动手能力和团队协作能力。
6. 交通灯控制系统优化:探讨如何优化交通灯控制系统,提高交通效率,降低拥堵。
教学内容安排和进度:第一课时:交通灯基本原理及汇编语言基础回顾。
汇编交通灯课程设计

汇编交通灯课程设计一、课程目标知识目标:1. 学生能理解并掌握交通灯的基本原理,包括红绿灯变换的逻辑和时间控制。
2. 学生能够通过图表和程序代码,展示交通灯的工作流程。
3. 学生能够运用所学的编程知识,设计并实现一个简单的汇编语言交通灯程序。
技能目标:1. 学生能够运用汇编语言编写基本的控制语句,实现对交通灯状态的改变。
2. 学生通过课程实践,培养逻辑思维和问题解决能力,学会调试和优化程序。
3. 学生能够合作完成项目,提高团队协作和沟通能力。
情感态度价值观目标:1. 学生通过本课程的学习,培养对编程的兴趣,增强对信息技术学科的认识和喜爱。
2. 学生能够在项目实施过程中,体会团队合作的重要性,学会尊重他人意见,培养良好的团队合作精神。
3. 学生通过了解交通灯的运作,认识到科技在生活中的应用,激发学习科学技术的热情。
课程性质:本课程为信息技术学科,以项目式学习方式,结合汇编语言教学,提高学生的实践能力和创新思维。
学生特点:学生处于高年级阶段,具备一定的计算机基础和编程知识,对新鲜事物充满好奇,喜欢挑战。
教学要求:教师需引导学生通过实践活动,掌握汇编语言编程技巧,注重培养学生的实际操作能力和团队协作能力。
同时,关注学生的学习反馈,及时调整教学策略,确保课程目标的达成。
在此基础上,将目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 交通灯工作原理介绍:包括交通灯的功能、红绿灯变换规则及时序控制。
- 教材章节:第三章《顺序控制》- 内容列举:交通灯状态定义、状态切换条件、时间控制方法。
2. 汇编语言基础知识回顾:重点复习汇编语言中的寄存器、指令、数据定义等基本概念。
- 教材章节:第二章《汇编语言基础》- 内容列举:寄存器的作用、常用指令、数据类型及表示方法。
3. 编写汇编程序实现交通灯控制逻辑:- 教材章节:第四章《分支与循环》- 内容列举:使用if-else语句实现红绿灯切换,利用循环实现倒计时功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言课程设计交通信号灯控制系统初始界面:实现功能齐全。
思路清晰~~~~~~~~~~~~一、设计要求利用PC机键盘和屏幕实现交通灯信号灯,控制系统。
二、设计内容与要求基本要求:1、完成一个十字路口的红绿灯正常状态的控制:实现日常生活中正常的交通路口的控制功能,实现南北、东西方向的切换。
2、显示时间,精确到秒;灯亮时间长短可变。
3、具有自动和手动控制功能。
提高要求:1、完成夜间状态的控制:由于夜间车辆和行人很少,实现南北、东西方向的黄灯闪烁,进入夜间控制状态。
2、完成紧急状态的控制:南北双方向都设置为红灯,利于执行紧急公务。
3、完成交通堵塞状态的控制:由于交通事故等原因出现南北或东西某一方向堵塞,可人为地调整每个方向的红灯时间,进入手动控制状态。
附加要求:必要的辅助功能(设置、修改等)。
三、编程提示要求用汇编语言进行编程,下面是编写过程中主要涉及的知识点(其中举例只是实现方法之一,同学可根据自己对知识的掌握情况进行设计并调试):1、视频显示程序设计:一般由DOS 或BIOS调用来完成。
有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。
用INT 10H即可建立某种显示方式。
用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用,例:要输出多于一个字符时,利用DOS功能调用9。
2、键盘扫描程序设计:检测键盘状态,有无输入,并检测输入各值。
例:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器。
3、定时器中断处理程序:在此中断处理程序中,计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。
例:在系统定时中断处理程序中,有一条中断指令INT 1CH指令,在ROM BIOS中,1CH的处理仅一条IRET指令,实际上它并没有做任何工作而只是为用户提供了一个软中断类型号,所以INT 1CH指令每秒也将执行18.2次,设计中可用这个定时周期性工作的处理程序来代替原有的1CH程序,实现定时。
4、显示时间子程序:将计时单元的二进制转换为十进制数加以显示。
参考资料:1.《微型计算机接口技术及应用》2.《汇编语言程序设计》3.《微型计算机汇编语言程序设计》一、教科书中关于IBM-PC/XT机系统硬件的内容,包括8250(串行口控制器),8253,8255,8259等。
二、DOS系统功能调用。
INT 21H1、显示显示单个字符入参:AH=02HDL=字符ASCII值出参:无显示字符串入参:AH=09HDS:DX 此寄存器对指向内存中字符串的首地址,字符串以$结束出参:无2、键盘检查键盘状态入参:AH=0BH出参:AL=00H无输入0FFH有一字符读键盘字符入参:AH=08H出参:AL=字符ASCII值3、其它退出程序,返回系统入参:AH=4CH出参:无取中断矢量入参:AH=35HAL=中断类型号出参:ES:BX 中断矢量,ES为段地址,BX为偏移地址置中断矢量入参:AH=25HAL=中断类型号DS:DX 中断矢量,DS为段地址,DX为偏移地址出参:AL=字符ASCII值三、BIOS屏幕功能调用。
INT 10H1、清屏操作MOV AX,0600HMOV CX,0000HMOV DX,184FHMOV BH,07HINT 10H2、移动光标MOV AH,02HMOV DH,** ;**为目的地行数(0-24)MOV DL,** ;**为目的地列数(0-79)MOV BH,00HINT 10H3、禁止光标显示MOV AH,01HMOV CX,2000HINT 10H4、恢复光标显示MOV AH,01HMOV CX,0C0DHINT 10H;//*****************************************************************//; 微机原理课程设计; 交通信号灯控制系统设计; 电子0803班;;; 2010-4-17 18:55;//****************************************************************//STACK SEGMENT STACKDW 64 DUP(?)STACK ENDS;//***************************************************************************** **//; 功能:显示宏定义;//****************************************************************************// SHOWLINE MACRO STR,STA,LEN,POS,COL ;显示字符串宏PUSH BXPUSH AX ;//10MOV BP,OFFSET STR ;显示起始位置ADD BP,STA ;第几个开始MOV DX,POS ;位置MOV CX,LEN ;长度MOV BX,COL ;颜色MOV AX,1301H ;字符串显示中断INT 10HPOP AXPOP BXPOP DX ;//20ENDM;//***************************************************************************** **//; 宏功能:读取时间子程序;//****************************************************************************// TIMEBUF0 MACRO TIME,BUF ;显示字符串宏PUSH BXPUSH AX ;//10MOV DI,OFFSET BUFMOV AL,TIMEMOV BL,0AHMOV AH,00HDIV BLADD AL,30HADD AH,30HMOV [DI],ALINC DIMOV [DI],AHPOP AXPOP BXENDM;//*********************************************************************//;功能:延时一秒宏定义,8253每秒中断18.2次;//********************************************************************//DELAY MACRO ;延时一秒LOCAL DLOOP ;利用INT 1AH/00H取得中断次数(DX),PUSH AXPUSH BXPUSH DXMOV AH,00H ;BIOS调用//30INT 1AH ;55ms引起一次中断,作为定时信号。
ADD DL,18 ;定时1S,需要18个定时单位MOV BL,DLINC BLDLOOP: MOV AH, 00HINT 1AHCMP DL,BL ;是否累计到1SJNZ DLOOP ;没到,继续读POP DXPOP AX ;//40ENDM;//************************************************************//;功能:;数据定义;//**************************************************************//DA TA SEGMENTTIME_Y DB 2TIME DB 10TIME0 DB 7TIME_G DB 7TIME_R DB 10BUF0 DB 0FHBUF_X DB '00' ;定义交通路口BUF_Y DB '00'BUF DB '00'TABLE01 DB ' Traffic Lights Control System 'TABLE02 DB ' ‘TABLE03 DB '--------------------------------------------------------------------------------------------------------------' TABLE04 DB ' ',0B3H,' | ',0B3H,' | 'TABLE05 DB ' ',0B3H,' ',0B3H,' | SETTING 'TABLE06 DB ' ',0B3H,' | ',0B3H,' | 'TABLE07 DB ' ',0B3H,' N ',0B3H,' | 1. CHANGETIME : [C] 'TABLE08 DB ' ',0B3H,' | ',0B3H,' | 2. DOBY : [D] 'TABLE09 DB ' ',0B3H,' ',0B3H,' | 3. NIGHT : [N] 'TABLE10 DB 13 DUP(0C4h) ,0D9h,' ',0C0h, 11 DUP(0c4h) ,'| 4. EMERGEN : [E] 'TABLE11 DB ' | 5. QUIT : [Q] 'TABLE12 DB ' ',0FH,' | ' ;//60TABLE13 DB ' | 'TABLE14 DB '- - - -E- - ',0FH,' ',0FH,' - -W- - -|---------------------------------------------------------------'TABLE15 DB ' | 'TABLE16 DB ' ',0FH,' | NOW : NORMAL 'TABLE17 DB ' | 'TABLE18 DB 13 DUP(0C4H) ,0BFh,' ',0DAH, 11 DUP(0C4H),'| 1. Quit system [Q] 'TABLE19 DB ' ',0B3H,' ',0B3H,' | 'TABLE20 DB ' ',0B3H,' | ',0B3H,' |--------------------------------------------------------- 'TABLE21 DB ' ',0B3H,' S ',0B3H,' |'TABLE22 DB ' ',0B3H,' | ',0B3H,' | Write by QIULI ' ;//70TABLE23 DB ' ',0B3H,' ',0B3H,' | Tle:1522xxxxxxx 'TABLE24 DB ' ',0B3H,' | ',0B3H,' | Mail:'STR DB 'Please input times R: ;G: ;Y: ;[Y/N] 'STR1 DB 'CHANGETIME 'STR2 DB 'DOBY 'STR3 DB 'NIGHT 'STR4 DB ' Quit system [Q] 'STR5 DB 'NORMAL 'STR6 DB '1. Quit system [Q] 'STR7 DB '2. Back to NORMAL [B] 'STR8 DB 'EMERGEN 'STR9 DB'X--G,Y--R:[X] ;X--R,Y--G:[Y]'STRCL DB ' 'STR10 DB ':'FLG DB 0FLG0 DB 0DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TA,SS:STACK;//***********************************************************//;//80;功能:;主函数;//******************************************************//MAIN PROC FARMOV AX, DATAMOV DS, AXMOV ES, AXFUNCT: MOV AH,01H ;清除光标MOV CX,2000HINT 10HCALL INITIALN1: CALL SHOWTIMECALL GETCHARCMP AL,'C' ;调整时间JNE LOOP1CALL CHANGTIMEJMP FUNCTLOOP1: CMP AL,'D' ;手动/自动控制状态JNELOOP2 ;100CALL DOBYLOOP2: CMP AL,'N' ;夜间模式JNE LOOP3CALL NIGHTLOOP3: CMP AL,'E' ;紧急模式JNE LOOP4CALL EMERGENLOOP4: CMP AL,'Q' ;退出JNE N1ESC: MOV AH,4CH ;//145INT 21H;//****************************************************************//;功能:紧急情况子函数;//*************************************************************//EMERGEN PROC NEAR ;//150MOV TIME,20MOV FLG,1TIMEBUF0 TIME,BUFCALL EMTN0:CALL GETCHARCMP AL,'B' ;紧急控制按钮是否按下JNE TN1JMP FUNCTTN1: CMP AL,'Q' ;退出控制按钮是否按下JNE TN0JMP ESCRET;//130EMERGEN ENDP ;//170;//****************************************************************//;功能:紧急情况界面初始化;//*************************************************************//EM PROC NEAR ;//150SHOWLINE BUF,0,2,0A12H,0004H ;红灯;紧急情况SHOWLINE BUF,0,2,1212H,0004H ;红灯;//120SHOWLINE BUF,0,2,0E0CH,0004H ;红灯SHOWLINE BUF,0,2,0E18H,0004H ;红灯SHOWLINE BUF0,0,1,0C12H,0004H ;红灯SHOWLINE BUF0,0,1,1013H,0004H ;红灯SHOWLINE BUF0,0,1,0E0FH,0004H ;红灯;//160SHOWLINE BUF0,0,1,0E16H,0004H ;红灯SHOWLINE STR8,0,10,1038H,000FH ;SHOWLINE STR6,0,25,122CH,000FH ; ;//160SHOWLINE STR7,0,25,132CH,000FH ;RET;//130EM ENDP ;//170;//*************************************************************//;功能:夜晚模式子函数;//**************************************************************//NIGHT PROC NEARMOV TIME,0TIMEBUF0 TIME,BUFNG2: CALL NIDELAYCALL GETCHARCMP AL,'B' ;夜间控制按钮是否按下JNE NG1JMP FUNCTNG1: CMP AL,'Q'JNE NG2JMP ESCRETNIGHT ENDP;//*************************************************************//;功能:夜晚模式显示界面函数;//**************************************************************//NI PROC NEARSHOWLINE BUF,0,2,0A12H,000EH ;黄灯;夜间显示控制SHOWLINE BUF,0,2,1212H,000EH ;黄灯SHOWLINE BUF,0,2,0E0CH,000EH ;黄灯SHOWLINE BUF,0,2,0E18H,000EH ;黄灯SHOWLINE BUF0,0,1,0C12H,000EHSHOWLINE BUF0,0,1,1013H,000EHSHOWLINE BUF0,0,1,0E0FH,000EHSHOWLINE BUF0,0,1,0E16H,000EHSHOWLINE STR3,0,10,1038H,000FH ;SHOWLINE STR6,0,25,122CH,000FH ; ;//160SHOWLINE STR7,0,25,132CH,000FH ;RETNI ENDP;//**************************************************************//; 功能:手动模式子函数;//************************************************************// DOBY PROC NEAR ;开关子函数MOV FLG,0OP: CALL DOOP4: CALL GETCHAR ;调用输入控制字符CMP AL,'Y' ;手动控制下开JNE OP1MOV FLG,1JMP OPOP1: CMP AL,'X' ;手动控制下关JNE OP2MOV FLG,2JMP OPOP2: CMP AL,'Q'JNE OP3 ;退出JMP ESCOP3: CMP AL,'B'JNE OP4 ;手动/自动控制JMP FUNCTRETDOBY ENDP;//****************************************************//;手动模式显示函数;//****************************************************/DO PROC NEAR ;开关子函数CMP FLG,0JA DO0;SHOWLINE BUF,0,2,0A12H,000EH ;黄灯SHOWLINE BUF,0,2,1212H,000EH ;黄灯SHOWLINE BUF,0,2,0E0CH,000EH ;黄灯SHOWLINE BUF,0,2,0E18H,000EH ;黄灯JMP DO2DO0: CMP FLG ,1JNE DO1SHOWLINE BUF,0,2,0A12H,0002H ;SHOWLINE BUF,0,2,1212H,0002H ;SHOWLINE BUF,0,2,0E0CH,0004H ;SHOWLINE BUF,0,2,0E18H,0004H ;JMP DO2DO1: SHOWLINE BUF,0,2,0A12H,0004H ;SHOWLINE BUF,0,2,1212H,0004H ;SHOWLINE BUF,0,2,0E0CH,0002H ;SHOWLINE BUF,0,2,0E18H,0002H ;SHOWLINE BUF0,0,1,0C12H,0004HSHOWLINE BUF0,0,1,1013H,0004HSHOWLINE BUF0,0,1,0E0FH,0002HSHOWLINE BUF0,0,1,0E16H,0002HJMP DO3DO2: CMP FLG,0JNE DO4SHOWLINE BUF0,0,1,0C12H,000EHSHOWLINE BUF0,0,1,1013H,000EHSHOWLINE BUF0,0,1,0E0FH,000EHSHOWLINE BUF0,0,1,0E16H,000EHJMP DO3DO4: CMP FLG,1JNE DO3SHOWLINE BUF0,0,1,0C12H,0002HSHOWLINE BUF0,0,1,1013H,0002HSHOWLINE BUF0,0,1,0E0FH,0004HSHOWLINE BUF0,0,1,0E16H,0004HDO3: SHOWLINE STR9,0,30,112AH,000FH ;SHOWLINE STR2,0,10,1038H,000FH ;SHOWLINE STR6,0,25,122CH,000FH ; ;//160SHOWLINE STR7,0,25,132CH,000FH ;RETDO ENDP;//**************************************************************************// ;功能:改变时间子函数;//*******************************************************************// CHANGTIME PROC NEARCALL CHANSHOWLINE STR10 ,0,1,113AH,000FHMOV AH,01HINT 21HSUB AL,30H ;将输入时间值转化成MOV BL,10 ;输出十进制值;//156MUL BLMOV TIME_R,ALMOV AH,01HINT 21HSUB AL,30HADD TIME_R,ALSHOWLINE STR10 ,0,1,113FH,000FHMOV AH,01HINT 21HSUB AL,30H ;将输入时间值转化成MOV BL,10 ;输出十进制值;//156DDMUL BLMOV TIME_G,ALMOV AH,01HINT 21HSUB AL,30HADD TIME_G,ALSHOWLINE STR10 ,0,1,1144H,000FHMOV AH,01HINT 21HSUB AL,30H ;将输入时间值转化成MOV BL,10 ;输出十进制值MUL BLMOV TIME_Y,ALMOV AH,01HINT 21HSUB AL,30HADD TIME_Y,ALCH1: CALL GETCHARCMP AL,'Y'JE CH2CMP AL,'N'JNE CH1MOV BL,10MOV TIME_R,BLMOV BL,5MOV TIME_G,BLMOV BL,4MOV TIME_Y,BLCH2:RETCHANGTIME ENDP;//*******************************************************************//;改变时间显示函数;//****************************************************************//CHAN PROC NEARSHOWLINE STR,0,40,1126H,000FHSHOWLINE STR1,0,10,1038H,000FHSHOWLINE TABLE17,0,25,122CH,000FHSHOWLINE BUF,0,2,0A12H,000EH ;黄灯SHOWLINE BUF,0,2,1212H,000EH ;黄灯SHOWLINE BUF,0,2,0E0CH,000EH ;黄灯SHOWLINE BUF,0,2,0E18H,000EH ;黄灯SHOWLINE BUF0,0,1,0C12H,000EHSHOWLINE BUF0,0,1,1013H,000EHSHOWLINE BUF0,0,1,0E0FH,000EHSHOWLINE BUF0,0,1,0E16H,000EHRETCHAN ENDP;//***************************************************************************** //; 功能:时钟子程序X方向;//****************************************************************// SHOWTIME PROC NEARXOR AL,ALMOV FLG,ALMOV FLG0,ALXOR AL,ALMOV AL,TIME_RMOV TIME,ALMOV AL,TIME_GMOV TIME0,ALS1: MOV AH,01HINT 16HJNZ S3DELAY ;延时一秒DEC TIMECMP TIME,-1JNE S2 ;不等于-1,显示,否则··CMP FLG,2JE SCMP FLG,1JE S0MOV AL,TIME_GMOV TIME,ALINC FLGJMP S2S0: MOV AL,TIME_YMOV TIME,ALINC FLGJMP S2S: MOV AL,TIME_RMOV TIME,ALMOV FLG,0S2: TIMEBUF0 TIME ,BUF_XCALL OTHERCALL SHOWDJMP S1S3:RETSHOWTIME ENDP;//*******************************************************//;//功能:时钟子程序Y方向;//*****************************************************//OTHER PROC NEARDEC TIME0CMP TIME0,-1JNE S23 ;不等于-1,显示,否则··CMP FLG0,2JE S11CMP FLG0,1JE S10MOV AL,TIME_YMOV TIME0,ALINC FLG0JMP S23S10: MOV AL,TIME_RMOV TIME0,ALINC FLG0JMP S23S11: MOV AL,TIME_GMOV TIME0,ALMOV FLG0,0S23: TIMEBUF0 TIME0 ,BUF_YRETOTHER ENDP;//***************************************************************************// ;功能:显示时钟子程序;//***************************************************//SHOWD PROC NEARCMP FLG,0JNE D0SHOWLINE BUF_X,0,2,0E0CH,0004H ;红灯SHOWLINE BUF_X,0,2,0E18H,0004H ;红灯SHOWLINE BUF0,0,1,0E0FH,0004H ;红灯SHOWLINE BUF0,0,1,0E16H,0004H ;红灯JMP D11D0: CMP FLG,1JNE D1SHOWLINE BUF_X,0,2,0E0CH,0002H ;绿灯SHOWLINE BUF_X,0,2,0E18H,0002H ;绿灯SHOWLINE BUF0,0,1,0E0FH,0002H ;绿灯SHOWLINE BUF0,0,1,0E16H,0002H ;绿灯JMP D11D1: SHOWLINE BUF_X,0,2,0E0CH,000EH ;黄灯SHOWLINE BUF_X,0,2,0E18H,000EH ;黄灯SHOWLINE BUF0,0,1,0E0FH,000EH ;黄灯SHOWLINE BUF0,0,1,0E16H,000EH ;黄灯D11: CMP FLG0,0JNE D2SHOWLINE BUF_Y,0,2,0A12H,0002H ;红灯SHOWLINE BUF_Y,0,2,1212H,0002H ;红灯SHOWLINE BUF0,0,1,0C12H,0002H ;红灯SHOWLINE BUF0,0,1,1013H,0002H ;红灯JMP D4D2: CMP FLG0,1JNE D3SHOWLINE BUF_Y,0,2,0A12H,000EH ;黄灯SHOWLINE BUF_Y,0,2,1212H,000EH ;黄灯SHOWLINE BUF0,0,1,0C12H,000EH ;黄灯SHOWLINE BUF0,0,1,1013H,000EH ;黄灯JMP D4D3: SHOWLINE BUF_Y,0,2,0A12H,0004H ;绿灯SHOWLINE BUF_Y,0,2,1212H,0004H ;绿灯SHOWLINE BUF0,0,1,0C12H,0004H ;绿灯SHOWLINE BUF0,0,1,1013H,0004H ;绿灯D4: RETSHOWD ENDP;//*******************************************************************//;功能:得到字符;//***************************************************************//GETCHAR PROC NEARMOV AH,07HINT 21HRETGETCHAR ENDP;//***************************************************************************// ;功能:实现界面初始化;//***************************************************************************// INITIAL PROC NEAR ;初始化交通路口的显示SHOWLINE TABLE01,0,70,0100H,15SHOWLINE TABLE02,0,70,0200H,15SHOWLINE TABLE03,0,90,0300H,15SHOWLINE TABLE04,0,70,0400H,15SHOWLINE TABLE05,0,70,0500H,15SHOWLINE TABLE06,0,70,0600H,15SHOWLINE TABLE07,0,70,0700H,15SHOWLINE TABLE08,0,70,0800H,15SHOWLINE TABLE09,0,70,0900H,15SHOWLINE TABLE10,0,70,0A00H,15SHOWLINE TABLE11,0,70,0B00H,15SHOWLINE TABLE12,0,70,0C00H,15SHOWLINE TABLE13,0,70,0D00H,15SHOWLINE TABLE14,0,90,0E00H,15SHOWLINE TABLE15,0,70,0F00H,15SHOWLINE TABLE16,0,70,1000H,15SHOWLINE TABLE17,0,90,1100H,15SHOWLINE TABLE18,0,70,1200H,15SHOWLINE TABLE19,0,90,1300H,15SHOWLINE TABLE20,0,80,1400H,15SHOWLINE TABLE21,0,70,1500H,15SHOWLINE TABLE22,0,70,1600H,15SHOWLINE TABLE23,0,70,1700H,15SHOWLINE TABLE24,0,70,1800H,15RETINITIAL ENDP;//************************************************************************// CODE ENDSEND MAIN。