版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 中南大学通信工程微机原理课设交通灯设计 中南大学微机原理与接口技术课程设计报告学 院 信息科学与工程学院题 目交通灯设计学 号 0909112224专业班级 通信工程1104班姓 名 指导教师 杨政宇老师 随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。计算机原理与接口课程设计结合教学内容,从应用的角度
2、出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。计算机原理与接口技术是通信工程专业的一门专业基础课程,学生需要掌握RAM扩充、8253计数器/定时器、8255并行口、8259中断控制器、D/A数模转换、A/D模数转换、DMA、LED显示等各个器件的性能和使用方法。课程设计的目地是综合这些基础知识,就具体问题让学生做出软、硬件解决方案并付诸实施,以培养解决实际问题的能力。交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得
3、交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。一、课程设计内容概述11.设计任务12.实现功能13.基本要求24.设计器材2二、设计方案及系统原理21.设计方案21.1两个方向的灯的控制21.2显示时间的控制31.3开关控制强行通断32.系统原理与初始化
4、程序分析32.1 8255的工作原理32.2 8253的工作原理62.3 8279的工作原理72.4 8259的工作原理112.5发光二极管显示原理15三、总体设计151、交通灯切换设计152、 方案一总体设计模块163、 方案二总体设计模块16四、创新部分具体的设计171.开关检测强行通断设计172.显示延时模块设计182.1 8259,8253硬件延时182.2软件延时202.3 延时时间计算21五、总实验流程图211、方案一流程图212、方案二流程图22六、仿真原理图22七、运行结果及说明241.方案一242.方案二26八、结果分析27九、心得体会27十、参考文献29十一、附录301.软
5、件延时的交通灯代码302.有倒计时功能的交通灯代码31 一、课程设计内容概述1.设计任务这次课程设计的题目是交通灯控制的设计与实现,主要是模拟十字路口的红绿灯。 交通灯控制器的设计与实现主要是利用并行接口芯片8255A和8086微控制器的硬件连接,通过编写汇编语言程序利用8255A的C口对灯的亮与灭进行控制。首先,要了解的是8255A是如何工作的,包括它的三个端口和控制端口是如何写数据的,还包括芯片的初始化等。8086想正常的工作,必须要构成最小系统,包括地址锁存器、数据缓冲器、地址选择电路,在本设计使用的实验箱中这部分以及芯片的地和电源都已经内嵌连接好了,我们只需将接口Y7与8255A片选信
6、号端口CS相连接即完成了8255A和8086的连接,剩下的就是8255A的三个端口和二极管以及开关控制的连接。本来设计中的定时部分可以用8253,8259芯片来完成硬件中断延时,或者选择了软件延时来实现红绿灯亮的时间和黄灯闪烁的控制。综上所述:(1) 方案一,利用软件延时编写交通灯程序:总的设计思想是通过查询方式检测开关按键是否按下,如果按下则执行相应操作,即使某方向强行通行另一个方向阻断或者四个方向全部红灯阻断通行。若无按键按下则正常执行交通灯规则,通过8086对8255的工作方式的设定,及对各个端口的赋值来实现红黄绿三个颜色灯在不同方向的状态,并通过软件延时维持一定的时间后跳转到其他状态。
7、(2) 方案二,利用8253,8259硬件中断延时编写交通灯程序:8253外接时钟频率CLK,8259芯片通过编写中断服务程序控制延时频率变化。用8279芯片控制数码管显示功能。8255的工作方式与方案一一致。2.实现功能城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计,通过设计实现以下功能:1)状态一:东西方向车辆放行。即东西方向的绿灯和南北方向的红灯同时点亮。2)状态二:两个方向的黄灯亮(或闪烁),以警示车辆将切换红绿灯。3)状态三:转为南北方向放行。即南北方向的绿灯和东西方向
8、的红灯同时点亮。4)状态四:两个方向的黄灯同时亮(或闪烁),以警示将切换红绿灯。5)状态五:再转为南北方向车辆放行。如此循环重复。十字路口交通灯分布示意图3.基本要求1熟练掌握汇编语言的程序设计;2熟练掌握各种编程接口芯片的编程应用3通过实验方法掌握各种电路综合分析与设计方法。4.设计器材DVCC综合实验仿真系统导线若干微机原理及接口技术实验箱二、设计方案及系统原理 1.设计方案 1.1两个方向的灯的控制这主要是通过8255A的C口输出组合来控制,所以只要在初始化是将8255A的这C口设定为输出即可,然后在程序中通过给各个端口赋值来实现灯的控制。又因为实验箱上的发光二极管不够12个,只有8个,
9、所以在实际实现的时候并不是四个方向的灯全部接到了8255的端口,只用了6个发光二极管,南北方向用3个灯一组,代表红、黄、绿,东西方向用另外3个灯一组。红灯是C口的PC0,PC1来控制的,具体的是PC1控制东西方向的红灯,PC0控制南北方向的红灯;绿灯是C口的PC4,PC5来控制的,具体时间PC5控制东西方向的红灯,PC4控制东西方向的绿灯。黄灯是由C口的PC2,PC3来控制的,具体的是PC3控制东西方向的黄灯,PC2控制南北方向的黄灯。 1.2显示时间的控制这包括在红绿灯亮的时间和黄灯的闪烁。计时方式的不同导致方案的不同,在这里可以有两种选择:一是以中断方式来进行计数,即利用8253的输出端连
10、接8259,通过设定一个初始值来控制计数。当计数值达到了之后输出一个脉冲来申请中断;另一种方式是用软件延时,通过编写一段延时函数,每次需要计时的时候就调用延时函数。 1.3开关控制强行通断 该功能主要是通过8255A的A端口实现的。在初始化的时候设置8255A的A口为输入,然后不断查询A口,检测是否有按键按下,如果没有按键按下则执行正常的红绿灯显示,如果有按键按下则执行相应方向的强制通行或阻断。因为系统所要执行的功能比较单一简单,并不算复杂,也没有多的设备,所以选择查询方式较好。因为希望经常检测按键状态,程序中又会经常调用延时函数来实现显示延时,所以选择将按键检测的程序放在延时函数,在延时函数
11、里面调用按键检测函数,从而实现经常进行按键检测,及时实现强行通断的功能。2.系统原理与初始化程序分析2.1 8255的工作原理2.1.1 8255的内部结构1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。2)三个端口A,B和C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器。3) A组和B组控制电路:这是两组根据CP
12、U输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。如下图: 4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。2.1.2 引脚信号8255A的引脚如图所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。D7D0:三态、双向数
13、据线,与CPU数据总线连接,用来传送数据。CHIP SELECT:片选信号线,低电平有效时,芯片被选中。A1,A0:地址线,用来选择内部端口。READ:读出信号线,低电平有效时,允许数据读出。WRITE:写入信号线,低电平有效时,允许数据写入。RESET:复位信号线,高电平有效时,将所有内部寄存器清0。PA7PA0:A口输入/输出信号线。PB7PB0:B口输入/输出信号线。PC7PC0(port C):C口输入/输出信号线。VCC:5V电源。GND:电源地线。 2.1.3 8255A的工作方式方式0-基本输入输出方式;方式1-选通输入输出方式;方式2-双向选通输入输出方式。2.1.4 8255
14、初始化程序 MOV AL,00010010B ;南北方向绿灯,东西方向红灯 MOV DX,IOCPT OUT DX,AL MOV AL,00001100B ;南北与东西方向黄灯均亮 MOV DX,IOCPT OUT DX,AL MOV AL,00100001B ;南北方向红灯,东西方向绿灯 MOV DX,IOCPT OUT DX,AL MOV AL,00001100B ;南北与东西方向黄灯均亮 MOV DX,IOCPT OUT DX,AL2.1.5 8255与LED连线图 说明:上图输出端口均使用PC口,两个方向的红绿灯依次排开2.2 8253的工作原理 2.2.1 数据总线缓冲器及数据总线D
15、0D72.2.2 读/写控制逻辑及控制引脚 2.2.3控制字寄存器 在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道 及其相应的工作方式。8253的工作方式由控制字来决定,其控制字意义如下:2.2.4计数通道0、计数通道1、计数通道2 3个计数通道内部结构完全相同。每个计数通道都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成。计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值。计数器的3个引脚: 1)CLK时钟输入信号 2)GATE门控输入信号 3)OUT计数器
16、输出信号2.2.5 8253有6种工作方式 由方式控制字确定。区分这6种工作方式的主要标志由3点:一是输出波形不同;二是启动计数器的触发方式不同;三是计数过程中门控信号GATE对计数器操作的控制不同。方式0-低电平输出(GATE信号上升沿继续计数)方式1-低电平输出(GATE信号上升沿重新计数)方式2-周期性脉冲输出方式3-周期性方波输出方式4-单次负脉冲输出(软件触发)方式5-单次负脉冲输出(硬件触发)2.2.6 8253初始化程序 MOV DX,004BH MOV AL,0B6H OUT DX,AL MOV DX,004AH ;为8253设计数初值C350H MOV AL,50H ;先读低
17、位 OUT DX,AL MOV AL,0C3H ;再读高位 OUT DX,AL2.3 8279的工作原理2.3.1 8279概述 8279用作单片机的可编程通用键盘与显示器接口,本实验中用作显示接口。显示部分能为发光二极管,白炽灯,七段显示器,液晶显示器等提供扫描显示接口。8279具有一个16*8的显示器RAM,它也可以组成两只16*4的RAM。CPU可以读写RAM。无论是右端送入方式还是左端送入方式都能由8279实现,显示RAM有自动加1的功能,下边对8279作简单介绍。2.3.2芯片引脚功能说明 8279采用单一+5V电源供电,40脚封装。DB0DB7:双向数据总线,用来传送8279与CP
18、U之间的数据和命令。CLK:时钟输入线,用以产生内部定时的时钟脉冲。RESET:复位输入线。CS:片选输入线,低电平有效,单片机在/CS端为低时可以对8279进行读/写操作。A0:缓冲器低地址,当A0为高电平时,表示数据总线上为命令或状态;为低电平时,表示数据总线上为数据。RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外外部总线。WR:写信号输入线,低电平有效,将数据从外部数据总线写入8279缓冲器。IRQ:中断请求输出线。SL0SL3:扫描线,用来扫描按键开关,传感器阵列和显示数字。RL0RL7:回送线。CNTL/STB:在选通输入方式中,作选通用,把数据存入FIFORAM中。BD:
19、空格显示。VCC:+5V电源输入线。VSS:地线输入线。2.3.3内部结构 数据缓冲器:是内部总路线接到外部总线的双向缓冲器,用来传送8279和CPU之间的信息。 I/O控制:控制数据的输入输出操作。 控制逻辑:控制与定时寄存器用于寄存键盘及显示器的工作方式。 扫描计数器:有两种工作方式,一种是编码方式,另一种是译码方式。 回送缓冲器:具有锁存功能,用来对8条加送线上的信息进行缓冲和锁存。 FIFO/传感器RAM:本功能部件是双功能的8*8RAM。 显示地址寄存器:保存当前正由CPU读或写的那个字的地址,以及正在显示着的那两个4位半字节的地址。 显示RAM:可以直接由CPU读出。半字节A和半字
20、节B地址自动由8279更新,以便与CPU输出相对应。2.3.4工作方式 键盘输入,传感器扫描,选通输入方式。2.3.5命令控制字8279的各种工作方式都要通过对命令寄存器的设置来实现。8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。命令寄存器共8位,格式为:D7D6D5D4D3D2D1D0 命令类型 命令内容如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由命令寄存器高3位D7-D5决定。D7-D5三位的状态可组合出8种形式,对应8类命令。另一部分为命令的具体内容,由D4-D0决定。每种特征所代表的命令如下表所示D7 D6 D5代表的命令类型0
21、 0 0键盘/显示命令0 0 1时钟编程命令0 1 0读FIFO/传感器RAM命令0 1 1读显示器RAM命令1 0 0写显示命令1 0 1显示禁止/熄灭命令1 1 0清除命令1 1 1结束中断/出错方式设置命令2.3.6 8279初始化程序:本程序中8279部分出现在用数码管倒计时的交通灯程序中,如下: CONTPORT EQU 00DFH ;8279控制端口 DATAPORT EQU 00DEH ;8279数据端口 MOV AL,00H OUT DX,AL ;键盘/显示命令 MOV AL,2AH OUT DX,AL ;时钟编程命令 MOV AL,0D0H OUT DX,AL ;清除命令 M
22、OV AL,90H OUT DX,AL ;读FIFO/传感器RAM命令2.4 8259的工作原理2.4.1 8259A的内部结构 8259A内部结构由8个部分组成:(1)数据总线缓冲器(2)读/写控制逻辑(3)级联缓冲器/比较器(4)中断请求寄存器IRR(5)中断屏蔽寄存器IMR(6)正在服务寄存器ISR(7)优先权分析器PR(8)控制逻辑2.4.2引脚功能D7-D0 :双向数据总线,接到系统数据总线的D7-D0上,用来传送控制字、状态字和中断类型号。IR7-IR0 :中断请求信号输入,来自外部接口电路。INT:向CPU发出的中断请求信号。片选信号:低电平有效,来自地址译码器的输出,当其有效时
23、,CPU才能对8259A进行读写操作。写信号:低电平有效,来自CPU的输出;当该有效且CS有效时,使8259A接受CPU送来的命令字。读信号:低电平有效,来自CPU的输出;当CS有效且RD有效时,使8259A将状态信息放到数据总路线上,供CPU检测。CAS2CAS0:双向级联总线,8259A单片工作时不用这些引脚。SP/EN:主从定义/缓冲器方向,这是一根双功能引脚。2.4.3工作方式 1)中断优先级的设置方式全嵌套方式,特殊全嵌套方式,优先级自动循环方式,优先级特殊循环方式 2)中断结束方式自动结束方式(AEOI方式),普通结束方式(普通EOI方式),特殊中断结束方式(SEOI方式)。 3)
24、中断屏蔽方式:普通屏蔽方式,特殊屏蔽方式4) 中断触发方式:电平触发方式,边沿触发方式。2.4.4初始化命令字,操作字 本程序中用到的命令字有:ICW1,ICW2,ICW4,OCW1 ICW1(需要ICW4,单片,边沿触发MOV AL,00010011B) ICW2(选取中断3,屏蔽其他所有中断MOV AL,00001000B) ICW4(8086系统,自动EOI模式,缓冲方式MOV AL,00001011B) OCW1(中断3复位屏蔽,MOV AL,11110111B) 2.4.5 8259初始化程序本程序中初始化程序出现在用数码管倒计时的交通灯程序中,如下: INTPORT1 EQU 00
25、20H ;8259A的端口地址 INTPORT2 EQU 0021H MOV AL,13H MOV DX,INTPORT1 ;8259初始化命令字ICW1 OUT DX,AL MOV AL,08H MOV DX,INTPORT2 ;8259初始化命令字ICW2 OUT DX,AL MOV AL,0BH OUT DX,AL ;8259初始化命令字ICW4 MOV AL,0F7H OUT DX,AL ;8259操作命令字OCW12.4.6 8259中断程序WRINTVER: MOV AX,0H ;填中断向量表 MOV ES,AX MOV DI,002CH ;IRQ3中断向量地址 LEA AX,IN
26、TQ3 ;IRQ3中断服务地址 STOSW ;写中断服务地址偏移量 MOV AX,CS ;写中断服务段地址 STOSW MOV DI,003CH ;IRQ7中断向量地址 LEA AX,INTQ7 ;IRQ7中断服务地址 STOSW ;写中断服务地址偏移量 MOV AX,CS ;写中断服务段地址 STOSW RET2.5发光二极管显示原理 发光二极管显示模块由8255的C口、B口的输出来控制发光二极管的亮灭。实验箱中发光二极管的阴极已经接好地端,所以输出是高电平,则发光二极管亮,输出低电平则不亮。设计中将C口、B口的管脚和相应的二极管连接,通过程序写入C口、B口的值,输出1表示二极管亮,输出0表
27、示二极管灭。三、总体设计1、交通灯切换设计整体交通灯切换设计基于8086和8255A来实现,8086和地址锁存器、数据缓冲器、地址译码电路构成最小系统,将8086地址数据的复用分开,然后通过地址译码选中8255A对其进行读写控制。通过对8255的初始化,将A口设置为输入,C口设置为输出。再通过数据传输将想要控制的灯的亮灭用高电平、低电平即1和0来表示。现分模块详细说明每一个部分的设计并附亮灯程序流程图。 开始初始化8255设置8255控制字置8255PC0为低电平读取PC口值将PC口值送LED口显示 亮灯程序流程图发光二极管显示模块由8255的C口的输出来控制发光二极管的亮灭。因为实际的实验箱
28、中发光二极管只有8个,不能模拟四个方向的交通灯,所以对交通灯进行简化,东西方向的两个路口交通灯变化一致,所以只用一组三个发光二极管代替,南北方向上的同理只用一组三个发光二极管代替。在实验设计中C口已经与发光二级管连接好了,具体为C口的PC5,PC4和绿灯相连,PC1,PC0与红灯相连,C口的PC3,PC2和黄灯相连。简化后具体连接为PC1接东西方向的红灯、PC0接南北方向的红灯、PC5接东西方向的绿灯、PC4接南北方向的绿灯、PC3接东西方向的黄灯、PC2接南北方向的黄灯。各口控制的二极管以及各二极管的亮灭及颜色控制如下表所示:PC5PC4PC3PC2PC1PC0东西方向南北方向000011红
29、灯红灯100001绿灯红灯010010红灯绿灯001100黄灯亮黄灯亮000000所有灯灭所有灯灭其余端口为未用到的可以随便赋值。设计时在向PC口输出时一定要根据上表所示的状态来写入各端口的值,如要想输出灯的状态为东西红南北绿,则应向PC口写入000100102、 方案一总体设计模块8086想正常的工作,必须要构成最小系统,包括地址锁存器、数据缓冲器、地址选择电路,在本设计使用的实验箱中这部分以及芯片的地和电源都已经内嵌连接好了,我们只需将接口Y7与8255A片选信号端口CS相连接即完成了8255A和8086的连接,8255A与8086CPU的Y7数据线相连接。其余的就是8255A的三个端口和
30、二极管以及开关控制的连接,以及软件延时程序。所用器件:8255A,8086微处理器,二极管,开关。除基本功能外,实现开关强行通断,黄灯闪烁功能。3、 方案二总体设计模块 方案二加入倒计时功能,引入8279,8259,8253三个主要芯片,各模块功能如下: 1)采用8086 为控制器为控制核心; 2)8253 做硬件延时(由T0,T1 实现-方式0); 3)8255 接口芯片控制交通灯(红灯,黄灯,绿灯)的亮灭; 4)8279 显示控制芯片控制晶体管显示倒计时显示。 5)8259A 响应中断,以便能实时通过开关控制交通灯控制系统,IR3响应脉冲,使中断服务程序继续运行。 除基本功能外,实现用数码
31、管准确显示倒计时,方便通行。四、创新部分具体的设计1.开关检测强行通断设计按键无效的状态时是低电平,按键有效时是高电平。实验箱中是双向开关按键,一侧是低电平,一侧是高电平,所以不用8255端口先设置在扫描,直接检测和开关连接的端口值就可以了。设计中和开关相连的是8255A的A口,读进A口的值,然后判断按键位是否为高电平,从而判断按键是否被按下,然后根据按键情况再转到相应处理程序。该功能可以用于紧急通行,比如消防车等,相关程序代码分析如下:PDUAN PROC ;开关判断子程序 PUSH AX PUSH CX SCAN: MOV AL,00H MOV CX,08H L1: MOV DX,IOAP
32、T ;读A口 IN AL,DX ;AL存储开关信息 AND AL,0F0H ;保留A口高四位有效 LOOP L1 J1: CMP AL,10H ;判断高四位,是否为按键1 JNZ J2 MOV AL,12H ;南北绿灯,东西红灯 MOV DX,IOCPT OUT DX,AL JMP SCAN J2: CMP AL,20H JNZ J3 MOV AL,21H ;南北红灯,东西绿灯 MOV DX,IOCPT OUT DX,AL JMP SCAN J3: CMP AL,30H JNZ BACKP MOV AL,03H ;东西南北均为红灯 MOV DX,IOCPT OUT DX,AL JMP SCAN
33、 BACKP: POP CX POP AX RET PDUAN ENDP 2.显示延时模块设计2.1 8259,8253硬件延时交通灯亮的一个状态会维持一定时间,这个延时可以由8253产生1Hz的脉冲然后计数得到相应的延时时间。但是由于实验箱上的8253不能产生正常工作频率,所以采用10Hz的频率,以中断方式来进行计数,即利用8253的输出端连接8259,通过设定一个初始值来控制计数。当计数值达到了之后输出一个脉冲来申请中断。 在具体实现倒计时功能时,要结合电子表的基本原理,用SUB减法指令,DAS十进制减法转换指令,设置初值,结合显示程序段(LED1,LEDDISP),显示转换程序段(CON
34、VERS1,CONVERS2,CONVERSALL)结合8259中断,8279显示,8253计数功能实现10s(具体设计时可以在NEWTIME程序中修改倒计时初值,60s或者30s均可)倒计时,具体代码分析如下:LEDDISP: MOV AL,90H ;显示程序 MOV DX,CONTPORT ;8279控制端口 OUT DX,AL ;写控制端口 MOV CX,08H ;八位数码管 MOV BYTE PTR DS:DATA5,07H ;从0-7,共8位LED1: MOV BL,DS:DATA5 MOV BH,0H MOV AL,CS:BX+SI MOV DX,DATAPORT ;8279数据端
35、口 OUT DX,AL ;写数据端口 SUB BYTE PTR DS:DATA5,01H ;字节位置减1 LOOP LED1LED2: RETFORMAT: MOV BX,0 ;建立显示模型库(数据库) MOV WORD PTR DS:BX+DATA1,5050H ADD BX,2 MOV WORD PTR DS:BX+DATA1,0079H ADD BX,2 错误符号提示“Err” MOV WORD PTR DS:BX+DATA1,0000H ADD BX,2 MOV WORD PTR DS:BX+DATA1,0000H ADD BX,2 MOV WORD PTR DS:BX+DATA1,0
36、63FH ;01 0-F显示数据库 ADD BX,2 MOV WORD PTR DS:BX+DATA1,4F5BH ;23 ADD BX,2 MOV WORD PTR DS:BX+DATA1,6D66H ;45 ADD BX,2 MOV WORD PTR DS:BX+DATA1,077DH ;67 ADD BX,2 MOV WORD PTR DS:BX+DATA1,6F7FH ;89 ADD BX,2 MOV WORD PTR DS:BX+DATA1,7C77H ;AB ADD BX,2 MOV WORD PTR DS:BX+DATA1,5E39H ;CD ADD BX,2 MOV WORD
37、PTR DS:BX+DATA1,7179H ;EF ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F3FH ;数据缓冲区 ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F40H ADD BX,2 MOV WORD PTR DS:BX+DATA1,403FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F3FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F3FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F40H ADD BX,2 MOV WORD PTR DS:BX
38、+DATA1,403FH ADD BX,2 MOV WORD PTR DS:BX+DATA1,3F3FH MOV BYTE PTR DS:DATA6,0D ;IRQ3的中断初始值 MOV BYTE PTR DS:DATA9,10H ;显示10s MOV WORD PTR DS:DATA10,DATA4 ;DATA4为DATA10缓冲区 RETCONVERS1: MOV BH,0H AND AL,0FH MOV BL,AL MOV AL,CS:BX+DATA2 ;从模型库中取显示码 RETCONVERS2: PUSH AX ;具体数码管数据显示 CALL CONVERS1 ;函数调用 MOV B
39、X,WORD PTR DS:DATA10 MOV DS:BX,AL ADD WORD PTR DS:DATA10,01H POP AX PUSH CX MOV CL,4H SHR AL,CL ;右移4位,即数码管移1位显示 POP CX CALL CONVERS1 MOV BX,WORD PTR DS:DATA10 MOV DS:BX,AL RETCONVERSALL: MOV AL,BYTE PTR DS:DATA9 CALL CONVERS2 ADD WORD PTR DS:DATA10,02H MOV AL,BYTE PTR DS:DATA8 CALL CONVERS2 显示数据偏移量地
40、址存放 ADD WORD PTR DS:DATA10,02H MOV AL,BYTE PTR DS:DATA7 CALL CONVERS2 MOV WORD PTR DS:DATA10,DATA4 RETNEWTIME: CMP BYTE PTR DS:DATA9,00H ;比较指令 JNZ ADD1 ;非零跳转指令 MOV BYTE PTR DS:DATA9,10H ;倒计时至0s后重新开始 JMP OK ADD1: MOV AL,BYTE PTR DS:DATA9;倒计时程序段 SUB AL,1D ;减1指令 DAS ;减法的十进制调整指令 MOV BYTE PTR DS:DATA9,AL JMP OKOK: RET2.2软件延时软件延时的实现是通过多次执行一定的语句产生时间上的延时。在该设计中有两个延时时间,一个是黄灯闪烁要用的0.5s(不断调用短延
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销渠道拓展与整合战略合作协议
- 产品质量与责任承诺函4篇范文
- 生产计划排程与执行监控系统
- 质量控制检查清单确保产品质量达标
- 文档管理流程文件归档与检索指南
- 公司经营管理协议守秘保证函7篇
- IT设备维护与故障处理指南手册
- 企业内训师培训资料制作工具
- 爱心满满的礼物写物作文10篇范文
- 协同共进事业发展目标承诺书(5篇)
- 中国铁建股份有限公司招聘笔试题目
- 2023年成都轨道交通集团有限公司招聘笔试题库及答案解析
- 高考语文复习-诗歌专题训练-曾巩诗歌
- GB/T 14486-2008塑料模塑件尺寸公差
- 波利亚的数学解题理论及其在初中数与代数应用题教学中的应用
- 人教版八年级下册道德与法治全册教案完整版教学设计含教学反思
- 薛定谔方程课件
- 广东省推进粤港澳大湾区国际科技创新中心建设重点任务实施方案
- 禾川x3系列伺服说明书
- 菜鸟驿站店面转让协议
- 2022年山东春季高考语文真题含答案
评论
0/150
提交评论