微机原理与接口技术学习总结试行版

《微型计算机原理与接口技术》课程总结

孙璐 1104012031 计本(2)班

摘 要:对这学期《微机原理与接口技术》课程内容的介绍,概括了微机原理与计算机接口技术,探讨了USB接口技术的应用以及其展望,简单地谈了一些学习体会。

关键字:微机原理; 接口技术; USB

一、引言

在计算机技术高度发展的今天,普遍认为,要开发一个系统,接口技术是重要的。计算机技术的发展使得越来越多的领域都广泛的使用计算机,尤其是实时与自动控制系统的设计应用在当代微机控制领域中成为了主要的技术支撑,而控制系统与微机之间如何进行数据的交换与传递,微机如何对被控制对象进行实时控制,并且要求精度高,且稳定,这就需要设计之间的接口。因此,《微机原理与接口技术》这门课程就是关于微型计算机的原理以及控制系统与微型计算机之间接口技术的问题。

二、课程主要内容

根据本学期《微机原理与接口技术》课程的上课学习情况,本课程的主要内容大概可以归纳为以下几个方面:

1、计算机接口技术的基本原理

1)计算机总线及其结构、特点

计算机系统由中央处理器(CPU)、存储器、IO系统组成,在发展的初期,CPU与各模块之间采用点对点的方式直接连接,集成电路发展之后,才出现以总线为中心的标准结构。

从而,计算机总线的特点主要有:

A、总线结构简化了软硬件设计:所有的设备都以插件的形式挂接在总线上,设备在系统中只与总线直接打交道,因此硬件的设计与调试变得简单化;软件也变得规范化,并且同一类的总线设备相关软件的编写都有类似的模板可以遵循;

B、总线简化了系统结构:整个系统的连线减少了,整体逻辑变得简明,而且总线结构的出现,使得系统的制造与安装都变得简化;

C、便于系统扩展与更新:设备的扩展只是在总线负载能力许可的范围内增加系统的外设,而更新只是替换挂接在总线上的某一个设备,这些操作已经最大化地降低了对操作人员的技术与知识要求。

其实,总线就是一组公用导线,一些数据源中的任何一个都可以利用它传送数据到另一个或者多个目的。它能使要使数据传输无误,总线就要维持一个时序,在第一个事件结束后才能开始第二个事件;此外,在给定的时间周期内,源只能有一个,目的可以有多个。总的来说,总线是时分复用的,在特定时间周期内,总线只能为一个源专用。

2)两个重要的电路

一是集电极开路电路;一是三态电路。

集电极开路电路可以解决总线以下几个问题:任何时间总线只能从属于一个源;源的输出都是通过总线相连;在标准TTL电路中,任何逻辑上的相反输出会导致短路,损坏总线以及器件。主要工作原理是:两个晶体管开路输出,共用一个上拉电阻,用于限制最大电流。若有一个晶体管导通,输出低电平;若都截止,输出高电平。

三态电路是总线传输的另外一种手段。其与集电极开路的主要区别在于保留有有源上拉电阻,使输出阻抗可控。通过“三态控制端(使能端/禁止端)”控制电路的输出,如芯片的CS(Chip Select Pin),Enable,Disable端等。

3)总线冲突

总线冲突指的是:若两个或者两个以上的源同时传输信息,就会导致“总线冲突”,此时总线上实际传送的信息和总线的逻辑电路实现方式有关。如集电极开路形式,“0”状态可以传送,“1”状态将丢失。“总线冲突”导致信息传送的不可预料。

4)接口

输入口与输出口:输入口是外部设备通过总线向CPU输入数据的端口;输出口是CPU向外部设备输出数据的端口。

状态口与控制口:为了保证外设与处理器之间的正常信息传输,就必须增加状态与控制口,实现信息交换。

