交通灯(3)

2019-05-17 19:32

武汉理工大学《微机原理与接口技术》课程设计说明书

6. 问题及解决方案

6.1 8086的问题

开始把asm文件加载到proteus中的8086中,发现灯全亮,数码管全不亮,很不正常,后面才发现它运行的是exe文件而不是asm文件。还有它的存储容量需要设置,不然仿真会出错。它不需要提供5M方波和工作电源,都是默认的。

6.2 延时程序的编写

DELAYX PROC NEAR

PUSH BX PUSH CX PUSH AX

#¥#¥@%¥¥??¥ POP AX POP CX POP BX RET DELAYX ENDP

在写此系统程序中,采用的是嵌套结构编写延时程序,注意一开始得把它所用到的寄存器中原有的值推入堆栈,延时过后再出栈。开始写的时候把入栈的三条语句直接复制粘贴到下面,把PUSH改成了POP就没在意了,要注意先入后出!

6.3 偏移地址的误写入

在仿真过程中,出现以上两行的错误,太多的迭代没有收敛性,和某个汇编语言在编码过程中的地址不正确。

10

武汉理工大学《微机原理与接口技术》课程设计说明书

说明程序代码过于分散,没有模块化,之后再将程序能够模块化的地方尽量改善,达到更加简洁易读易运行的目的由于程序中定义了

TAB DB

06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH(1-9共阴极编码)。在最初调试的时候variable里面elements的值总是显示1,然而此处共有9个值,AL共需要在此取8个偏移地址,所以改成8后,程序调试运行正常。

6.4 内存空间分配问题

汇编语言的重要特点之一是能够直接利用机器指或者伪指令为数据或者代码程序分配内存空间,86系列(如8086微处理器)的存储器结构是分段的,有代码段,数据段,堆栈段或附加段,在程序设计时要充分考虑分段结构,要执行的程序段应设在当前段(活动段)中;分配内存空间:直接在proteus里面将8086CPU的internal memory size设置成一个足够用的空间大小,如0x10000,默认的空间大小是0x00000,如不改则仿真不成功。程序在运行时所需要的工作单元应尽可能的设在CPU寄存器中,这样存取速度快,而且操作方便;在此系统源程序中都采用8086CPU的全部通用寄存器:累加器AX,基数寄存器BX,基数寄存器CX,数据寄存器DX;和堆栈指针寄存器SI。

6.5 按键问题

因为在仿真中,某点经按键接地,如果按键断开,相当于还是接地,即开关不起作用,此时需要上拉电阻。

11

武汉理工大学《微机原理与接口技术》课程设计说明书

结束语

经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲,怎么样用8282这个地址锁存器来存储高位地址和低位地址以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解。 如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学的时候心里有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,所以你不容易忘记!

12

武汉理工大学《微机原理与接口技术》课程设计说明书

参考文献

[1] 彭虎,周佩玲,傅忠谦 .微机原理与接口技术第二版.北京:电子工业出版社,2008 [2] 艾德才等. Pentium/80486实用汇编语言程序设计. 清华大学出版社,1997. [3] 谭浩强. 微型计算机原理及运用. 清华大学出版社,2006.

[4] 康华光. [5] 李干林.

电子技术基础(数字部分),第四版. 高等教育出版社,2009. 微型计算机及接口实验指导书. 武汉理工大学出版社,2008.

13

武汉理工大学《微机原理与接口技术》课程设计说明书

附录:程序清单及注释

A_PORT EQU 0200H B_PORT EQU 0202H C_PORT EQU 0204H CTRL_PORT EQU 0206H TIME EQU 20

;周期为TIME=?+10+3 STACK1 SEGMENT STACK DW 20 DUP(?) STACK1 ENDS

DATA SEGMENT

TAB DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA

;;;;;;;;;;;;;;;;;;;;;;;;中断向量;;;;;;;;;;;;;;;;;;;;;;;;;;;

START: MOV AX,DATA MOV DS,AX PUSH DS MOV AX,0 MOV DS,AX LEA DX,STOP MOV DS:[02H*4],DX MOV DX,SEG STOP MOV DS:[02H*4+2],DX POP DS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;东西方向通行;;;;;;;;;;;;;;;;;;;;;;;;;;;; 14

TIME必须大于13)

;1-9编码(共阴极)


交通灯(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西安市建设“美丽城区”市民满意度问卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: