微机原理 课15 讲教案主讲人 许文丹

合集下载

第1章 微机技术概论

第1章 微机技术概论

19
第1章 微机技术概论
1.2.1 微控制器的存储结构
2.冯·诺依曼结构
程序存储器和数据存储器合并在同一个寻址空间中。
程序存储地址和数据存储地址指向同一个存储器的不同物理位置,程序指令和数据的宽度 相同。
1.2 微控制器的体系结构
20
第1章 微机技术概论
1.2.2 CISC和RISC处理器
1.两种指令集处理器
是计算机的核心,完成取指令、解析指令、执行指令以及与外界存储器和逻 辑部件交换信息,处理计算机软件中的数据。
➢嵌入式系统(Eembedded System),也称为单片微型计算机 (SCMP,Single Chip MicrocomPuter):
(CPU+存储器+I/O接口) 集成在一块芯片 嵌入到对象体系中,实现嵌入对象智能化的计算机。
2.两大分支的发展方向
➢ 通用计算机系统:主要用途是科学计算、数据分析、图像处理、模拟仿真、 人工智能、多媒体等。发展方向和动力是满足人类无止境的高速、海量数值 运算和处理的需求;要不断增强计算机的处理能力、速度。
➢ 嵌入式计算机系统:以面向对象的测量、控制为目的,发展方向和动力是 满足不断增长的各领域测控和应用需求;不断增强测量控制能力,降低功 耗和成本、减小体积,改善开发环境等。
1.1.3 微处理器、嵌入式系统与微控制器
3.嵌入式系统的特点 嵌入式系统定义为:“嵌入到对象体系中的专用计算机应用系统”。 其具有3个基本特点:“嵌入性”、“专用性”与“计算机”。
➢ 嵌入性:将微型计算机嵌入到对象体系中,实现对象体系的智能 测量与控制。
➢ 计算机:单片形态的微型计算机,是对象系统智能化的根本保证。 ➢ 专用性:是指在满足测控要求及环境要求下,软、硬件的可裁剪

微机原理课27讲教案主讲人许文丹

微机原理课27讲教案主讲人许文丹

微机原理课27 讲教案主讲人许文丹可编程串行接口8250的使用§7-4-1 串行通信的基本概念微型计算机与外设(包括其他微型计算机)之间的通信,通常应用两种形式的通信,即串行通信和并行通信。

并行通信是构成一组数据的各位同时传送,例如8位数据或16位数据并行传送。

串行通信是数据一位接一位顺序传送。

并行通信用前面提到的并行接口可以实现。

串行通信也已研制出许多可供使用的串行接口来实现。

并行与串行通信各有其优缺点。

一般地说串行通信使用的线少,传送距离远,传送速率比较低。

而并行却与此相反。

在串行通信中,经常采用两种最常用地通信方式,一种是同步通信,一种是异步通信。

1.同步通信所谓同步通信是指在约定的波特率(每秒钟传送位数)下,发送端和接收端的频率保持一致(同步)。

因为发送和接收每一位数据均保持同步,故传送信息的位数几乎不受限制,通常一次传送的数据有几十到几百个字节。

这种通信的接收器和发送器比较复杂,成本比较高。

2.异步通信异步通信是指收发端在约定的波特率下,不要求严格的同步,允许有相对的延迟。

即两端的频率差别在1/10内,就能正确的实现通信。

异步通信传送一个字符由一位低电平的起始位开始,接着传送数据位,数据可以是5位,6位,7位或者8位,可由程序指定。

在传送时,按低位在前,高位在后的顺序传送。

数据位的后面可以加上一位奇偶校验位,也可以不加这一位,可由程序来指定。

最后传送的是一位,一位半或两位高电平的停止位。

这样,一个字符就传送完了。

在两个字符传送的空闲期间,要由高电平1来填充。

异步通信每传送一个字符,要增加大约20% 的附加信息位,这必然降低了传送速率。

但是,这种通信方式可靠,实现容易,故广泛的应用于各种微型计算机系统中。