存储器包括:可读写存储器(RAM)、静态可读写存储器(SRAM)、动态读写存储器(DRAM)、只读存储器(ROM)、掩膜ROM、可擦写编程ROM(EPROM)等,其中每一个均有相应的接口。

5)输入输出与中断技术

为了使IO操作正常进行,就必须要对其操作进行控制。常用的方法包括:程序控制IO——CPU作为主导方;中断驱动IO——外设作为主导方;直接存储器存取(DMA)——外设直接和存储器交换数据。

2、微处理器系统和微型计算机系统总线

微型计算机应用系统包括:专用小系统;以商业PC或工业PC为基础扩充的系统。

1)基本概念

时钟周期:每两个相邻的时钟脉冲上升(下降)沿之间的时间间隔称为T状态,也称为时钟周期(Clock Cycle)。

总线周期:CPU与存储器或输入/输出端口进行一次数据交换所花费的时间称为一个总线周期(Bus Cycle)。

指令周期:执行一条指令所需要的时间称为指令周期(Instruction Cycle)。

2)主要系统总线介绍

课程主要是以MCS51系列单片机和IBM PC为代表分别介绍两类应用系统,内容略。

3、并行/串行接口技术

微型计算机与外界的通讯方式分并行和串行两种。并行接口由于接口直接、传输速率高而获得广泛的应用。串行接口在数据通讯系统中占有重要的地位。

1)并行接口

并行接口传输速率高,一般不要求固定格式,但不适合长距离数据传输。 并行接口分类:按数据宽度分:有4、8、16Bit等;按握手线(Handshake)的多少分:有无握手线、一握手线、二握手线、三握手线等。

其中,握手联络线是并行数据线以外的信息线,是为保证接口和外设间高效可靠传送数据而增加的状态控制信息线,而且这种信息线间有一定的应答关系,是否需要握手联络线和需要几条握手联络线,决定于外设的特性和并行通信协议的要求。

2)串行接口

串行通信是将数据的各个位一位一位地,通过单条1位宽传输线按顺序分时传送,即通信双方一次传输一个二进制位。串行通信与并行通信是两种基本数据通信方式。发送方在发送前要将并行数据转成串行数据,接收方接收后要完成串行数据到并行数据的转换。与并行通信相比,串行通信的优势主要有:

A、传输距离长,可达到数千公里。

B、长距离内串行数据传送速率会比并行数据传送速率快,串行通信的通信时钟频率较并行通信容易提高。

C、抗干扰能力强,串行通信信号间的互相干扰完全可以忽略。

D、费用低。

三、USB接口技术的运用

1、USB简介

USB是Universal Serial Bus的简称,19xx年底由康柏、IBM、Microsoft等多家公司联合提出的,19xx年Compaq 等公司为解决传统总线的不足而推广的一种新型串行通讯标准,近几年在PC 领域有了广泛的应用,诸如移动存储设备,扫描仪、数码相机、数码摄像机、音频系统、显示器、输入设备等等。其中,优盘(又称U 盘或闪存)是世界上首创的基于USB接口的无需驱动器的新一代存储设备,又是移动存储技术领域的一大突破, 优盘的普及让用户进一步知道了USB 接口技术,由于现在PC 机上均配有USB接口,流行的操作系统也都支持USB,又有很多厂商提供USB芯片、外设,USB现已进入其发展的黄金时代。

2、USB接口技术

USB之所以能为广大PC 用户所钟爱,是因为它拥有其它接口所无法比拟的优点:连接容易、使用方便;独立供电,降低外设成本;速度快,适应不同外设要求;USB支持PNP (即插即用)等。

1)USB的结构

外观上,USB采用四根电缆线连接,其中两根是用来传送数据的串行通道,另两根为下游设备提供电源。

USB 规范中将USB 分为五个部分:控制器、控制器驱动程序、USB芯片驱动程序、USB 设备以及USB 设备的驱动程序。

(1) 控制器(Host Controller) :主要负责执行由控制器驱动程序发出的命令。

