(微机基础原理)流水彩灯的设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理课程设计报告书

课题名称 流水彩灯的设计

姓 名 学 号 院 系 专 业

※※※※※※※※

※ ※

※ ※※

※※

※※※※※※※

2014级学生微机原理 课程设计

指导教师

2010年 12 月14 日

流水彩灯的设计

一、设计目的

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彩灯。

Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的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

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

data segment

MY8255_A equ 90h ;8255的A端口地址

MY8255_B equ 92h ;8255的B端口地址

MY8255_C equ 94h ;8255的C端口地址

MY8255_MODE equ 96h ;8255控制寄存器地址

MODE_A db 10001001b ;控制字 89h; A端口输出工作方式0,端口C输

dz db 01h,03h,07h,0fh,1fh,3fh,7fh,0ffh,00h,0ffh,00h,0ffh data ends

code segment

assume cs:code,ds:data

start: mov dx,MY8255_MODE

mov al,MODE_A

out dx,al ;控制字初始化

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

select:

mov dx, MY8255_C

in al,dx ;读取C端口地址

goexit:

test al,10h

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

test al,20h

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

; ******************* ;四种花型的判断

and al,0fh ;屏蔽al的高四位

cmp al,00h

jz cont1 ;花型1 循环左移

cmp al,01h

jz cont2 ;花型2 循环右移

cmp al,02h

jz cont3 ;花型3 依次递增后闪烁

cmp al,03h

jz cont4 ;花型4 交替闪烁

jmp select

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

exit:

mov ah,4ch

int 21h ;4ch系统功能调用,返回操作系统

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

cont1:

mov cx,08h

mov dx,MY8255_A

mov al,01h

k1: out dx,al ;写A端口

call delay

rol al,1

loop k1

jmp select

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

相关文档
最新文档