微机原理及应用课程设计报告.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:9 大小:48KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理及应用课程设计报告.doc

微机原理及应用课程设计报告.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理及应用课程设计报告一、设计目的:通过课程设计加深对所学《微机原理》这门课的理解,并学会用汇编语言编写程序实现要求的功能,掌握8255、8259、8253等芯片的功能和应用。在课程设计中培养我们分析问题、解决问题的方法,培养较强的动手能力和一定的微机应用系统的设计和调试能力。二、设计要求采用发光二极管模拟交通红绿灯,并能用数码管显示灯亮的时间剩余值。计数原则:红灯绿灯灯亮的时间为20秒种,在替换间隔绿灯的路口的黄灯闪烁4秒。通过8255A并行口传输数据的方法,来控制LED发光二极管的亮灭。用8255A的B端口和C端口控制12个LED发光二级管的亮和灭(输出为0则亮,输出为1则灭)。过8253A应用为计数提供硬件计时,为整个红绿灯系统提供时间计数。通过中断控制器8259A为红绿灯系统提供中断服务,以实现中断。程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态。8255A的A端口地址为:0FF28H;B端口地址为:0FF29H;C端口地址为:0FF2AH;控制口地址为:0FF2BH三.设计思路设有一个十字路口,1、3为南,北方向,2、4为东,西方向。初始化之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延迟一段时间(20秒)后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁。闪烁若干次(延时4秒)后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟一段时间(20秒)后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁若干次(延时4秒)后,再切换到1、3路口方向。之后,重复上述过程北红黄绿西东南流程图如下:8253连线:(1)8253的GATE0接+5V。(2)8253的CLK0插孔接分频器74LS393(左上方)的T5插孔。(3)8253OUT0插孔和8259的3号中断IR3插孔相连。8259连线:(1)8259模块上的INT连8088的INTR(在主板键盘矩阵下面)。(2)8253模块上的INTA连8088的INTA(在主板键盘矩阵下面)。(3)8253OUT0插孔和8259的3号中断IR3插孔相连。(4)8259模块上的D0~D7连到BUS2区的XD0~XD7。(5)8259模块上的CS端接Y6。(6)8259模块上的A0连到BUS区的XA0上。(7)8259模块上的RD、WR信号线分别连到BUS3区的XRD、XWR上。8255连线:(1)L1—PC0L4—PC1L7—PC2L10—PC3L2—PB4L5—PB5L8—PB6L11—PB7L3—PC4L6—PC5L9—PC6L12—PC7六、源程序及注释CODESEGMENTASSUMECS:CODEINTPORT1EQU0060H;定义8259控制口和数据口地址INTPORT2EQU0061HINTQ3EQUINTREEUP3;定义中断向量IOCONPTEQU0FF2BH;定义8255各寄存器地址IOAPTEQU0FF28HIOBPTEQU0FF29H;IOBPT控制黄灯IOCPTEQU0FF2AH;IOCPT高四位控制绿灯,低四位控制红灯TCONTROEQU0043H;定义8253控制口和0通道地址TCON0EQU0040HORG1000HSTART:CLD;关中断MOVDX,IOCONPT;写8255控制字,三个口均为0输出MOVAL,80HOUTDX,ALCALLWBUF1;调用初始子程序CALLWRINTVER;调用写中断向量子程序MOVAL,13HMOVDX,INTPORT1;循环等待中断OUTDX,ALMOVAL,08HMOVDX,INTPORT2OUTDX,ALMOVAL,09HOUTDX,ALMOVAL,0F7HOUTDX,ALMOVBYTEPTRDS:[0760H],0HMOVBYTEPTRDS:[0762H],0HMOVBYTEPTRDS:[0771H],14H;设置显示初始值为20SMOVBYTEPTRDS:[0773H],18H;设置显示初始值为24SMOVBYTEPTRDS:[0772H],1H;设置初始状态MOVDX,TCONTRO;写控制字,0通道输出方波MOVAL,36HOUTDX,ALMOVDX,TCON0;计数初值送0通道寄存器MOVAL,0FEHOUTDX,ALOUTDX,ALSTIWATING:CALLDISP;调用初始显示子程序CMPBYTEPTRDS:[0772H],01H;判断状态JNZWATING1CALLLIGHT1JMPWATINGWATING1:CMPBYTEPTRDS:[0772H],02HJNZWATING2CALLLIGHT2JMPWATINGWATING2:CMPBYTEPTRDS:[0772H],03HJNZWATING3CALLLIGH