§7-4-2 8250的初始化编程8250可编程串行接口功能强,使用灵活,应用广泛。

这里对它进行简要介绍,主要达到能够在应用中灵活使用它的目的。

1、引线及功能CS0,CS1,CS2为输入片选信号,只有当它们同时有效----CS0=0,CS1=1,CS2=0时,才能选中该片8250。

微机原理 课2讲教案主讲人 许文丹

微机原理 课2讲教案主讲人 许文丹

微机原理课2讲教案主讲人许文丹微处理器结构§2-1 INTEL8086/8088CPU的内部结构1、建立4字节的指令预取队列在以前的8位微处理器中,CPU的工作过程是这样的:通过总线从存贮器中取出一条指令,然后执行该指令。

在这种工作方式中,总线的利用率是很低的。

例如CPU执行一条INC A指令。

CPU从存贮器中取出INC A指令操作码之后,在该指令执行过程中,只对内部寄存器进行操作,外部的总线是空闲的。

为此在8088微处理器中,设置了一个4字节的指令预取队列,CPU要执行的指令是从队列中取得的,而取指令的操作是由总线接口单元承担的。

以此将取指令和执行指令这两个操作分别由两个独立的功能单元来完成。

一旦总线接口单元发现队列中有两个字节以上的空位置时,就会自动地到存贮器中去取两个指令代码填充到指令预取阶队列中。

这样,8088微处理器取指令和执行指令就可以并行进行(如图2-1(b)所示),从而提高了微处理器的指令执行速度,并使得总线利用率有了明显的提高。

2、设立地址段寄存器8088微处理器内部的地址线只有16位,因此能够由ALU提供的最大地址空间只能为64KB。

为了扩大8088的地址宽度,人们将存贮器的空间分成若干段,每段为64KB。

另外,在微处理器中还设立一些段寄存器,用来存放段的直始地址(16位)。

8088微处理器实际地址是由段地址和CPU提供的16位偏移地址,按一定规律相加而形成的20位地址(A0~A19),从而使8088微处理器的地址空间扩大到1MB。

3、在结构上和指令设置方面支持多微处理器系统众所周知,利用8088的指令系统进行复杂的运算,如多字节的浮点运算,超越函数的运算等,往往是很费时间的。

为了弥补这一缺陷,人们开发了专门用于浮点运算的协处理器8087。

将8088和8087结合起来,就可以组成运算速度很高的处理单元。

为此,8088在结构上和指令方面都已考虑了能与8087相连接的措施。

微机原理实验讲义资料

微机原理实验讲义资料

微机原理实验讲义程曙艳编厦门大学自动化系2016年10月汇编语言的上机过程1、建立汇编语言的工作环境至少有以下程序文件:编辑程序,文件名,使用编辑程序代码生成*.asm。

汇编程序,文件名MASM.EXE,使用masm.exe对*.asm文件进行汇编,生成*.obj 文件连接程序,文件名LINK.EXE,使用link.exe对目标文件*.obj进行连接生成*.exe 文件调试程序,文件名DEBUG.EXE,使用debug.exe对可执行文件*.exe进行调试运行(1)编辑可以用记事本或DOS下的EDIT编辑器来编写源程序。

但程序保存时文件必须取名为*.asm 。

或EDIT 文件名.asm 打开已经存在的文件。

(2)汇编在DOS状态执行masm 文件名,则屏幕显示与操作如下:(3)连接汇编后产生的目标文件必须经过连接,才能成为可执行文件.exe。