(2) 控制器驱动程序(Host Controller Driver) :在控制器与USB 设备之间建立通信信道。

(3) USB芯片驱动程序(USB Driver) :提供对USB 的支持。

(4) USB设备(USB Device) :包括与PC相连的USB外围设备,分为两类:一类设备本身可再接其它USB 外围设备,称为集线器;另一类设备本身不可再连接其它外围设备,称为设备。

(5) 设备驱动程序(Client Driver Software) :就是用来驱动USB设备的程序,通常由操作系统或USB设备制造商提供。如平常所说Modem驱动程序、打印机驱动程序等。

2)USB的四种数据传输方式

(1) 等时传输方式( Isochronous) 。该方式用来连接需要连续传输,且对数据的正确性要求不高而对时间极为敏感的外部设备,如麦克风、音箱以及电话等。等时传输方式以固定的传输速率,连续不断地在主机与USB 设备之间传输数据,在传送数据发生错误时,USB并不处理这些错误,而是继续传送新的数据。

(2) 中断传输方式( Interrupt) 。该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果,此方式主要用在键盘、鼠标以及游戏手柄等外部设备上。

(3) 控制传输方式(Control) 。该方式用来处理主机的USB 设备的数据传输。包括设备控制指令、设备状态查询及确认命令。当USB设备收到这些数据和命令后,将依据先进先出的原则按队列方式处理到达的数据。

(4) 批传输方式(Bulk) 。该方式用来传输要求正确无误的数据。通常打印机、扫描仪和数码相机以这种方式与主机连接。

4、发展与展望

随着网络的蓬勃兴起,存储交换的日益频繁及市场规模的不断扩大,将会出现移动存储产品、芯片蓬勃发展的局面。移动存储市场蕴涵着巨大的商机和潜力,容量大、功能全、速度快、体积小、应用广、无需驱动、价格低廉、功耗低、使用方便、保密安全性高、稳定性强、时尚化、外观新颖别致的移动存储产品将倍受青睐,将为网络信息时代增添无限光彩。

 

第二篇:微机原理与接口技术实验总结

微机原理与接口技术实验总结

11107108徐寒黎

一、 实验内容以及设计思路

1、①试编写一程序,比较两个字符串STRING1、 STRING2 所含字符是否相同,若相同输出“MATCH”,若不相同输出 “NO MATCH”。

设计思路:定义一个数据段,在数据段中定义两个字符串作为STRING1、 STRING2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将STRING1和STRING2都实现用键盘输入,方法是

MOV DX,OFFSET STRING2

MOV AH,0AH

INT 21H

并且显示在显示器上,显示方法将0AH改成09H,语句与上面类似。 然后进行比较第一个单元,

MOV AL,[STRING1+1]

CMP AL,[STRING2+1]

JNZ NOMATCH

若字符串长度不等,则直接跳转,输出输出 “NO MATCH”;

若长度相等再逐个比较

LEA SI,[STRING1+2]

LEA DI,[STRING2+2]

MOV CL,[STRING1+1]

MOV CH,0

CLD

REPE CMPSB

JCXZ MATCH,意思是全部相同就跳转MATCH,输出“MATCH”;不然进入下面的NOMATCH。退出。

②试编写求级数1^3+2^3 +3^3 …..前几项和刚大于10000的程序。

设计思路:原先编写的程序,设定和为10000,结果是14。但要求高一点的话,可以自己设置,实现用键盘输入和的值。

一个难点是将输入的ASCII码字符串,转换成与之相同的十进制数的数值。 关键的思路部分是:从1开始求级数,将和的值存在AX里,要加下一项级数前,比如这时已经加到4,PUSH一下AX,然后将5乘三遍,将乘积MOV到BX里,再POP AX,然后将BX的值加到AX里,然后将AX与N比较,如果比N小就继续上述步骤,知道刚比N大就输出数字。

