微机原理设计报告
- 格式:docx
- 大小:167.49 KB
- 文档页数:15
微机原理电路设计项目报告项目简介本项目是基于微机原理的电路设计项目,旨在实现一个能够运行简单计算机指令的微处理器电路。
项目目标1. 设计一个能够执行简单计算机指令的微处理器电路。
2. 实现数据存储和寻址功能。
3. 设计相关电路模块,如时钟控制电路和输入输出接口电路。
4. 搭建整个微处理器电路的原型,并进行测试。
设计思路本项目的设计思路分为以下几个步骤:1. 确定基本指令集和寻址方式。
根据项目需求,选择常用的机器指令集,并确定寻址方式,如直接寻址、间接寻址等。
2. 设计并实现数据存储和寻址功能。
根据选定的寻址方式,设计数据存储单元(如寄存器)和地址译码电路,以实现数据存储和读取功能。
3. 设计并实现控制电路。
根据指令集需求,设计时钟控制电路,以控制指令的执行顺序和时钟周期。
同时,设计指令译码电路和控制信号生成电路,以实现指令的解析和对各个功能单元的控制。
4. 设计输入输出接口电路。
根据项目需求,设计输入输出接口电路,以实现与外部设备的数据交互。
5. 搭建整个微处理器电路的原型,并进行测试。
根据上述设计,搭建微处理器电路的原型,并进行功能测试和性能优化。
数据存储和寻址在本项目中,我们选择了直接寻址的方式。
设计了4个通用寄存器,分别用于存储运算数据和结果。
同时,设计了地址译码电路,实现了地址线的解码和控制信号的生成。
控制电路为了实现指令的执行和时钟周期的控制,我们设计了一个简单的时钟控制电路,以及一个指令译码电路和控制信号生成电路。
时钟控制电路用于控制时钟信号的频率和占空比,以保证电路的正常工作。
指令译码电路用于解析指令,生成相应的控制信号,控制各个功能单元的操作。
输入输出接口电路根据项目需求,我们设计了一个简单的串口接口电路,用于与外部设备进行数据交互。
该接口电路采用了UART协议,能够实现串行通信和数据传输。
电路实现与测试基于上述设计思路和电路设计,我们搭建了微处理器电路的原型,并进行了功能测试和性能优化。
第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。
二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。
2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。
3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。
4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。
5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。
6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。
专业班级:计算机1301姓名:学号:指导老师:2016年 1 月15 日彩灯控制器一、实验要求、设计目的及功能实现实验要求:现在有8盏彩灯,4个开关作为输入,控制4种闪烁方式。
当没有开关闭合时,4种花型依次轮流闪烁,每种花型闪烁时间持续2分钟,每盏灯点亮的时间为1秒。
只有某一个开关闭合时,对应的花型连续不断的闪烁。
设计实现该功能的电路,并编写完整的代码。
设计目的:(1)巩固和加深微机原理所学知识;(2)学习掌握一般的软硬件的设计方法和查阅、运用资料的能力。
所实现的功能:本课程设计所设计的彩灯控制器的主要功能有:向外发散显示、向中递推显示、0-7依次显示、奇数灯显示,偶数灯显示等功能。
输出采用8个二极管显示,每个灯亮1秒。
二、实验原理在这次课程设计中主要用到了8255A可编程并行接口芯片可用程序来设置芯片的工作方式,通用性强,使用灵活,可为CPU与外设之间提供并行输入/输出的通道。
8254给1S的信号送到8259,再送到8255A控制灯亮的时间。
三、硬件原理图0 0000000000000000000000000008255工作原理及内部结构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位数据输入/输出,锁存/缓冲存储器器;端口C(PC口):有一个8位数据输入缓冲存储器器和一个8位数据输出锁存/缓冲器。
通常PA口与PB口用作输入/输出的数据端口,PC口用作控制和状态信息端口。
PC口可以分为两个四位的端口,每个端口包含一个四位锁存器,可分别同PA 口和PB口配合使用,用作控制信号(输出)或作为状态信号(输入)。
微机原理课程设计报告文库一、课程目标知识目标:1. 理解微机原理的基本概念,掌握微机硬件结构及其功能;2. 学会分析微机工作原理,了解指令系统及编程方法;3. 掌握微机接口技术,了解常见接口芯片的功能和应用。
技能目标:1. 能够运用所学知识进行微机系统的简单设计和调试;2. 培养学生具备一定的微机编程能力,能够编写简单的汇编语言程序;3. 提高学生动手实践能力,能够进行基本的硬件焊接和电路搭建。
情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情;2. 培养学生具备良好的团队合作意识,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于探索新知识,提高自主学习能力。
课程性质:本课程为理论与实践相结合的课程,强调培养学生的动手实践能力和创新能力。
学生特点:学生已具备一定的电子技术和计算机基础,具有较强的学习能力和好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课堂讨论,鼓励学生动手实践,培养学生解决问题的能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够掌握微机原理的基本知识,具备实际应用能力,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 微机硬件结构:介绍微处理器、存储器、输入输出接口等硬件组件的工作原理和功能;教材章节:第一章 微机系统概述内容列举:CPU结构、存储器分类、I/O接口基础等。
2. 指令系统与编程:讲解汇编语言的基本指令、寻址方式、程序设计方法等;教材章节:第二章 指令系统与汇编语言内容列举:基本指令、汇编语言程序结构、循环、分支等编程技巧。
3. 微机接口技术:分析常见接口芯片的原理与应用,如并行接口、串行接口、定时器/计数器等;教材章节:第三章 微机接口技术内容列举:并行接口、串行接口、定时器/计数器接口芯片等。
4. 微机系统设计与实践:培养学生动手实践能力,进行简单的微机系统设计与调试;教材章节:第四章 微机系统设计与实践内容列举:硬件焊接、电路搭建、程序下载与调试等。
一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。
二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。
(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。
(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。
2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。
(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。
(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。
3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。
(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。
(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。
4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。
(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。
(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。
三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。
2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。
3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。
4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
微机原理课程设计报告课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助!微机原理课程设计报告(一) 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。
当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。
但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。
我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。
我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。
看着自己做出来的东西,心里面的感觉真的很好。
虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。
很有成就感。
我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。
但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。
对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。
微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。
讨论某一部分原理时又要涉及到其它部分的工作原理。
这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。
所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。
学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。
微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。
二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。
2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。
3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。
4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。
三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。
(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。
观察实验现象并记录。
(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。
观察程序的执行结果,并记录相关数据。
(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。
观察实验现象并记录相关数据。
2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。
(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。
(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。
四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。
2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。
但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。
五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。
一、设计要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒。
(2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒。
(4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。
(5)转(1)重复。
(6)紧急情况可以手动控制红绿灯的变换。
一个开关控制南北绿,东西红,另一个按钮南北红,东西绿。
(7)黄灯闪烁时扬声器发声,提醒。
二、设计目的(1)了解红绿灯电路的基本工作原理;(2)了解8086微型计算机的工作过程;(3)学习8086CPU与外围设备的接口技术。
(4)运用微机原理与接口技术、数字电路、汇编语言程序设计等课程学到的知识,掌握微型计算机接口的方法和原理,具备一定的微机应用开发的实践能力,加深对理论课程的理解。
三、设计的具体实现原理框图3.1系统概述本次设计是模拟交通灯实时控制系统,以8086CPU为核心加以并行接口芯片8255、可编程计数器/定时器8253、LED灯、开关等组成的系统。
以LED灯模拟十字路口的红绿灯。
对交通灯控制的实现主要是通过编写汇编语言程序对8255的I/O及8253进行控制,从而实现对灯的亮与灭进行控制。
PC口做输入,读取定时,及应急开关状态。
用8253对扬声器的发声进行控制,利用软件编程给定8253芯片某一频率的方波信号,并且设定8255芯片的门控信号PB0 =1,则可控制扬声器发声。
利用8253的计数器1方式3、计数器0方式0实现对扬声器的控制,以及对于交通灯亮灭时间的精确延时。
3.2 8086CPU介绍8086由执行部件和总线接口部件组成(内部结构图如下图)外部设备8086内部结构图1. 执行部件EU由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和EU控制器等部件组成。
主要功能是执行指令:一般顺序执行,EU不断地从指令队列中取指令连续执行,而省去访问存储器取指令的时间。
需要访问存储器取操作数时,EU将访问地址送给BIU后,将要等待操作数到来后才能继续操作;遇到转移类指令时,要将指令队列中的后续指令作废,等待BIU重新从存储器取出目标地址中的指令代码进入指令队列后,EU才能继续执行指令。
目录第一章绪论 (1)1.1 背景 (1)1.2 选题的目的和意义 (1)1.3 课程设计目的和要求 (1)第二章步进电机的实时控制 (1)2.1 设计方案 (1)2.2 硬件系统基本原理 (2)2.2.1 系统硬件子系统的构成 (2)2.2.2步进电机控制原理 (3)2.3 软件框图及设计思想 (5)2.4控制子程序 (7)第三章芯片使用 (9)3.1 8255A简介 (9)3.2 8255A的工作方式选择 (10)3.3 、8086引脚简介 (10)3.3.1引脚功能介绍 (11)第四章心得体会 (13)参考文献 (14)附录 (14)微机原理课程设计报告题目步进电机转速实时控制课程设计学院信息科学与工程学院专业电气工程及其自动化学生姓名学号 2014 年级14级指导教师职称2016 年12月8日设计报告成绩(按照优、良、中、及格、不及格评定)指导教师评语:指导教师(签名)年月日说明:指导教师评分后,设计报告交院实验室保存。
步进电机转速实时控制摘要:微机接口技术是一门应用性、综合性、实践性较强的课程,通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。
本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2003作为步进电动机驱动电路主芯片,以8255A作为8086并行输出接口,8086对步进电机的控制信号则通过8255A送到ULN2003。
关于转向与转速,通过查表的方式实现,以逐次递增方向查表,依次输出表中数据,则步进电机正转;以逐次递减方向查表,则步进电机反转,即通过一个表实现步进电机的正转与反转。
转速则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速加快。
关键词:微机接口;芯片;步进电机;程序第一章绪论1.1 背景传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。
微机原理课程设计设计报告一、设计目的1、对微机原理课程中所学的理论知识进行进一步巩固和加深。
2、学会查阅相关手册与资料,培养独立分析与解决问题的能力。
3、学会使用屏幕编辑程序—MASM对汇编程序的编写,调试和运行。
4、了解对系统中DOS和BIOS的使用,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。
二、设计内容本次为期一周的课程设计,主要编写调试了5个程序,题目如下:1、字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法。
编写程序实现两个字符串比较。
如相同,则显示“MATCH”,否则,则显示“NO MATCH”。
2、从键盘上输出数据并显示为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。
编写程序,将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终端上。
3、字符和数据的显示设计为掌握字符和数据的显示方法,编写程序,先显示信息:INPUT STRING,THE END FLAG IS$,再接收字符。
如为0-9,则计数器加1,并显示数据;如为非数字,则直接显示,但不计数4、学生成绩名次表设计为进一步熟悉排序方法。
编写程序,将0-100之间的30个成绩存入首址为1000H的存储区中。
1000H+i表示学号为i的学生成绩。
编写程序使得在2000H 开始的区域排除名次表。
2000H+i为学号i的学生的名次。
三、具体设计程序设计一:字符串匹配设计为掌握提示信息的设置方法及读取键入信息的方法。
编写程序实现两个字符串比较。
如相同,则显示“MATCH”,否则,则显示“NO MATCH”。
流程图程序DATA SEGMENTDAT1 DB 'INPUT STRING1:','$' ;$保持当前地址DAT2 DB 'INPUT STRING2:','$'DAT3 DB 'MATCH!',0AH,0DH,'$' ;0DH为回车ASCII码,0AH为换行ASCII码DAT4 DB 'NOT MATCH!',0AH,0DH,'$'STRING1 DB 50 ;最长长度DB ? ;实际长度DB 50 DUP(?) ;存储空间STRING2 DB 50DB ?DB 50 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATA ;数据段设置MOV DS,AXMOV ES,AXMOV AH,09H ;字符串显示,显示DAT1,显示DS:DX MOV DX,OFFSET DAT1INT 21HMOV AH,0AH ;字符串缓冲输入,接收输入字符串MOV DX,OFFSET STRING1INT 21HMOV DL,0AH ;输出换行MOV AH,02HINT 21HMOV AH,09HMOV DX,OFFSET DAT2 ;显示DAT2INT 21HMOV AH,0AHMOV DX,OFFSET STRING2INT 21HMOV DL,0AH ;输出换行MOV AH,02HINT 21HLEA SI,STRING1 ;比较LEA DI,STRING2ADD SI,2 ;串1首字符[SI+2]ADD DI,2 ;串2首字符[DI+2]CLD ;DF=0MOV CX,50REPZ CMPSB ;CX≠0或ZF=1时重复,DS:SI和ES:DI所指的两个字节相同则继续比较,如果比较相等,ZF=1,则继续比较下一个字节,DI和SI分别加1(DF=0时),CX-1JZ MATCHNMATCH:MOV AH,09HMOV DX,OFFSET DAT4 ;输出不匹配INT 21HJMP NEXTMATCH: MOV AH,09HMOV DX,OFFSET DAT3 ;输出匹配INT 21HNEXT: MOV AH,4CHINT 21HCODE ENDSEND START小结在设计过程中,我把程序分成了宏定义显示回车,数据段定义,初始化,开始比较,匹配时再比较,不匹配时SI指向串1首字符,DI指向新字符重新开始比较等模块。
微机原理课程设计题目: I/O接口卡设计学院:仪器与电子学院专业:测控技术与仪器指导教师:陈鸿成员姓名:设计日期:2015.6.15-2015.6.28目录一.设计题目及设计要求1.设计内容2.设计要求二.设计总体方案三.主要元件1.IBM PC/XT总线简介2.ISA总线简介3.8255芯片简介4.驱动器5.LED显示器四.工作原理五.硬件电路六.程序设计及流程图1.流程图2.程序设计七.设计心得八.参考文献一、设计题目及设计要求:1.设计一块I/O卡,该卡具有3个8位I/O口(A、B、C口),利用该I/O卡控制该卡控制一个四位的LED显示器,该卡插在PC机的IMB-PC扩展总线插槽上(ISA),选用8255接口芯片2.设计要求:画出电路原理图,说明工作原理,编写利用该接口卡对键盘上键入的数字进行显示的程序(当回车键按下前,如果键入的数字的次数大于4时显示最后的4位数)二.设计整体方案该接口卡的主芯片是8255芯片,将ISA总线上的地址线A0-A19经过译码作为8255的片选信号,IOR、IOW分别作为8255的读写信号。
四位LED显示器采用共阴极接法,将8255的A端口的8个引脚经过驱动器与LED的a-h相连,用C端口的低四位来控制那个LED亮,B端口不使用。
三.主要元件1.IBM PC/XT总线简介总线在PC/XT机的底板上共有8个插头,称为IMB PC/XT总线。
PC/XT 总线在每个插槽(扩展槽)配有62个引脚代表各种不同的信号。
IBM PC/XT 总线的62条引线包括20位地址线、8位数据线、21根控制线、2根状态线和11根辅助线及电源线。
每一个插槽对应的引脚均有相同的意义,因此所有的接口卡可插于任何一个插槽上。
引脚间隔为2.54mm。
2.ISA总线简介ISA总线是IBM PC/AT机(CPU是80286)所用的系统总线,这是一个16位兼8位的总线标准。
如果忽略标准化细节,则可认为16位ISA总线就是PC/AT总线。
由于IBM PC/AT与IBM PC、IBM PC/XT机(CPU 都是8088)所用的Pc总线兼容,所以可认为8位ISA总线(16位ISA总的低8位部分)就是PC总线。
ISA总线的主插槽与IBM总线的插槽兼容,如下:注意事项:(1)当设计非DMA方式的I/O接口时,应把AEN为低作为该接口工作的使能条件,以确保在总线上进行DMA传送时该接口不工作,否则DMA传送时所发出的地址与该接口设计地址相同时该接口会误操作。
(2)系统对ISA总线上的I/O端口地址采用部分译码方法,只译码A9~AO 或A10~A0,在选择接口地址时应避开系统已占用的地址以及它们的重叠区。
(3)原则上讲,在用户自行设计接口插卡时,反未被占用的地址端口都可以使用,但要考虑到系统的现存配置情况,对端口地址的占用要留有余地,以免发生地址冲突。
一般用户可使用300H-31FH的地址,这些地址是留作实验卡用的。
3.8255芯片简介8255是可编程并行I/O口接口芯片。
如下图所示:(1)8255具有24个可编程设置的I/O口,即3组8位的I/O口分别为A 口,B口和C口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).(2)8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。
A、B、C寄存器的数据就是引脚PA7~PA0、PB7~PB0、PC7~PC0上输入或输出的数据。
其中,{1}PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
{2}PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
(3) PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
而控制寄存器的数据则表明PA、PB、PC的工作方式。
通过CS、A0、A1、RD和WR对4个寄存器进行操作。
CS为低电平时选通8255;A1、A0为地址选通。
具体如下:当A0=0,A1=0时,PA口被选择;当A0=0,A1=1时,PB口被选择;当A0=1,A1=0时,PC口被选择;当A0=1.A1=1时,控制寄存器被选择.RD和WR为读、写信号:RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。
(3)8255引脚功能RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输。
RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU 将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
(4)8255有三种基本的工作方式:方式0(基本的输入输出方式),方式1(选通输入输出方式),方式2(双向传输方式)。
具体如下:{1}方式0:这种方式不需要任何选通信号。
A口、B口及C口的两个4位口中的任何一个端口都可以被设定为输入或输出。
输出锁存,输入不锁存;{2}方式1:这种方式下,A口、B口、C口分为两组。
A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高四位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低四位则用来作为输入/输出操作的控制和同步信号。
A口和B口的输入输出数据都被锁存;{3}方式2:这种方式下,A口为8位双向总线口,C口PC3~PC7用来作为输入/输出操作的控制和同步信号;B口和C口的PC0~PC2则可编程为方式0或方式1工作。
4.驱动器74LS07同向能够驱动共阴极起端数码管显示,8255C端口为LED显示器的控制端口需用74LS04进行反向驱动。
5.LED显示LED数码管的主要部分是七段发光管,分别称为abcdefg,通过七个发光段的不同组合,可以显示0-9和A-F共16个字母数字,从而实现16进制的显示。
LED数码管有两种结构,分为共阳极接法和共阴极接法,如为共阴极结构,各字段阴极控制端共接低电平,而各段阳极控制端凡接高电平者便发光。
四.工作原理首先由I/O卡的RESET将8255A芯片复位,由微机系统的扩展槽中20根地址线来决定8255A片选信号是否选通,由其工作原理图可知A端口地址300H,B端口地址301H,C端口地址302H,控制口地址303H。
(为避免地址冲突,因此选用300H-303H)。
经MS—DOS功能调用从键盘输入一串字符,(调用OAH号功能,输入的字符串可达254个字符,其入口参数为DS:DX,在DX第一个字节必须存放输入字符的最大字节量,第二个单元存放是实际输入字符的个数,字符串本身从第三个字节开始有效,由终止回车符生成的码作为穿的最后一个字符输入。
),通过软件设计,不管输入多少个数,始终只显示最后输入的四个数。
同时也将由键盘输入的四个ASCII 码数转换成相应的BCD码,取个位数,将此BCD码转换成字形码,在将字形码送入到8255A的A端口,而将状态字送入C端口,用来控制哪一个显示器亮,并调用5ms延迟程序。
依此类推,取十位,百位,千位进行相同的操作,只是送C端口的数据不同,依次为O7H,O5H,03H、O1H。
由于四个显示器依次点亮的时间间隔短,利用发光管的余晖和人眼视觉的暂留作用,使人感觉好像4位LED显示器都在显示(动态显示)。
五.硬件原理图:六.程序设计及流程图1.流程图2.程序设计DA TA SEGMENTSTRING1 DB “please input char”STRING2 DB 100 DUP (?)STRING3 DB 100 DUP (?)DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART : MOV AX,DA TAMOV DS,AX ; 数据段寄存器的初始化MOV AL,80H ; 8255的初始化OUT DX, ALLEA DX, OFFSET STRING1MOV AH,09H ; 显示字符串功能INT 21HNEXT1: LEA DX, OFFSET STRING2MOV AH,0AH ; 从键盘读入数字INT 21HMOV CL,STRING2+1 ;实际读入的数字的个数送至CLCMP CL,0JZ NEXT1 ; 没有读入数字则继续等待MOV SI,DXADD CL,1MOV CH,0ADD SI,CXMOV AL,[SI] ; 个位数转化为BCD码AND AL,0FHLEA DI,OFFSET STRING3MOV [DI],ALDEC SI ; 十位数转化为BCD码MOV AL,[SI]AND AL,0FHDEC SI ; 百位数转化为BCD码MOV AL,[SI]AND AL,0FHMOV [DI+2],ALDEC SI ; 千位数转化为BCD码MOV AL,[SI]AND AL,0FHMOV [DI+3],ALNEXT2: LEA BX, OFFSET LEDADD ; 将千位数字转化为对应的字型码MOV AL,[DI+3]XLAT ; 查表转换MOV DX, 302HOUT DX,01H ; 将与之对应的数码管的位选打开OUT 300H,AL ; 将转换后的字型码送A口CALL DELAY ; 调用5ms的延时子程序LEA BX, OFFSET LEDADD ;将百位数字转化为对应的字型码MOV AL,[DI+2]XLATMOV DX,302HOUT DX,03HOUT 300H,ALLEA BX, OFFSET LEDADD ; 将十位数字转化为对应的字型码MOV AL,[DI+1]XLATMOV DX,302HOUT DX,05HOUT 300H,ALCALL DELAYLEA BX, OFFSET LEDAD; 将个位数字转化为对应的字型码MOV AL,[DI]XLATMOV DX,302HOUT DX,07HOUT 300H,ALCALL DELAYLOOP NEXT2DELAY PROC ; 延时子程序PUSH BXPUSH CXMOV CX,4167NEXT3: LOOP NEXT3POP CXPOP BXRETDELAY ENDPLEDADD: DB 40HDB 79HDB 24HDB 30HDB 19HDB 12HDB 02HDB 78HDB 00HDB 10HCODE ENDSEND START七.课程设计心得:通过这次课程设计,我们受益匪浅。