接口技术课程设计 Lab8000实现交通灯控制系统

实验仪器Lab8000

1.利用8253定时,8259中断及8255输出实现十字路口交通灯模拟控制。

2.实现能自动控制和手动控制。

3.实现能随时可以调整自动模式的绿灯和红灯时间

4.设计电路并在实验台上连接线路。

备注:希望能够给需要的人带来帮助,坚决不支持抄袭。要知道课程设计给人带来的真的是一种合作精神传递。建议先自己做实在不行再参考。

-----------------------------------------------------------------------------------------

汇编代码

mode    equ   82h          ; 8255 工作方式
PA8255  equ   8000h        ; 8255 PA口输出地址
CTL8255 equ   8003h

ICW1    equ   00010011b     ; 单片8259, 上升沿中断, 要写ICW4
ICW2    equ   00100000b     ; 中断号为20H
ICW4    equ   00000001b     ; 工作在8086/88 方式
OCW1    equ   11111100b     ; 只响应INT0 中断
CS8259A equ   09000h        ; 8259地址
CS8259B equ   09001h
CONTROL equ 0A003h
COUNT0  equ 0A000h
COUNT1  equ 0A001h
COUNT2  equ 0A002h

data   segment
CNT    db    0
STB    db    0
data   ends

code   segment
       assume cs:code, ds: data
DELA proc near
     push cx
     push bx
     mov cx,0ffh
  D1: mov bx,0ffh
  D2: dec bx
     jnz D2
     loop D1
     pop bx
     pop cx
     ret
DELA endp

IEnter proc  near
       push  ax
       push  dx
       mov   dx, PA8255
       cmp   CNT,0
       jnz   GREEN
       mov   al,08h
       out   dx,al
       call  DELA
       mov   al, 02h
       out   dx, al          ; 输出计数值
       mov   CNT,0fh
       jmp   ENDI

 GREEN: mov   al, 04h
       out   dx, al
       mov   CNT, 00h

ENDI:  mov   dx, CS8259A
       mov   al, 20h         ; 中断服务程序结束指令
       out   dx, al

       pop   dx
       pop   ax
       iret
IEnter endp

IEnt  proc  near
       push ax
       push dx

       mov   dx, CS8259B
       mov   al, 0fdh         ;屏蔽int0 开放1
       out   dx, al


       mov   dx, PA8255
       cmp  STB, 0
       jnz  GRE
       mov  al,02h
       out  dx,al
       mov  STB,0fh
       jmp   ENDII
GRE:   mov   al, 04h
       out   dx, al
       mov   STB, 00h
ENDII: mov   dx, CS8259A
       mov   al, 20h         ; 中断服务程序结束指令
       out   dx, al

       pop   dx
       pop   ax
       iret
IEnt endp

IInit  proc
       mov   al, 36h        ; 通道0,方式0
       mov   dx, CONTROL
       out   dx, al
       mov   al, 76h        ; 通道1,方式0
       mov   dx, CONTROL
       out   dx, al

       mov   al, 0d0h         ; 计数器初始值。
       mov   dx, COUNT0
       out   dx, al         ; 低八位
       mov   al, 07h
       out   dx, al         ; 高八位
       mov   al, 0e8h         ; 计数器初始值。
       mov   dx, COUNT1
       out   dx, al         ; 低八位
       mov   al, 03h
       out   dx, al         ; 高八位
       mov   dx, CS8259A
       mov   al, ICW1
       out   dx, al

       mov   dx, CS8259B
       mov   al, ICW2
       out   dx, al

       mov   al, ICW4
       out   dx, al

       mov   al, OCW1
       out   dx, al
       ret
IInit  endp

 

start  proc  near
       mov   dx, CTL8255
       mov   al, mode
       out   dx, al

       cli
       mov   ax, 0
       mov   ds, ax

       mov   bx, 4*ICW2          ; 中断号

       mov   ax, code
       shl   ax, 4               ; x 16
       add   ax, offset IEnter   ; 中断入口地址(段地址为0)
       mov   [bx], ax

       mov   ax, 0
       inc   bx
       inc   bx
       mov   [bx], ax            ; 代码段地址为0
       inc   bx
       inc   bx
       mov   ax, code
       shl   ax, 4
       add   ax, offset IEnt
       mov   [bx], ax
       mov   ax, 0
       inc   bx
       inc   bx
       mov   [bx], ax


       call  IInit

       mov   ax, data
       mov   ds, ax
       mov   CNT, 0              ; 计数值初始为0
       mov   al, CNT
       mov   dx, PA8255
       out   dx, al
       sti
LP:                              ; 等待中断,并计数。
       nop
       jmp   LP

start  endp

code   ends

       end start


 

已标记关键词 清除标记
相关推荐
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除,从账户中取出amt,如果amt>账户余额抛出异常,一个实体Bean可以表示不同的数据实例,我们应该通过主键来判断删除哪个数据实例…… ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程接口的引用,用远程接口的引用访问EJB。 EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它的主要作用是供程序使用的。本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密   Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。   设定字符串为“张三,你好,我是李四”   产生张三的密钥对(keyPairZhang)   张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节   通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥   Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥。 Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输   Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页