微机原理之跑马灯课程设计设计报告及相关汇编代码(包含原理图)

微机原理课程设计

设计报告

花式跑马灯


一、设计目的

1、熟悉Protues ISIS的基本操作,及基本电路绘制;

2、能根据电路修改理解程序;

3、能根据程序分析各种功能;

二、设计内容

用七段数码管组成日期显示电路,由开关控制的发光二极管流水灯电路和由8253控制的定时闪烁电路。

三、设计要求

K0

K1

K2

K3

电路运行结果

打开

打开

打开

打开

7段位数码管显示开发者代号

闭合

打开

打开

打开

发光二极管流水灯亮,模式0

打开

闭合

打开

打开

发光二极管流水灯亮,模式1

打开

打开

闭合

打开

发光二极管流水灯亮,模式2

闭合

闪烁灯亮

四、设计原理及方案

(包括整体设计原理、方案、器件选用等文字说明以及原理图)

器件选择:

元件名称

功能说明

元件名称

功能说明

8086

微处理器

8253

8位定时/计数器

74273 *3

八D型触发器

SWITCH

开关

NOT

非门

LED-BIBY*9

LED发光管

74154

4-16译码器

7SEG-MPX4-CA

4位共阳极7段位数码管

4078

8输入与非门

7SEG-MPX6-CA

6位共阳极7段位数码管

8255A

可编程24位接口

POWER

电源

GROUND

 

 

 

K0、K1、K2分别对应发光二极管流水灯的不同模式。这三个开关中,只要有一个闭合,那么7段数码管就熄灭,系统切换到发光二极管流水灯显示模式。如果这3个开关同时闭合,则发光二极管处于哪种点亮模式由最先闭合的开关控制。K3独立控制8253的输出,实现了闪烁灯是否受8253定时器输出控制的功能。

 

 

 

原理图总览:

 

 

8086及74273的连接方式:

 

 

 

 

74154的连接方式:


8255A连接细节:


8253A连接细节图:


五、程序设计

(包括程序流程图,关键程序段)

              否               否                否

 K0是否闭合          K1是否闭合            K2是否闭合

                                     

是               是               是     

执行L1           执行L2             执行L3         执行LOP1

 

 


  AGAIN1        AGAIN2          AGAIN3       AGAIN4

 


                                                  LEDDISP  

                                                   

 

 

8255初始化:

MOV AX,DATA

       MOV DS,AX

       MOV AL,88H

       MOVDX,IO3+6

       OUT DX,AL

A口:方式0,输出,B口:方式0,输出,C口:高四位输入,低四位输出

 

8253计数器0的初始化:

       MOVAL,0011000B

       MOVDX,IO5+6

       OUT DX,AL

       MOV DX,IO5

       MOV AX,500

       OUT DX,AL

       MOV AL,AH

       OUT DX,AL

方式0,初值为500

 

8253计数器1的初始化:

       MOVAL,01110110B

       MOVDX,IO5+6

       OUT DX,AL

       MOVDX,IO5+2

       MOV AX,5

       OUT DX,AL

       MOV AL,AH

       OUT DX,AL

方式3,初值为5

 

开关控制部分:

AGAIN:       MOVDX,IO3+2

              MOV AL,0H

         OUT DX,AL        清屏

         MOV DX,IO3+4

         IN AL,DX

              TEST AL,20H       开关K0的地址

              JZ L1

              TEST AL,40H       开关K1的地址

              JZ L2

              TEST AL,80H       开关K2的地址

              JZ L3

              JMP LOP1          跳转到数码管显示

 

跑马灯模式:

L1:

       MOV CL,06H

       AGAIN1:MOVDX,IO3+2

       MOV AL,CL

       OUT DX,AL

       MOV BX,10

       CALL DELAY

       ROL CL,1

       MOVDX,IO3+4

       IN AL,DX

       TESTAL,20H

       JZ AGAIN1

       JMP AGAIN

 

数码管的显示:

AGAIN4:

       MOV CL,08H

       LEASI,OUTBUFF

 

 

 

LEDDISP:

   MOV AL,CL

       MOVDX,IO3+4

       OUT DX,AL

       LEABX,LEDTAB

       MOVAL,[SI]

       XLAT

       MOV DX,IO3

       OUT DX,AL

       CALLDELAY_1S

       MOVAL,0FFH

       MOV DX,IO3

       OUT DX,AL

       CMP CL,01H

       JZ NEXT

       INC SI

       ROR CL,1

       JMPLEDDISP

 

六、系统仿真调试与分析(包括仿真调试方法步骤、遇到的问题及其分析解决办法)

调试步骤:

1、在proteusISIS中画出电路图

2、编写程序并用masm32生成 .obj 文件。

3、在电路图中载入程序代码。

4、设置参数

5、运行程序

6、测试电路

开始直接导入程序运行不出来,主要原因在于初始地址给的不对,没法运行处正确结果:步骤:双击8086芯片,出现如下窗口,更改地址即可。

七、设计结果及完成情况

图为开关全部打开时的情况:


当开关K0闭合时,LED灯是两个灯亮一次往下循环。

当开关K1闭合时,LED灯是闪烁着的。

当开关K2闭合时,LED灯是间隔着闪烁。

课设的题目能够完成,且可以稍微做修改。

修改 OUTBUFF DB 1,2,0,4 这段代码,改变数码管的数字,还可以修改电路图上C口的连接方式改变数码管显示。

修改 MOV CL,06H  改变LED灯的模式。

八、设计心得体会

这次课设中能够让我们更加深刻地理解8255的初始化过程,以及8253的初始化过程,还有8253方式0和方式3的模式的差别,能熟练地使用JZ和JMP跳转的使用。TEST 测试语句的具体用法,CMP比较语句的用法,更能从现象上去学习代码的具体功能。

在数码管控制模块,了解了段和位的控制机制,以及栈的使用,进栈和出栈的基本原则,PUSH 和POP的使用方法。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知 识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,及时寻求老师和同学的帮助,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,还得加强学习,完善自我。

  • 32
    点赞
  • 216
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值