③试编写一程序,完成字符串中各字符出现频度的统计,统计结果在屏幕上输出。

设计思路:因为这个程序需要统计所有的字符,所以首先要定义一个存储区,用来存放26个字符以及每个字符出现的个数。用键盘控制输入字符串以后,将字符串的第一个字符与这二十六个字符逐个比较,若有相同,在存放相应次数的存储单元的值上加1。然后比较第二个字符,依次类推,将字符串里的字符全部比较完。将个数大于1的字符以及字符的个数都输出到屏幕上。退出语句。 缺点和不足:这样需要定义一个非常繁的存储区。可以根据输入的字符,然后进行比较和统计。

④设计一个动画程序。

设计思路:这个程序参考了网上的资料,没有什么新意,是小鸟的图形,可以用上下左右键进行移动,可以退出。

步骤:首先设置堆栈段,数据段,代码段,设置显示方式等一些属性,设置背景色,设置小鸟的初始位置以及写出小鸟图形的像素的点。功能性的语句是,用键盘接受一个输入,将其与1bh比较,用JZ语句跳转到退出。若不是便与48h比较,看是否为向上,是则跳转到相应语句,不是则继续与50h比较;,看是否向下,是则跳转到关于向下移动的相关语句,否则再与4bh比较,看是否向左,依次类推,根据键盘输入的上下左右跳转到不同的语句。再将小鸟的位置进行与上下左右键的输入相应的移动。

最后编写好退出语句。

2、硬件接口主要是了解8255与8253的功能,以及控制字。

①I/O地址译码

只要对硬件概念清晰,很简单的。基本上没有什么创造性。

收获:熟悉实验箱结构,了解每部分元件和标注的意义。

掌握I/O地址译码电路的工作原理。

②可编程定时器8253

1,对照实验电路图,将计数器0设置为方式0,即数初值设为N(N<0fh),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并用逻辑笔观察OUT0点平变化。

2,将计数器0、计数器1分别设置为方式3,计数初值设为1000用逻辑笔观察out1输出电平的变化。

收获:掌握8253的基本工作原理和编程方法

③并行接口8255

1,试验电路如图所示,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。 3,数码管静态显示:按下图接好电路,将8255A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接5V(选中),S0和dp接地(关闭)。编程从键盘输入一位十进制数(0-9),在七段数码管上显示。

4,数码管动态显示:按下图接好电路,七段数码管的连接不变,位码驱动输入端S1、S0接8255 C口的PC1和PC0。编程在两个数码管上显示“56”。

动态显示时,先送“5”的段码送A口,再送02h到C口为位码;经一定延时后,送“6”的段码送A口,再送01h到C口为位码。循环完成,可以显示数码。

5,数码管动态显示(选做):同图接好电路,编程在两个数码管上显示循环显示“00-99”。 只要搞清楚各个口的地址,以及选择适当的控制字,其实很简单的。

收获:掌握8255的基本工作原理和编程方法,对方式0的认识加深了。

二、 试验中遇到的问题

1在编写程序时,我深深体会到,画程序框图的重要性,每一步跳转的条件一定要搞清楚,Y和N不能搞反了,否则就错了。

2实验2,里面涉及的寄存器很多,很容易就会用乱了,还是很需要注意的。 3比如那个小鸟动画的题目,当时在控制左右移动的时候,选择的起始位置的语句没写对位置,每次按一个移位的键以后,都从最初的初始位置向某个方向移动。

4硬件方面的,一开始没搞懂地址什么意思,所以连线时很懵懂,后来清楚了,发现就没什么了。

三、心得感受

微机原理与接口技术的课程实验历时大半个学期,通过自己编写、运行程序,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

前四个简单程序设计,加深了我们对初学的汇编语言指令的熟悉和理解,汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了我们的创造才能。

后面几个实验是并行输入输出接口8255和计数器8253的功能的操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己的思考以及和同学的讨论中,终于迎刃而解。

相关推荐