收藏 分享(赏)

微机原理课程设计报告 彩灯控制器.doc

上传人:精品资料 文档编号:10743502 上传时间:2020-01-04 格式:DOC 页数:15 大小:727.50KB
下载 相关 举报
微机原理课程设计报告 彩灯控制器.doc_第1页
第1页 / 共15页
微机原理课程设计报告 彩灯控制器.doc_第2页
第2页 / 共15页
微机原理课程设计报告 彩灯控制器.doc_第3页
第3页 / 共15页
微机原理课程设计报告 彩灯控制器.doc_第4页
第4页 / 共15页
微机原理课程设计报告 彩灯控制器.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、微机原理课程设计1微机原理课程设计专业班级:计算机 1301姓 名:学 号:指导老师: 2016 年 1 月 15 日微机原理课程设计2彩灯控制器一、 实验要求、设计目的及功能实现 实验要求:现在有 8 盏彩灯,4 个开关作为输入,控制 4 种闪烁方式。当没有开关闭合时,4 种花型依次轮流闪烁,每种花型闪烁时间持续 2 分钟,每盏灯点亮的时间为1 秒。只有某一个开关闭合时,对应的花型连续不断的闪烁。 设计实现该功能的电路,并编写完整的代码。 设计目的:(1)巩固和加深微机原理所学知识; (2)学习掌握一般的软硬件的设计方法和查阅、运用资料的能力。 所实现的功能:本课程设计所设计的彩灯控制器的主

2、要功能有:向外发散显示、向中递推显示、0-7 依次显示、奇数灯显示,偶数灯显示等功能。输出采用 8 个二极管显示,每个灯亮 1 秒。2、实验原理在这次课程设计中主要用到了 8255A 可编程并行接口芯片可用程序来设置芯片的工作方式,通用性强,使用灵活,可为 CPU 与外设之间提供并行输入/输出的通道。8254 给 1S 的信号送到 8259,再送到 8255A 控制灯亮的时间。3、硬件原理图1 2 3 4 5 6ABCD654321DCBA TitleNumber RevisionSizeBDate: 14-Jan-2016 Shet of File: H:中中中中MyDesign.dbDra

3、wn By:RD32 AD0 16LOC/WR29 AD1 15QS0ALE25 AD2 14QS1INA24 AD3 13AD4 12S0,DEN26 AD5 1S1DT/R27 AD6 10S2M/IO28 AD7 9AD8 8RQ/GT031 AD9 7RQ/GT130 AD10 6AD1 5AD12 4NMI17 AD13 3INTR18 AD14 2AD15 39MN/MX3 TEST23 A16/S3 38READY2 A17/S4 37A18/S5 36A19/S6 35CLK19 RESET21 BHE/S7 34CPU8086D08 OUT0 10D17 GATE0 1D26

4、 CLK0 9D35D44 D53 D62 OUT1 13D71 GATE1 14CLK1 15CS21 RD2 WR23OUT2 17A019 GATE2 16A120 CLK2 18中中8253D034 D13 D232 D331D430 D529 D628 D727PA0 4PA1 3PA2 2PA3 1PA4 40PA5 39PA6 38PA7 37PB0 18PB1 19PB2 20PB3 21PB4 2PB5 23PB6 24PB7 25PC0 14PC1 15PC2 16PC3 17PC4 13PC5 12PC6 1PC7 10RD5 WR36 A09 A18RESET35 CS

5、6X?825AD01 D110 D29 D38D47 D56 D65 D74A027 CS1 RD3 WR2SP/EN16 INT17 INTA26IR0 18IR1 19IR2 20IR3 21IR4 2IR5 23IR6 24IR7 25CAS0 12CAS1 13CAS2 15中8259AD7LEDD1LEDD3LEDD2LEDD4LEDD6LEDD0LEDD5LEDA1 B2 C3G2A4 G2B5 G16 Y7 7Y6 9Y5 10Y4 1Y3 12Y2 13Y1 14Y0 15中中SN74LS138K2SW-PBK3SW-PBK4SW-PBK1SW-PB+5V微机原理课程设计382

