微机原理实训报告交通指示灯.docx
《微机原理实训报告交通指示灯.docx》由会员分享,可在线阅读,更多相关《微机原理实训报告交通指示灯.docx(7页珍藏版)》请在冰豆网上搜索。
![微机原理实训报告交通指示灯.docx](https://file1.bdocx.com/fileroot1/2023-3/30/bb493244-f413-4825-aeb2-19e98928d1ac/bb493244-f413-4825-aeb2-19e98928d1ac1.gif)
微机原理实训报告交通指示灯
一、设计目的
学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
2、设计思路
1、通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。
2、设有一个十字路口1、3路口为南北方向2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口的方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。
三、实验原理
在设计中采用的是软件定时实现的。
而灯的亮与灭以及闪烁是用8255的B口和C口控制的,工作方式0,B口和C口均为输出。
并行接口是以数据的字节的单位与I/O设备或控制对象之间传递信息。
CPU和接口之间的数据传送是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5单电源供电,能在以下三种方式下工作:
方式0——基本输入/输出方式。
方式1——选通输入/输出方式。
方式2——双向选通工作方式。
由于实验中所用到的发光二级管是共阳极的,如图2-1所示,所以在为8255的B口和C口写数据时,对应的每一位有:
0代表灯亮,1代表灯灭。
将8255A的RE和WR非信号端分别与8086的两个端口相对应连接起来,8255A的数据线和8086的数据端口相连接,RE和WR非信号都是8086发出的控制信号,当进行读数据时,从8255A传送到8086,如果为写信号时,由8086写向8255A。
PC端口的低四位(PC0-PC3)分别设置为1,2,3,4路口的红灯;PC端口高四位(PC4-PC7)分别设置为1,2,3,4路口的绿灯;PB端口的高四位(PC4-PC7),分别置为1,2,3,4路口的黄灯。
可编程并行通信接口芯片8255A
(1)外设接口部分(数据端口A、B、C)
①端口A。
端口A内部包含一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器。
②端口B。
端口B内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。
③端口C。
端口C内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。
通过向芯片写入方式选择控制字,端口C可以被分成两个4位端口。
(2)内部逻辑(A组和B组控制电路)
这两组控制电路,根据芯片内部的控制寄存器内容和“读/写控制逻辑”发出的读/写命令,控制两组端口的工作方式和读/写操作。
A组控制电路控制端口A、端口C高4位(PC7~PC4)。
B组控制电路控制端口B、端口C低4位(PC3~PC0)。
(3)CPU接口部分
①读/写控制逻辑电路地址线A1和A0、CS(片选)、RD(读控制)、WR(写控制)、RESET(复位)信号的组合,用来控制8255A进行数据信息、状态信息和控制信息的传输。
②数据总线缓冲器它是一个8位的双向三态数据缓冲器,它是8255A与CPU数据总线的接口,所有数据的输入/输出,以及CPU用输出指令向8255A发出的控制字和用输入指令向8255A发出的控制字和用输入指令从8255A读入的外设状态信息,都是通过这个缓冲器传送的。
2.8255A有三种工作方式
方式0——基本的输入/输出方式特点:
①两个8位端口A、B及两个4位端口(端口C的高4位、低4位)中的任一端口,均可以作为输入端口或输出端口,且各端口均是独立的。
②四个端口的输入或输出,可以有16种不同的组合,故可以适用于多种用途。
③各端口输入时无锁存,输出时有锁存。
方式1——选通的输入/输出方式特点:
①两个8位数据输入/输出端口(均带锁存功能)A和B,在端口C的配合下工作。
②端口C中有3位用于端口A的输入/输出控制,另有三位用于端口B的输入/输出控制,并且均提供中断逻辑。
四、源程序:
DATASEGMENT;设置数据段,以及端口地址分配
PORTAEQU218H
PORTBEQU219H
PORTCEQU21AH
PTCON8255EQU21BH
PORT0EQU238H
PORT1EQU239H
PORT2EQU240H
PTCON8253EQU241H
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
INIT:
MOVAX,DATA
MOVDS,AX
MOVDX,PTCON8253
MOVAL,36H
OUTDX,AL
MOVDX,PORT0
MOVAX,2710H
OUTDX,AL
MOVAL,AH
OUTDX,AL;通道0工作方式3周期0.01s
MOVDX,PTCON8253
MOVAL,71H
OUTDX,AL;通道1工作方式1
MOVDX,PTCON8253
MOVAL,96H
OUTDX,AL
MOVDX,PORT2
MOVAL,64H
OUTDX,AL;通道2工作方式3周期1s8253初始化完成
MOVDX,PTCON8255
MOVAL,80H
OUTDX,AL;8255初始化A,B,C口均工作在方式0
MOVDX,PORTA
MOVAL,0
OUTDX,AL
MOVDX,PORTB
MOVAL,0FH
OUTDX,AL
MOVDX,PORTC
MOVAL,0FH
OUTDX,AL;灯初始化完成
STA:
MOVDX,PORTA
MOVAL,0A0H
OUTDX,AL
MOVDX,PORTB
MOVAL,0F0H
OUTDX,AL
MOVDX,PORTC
MOVAL,50H
OUTDX,AL;1,3绿灯亮,2,4红灯亮
MOVDX,PORT1
MOVAX,0BB8H
OUTDX,AL
MOVAL,AH
OUTDX,AL;8253通道1赋值开始计时
SCAN1:
MOVAL,0
MOVDX,PTCON8255
MOVAL,90H
OUTDX,AL
MOVDX,PORTA
INAL,DX
ANDAL,0FH
CMPAL,1
JNZSCAN1;扫描PA7口
FLA1:
MOVDX,PTCON8255
MOVAL,80H
OUTDX,AL
MOVDX,PORTC
MOVAL,0F0H
OUTDX,AL
MOVDX,PORTB
MOVAL,50H
OUTDX,AL
MOVCX,0
TEST1:
MOVDX,PTCON8255;检测PB7
MOVAL,82H
OUTDX,AL
MOVDX,PORTB
INAL,DX
ANDAL,0FH
MOVAH,AL
MOVDX,PTCON8255
MOVAL,82H
OUTDX,AL
MOVDX,PORTB
INAL,DX
ANDAL,0FH
XORAL,AH
ADDCL,AL
CMPCL,9
JNZTEST1;闪烁5次
MOVDX,PTCON8255
MOVAL,80H
OUTDX,AL
MOVDX,PORTA
MOVAL,50H
OUTDX,AL
MOVDX,PORTB
MOVAL,0F0H
OUTDX,AL
MOVDX,PORTC
MOVAL,0A0H;1,3红灯亮,2,4绿灯亮
MOVDX,PORT1
MOVAX,0BB8H
OUTDX,AL
MOVAL,AH
OUTDX,AL;8253通道1赋值开始计时
SCAN2:
MOVAL,0
MOVDX,PTCON8255
MOVAL,90H
OUTDX,AL
MOVDX,PORTA
INAL,DX
ANDAL,0FH
CMPAL,1
JNZSCAN2
FLA2:
MOVDX,PTCON8255
MOVAL,80H
OUTDX,AL
MOVDX,PORTC
MOVAL,0F0H
OUTDX,AL
MOVDX,PORTB
MOVAL,0A0H
OUTDX,AL
TEST2:
MOVDX,PTCON8255
MOVAL,88H
OUTDX,AL
MOVDX,PORTC
INAL,DX
ANDAL,0FH
MOVAH,AL
MOVDX,PTCON8255
MOVAL,88H
OUTDX,AL
MOVDX,PORTC
INAL,DX
ANDAL,0FH
XORAL,AH
ADDCL,AL
CMPCL,9
JNZTEST2;闪烁5次
CODEENDS
ENDSTA
五、实验总结:
在微机原理实验考试结束后的一周时间里,我们进行了微机原理的课程设计。
以前从没有学过关于汇编语言的知识,到学习VB,C语言等汇编语言,再到这次的微型计算机原理,每次做课程设计,都充满着挑战和趣味。
微型计算机原理起初学起来就感觉很有难度,。
当知道要进行课程设计的时候,心里面感觉有些害怕和担心,担心自己不会或者做不好。
但是当选完题目并且听过老师讲解该课题设计思路的时候,空白的脑子里浮现出了种种思路,并不断的尝试,最终尽自己最大的努力,把该课程做到最好。
再该课程中有很多自己的感受,我相信有很多同学都会和我有一样的感受,那就是感觉汇编语言很神奇,充满着趣味。