当前位置:文档之家› (完整word版)微机原理————走马灯实验设计

(完整word版)微机原理————走马灯实验设计

微型计算机技术课程设计指导教师:赵立辉李鹏学生班级:计科10802学生姓名:陈东学号:200803939班内序号:11目录1.……………………………………………………….课设目的2.………………………………………………………课设内容3.…………………………………………问题分析及设计思路4.…………………………………………电路设计及功能说明5.………………………………硬件原理图及接口芯片的介绍6.……………………………………程序流程图及相关源程序7. …………………………………………………实验结果及分析8.…………………………………………………………课设总结一.课设目的1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制工作奠定一定的基础。

2.主要掌握接口芯片8253、8255A等可编程器件的使用,掌握译码器74LS138的使用。

3.学会用汇编语言编写一个较完整的实用程序。

4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。

二.课设内容1.功能要求:采用8253设计一个1s定时电路,将定时信号接到8255的PC 口的某一位,编程查询该位的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。

按下Esc键结束程序。

2.设计所需器材及介绍①一块实验面包板(内含时钟信号1MHz或2MHz)。

②可编程芯片8253、8255A、74LS138、74LS245各一片。

74LS06两片,发光二极管8个,排电阻一个。

③导线若干。

④示波器、万用表、常用工具等共用(从实验室现借现还)三.问题分析及设计思路1.利用74LS138设计地址译码电路,8255A端口地址:300H~303H,8253的端口地址:304H~307H。

2.74LS245用于总线和8253、8255A之间的双向传输和隔离。

3.利用面包板上时钟(1MHz或2MHz)和8253设计一个1s定时电路,将定时信号接到8255的PC4,编程查询PC4的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。

按下Esc键结束程序。

4.每个74LS06中包含了6个非门,它的输入来自PA口的某一位,输出接到发光二极管的负极。

5.每个发光二极管的正极接排电阻的从2到9的一个引脚,排电阻的1脚接VCC(+5V)。

四.电路设计及功能说明电路设计:74LS245用于总线和8253、8255A之间的双向传输和隔离。

利用面包板上时钟(1MHz或2MHz)和8253设计一个1s定时电路,将定时信号接到8255的PC4,编程查询PC4的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。

74LS06中包含了6个非门,它的输入来自PA口的某一位,输出接到发光二极管的负极。

每个发光二极管的正极接排电阻的从2到9的一个引脚,排电阻的1脚接VCC(+5V)。

利用74LS138设计地址译码电路,其输出端Y0,Y1分别接8255和8253。

理论连线图功能说明:采用8253设计一个1s定时电路,将定时信号接到8255的PC口的某一位,编程查询该位的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。

按下Esc 键结束程序。

五.硬件原理图(包括接口芯片的介绍)1. 硬件原理图实物连线图2.接口芯片介绍1). 74LS245数据总路线缓冲器其真值表如下:74LS245是由8个双向缓冲器组合起来,控制端连接在一起而构成的8位双向三态缓冲器芯片.每个双向三态缓冲器由两个三态缓冲器构成,它有两个控制端,即输出允许控制端OE(低有效,用于控制数据的输出)和方向控制端DIR(用于控制数据驱动的方向),它用于隔离和缓冲.2). 74LS06 反向驱动器74LS06 反向驱动器的内部引脚图如下:74LS06 反向驱动器是由6个非门构成,在本次课设中是将8255的PA口输出的数据经过它反向驱动8个发光二极管发光.当8255的PA的某个口输出高电平时,经反相为低电平接到发光二极管Li负极,发光二极管正极接着高电平.这样,二极管形成导通电流,发光二极管Li将点亮.3) 74LS138 译码器74LS138 译码器的引脚图如下:74LS138 译码器是一种集成3位二进制(3-8线)译码器.A、B、C 为二进制译码输入端,G0~G7为译码输出端(低电平有效).当G1=1、G2A+G2B=0时,译码器处于工作状态. 74LS138 译码器的输出端包含了输入端变量A,B,C组成的所有最小项的非.译码电路的真值表如下:4) 8255A并行接口电路芯片8255A并行接口电路芯片的引脚图如下:8255的内部结构如下:8255A共有四个可寻址的端口(即A口、B口、C口和控制寄存器),用二位地址编码即可实现选择。

参见下表:8255A并行接口电路芯片具有24条可编程输入输出引脚,分成A、B、C三个端口,每个端口8位,都可以编程设定为输入或输出端口.它共有3种工作方式:基本输入输出方式、选通输入输出方式和双向选通传送方式.8255A的初始化编程比较简单,只需要一个方式控制字就可以把3个端口设置完成(把方式控制字送到控制端口的地址).对控制字的写入要采用控制I/O地址: A1A0=11(即控制端口). 外设数据的读写利用端口A、B、C的I/O地址: A1A0依次等于00、01和10(本课设中用到的译码电路产生的对应的PC机I/O地址为300H、301H、302H)。