在DOS 状态执行link 文件名,则屏幕显示与操作如下:(4)运行、调试>DEBUG 文件名.exeDebug运行后,出现状态提示符短划线-常用debug命令:D,显示内存单元内容R,显示与修改寄存器内容T、P,单步执行命令G,连续执行指令U,反汇编Q,退出DEBUG程序2. 汇编语言程序格式汇编语言由若干个段组成:堆栈段(保存数据、断点等信息)代码段(存放指令)必需数据段(定义数据,分配存储单元)附加段(定义数据,分配存储单元)每段必须有且仅有一个名字,以SEGMENT定义段的起始,以ENDS定义段的结束,整个程序结束后需以END收尾STACK SEGMENT......STACK ENDSDATA SEGMENT......DATA ENDSESEG SEGMENT......ESEG ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATA,SS:STACK,ES:ESEGSTART:mov ax, datamov ds, axmov ax, esegmov es, axmov ax, stackmov ss, ax……….CODE ENDSEND START3. 程序例题:STACKS SEGMENT STACK ;堆栈段DW 128 DUP(?)STACKS ENDSDATAS SEGMENT ;数据段;请在这里定义您的数据STRING DB 13,10,'Hello World!',13,10,'$'DATAS ENDSCODES SEGMENT ;代码段ASSUME CS: CODES, DS: DATAS START: MOV AX,DATAS ;初始化MOV DS, AX;请在这里添加您的代码LEA DX, STRING ;显示字符串MOV AH, 9INT 21HMOV AH,01 ;等待键盘输入INT 21HMOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START软件实验部分实验一二进制加、减法编程实验一、实验要求和目的1.熟悉汇编语言二进制多字节加法基本指令的使用方法;2.熟悉汇编语言二进制多字节减法基本指令的使用方法;3.掌握汇编语言编程的一般结构。

西安交通大学微机原理PPT课件

西安交通大学微机原理PPT课件
微机原理与接口技术 大家好!
1
课程目标
掌握:
微型计算机的基本工作原理 汇编语言程序设计方法 微型计算机接口技术 建立微型计算机系统的整体概念,形成微机系
统软硬件开发的初步能力
2
教材及实验指导书
教材
《微机原理与接口技术》(第3版). 冯博琴,吴宁 主编. 清华大学出版社
实验指导书
符号位 + 真 值
机器数
“0”表示正源自“1”表示负
56
[例]
+52 = +0110100 = 0 0110100
符号位 真值
-52 = -0110100 = 1 0110100
符号位
真值
57
1. 符号数的表示
原码 反码 补码
58
原码
最高位为符号位,用“0”表示正,用“1”表 示负;其余为真值部分。
45
乘除运算例
00001011×0100 =00101100B
00001011÷0100=00000010B 即:商=00000010B 余数=11B
46
2. 无符号数的表示范围:
0 ≤ X ≤ 2n-1 若运算结果超出这个范围,则产生溢出。
对无符号数:运算时,当最高位向更高位 有进位(或借位)时则产生 溢出。
ASCII码
字符的编码,一般用7位二进制码表示。在需 要时可在D7位加校验位。
熟悉0---F的ASCII码
41
ASCII码的校验
奇校验
加上校验位后编码中“1”的个数为奇数。 例:A的ASCII码是41H(1000001B),
以奇校验传送则为C1H(11000001B)
偶校验

微机原理课教案

微机原理课教案

微机原理课教案引言微机原理课是计算机科学与技术专业的一门基础课程,它介绍了计算机的基本原理和结构,以及与其相关的逻辑设计和数字电路。

本文将从课程目的、内容、教学方法、评估方式等方面全面探讨微机原理课的教案编写。

一、课程目的微机原理课的主要目的是培养学生对计算机硬件的基本概念和原理的理解,为学生后续的计算机体系结构、计算机组成原理等专业课程的学习打下坚实的基础。

通过本课程的学习,学生应该能够理解计算机的工作原理、计算机硬件的组成和功能以及基本的逻辑设计方法。

二、课程内容1. 计算机系统的基本组成介绍计算机系统的五大部分:硬件、软件、数据、人员和过程。

详细讨论计算机硬件包括:中央处理器、主存储器、硬盘和输入输出设备等。

2. 逻辑设计基础介绍数字电路、布尔代数和逻辑门等基本概念。

讲解逻辑门的实现和逻辑运算。

3. 计算机的运算方式介绍计算机的运算方式,包括整数运算、浮点数运算和ASCII码等。

4. 冯·诺伊曼体系结构讲解冯·诺伊曼体系结构的原理和特点,包括指令流水线、内存层次结构和总线控制等。

