微机原理流水彩灯的设计.docx

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

微机原理流水彩灯的设计.docx

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

微机原理流水彩灯的设计.docx

微机原理流水彩灯的设计

微机原理课程设计报告书

 

课题名称

流水彩灯的设计

姓名

学号

院系

专业

指导教师

 

2010年12月14日

一、设计任务及要求

设计一个循环彩灯控制系统,能输出四种花型,输出花型如下:

1)00000001   左循环(1时亮,0时灭)

2)10000000   右循环

3)按00000001,00000011,00000111-----11111111规律递增,后同时闪烁一次,循环不断。

4)按01010101,10101010(或红、绿彩灯)   交替闪烁。

功能要求:

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

2)按键要求

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

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

指导教师签名:

2015年12月28日

二、指导教师评语

 

指导教师签名:

年月日

三、成绩

 

验收盖章

年月日

流水彩灯的设计

一、设计目的

1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件;

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

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

二、设计要求

设计一个循环彩灯控制系统,能输出四种花型,输出花型如下:

1)00000001   左循环(1时亮,0时灭)

2)10000000   右循环

3)按00000001,00000011,00000111-----11111111规律递增,后同时闪烁一次,循环不断。

4)按01010101,10101010(或红、绿彩灯)   交替闪烁。

功能要求:

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

2)按键要求

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

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

三、设计思路

根据所学容和对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

1

控制字寄存器

xxxxxx11

0

0

0

端口A寄存器

xxxxxx00

0

0

1

端口B寄存器

xxxxxx01

0

1

0

端口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:

outdx,al;写A端口

calldelay

rolal,1

loopk1

jmpselect

;----------------------------------------------------

cont2:

movcx,08h

movdx,MY8255_A

moval,80h

k2:

outdx,al

calldelay

roral,1

loopk2

jmpselect

;-----------------------------------------------------

cont3:

movdx,MY8255_A

movbl,0bh

leasi,dz

diz:

moval,[si];向左递增子程序

outdx,al

calldelay

incsi;加1存在si里面

decbl

jnzdiz;bl!

=0则继续跳到diz执行

jmpselect

;---------------------------------------------------

cont4:

movdx,MY8255_A

moval,55h

outdx,al

calldelay

moval,0aah;xoral,0ffh

outdx,al

calldelay

jmpselect

;-----------------------------------------------------

;delayproc;定义延时子程序

;pushcx

;pushbx

;movcx,0fh

;d1:

movbx,0fh

;d2:

decbx

;jnzd2

;popbx

;popcx

;ret

;endendp

;----------------------------------------------------

delay:

延时子程序

pushf

pushbx

pushcx;保护现场

movbx,0e0h

lp2:

movcx,176h

lp1:

pushf;标志入栈

popf;标志出栈

looplp1

decbx

jnzlp2

popcx

popbx

popf

ret

codeends

endstart

 

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

当前位置:首页 > 总结汇报 > 学习总结

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

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