初始化编程之后,处理器执行输入IN指令和输出OUT指令、对3个数据端口进行读写就可以实现处理器与外设间的数据交换.5) 定时/计数器8253定时/计数器8253的内部结构图和引脚图如下所示:8253是可编程间隔定时器,有3个独立的16位减法计数器通道,每个计数器有6种工作方式(由处理器写入的方式控制字确定).8253芯片面向处理器连接的引脚类似于处理器的数据、地址和控制信号.8253内部通过数据总线缓冲器引出8位数据引脚D7~D0,与系统数据总线相连,用于接收处理器的控制字(保存于控制字寄存器中)和计数初值,以及发送计数器的当前计数值和工作状态.8253内部的读写控制逻辑接收来自系统总线的读写控制信号,控制整个芯片的工作.PC机主板I/O地址译码电路译码输出Y1与8253片选信号连接,系统地址总线A1和A0与8253芯片对应的地址引脚A1和A0连接,这样得到定时器的4个I/O地址304H~307H.8253的初始化需要首先写入方式控制字,再写入计数初值.对于计数器的工作方式2和工作方式3,计数值减为0后自动将预置寄存器的计数初值送到减1计数器,同时重复下一次的计数过程,直到写入新的方式控制字才停止.这一特点使得8253在本课设中用于产生一个1s定时信号(OUT2接PC4)。

六.程序流程图和汇编源程序流程图源程序DATA SEGMENTMESG1 DB '1s invoke interrupt one time,and to light one of LEDs',0ah,0dhDB 'Exit with Esc',0ah,0dh,'$'LEDDATA DB 01H,02H,04H,08H,10H,20H,40H,80H;NUM DW 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATADELAY PROCPUSH CXPUSH BXMOV BX,05FFFHLOOP2:MOV CX,0FFFFHLOOP1:LOOP LOOP1DEC BXJNZ LOOP2POP BXPOP CXRETDELAY ENDPSTART:MOV AX,DATAMOV DS,AXMOV AH,09HMOV DX,OFFSET MESG1INT 21h ;显示提示信息MOV DX,303H ;初始化8255 MOV AL,80H ;PA输入OUT DX,ALMOV DX,300HMOV AL,0FFHOUT DX,AL ;D灯熄灭MOV DX,307H ;8253定时1SMOV AL,01110110BOUT DX,ALMOV DX,305HMOV AL,0E8HOUT DX,ALMOV AL,03HOUT DX,ALMOV DX,307HMOV AL,10110110BOUT DX,ALMOV DX,306HMOV AL,0E8HOUT DX,ALMOV AL,03HOUT DX,ALMOV CX,0L1: MOV AH,0BH ;检查是否有Esc键按下INT 21HINC ALJNZ LP ;若无键按下,则程序往下执行 MOV AH,08H ;如有Esc键按下,则程序退出 INT 21HCMP AL,27JZ EXITLP: MOV DX,302HIN AL,DXTEST AL,10H ;看PC4位是否为0, JNZ LPMOV SI,OFFSET LEDDATAADD SI,cxMOV AL,[SI]MOV DX,300HOUT DX,ALCALL DELAY ;点亮LEDINC CXCMP CX,08HJE L0JMP L1L0:MOV CX,00Hjmp L1IRETEXIT:MOV AX,4C00H ;程序退出INT 21HCODE ENDSEND START七. 实验结果及分析接通电源,在课设平台上编译连接运行程序后,8盏LED灯一次间隔1s点亮,出现走马灯似的效果。

效果图如下:八.课设总结经过一个星期的课程设计,确实有很多的收获。

微机原理的课程设计与之前做的C++、数据结构课设不同,这次不光要求我们又一定的编程基础,同时要求有较强的动手能力。

因为要自己按照电路图在电路板上连接电路,这就要求我们明白各个器件的功能,我们必须要细心,精心排布各器件才能更合理的完成课程设计。

这些都是一种锻炼。

此外,通过课程设计,加深了我对8255、8253、74LS138等器件的功能的了解与应用,弥补了课堂上学习的不足。

之前上课我们只是在理论上接触了一些硬件方面的东西,但并没有深入的了解,很多人都是空有理论却并不懂的应用,通过课程设计,刚好弥补了这点。

课程设计的过程中我们也遇到了一些困难,比如电路图的一些小错误,连接电路时不细心导致出不了结果,但在老师的帮助以及自己和搭档的努力下都得到了解决,希望以后自己在做事情的时候可以更加的细心谨慎,谦虚好问,相信自己可以做的更好。

相关主题