(微机基础原理)流水彩灯的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
;----------------------------------------------------