5. 输入输出设备和接口详细介绍计算机的输入输出设备和接口的基本原理和工作方式。

包括键盘、鼠标、显示器、打印机和串口等。

6. 计算机的存储器讲解不同类型的存储器,包括主存储器、硬盘和光盘等。

阐述存储器的特点和存储管理。

7. 计算机中断和异常处理介绍计算机中断和异常的概念和处理过程,涉及中断向量表和处理器状态保存等。

8. 指令系统和指令执行讲解计算机指令系统的设计和指令的执行过程,包括指令格式、地址定址方式和指令执行周期等。

9. 性能评估和优化介绍计算机性能评估的方法和常用的优化技术,包括流水线、预取和分支预测等。

10. 计算机体系结构简要介绍计算机体系结构的主要体系和架构,讨论RISC和CISC等不同的体系结构。

三、教学方法在微机原理课的教学过程中,教师应采用多种教学方法,包括讲授、案例分析、实验和互动讨论等。

微机原理课25讲教案主讲人许文丹

微机原理课25讲教案主讲人许文丹

微机原理课25 讲教案主讲人许文丹可编程定时器/计数器8253及使用§7-2-1定时器系统概述每个微处理器厂家都研制并提供与本厂的微处理器配合工作的定时器/计数器接口芯片。

微机系统在实时控制及数据采集中,都可以用这类器件完成,它可以作为计数器对外部事件的记数,也可以作为实时时钟对各种设备实现定时控制,早期的有Z—80CTC,Motorola 的6840和6520,Intel公司80系列的8253等。

§7-2-2 8253的内部结构和工作原理8253有三个结构相同又相互独立的记数单元,我们称其为计数器0、计数器1和计数器2。

每个记数单元包括:一个8位的控制寄存器,用程序控制其工作方式。

一个16位的计数寄存器和16位的输出锁存器。

一个16位的计数工作单元,受控制寄存器控制8253与总线的连接线主要是:D0—D7双向数据线,用以传送数据(计数器的计数值)和控制字。

CS片选信号,低电平有效。

只有当他有效时,才能选中该芯片进行读写操作。

Rd,Wr读写控制信号。

A1AO为8253计数器和控制寄存器选择信号:A1 A00 0 选择计数器 00 1 选择计数器 11 0 选择计数器 21 1 选择控制寄存器A1A0与其它控制信号CS,RD,WR,完成对8253的寻址和读写操作。

CLK0~2是各计数器的时钟输入端。

GATE0~2门控信号,是计数器的输入控制信号,用来控制计数器的工作。

OUT0~2计数器输出信号,用来产生不同工作方式时的输出波形。

8253计数器最基本的操作是:接收由数据线传来的控制字和计数初值,对CLK时钟脉冲进行减一操作,其计数工作受GATE门控信号控制。

最后输出由控制寄存器控制的操作方式所产生的相应信号。

§7-2-3 8253的工作方式从内部结构图7-9可以看到,可编程定时器8253内部有三个相同的16位计数器。

它们都能够工作在如下六种方式下:1、方式0:记数结束产生中断在这种方式下,记数器对CLK输入信号进行减法记数,每一个时钟周期计数器减1。

陕西师范大学第十届挑战杯大学生课外学术科技作品竞赛

