微机原理课程设计——交通灯控制系统
微机原理课设交通信灯模拟控制系统
南京工程学院
通信工程学院
课程设计说明书(论文) 题目交通信号灯模拟控制系统
课程名称微型计算机原理与接口技术
专业
班级
学生姓名
学号
设计地点
指导教师
设计起止时间:2013年12月23日至2013年12月27日
目录
第一章概述 (2)
第二章设计介绍 (3)
2.1功能描述 (3)
2.2流程图 (3)
第三章程序实现 (3)
第四章功能演示 (13)
4.1正常运行 (13)
4.2只有A道通行 (13)
4.3只有B道通行 (13)
4.4紧急情况 (13)
第五章总结与展望 (13)
5.1实验结论 (13)
5.2实验总结 (13)
第六章参考文献 (14)
第一章概述
在实际生活中,交通信号灯控制着交通的秩序安全。本次微机原理课程设计就是模拟实际十字路口交通灯的运行规则,用汇编语言来设计交通信号灯。
本次设计主要是实现对十字路口交通信号灯的控制而进行的编程,用8255A的A口控制东西方向的交通灯,用8255A的B口控制南北方向的交通灯。当程序正常运行时,依次为东西方向的绿灯和南北方向的红灯闪烁25s,东西方向的绿灯灭后东西方向的黄灯亮5s,随后东西方向的红灯和南北方向的绿灯亮并闪烁15s,南北方向的黄灯亮5s,之后同理往复循环。用8255A的C口控制紧急情况时东西、南北方向的红、黄、绿灯的亮灭,通过读
C口输入的数据并进行测试查询,从而对紧急情况进行及时处理。
用LED(发光二极管)模拟信号灯,8255A实现对信号灯的控制(PC0~PC6分别接D0~D6),8253的计数器2实现基本单位定时(如10ms)信号的输出;再用8255A的PA口查询定时信号的变化,并统计脉冲数,以实现25s、15s和5s的定时。
微机原理交通灯控制
微机原理交通灯控制
微机原理交通灯控制是通过使用微型计算机或微控制器对交通信号灯进行控制的一种方式。这种控制方式可以提高交通信号灯的准确性、稳定性和灵活性。
微机原理交通灯控制的基本原理是通过微控制器对交通信号灯的亮灭状态进行控制。微控制器是一种集成了计算机的核心部件(CPU)、存储器(ROM和RAM)、输入输出接口(IO口)等的芯片。通过编程,可以控制IO口的高低电平来控制交通信号灯的亮灭状态。
首先,设计人员需要根据实际交通需要制定一套交通灯控制方案。这个方案一般包括每个信号灯的亮灭时间、整个交通流程的时序等等。通过编程,将这个方案写入到微控制器的存储器中。
然后,通过输入设备(如红外线传感器、按钮等)检测实际交通情况,并将这些信息送入微控制器。微控制器根据预设的交通灯控制方案,对交通信号灯进行控制。
控制过程一般分为以下几个步骤:
1. 系统初始化:微控制器上电后,首先进行初始化设置,包括设置IO口的工作模式、输入输出状态等。
2. 采样输入:通过输入设备采样实际交通情况,如检测车辆和行人的存在与否,或者通过视频流进行图像识别。
3. 运行控制算法:根据控制方案,通过编程实现的算法来决策当前交通信号灯的亮灭状态。
4. 输出控制信号:根据控制算法的决策结果,设置IO口的电平状态,从而控制交通信号灯的亮灭。
5. 延时处理:在切换交通信号灯亮灭状态之间,通常会有一段时间的延时,以保证交通参与者有足够的时间作出反应。
6. 循环运行:以上步骤不断循环执行,从而实现对交通信号灯的持续控制。
微机原理交通灯控制的优点有以下几个:
微机课程方案交通灯控制系统方案
交通灯控制系统设计
一、设计目的
⒈ 了解交通灯管理的基本工作原理⒉ 熟悉8259中断控制器的工作原理和
应用编程⒊ 熟悉8255并行接口的各种工作方式和应用⒋ 熟悉8253计数
器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法
⒌ 掌握多位LED显示问题的解决
二、设计要求
1.东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2位数码管上显示计数值<每秒减1),从65减为0。
3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;
4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。
三、电路及连线设计
在本次课程设计当中,本次设计采用的是软件定时
<即通过汇编指令)实现的。而灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。
微机系统课程设计实验报告交通信号灯自动控制模拟指示系统
微机系统课程设计实验敷陈
课题:交通信号灯自动控制模拟指示系统
一、课程设计目的
1.掌握CPU与各芯片管脚连接方式,提高借口扩展硬件电路
的连接能力。
2.加深对按时器、计数器和并行借口芯片的工作方式和程方
式的理解。
3.掌握交通信号灯自动控制系统的设计思路和实现方式。
二、课程设计内容
设计并实现十字路口通信号自动控制模拟指示系统。设该路
口由A、B两条通行相交而成,四个路口各设一组红、黄、绿
三色信号灯,用两位数码管作倒计时显示。
三、应用系统设计方案
交通信号灯的亮灭时间及数码管显示时间可以通过8253来
控制,8253的时钟源采用时钟信号发生器与分频电路提供,通过计算获得计数初值为1000。按照需要设定工作在方式3.
交通信号灯及数码管可以采用系统提供的相应模块,控制可
以通过8255可程并行借口,PA口控制红黄绿交通灯的亮灭,PB口和PC口控制时间显示数码管的段和位。PC0作为OUT1
的输入。
四、系统测试结果
1.根本功能实现
(1)以秒为计时单位,两位数码管以十进制递减计数显
示通行剩余时间,在递减计数为零瞬间转换。即南
北的绿灯、东西的红灯同时亮30秒,同时南北路口
数码管递减显示绿灯剩余时间;为0时,南北的黄
灯闪烁5秒钟,同时东西的红灯继续亮;南北的红
灯、东西的绿灯同时亮30秒,同时东西路口数码管
递减显示绿灯剩余时间;为0时,南北红灯继续亮,
同时东西的黄灯闪烁5秒;假设不完毕,那么开场
循环。
(2)通过键盘可以对红、黄、绿三色信号灯所亮时间再
0~99内任意设定。
(3)十字路口的通行气势状态可自行设定,系统启动后
微机原理交通灯系统设计大作业
微机原理与接口技术
大作业
交通灯控制电路设计
1.设计题目
交通灯控制电路设计
要求:
1-每个路口都有车行指示灯:红,黄,绿
2-每个路口都有人行指示灯:红,绿
3-倒计时显示:两位数码管
4-使用PC-XT总线,定时器
5-设计硬件电路,列写控制规律,软件流程。
2.设计方案
本方案通过使用PC-XT总线,定时器,20个共阴极LED灯管,2片8255芯片与74LS138译码器,加上2个与门,以及16个LED共阴极数码管实现题目给定的功能。
功能概述:使东南西北四个路口的车行红绿黄灯,与人行道的红绿灯,实现如下功能:
1-初始状态,四个路口全为红灯;
2-东西路口车行指示灯红灯,东西路口人行指示灯绿灯,南北路口车行指示灯绿灯,南北路口人行指示灯红灯,延时
3-东西路口车行指示灯黄灯闪烁,东西路口人行指示灯红灯,南北路口车行指示灯绿灯,南北路口人行指示灯红灯,延时
4-东西路口车行指示灯绿灯,东西路口人行指示灯红灯,南北路口车行指示灯红灯,南北路口人行指示灯绿灯,延时
5-东西路口车行指示灯绿灯,东西路口人行指示灯红灯,南北路口车行指示灯黄灯闪烁,南北路口人行指示灯红灯,延时
6-在各个交通灯按照上述逻辑循环变换期间,2位LED数码管不间断计时进行倒计时,同时预备进行各个颜色交通灯的转换。
3.硬件电路
如图所示
由硬件电路分析:
AEN=0-非DMA操作,可以使译码器参与译码输出有效的片选信号,故AEN=0,取反后为1。
由于G为高电平有效,G2A,G2B为低有效,故A9=0;A8=0,AEN=0使G2A,G2B,G有效。
由74LS138真值表可得输入
微机原理课程设计交通灯
二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书
课程名称:微机原理课程设计
班级:电子信息工程2009级 6 班学号:200904135150
姓名:张强
指导教师:徐守明
二○一二年二月二十日
十字路口交通灯控制系统设计
一、摘要
随着现代科学技术的进步,自动化控制技术越来越多地被运用到生产生
活当中。现代交通的发展,对自动化控制技术也提出了较高的要求,如何科
学有效对交通流量进行管理,已成为一项社会课题。在课程设计的背景下,
本系统运用了8255和8253芯片,基于8086CPU实现了通过B口控制南北东
西方向的红绿灯的循环点亮,实现了对交通流量的模拟协调调度。另外,本
系统还有手动测试功能。
关键词:交通灯;8255;8253;LED;模拟控制
Keywords:traffic light;8253;8255;LED;analog control
二、设计任务及要求
利用“微机实验系统”的8255可编程接口的A口(PA7-PA0)、B口(PB7-PB0)、C口(PC7-PC0)控制发光二级管(红、绿灯)的L1-L8和开关KK1- KK2,使发光二级管按照十字路口交通灯的规律交替发光,模拟交通信号灯的工作。
●发光二级管(LED) 显示电路
①8个LED L1-L8,4个红灯、4个绿灯
②L=0 LED亮; L= LED灭
●开关对交通灯的控制
①开关KK2=0 红灯皆亮;开关KK2=1 绿灯皆亮
②开关KK1=0 启动交通灯的亮灭;开关KK1=1停止交通灯的亮灭(所有发光二级管皆灭)●交通灯亮灭规律参考
②北方向绿灯亮、东西方向红灯亮20秒
微机原理课程设计 8255控制交通灯
微机原理课程设计 8255控制交通灯
微机原理课程设计-8255控制交通灯
微机原理课程设计:8255模拟交通灯
1、目的:自学8255采用方法,自学演示交通灯掌控的方法,自学双色灯的采用。
2、建议:掌控4个双色led灯(可以红肿,蓝,黄光),演示十字路口交通灯管理。
3、电路及
连线
pc0-pc3连dg1-dg4,pc4-pc7连dr1-dr4。8255片选cs8255连138译码处210h。4、说明
(1)因为本实验就是演示交通灯掌控实验,所以必须先介绍实际交通灯的变化
规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后
转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西
绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。
(2)双色led就是由一个红色led管芯和一个绿色led管芯PCB在一起,公用负端。当红色正端提高电平,绿色正端提低电平时,红灯暗;红色正端提低电平,绿色正端提高
电平时,绿灯暗;两端都提高电平时,黄灯暗。(3)74ls240为8输入输出的逆向驱动器。
5、顺利完成的任务
(1)利用计算机和微机原理试验箱,将实验6的程序tlamp_88.asm在试验箱运行和
调试。全速运行,观察整体效果。单步运行,观察程序每条语句额执行效果,理解语句含义。
(2)修正实验连线为,pc7-pc4连dg1-dg4,pc3-pc0连dr1-dr4。8255片挑选
cs8255连138译码处为210h孔。将tlamp_88.asm另存为jiaotong.asm。修正
微机原理与接口技术课程设计-交通灯控制系统
版权所有
微机原理课程设计
报告书
课题名
班级
学号
姓名
指导教师
日期
目录
1 设计目的 (2)
2 设计内容 (2)
3 设计要求 (2)
4 设计原理与硬件电路 (3)
5 程序流程图 (5)
6 程序代码 (5)
7 程序及硬件系统调试情况 (9)
8 设计总结与体会 (10)
9 参考文献 (10)
1 设计目的
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。
微机原理交通灯课程设计
微机原理交通灯课程设计
一、课程目标
知识目标:
1. 理解微机原理在交通灯控制系统中的应用,掌握交通灯控制系统的基本组成和工作原理。
2. 学会使用微控制器进行交通灯程序的编写,理解程序中各个模块的功能和实现方法。
3. 掌握交通灯控制中的时间计算方法,学会根据实际需求调整信号灯的变换周期。
技能目标:
1. 能够运用所学知识设计并实现一个简单的交通灯控制系统,具备实际操作和调试的能力。
2. 培养学生运用编程语言解决实际问题的能力,提高编程技巧和逻辑思维能力。
3. 培养学生团队协作和沟通能力,能够共同分析问题、讨论解决方案并完成任务。
情感态度价值观目标:
1. 激发学生对微机原理和交通工程学科的兴趣,培养探究精神和创新意识。
2. 培养学生关注社会热点问题,认识到科技在解决现实问题中的作用,提高社会责任感。
3. 培养学生严谨、认真的学习态度,树立良好的学术道德观念。
课程性质:本课程为实践性较强的学科课程,结合微机原理和交通工程知识,培养学生实际操作和创新能力。
学生特点:学生具备一定的微机原理和编程基础,对实际操作和动手实践有较高的兴趣。
教学要求:注重理论与实践相结合,引导学生通过实际操作掌握知识,提高解决实际问题的能力。教学过程中,关注学生的个体差异,鼓励学生积极参与,充分调动学生的主观能动性。通过课程学习,使学生能够达到上述设定的知识、技能和情感态度价值观目标。
二、教学内容
1. 交通灯控制系统原理:介绍交通灯控制系统基本组成,包括信号灯、控制器、传感器等,解析各部分功能及相互关系。
参考教材章节:第三章 微控制器应用实例,第四节 交通灯控制系统。
微机原理课程设计--交通灯控制系统设计
交通灯控制系统设计
学生姓名
学号12011244164
所在院宁夏大学物电学院
专业名称
班级2011级网络工程1班
指导教师
二○一三年十一月
交通灯控制系统设计
学生:王彦斌指导教师:庄红
内容摘要:因为社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。其中用标准逻辑器件来实现电路在很大程度上要受到逻辑器件如门电路等的影响,调试工作极为不易,而笔者对单片机运用来进行系统的设计开发也不是很熟悉,因此,最终笔者选择了用可编程的控制器PLC来实现系统功能的设计,完成本次课设的题目。
关键词:PLC 交通灯程序报告设计
Traffic light control system design
Abstract:Along with the development of the society economy, the city transportation problem causes people's concern more and more. The coordination of the person ,car , the road threes relation, have become one of the important problems that the transportation management section demand resolve. The city transportation control system is the calculator that used for the city transportation data monitor. The transportation signal beacon control and transportation to appease comprehensive management system, it is in the modern city transportation supervision conductor system to constitute part most importantly.
交通信号灯的控制(微机原理课程设计)
一.设计任务及要求:
交通信号灯的控制:
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 路口方向。之后,重复上述过程。
二.方案比较及评估论证:
分析题意,红,黄,绿灯可分别接在8255 的 A 口,B 口和 C 口上,灯的亮灭可直接由 8086 输出 0,1 控制。 30 秒延时及闪烁由 8253 控制,由闪烁的实现方法可分为两种方案:
方案一:
设 8253 各口地址分别为:设 8253 基地址即通道 0 地址为04A0H;通道 1 为 04A2H;通道 2 为 04A4H;命令控制口为 04A6H。
黄灯闪烁的频率为 1HZ,所以想到由 8253 产生一个 1HZ 的方波, 8255 控制或者门打开的时间,在或者门打开的时间内, 8253 将方波信号输入或者门使黄灯闪烁。
由于计数值最大为65535,1MHZ/65536 的值远大于2HZ,所以采用两个计数器级联的方式,8253 通道 0 的 clock0 输入由分频器产生的 1MHZ 时钟脉冲,工作在方式 3 即方波发生器方式,理论设计输出周期为 0.01s 的方波。 1MHZ 的时钟脉冲其重复周期为 T=1/1MHZ=1 s,因此通道 0 的计数初值为 10000=2710H。由此方波分别作为 clock1 和 clock2 的输入时钟脉冲,所以通道 1 和通道 2 的输入时钟频率为 100HZ,通道 1 作计数器工作在方式 1,计数初值 3000=BB8H 既 30s,计数到则输出一个高电平到 8255 的 PA 口, 8255 将 A 口数据输入到 8086,8086 检测到
微机接口第10章课程设计-交通灯控制系统PPT课件
目录
• 课程设计背景与目的 • 交通灯控制系统硬件设计 • 软件编程实现交通灯功能 • 系统调试与性能优化 • 界面展示与操作指南 • 课程总结与拓展延伸
01 课程设计背景与目的
交通灯控制系统概述
交通灯控制系统的作用
交通灯是城市交通管理的重要手段之一,通过合理的灯光信 号控制,可以有效地指挥交通流,提高道路通行效率,保障 交通安全。
确保数据传输正常。
软件调试技巧分享
模块化设计
采用模块化设计思想,将系统 划分为多个功能模块,便于单
独测试和调试。
逐步调试
从主程序开始,逐步深入到各 个子程序和中断服务程序,跟 踪程序的执行过程。
断点设置
在关键代码处设置断点,观察 程序执行到断点处的状态,包 括寄存器、内存等信息。
日志输出
在程序中加入日志输出语句, 记录程序执行过程中的关键信
02 交通灯控制系统硬件设计
主控制器选型及特点介绍
主控制器选型
采用高性能、低功耗的STM32F103C8T6单片机作为主控制器,具有丰富的外设接口和强大的处理能力,能够满 足交通灯控制系统的需求。
特点介绍
STM32F103C8T6单片机具有高性能、低功耗、丰富的外设接口、强大的处理能力和易于开发等优点。其最高工 作频率可达72MHz,内置高速Flash存储器和RAM,支持多种通信协议和调试接口,方便与上位机进行通信和调 试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南通大学电子信息学院
微机原理课程设计
报告书
课题名交通灯控制系统
班级 _______ 学号 __________ 姓名 ____ 指导教师 ______ 日期 _________
目录
1 设计目的 (1)
2 设计内容 (1)
3 设计要求 (1)
4 设计原理与硬件电路 (2)
5 程序流程图 (4)
6 程序代码 (4)
7 程序及硬件系统调试情况 (8)
8 设计总结与体会 (9)
9 参考文献 (9)
1 设计目的
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。
2 设计内容
交通灯控制系统
利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。
3 设计要求
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路
软件设计
1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
2、画出程序流程图。
3、根据流程图,编写源程序。
4、在Proteus环境下,仿真调试程序
4 设计原理与硬件电路
5 程序流程图
6 程序代码
A_PORT EQU 200H B_PORT EQU 202H C_PORT EQU 204H CTRL_PORT EQU 206H
CLK0 EQU 100H
CLK1 EQU 102H
CTRL EQU 106H
DATA SEGMENT
BUF1 DB 09H,11H,21H,12H,0CH,4AH,89H,49H
BUF2 DB 0C5H,0A3H,95H,93H,95H,13H,15H,23H,0H DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AL,10010000B
MOV DX,CTRL_PORT
OUT DX,AL
MOV AL,0
MOV DX,B_PORT
OUT DX,AL
MOV DX,C_PORT
OUT DX,AL
CALL PLAY
LEA SI,BUF1
LEA BX,BUF2
AAA1: MOV CH,[BX]
MOV CL,CH
AND CL,00001111B
CALL SHOW1
CALL DELAY
CALL SHOW2
CALL DELAY
JMP AAA6
AAA4: MOV DX,A_PORT
IN AL,DX
AND AL,00000001B CMP AL,00000000B JNZ AAA7
MOV AL,00001001B MOV DX,B_PORT
OUT DX,AL
MOV AL,10010000B MOV DX,C_PORT
OUT DX,AL
JMP AAA4
AAA7: MOV DX,A_PORT
IN AL,DX
AND AL,00000010B CMP AL,00000000B JNZ AAA4
CMP CL,0
JNZ AAA5
INC SI
INC BX
MOV AL,[BX]
CMP AL,0
JNZ AAA1
JMP START
AAA5: DEC CL
DEC CH
CALL SHOW2
CALL DELAY
AAA6: MOV DX,A_PORT
IN AL,DX
AND AL,00000010B CMP AL,00000010B JNZ AAA6
JMP AAA4
SHOW1 PROC
MOV AL,[SI]
MOV DX,B_PORT
OUT DX,AL
RET
SHOW1 ENDP
SHOW2 PROC
MOV AL,CH
MOV DX,C_PORT
OUT DX,AL
RET
SHOW2 ENDP
PLAY PROC
MOV AL,00110111B MOV DX,CTRL
OUT DX,AL
MOV AX,1000