6、55 工作原理及内部结构1.8255A 内部结构8255A 的内部结构如图2所示,它由4部分组成:(1) 数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU 与8255A 之间所有的数据的发送与接收以及 CPU 向8255A 发送的控制信息和8255A向 CPU 回送的状态信息都是通过它传送的(2)三个8位端口 PA、PB、PC端口 A(PA 口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口 B(PB 口):有一个8位数据输入缓冲器和一个8位数据输入/输出,锁存/缓冲存储器器;微机原理课程设计4端口 C(PC 口):有一个8位数据输入缓冲存储器器

7、和一个8位数据输出锁存/缓冲器。通常 PA 口与 PB 口用作输入/输出的数据端口,PC 口用作控制和状态信息端口。PC 口可以分为两个四位的端口,每个端口包含一个四位锁存器,可分别同 PA口和 PB 口配合使用,用作控制信号(输出)或作为状态信号(输入)。PA7-PA0PC7-PC4PC3-PC0D7-D0/RD/WRA1A0/CSRESETA 组控制数据总线缓冲器读/写控制逻辑B 组控制A 组A 口(8 位)A 组C 口 高 4位B 组C 口 低 4位B 组B 口(8 位)PB7-PB0图 2 内部结构图(3) A 组和 B 组控制电路A 组:PA 口和 PC 口的高四位(PC 7PC4)

8、;B 组:PB 口和 PC 口的低四位(PC 3PC0)。这两组控制电路一方面接收 CPU 发来的控制字并决定8255A 的工作方式;另一方面接收来自读写控制逻辑电路的读写命令,完成接口的读写操作。(4)读/写控制逻辑用来管理数据信息。控制字和状态字的传送,它接收来自 CPU 的地址总线的A1,A0和控制总线的信号 RD.WR.RESET 等,并向8255A 的 A,B 两组发送命令.由它控制把 CPU 发出的控制命令字或输出的数据送到相应的端口,或把外设的状态信息或输入的数据从相应的端口送到 CPU。2.8255A 引脚功能微机原理课程设计58255A 芯片除电源和地引脚以外,其他引脚可分为

9、两组,引脚如图3所示:(1)8255A 与外设连接引脚8255A 芯片与外设连接的有24条双向、三态数据引脚,分成三组,分别对应于 A,B,C 三个数据端口:PA7-PA0,PB7-PB0,PC7-PC0.1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21PA3PA2PA1PA0/RD/CSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7/WRRETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB

10、4PB3图 3 引脚图( 2 ) 8255A 与 CPU 连接引脚D7与 CPU 侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A 口外设双向数据线;PB7PB0B 口外设双向数据线;PC7PC0C 口外设双向数据线;RESET复位输入信号/CS /RD /WR A1 A0 执行的操作表 1 8255A 的控制信号和传送操作的对应关系微机原理课程设计60 0 1 0 0 读端口 A0 0 1 0 1 读端口 B0 0 1 1 0 读端口 C0 0 1 1 1 非法状态0 1 0

11、0 0 写端口 A0 1 0 0 1 写端口 B0 1 0 1 0 写端口 C0 1 0 1 1 写控制字端口1 未选通8255A 的工作方式控制字8255A 有两个控制字:方式选择控制字和端口 C 置位/ 复位控制字。这两个控制字公用一个地址,即控制端口地址,用控制字的 D7位来区分这两个控制字,D7=1为方式选择控制字; D7=0为端口置位/复位控制字。1.方式选择控制字如图4所示:D7 D6 D5 D4 D3 D2 D1下 C 口 pc3-pc00 输入 1 输PB0 输 1 输出上 C 口 pc7-pc40 输入 1 输出PA 0 输入 1 输出A 组工作方式0 方式 001 方式 0

12、12 方式 10特征位图 4 8255A 方式选择控制字微机原理课程设计72.端口 C 置位/复位控制字端口 C 置位 /复位控制字的格式如下图所示: D3-D1三位的编码与端口 C 的某一位相对应,D0决定置位或复位操作,最高位为0是端口 C 置位或复位控制字标志。如图5所示0 D3 D2 D1 D0图 5 8255A 端口 C 置3.8255A 的工作方式8255 可编程外围接口芯片是 Intel 公司生产的通用并行 I/O 接口芯片,它具有 A、B、C 三个并行接口,用+5V 单电源引脚图供电,能在以下三种工作方式下工作:方式 0基本输入/输出方式方式 0 下,每一个端口都作为基本输入或

13、输出口,端口 C 的高 4 位和低 4 位以及端口 A、端口 B 都可独立的设置为输入口或输出口。4 个端口的输入或输出可有 16 种组合。8255A 工作于方式 0 时,CPU 可采用无条件读写方式与 8255A 交换数据,也可采用查询方式与 8255A 交换数据。采用查询方式时,可利用端口 C 作为与外D3 D2 D1 位选择0 0 0 PC00 0 1 PC10 1 0 PC20 1 1 PC31 0 0 PC41 0 1 PC51 1 0 PC61 1 1 PC7置位或复位选择1:置位 0:复位微机原理课程设计8设的联络信号。方式 1选通输入/输出方式:适用于查询和中断方式。方式 2双

14、向选通输入/输出方式:方式 2 为双向传输方式,8255A 的方式 2可使 8255A 与外设进行双向通信,既能发送数据,又能接受数据,可采用查询方式和中断方式进行传输。8086 的引脚信号如图 6 所示:1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A1/S4A18/S5A19/S6/BHE/S7MN/

15、MX/RDHOLDHLDA/WRM/IODT/R/DENALE/INTR/TESTREADYRESET图 6 8086 引脚图8086 具有两种不同工作方式,即最小模式和最大模式。若把 MN/ 引脚MX连至电源+5V,则为最小模式。若把它接地,则处在最大模式。四、软件设计微机原理课程设计91.主程序流程图2.开关设计开始初始化调用向外发散显示向中递推向左依次显示 奇、偶数灯亮检测 k1检测 k2检测 k3检测 k4暂停 检测 k5 中断开始K5=1K1=1显示当前灯全灭N YNY继续当前循环微机原理课程设计105、调试过程1.硬件调试设计的电路是由 k5 来控制灯的暂停和开始,k1-k5 接

16、PB0-PB4。花型变换由k1,k2,k3,k4 控制。2.软件调试输入程序,经编译,连接后下载到实验箱运行。6、心得体会通过彩灯控制器的汇编实现,对硬件特别是 8253A,8255 并行口的原理和实现都有了很深的了解。更加深了对汇编语言的使用.在算法实现上要有一定的思路要更能体现设计的目的。同时上机调试也是十分重要的,在调试的过程中能够不断的发现在编写算法时应该注意的一些细节和算法语句的非法使用,在调试过程中通过对算法的不断测试、更正、扩充功能、修饰细节,使算法程序不断的得到完善。通过这次的课程设计使我认识到要将微机原理这门计算机专业的课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践

17、,将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己实践能力.通过这次的设计使我认识到只停留在表面理解问题是很难使问题得到很好的解决的,实践能力与理论知识同样重要。可以说此课程设计的理论难度并不大,但是若要深入发掘其中的东西,并且实际去编程实现,就遇到了相当大的难度。因为与之涉及的很多方面并没有学过,需要自己去自学和实践检验。7、实验源程序(附注释).486p stackp equ1400hCODE SEGMENT USE16ASSUME DS:CODE,ES:CODE,CS:CODEORG03000HBEG: JMPSTART IFSWITCH DB 0 SHANSHUOCOUNT

18、DB 0 SWITCHCOUNT DB 1 ORDERNO DB 0 ShanShuoLimit DB 120 微机原理课程设计11DENG1 DB 0,18H,24H,42H,81H DENG2 DB 0,81H,42H,24H,18H,24H,42H DENG3 DB 0,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH DENG4 DB 0,01H,02H,04H,08H,10H,20H,40H,80H,40H,20H,10H,08H,04H,02H DENGCount DB 4 PORT1 EQU203H ;APORT2 EQU207H ;BPORT

19、3 EQU20BH ;CPORT4 EQU20FH ;CTRL PORT8254A EQU 300HPORT8254B EQU 304HPORT8254C EQU 308HPORT8254D EQU 30CHPORTJI EQU 3A8H ;8259A 奇地址 PORTOU EQU 3A0H ;8259A 偶地址 START:CLI ;关中断movax,CODEmovds,ax MOV AX,0 MOV ES,AX movss,axmovsp,stackp MOV AL,10000010B MOV DX,PORT4 ;8255 初始化 A 端口输入,B 端口输出 OUT DX,AL MOV B

20、X,40H*4MOV AX,OFFSET INTPROCMOV ES:BX,AX ;设置中断向量MOV AX,SEG INTPROCMOV ES:BX+2,AXMOV AL,00010011B 微机原理课程设计12MOV DX,PORTOU ;ICW1OUT DX,ALMOV AL,01000000BMOV DX,PORTJI ;ICW2OUT DX,ALMOV AL,00000001B ;ICW4OUT DX,ALMOV AL,11111110B ;中断屏蔽字,OCW1OUT DX,ALMOV AL,36H ;计数器初始化 MOV DX,PORT8254DOUT DX,ALMOV AX,47

21、0MOV DX,PORT8254AOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,76HMOV DX,PORT8254DOUT DX,ALMOV AX,100MOV DX,PORT8254BOUT DX,ALMOV AL,AHOUT DX,AL STIWAIT: JMP WAITINTPROC PROCPUSH DX PUSH AXPUSH BXSTIMOV DX,PORT2 ;读开关状态IN AL,DX 微机原理课程设计13TEST AL,80H JNZ EXIT2AND AL,1FHCMP AL,01HJE ONECMP AL,02HJE TWO CMP AL,04H

22、JE THREECMP AL,08HJE FOUR CMP IFSWITCH,0 ;IFSWTICH=1 表示当前正在交替闪烁,JNE NEXT0 ;IFSWTICH=0 表示刚从某种样式单独闪烁的状态切换到交替闪烁的状态MOV IFSWITCH,1MOV SWITCHCOUNT,1 ;先从第一种样式开始闪烁MOV SHANSHUOCOUNT,0 ;当前样式闪烁次数初始化 MOV ORDERNO,0NEXT0:CMP SWITCHCOUNT,01HJE ONECMP SWITCHCOUNT,02HJE TWO ;切到相应的样式CMP SWITCHCOUNT,03HJE THREECMP SWI

23、TCHCOUNT,04HJE FOUR ONE:MOV DL,01H MOV DH,4 LEA BX,DENG1CALL CaseProJMP EXIT1TWO:MOV DL,02H MOV DH,6 LEA BX,DENG2微机原理课程设计14CALL CaseProJMP EXIT1THREE: MOV DL,04H MOV DH,9 LEA BX,DENG3CALL CaseProJMP EXIT1 FOUR:MOV DL,08H MOV DH,14 LEA BX,DENG4CALL CaseProJMP EXIT1 EXIT1: MOV DX,PORT1OUT DX,AL ;从端口 A

24、 送出数据,让小灯们亮EXIT2:CLIMOV DX,PORTOUMOV AL,20H ;发送 EOI 命令OUT DX,ALPOP BXPOP AXPOP DXIRETINTPROC ENDPCasePro PROCCMP AL,DL ;再次确认是多样式交替闪还是单样式,AL=1 说明是单样式JE NEXT11INC SHANSHUOCOUNT ;闪烁次数+1 MOV AH, ShanShuoLimitCMP SHANSHUOCOUNT,AH ;ShanShuoLimit 120 是交替闪烁的情况下每种样式最多闪烁次数微机原理课程设计15JNE NEXT12 ;不足 120 次MOV SHA

25、NSHUOCOUNT,0INC SWITCHCOUNT ;当前样式已经闪了 120 次,准备切到下一样式 MOV AH, DENGCount CMP SWITCHCOUNT,AH ;DENGCount 5 是样式的数量JBE NEXT12 MOV SWITCHCOUNT,1 ;转样式 1JMP NEXT12NEXT11:MOV IFSWITCH,0NEXT12:INC ORDERNOCMP ORDERNO,DHJNG NEXT13MOV ORDERNO,1NEXT13:;LEA BX,DENG1 MOV AL,ORDERNOXLATNOT AL ;对 al 每一位取反,因为二极管是 0 点亮RETCasePro ENDP CODE ENDSENDbeg

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报