陕西师范大学第十届挑战杯大学生课外学术科技作品竞赛
韩笑(研究生)
政治经济学院
53.
《历史学专业课程与教学改革刍议——以陕西师范大学历史系为例》
江学嘉(本科)
历史文化学院
54.
《陕西历史博物馆临时展厅对观众疲劳度调节及其相关作用》
孔艺冰(本科)
历史文化学院
55.
《神圣与世俗:转型期阿訇社会角色变迁的实证研究—以宁夏海原县为例》
闫宇晓(研究生)
政治经济学院
生命科学学院
41.
《燃煤电厂粉煤灰及底灰的天然放射性水平》
李丽(本科)
旅游与环境学院
42.
《PM2.5扩散模型及长期预测——以西安市为例》
彭发(本科)
数学与信息科学学院
43.
《对西安市雾霾治理方案的探究》
张莹(本科)
数学与信息科学学院
44.
《校园植物管理信息系统建设——以陕西师范大学雁塔校区为例》
许春燕(本科)
刘欢(本科)
数学与信息科学学院
49.
《农村小学中华优秀传统文化教育的现状与对策》
王孟飞(本科)
历史文化学院
50.
《陕西面食的文化营销推广——以岐山面为例的调查》
董雅娜(本科)
历史文化学院
51.
《西魏北周时期同州地位的变迁》
李兆宇(本科)
历史文化学院
52.
《陕西省廉政文化建设实践活动群众宣传的反馈调查》
贺彤(本科)
物理学与信息技术学院
71.
《高校教材循环方案探究》
李程(本科)
数学与信息科学学院
72.
《大学生基本生存能力调查研究——以西安市部分高校为例》
赵卫利(本科)
数学与信息科学学院
73.
《关于大学生参与科研创新活动的调研分析——以陕西师范大学为例》
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理课15 讲教案主讲人许文丹
循环程序设计(2)
在程序设计中把某程序段或连续的语句组多次重复执行称为循环。

在汇编语言中利用循环指令或者与分支指令相结合的方法编制程序来实现循环称为循环程序设计。

循环程序可分为单重循环和多重循环两类。

1、单重循环
例4-7:以[例4-5]来说明循环程序的应用。

解:[例4-5]是用分支结构来实现循环的,现用循环指令来实现,结构既简单又清晰。

程序如下:Array MOV AX,0 ;初始部分
MOV BX,1
MOV CX,50
ADD1: ADD AX,BX ;循环体
INC BX ;修改部分
LOOP ADD1 ;控制部分

从这个例子分析得出循环的一般结构是由以下几部分构成:
初始化部分:建立指针、设置循环计数初值及其他变量初值等;
循环体:需要循环执行的语句;
修改部分:修改操作数的地址及循环变量值,为下一次循环作
准备;
循环控制:判断循环是否结束,通常有三种方法:
●计数控制循环:该方式通过对循环变量次数的控制,以达到
控制循环
体的目的。

适用于循环次数已知的情况。

类似于高级语言的BASIC语言中的FOR—NEXT 语
句结构。

图4-18循环程序结构
●条件控制循环:该方式通过对循环条件的判断,决定循环体是否结束。

当循环次数无
法确定时,常采用这种方法。

类似于WHILE—DO语句结构。

逻辑尺一般是控制循环体处理方
式,而不是控制循环是否结束。

●逻辑尺控制:该方式利用由若干个有明确定义的二进制位组成的控制字,其中每个二
进制位对应一次循环,每次循环可做不同的事情。

适用于做不同的循环体操作。

结果处理部分:对循环的结果进行必要的处理。

其方法因程序而异。

典型循环结构如图4-18循环程序结构
例4-8:求一个长为N的ARRAY字数组中正数、负数与零的个数,正数的个数存放在DI
中,负数的个数存放在BX中,零的个数存放在DX中。

解:算法分析
(1)用计数控制循环。

因循环次数已知,将数组长度送到CX中作为循环控制次数。

(2)将数组ARRAY中的每个元素分别与“0”进行比较,大于0为正数,DI加1;小于
0为负数,BX中加1;根据N-DI-BX求得等于0的个数。

程序如下:
DATA SEGMENT
ARRAY DW 2,3,4,-5,8,0,20,-88,0,100,-40,99
N DW ($-ARRAY)/2
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,N
MOV BX,0
MOV DI,0
MOV SI,0
NEXT: CMP ARRAY[SI],0
JLE LESS1
INC DI
JMP LOP1
LESS1: JZ LOP1
INC BX
LOP1: ADD SI,2
LOOP NEXT
MOV DX,N
SUB DX,DI
SUB DX,BX
MOV AH,4CH
INT 21H
CODE ENDS
END START
例4-9:试编制求小于1000的最大的斐波那契数及其对应项数的程序。

