微机原理流水彩灯的设计Word文档格式.docx

上传人:b****2 文档编号:13597429 上传时间:2022-10-12 格式:DOCX 页数:12 大小:450.05KB
下载 相关 举报
微机原理流水彩灯的设计Word文档格式.docx_第1页
第1页 / 共12页
微机原理流水彩灯的设计Word文档格式.docx_第2页
第2页 / 共12页
微机原理流水彩灯的设计Word文档格式.docx_第3页
第3页 / 共12页
微机原理流水彩灯的设计Word文档格式.docx_第4页
第4页 / 共12页
微机原理流水彩灯的设计Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理流水彩灯的设计Word文档格式.docx

《微机原理流水彩灯的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理流水彩灯的设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理流水彩灯的设计Word文档格式.docx

1)循环彩灯的循环速度可调;

2)按键要求

①启动/暂停,按SW0开关启动系统,按SW1开关停止系统工作。

②花型变换,由开关SW2、SW3进行四种花型切换;

指导教师签名:

2015年12月28日

二、指导教师评语

年月日

三、成绩

验收盖章

年月日

一、设计目的

1.巩固和加深课堂所学知识;

熟悉各种指令的应用及条件;

2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;

3.深入了解与掌握8255A在PC机系统的典型接法和8255A的工作方法及应用编程。

二、设计要求

1)循环彩灯的循环速度可调;

三、设计思路

根据所学容和对8255A的应用,整个系统硬件采用8086微处理器,74LS373锁存器,和8255A可编程并行接口芯片和8个led彩灯。

Intel8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道;

8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;

8086CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离

四、电路及连线设计

图1信号发生器系统框图

五、程序设计

5.1主程序设计

主程序主要是将开关的信号读入到8255A的C口,通过读取开关的状态,与设定的数值进行比较,若两数值相等时则转入到相应的程序段,分别产生方波、锯齿波、三角波、梯形波及正弦波。

图2程序流程图

5.2源程序设计(见附录)

5.3仿真实物连接图

六、设计总结

回顾起此次微机原理课程设计,我感慨颇多,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。

而且在做课程设计的过程中,不仅是考验自己所学的知识,更是要锻炼自己的分析问题的能力和解决实际问题的能力,而在在此次课程设计过程中得到了充分的体现。

虽然在设计的过程遇到了各种各样的问题,但同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。

七、参考文献

[1]楼顺天,周佳社.微机原理与接口技术[M].:

科学,2006:

295-325.

附录1

循环彩灯系统汇编源程序清单:

00010000(10h)

SW1停止系统工作

00100000(20h)

SW0开始系统工作

00100000(20h)

SW2花型1左循环

00100001(21h)

SW2花型2右循环

00100010(22h)

SW3花型3循环不断

00100011(23h)

SW3交替闪烁

CS

A1

A0

端口

对应地址

0

1

控制字寄存器

xxxxxx11

端口A寄存器

xxxxxx00

端口B寄存器

xxxxxx01

端口C寄存器

xxxxxx10

datasegment

MY8255_Aequ90h;

8255的A端口地址

MY8255_Bequ92h;

8255的B端口地址

MY8255_Cequ94h;

8255的C端口地址

MY8255_MODEequ96h;

8255控制寄存器地址

MODE_Adb10001001b;

控制字89h;

A端口输出工作方式0,端口C输入

dzdb01h,03h,07h,0fh,1fh,3fh,7fh,0ffh,00h,0ffh,00h,0ffh

dataends

codesegment

assumecs:

code,ds:

data

start:

movdx,MY8255_MODE

moval,MODE_A

outdx,al;

控制字初始化

;

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

select:

movdx,MY8255_C

inal,dx;

读取C端口地址

goexit:

testal,10h

jzexit;

结果是0,CF=1,跳转到exit去执行

set:

testal,20h

jzselect;

若是结果是0,则继续检测按键

*******************;

四种花型的判断

andal,0fh;

屏蔽al的高四位

cmpal,00h

jzcont1;

花型1循环左移

cmpal,01h

jzcont2;

花型2循环右移

cmpal,02h

jzcont3;

花型3依次递增后闪烁

cmpal,03h

jzcont4;

花型4交替闪烁

jmpselect

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

exit:

movah,4ch

int21h;

4ch系统功能调用,返回操作系统

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

cont1:

movcx,08h

movdx,MY8255_A

moval,01h

k1:

写A端口

calldelay

rolal,1

loopk1

jmpselect

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

cont2:

moval,80h

k2:

outdx,al

roral,1

loopk2

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

cont3:

movbl,0bh

leasi,dz

diz:

moval,[si];

向左递增子程序

incsi;

加1存在si里面

decbl

jnzdiz;

bl!

=0则继续跳到diz执行

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

cont4:

movdx,MY8255_A

moval,55h

moval,0aah;

xoral,0ffh

delayproc;

定义延时子程序

pushcx

pushbx

movcx,0fh

d1:

movbx,0fh

d2:

decbx

jnzd2

popbx

popcx

ret

endendp

delay:

延时子程序

pushf

pushcx;

保护现场

movbx,0e0h

lp2:

movcx,176h

lp1:

pushf;

标志入栈

popf;

标志出栈

looplp1

jnzlp2

popf

ret

codeends

endstart

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1