将计算出的斐波那契数送入变量VAR中,项数送入ITEM中。

解:算法分析
(1)已知循环条件为1000,当小于1000时继续求斐波那契数,若大于1000结束循环,所以采用条件控制循环方式。

(2)A1=0, A2=1,A3=A1+A2,… A i=A i-2+A i-1…
(3)将计算结果送到VAR和ITEM单元中。

程序如下:
DATA SEGMENT
VAR DW ?
ITEM DB 2
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV CX,1
MOV BX,1000
LOP: ADD AX,CX
CMP AX,BX
JAE DONE
XCHG AX,CX
INC ETEM
JMP LOP
DONE: MOV VAR,CX
MOV AH,4CH
INT 21H
CODE ENDS
END START
例4-10:已知数据段中有两个长度为8字节数组,编程计算下列式子: Z1=X1-Y1 Z2=X2 ×Y2 Z3=X3×Y3
Z4=X4-Y4 Z5=X5 ×Y5 Z6=X6-Y6
Z7=X7-Y7 Z8=X8 ×Y8
解:算法分析
(1)由上述计算式子中有乘法、减法,循环体中的运算不同,故采用逻辑尺控制法。

设对应二进制为“1”表示做乘法,为“0”表示做减法。

逻辑尺控制为:10010110。

(2)用右移指令来判断是做乘法还是做减法。

(3)每次计算结果存到相应Z数组中。

程序如下:
DATA SEGMENT
X DB X1,X2,X3,X4,X5,X6,X7,X8
Y DB Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8
Z DW 8 DUP(?)
R DB 10010110
DATA ENDS
CODE SEGMENT
ASSUM CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,8
MOV SI,0
MOV DI,0
MOV BL,R
D0: MOV AL,X[SI]
SHR BL,1
JNC OTHER
MOV AH,0
MUL Y[SI]
JMP SAVE
OTHER: MOV AH,0
SUB AL,Y[SI]
SBB AH,0
SAVE: MOV Z[DI],AX
INC SI
ADD DI,2
LOOP DO
MOV AH,4CH
INT 21H
CODE ENDS
END START
2、多重循环
所谓多重循环是指一个循环体中嵌套另一个或多个相互独立的单重循环,外层循环称为外循环,里层循环称为内循环,两者不允许交叉引用。

多重循环中最简单、最常用的是二重循环程序。

例4-11:编程统计一个字数组中各元素所含有二进制位为0的个数及所有元素中0的个数之总和(数组全部由非零元素组成)。

解:算法分析
(1)一个字元素有16位二进制,统计0的位数需用移位指令移位16次,N个字元素需统计N×16次,显然,统计一个字元素中含0的位数作为内循环,N个字元素作为外循环,最后得到N个字元素所有二进制为0的位数总和。

(2)分工:内循环负责统计一个字元素中含0的位数;外循环负责每个字元素中为0的位的个数的累加,并取下一个元素为再次内循环统计作准备。

统计结果存到相应的存储单元中。

程序如下:
DATA SEGMENT
ARRAYW DW 200,502,106,600,800
LEN EQU($-ARRAYW)/2
NUM DB LEN DUP(?)
TOTA DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,ARRAYW ;数组首址送SI 寄存器
LEA DI,NUM ;将存统计个数缓冲区的首址送DI
MOV CX,LEN
LOP1:MOV AX,[SI] ;取数组元素
MOV BL,0
LOP2; CMP AX,0
JE NEXT
SHR AX,1 ;逻辑右一移,判断该位是否为0
JC NO-CNT
INC BL ;累加“0”的位数
NO-CNT:JMP LOP2
NEXT:MOV [DI],BL ;存各元素对应的统计“0”的位数
ADD SI,2
INC DI
LOOP LOP1 ;外循环控制
LEA BX,NUM
MOV CX,LEN
MOV AL,0
COUNT: ADD AL,[BL]
INC BX
LOOP COUNT
MOV TOTA,AL
MOV AH,4CH
INT 21H
CODE ENDS
ENDS STATR。

相关文档
最新文档