微机原理课程设计报

2024-07-02

微机原理课程设计报(共10篇)

微机原理课程设计报 篇1

微机原理课程设计程序

CODE

SEGMENT

ASSUME

CS:CODE;初始化8255A,A口工作方式0,输出 START: MOV

DX,63H

MOV

AL,08BH

MOV

BL,OAH

OUT

DX,AL DY:

MOV

CX,30C4H;置定时外循环初始值 MM:

MOV

BH,0AH;置定时内循环初始值

DEC

LP:

MOV

IN

DEC

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

JMP

LP1:

MOV

MOV

JMP

LP2:

MOV

MOV

JMP

LP3:

MOV

MOV

CX DX,62H AL,DX;读取C口值 BH BH,00H MM CX,0000H XD;转向剩余时间显示程序 AL,00H;判断是否有键按下 LP AL,01H;判断是否是1号键按下 LP1 AL,02H;判断是否是2号键按下 LP2 AL,04H;判断是否是3号键按下 LP3 AL,08H;判断是否是4号键按下 LP4 AL,10H;判断是否是5号键按下 LP5 AL,20H;判断是否是6号键按下 LP6 AL,40H;判断是否是7号键按下 LP7 AL,80H;判断是否是8号键按下 LP8 LP AL,86H AH,01H EN

;显示1号抢答成功者并锋鸣

AL,0CBH AL,02H EN

;显示2号抢答成功者并锋鸣

AL,0CFH AH,0CFH

JMP

EN

;显示3号抢答成功者并锋鸣 LP4:

MOV

AL,0E6H

MOV

AH,08H

JMP

EN

;显示4号抢答成功者并锋鸣 LP5:

MOV

AL,0EDH

MOV

AH,10H

JMP

EN

;显示5号抢答成功者并锋鸣 LP6:

MOV

AL,0FDH

MOV

AH,20H

JMP

LP7:

MOV

MOV

JMP

LP8:

MOV

MOV

JMP

EN:

MOV

OUT

MOV

MOV

OUT

JMP

XD:

DEC

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

XD9:

MOV EN

;显示6号抢答成功者并锋鸣 AL,87H AH,40H EN

;显示7号抢答成功者并锋鸣 AL,0FFH AH,80H EN

;显示8号抢答成功者并锋鸣 DX,60H DX,AL DX,61H AL,AH DX,AL MD BL

;判断剩余时间并转向显示程序 BL,09H XD9 BL,08H XD8 BL,07H XD7 BL,06H XD6 BL,05H XD5 BL,04H XD4 BL,03H XD3 BL,02H XD2 BL,01H XD1 BL,00H XD0 AL,6FH;显示剩余9秒

JMP

EN1 XD8:

MOV

AL,7FH;显示剩余8秒

JMP

EN1 XD7:

MOV

AL,07FH;显示剩余7秒

JMP

EN1 XD6:

MOV

AL,7DH;显示剩余6秒

JMP

EN1 XD5:

MOV

AL,6DH;显示剩余5秒

JMP

EN1 XD4:

MOV

JMP

XD3:

MOV

JMP

XD2:

MOV

JMP

XD1:

MOV

JMP

XD0:

MOV

JMP

EN1:

MOV

OUT

CMP

JZ

JMP

MD:

MOV

IN

CMP

JZ

JMP

MOV

INT

CODE

ENDS

END

AL,66H;显示剩余4秒

EN1 AL,4FH;显示剩余3秒

EN1 AL,4BH;显示剩余2秒

EN1 AL,06H;显示剩余1秒

EN1 AL,3FH;显示剩余0秒,结束。

EN1 DX,60H DX,AL AL,3FH MD DY DX,61H;一定时间后,若再有输入,则转向某剩余时间AL,DX AL,00H MD DY AH,4CH 21H START

微机原理课程设计报 篇2

“微机原理”课程是我校工学院机电信息类专业本科生一门必修的专业基础平台课, 它在专业的人才培养方案中起着承前启后的作用, 为《单片机原理与应用》、《DSP原理及其应用》、《嵌入式系统原理与应用》、《计算机控制技术》、《可编程控制器应用》、《PLC原理与应用》等后续课程的学习打下重要的基础。通过该体系课程的学习, 主要培养学生的应用与创新实践能力。

作为一门实践性和工程性很强的技术基础课, 本课程不仅要重视理论教学, 还应注意实践技能的培养和训练。过去, 微机原理实验基本上就做一些基础性实验项目, 部分学生就按实验指导书的实验步骤做完实验, 根本不理解实验内容, 实验效果不明显。本课程组通过这两年的课程建设, 探讨出一套行之有效的实践教学方法, 把实验过程分为几个层次, 逐层深入。首先学生在较好完成验证性实验的基础上, 再引入综合设计性实验, 指导老师只提供基本的设计思想和设计方法, 不提供具体的、详细的电路与程序, 学生自己查阅有关资料, 自定设计方案, 自行设计、编制调试程序, 观察实验现象, 分析实验结果, 写出实验报告。学生通过综合设计性实验这一环节, 建立了系统控制的概念, 可以更加了解本课程在专业培养中的核心地位, 对后续课程的学习有很好的辐射作用。

1、实验原理

本文讨论的综合设计性实验为交通灯控制实验, 实验时数为6学时, 其目的是实现交通灯定时控制, 并实现数码管显示。本实验采用8086CPU芯片作为控制器, 其控制对象是该系统配置的数码管和红绿灯, 利用系统中的可编程定时器8253和可编程中断控制器8259实现定时和中断, 并利用并行I/O接口芯片8255实现数码管显示。系统框图如图1。

2、芯片设置

8255具有A、B、C三个8位并行接口和一个控制口, 其工作方式包括:方式0 (基本输入/输出) 、方式1 (选通输入/输出) 和方式2 (双向选通输入/输出) 。本实验用A口分别与4个红灯与4个绿灯相连, A口工作在方式0;用B口的与数码管相连, 显示红绿灯时间。B口工作在方式0, 且为输出, 其方式选择控制字为80 H (10000000B) , D7=1为方式选择控制字特征位, D6 D5=00设定A口工作于方式0 (基本输入/输出) , D4=0设定A口为输出端口, D3=0设定B口工作于方式0 (基本输入/输出) , D2=0设定B口为输出端口。此方式选择控制字必须在初始化时写入8255的控制口;8253计数定时器有3个计数定时通道, 可以工作于6种方式, 由于8253定时时间的限制, 用两个通道级连的方式进行定时设置, 工作于方式3;8259中断控制器主要提供定时中断信号, 控制较简单。

学生要根据不同的控制要求编写软件, 最终实现控制要求。图1是系统的实验流程图。主程序中进行系统初始化, 循环等待, 等待定时中断, 然后进行数码管和红绿灯的定时刷新。

3、定时中断流程

结合实验室试验箱条件, 有些硬件连线已固定, 不能更改, 例如各芯片的地址译码电路已确定, 初始化主要包括中断向量表、8255、8253、8259芯片的初始化, 还有数码管和灯状态的初始化。

3、结束语

通过交通灯控制实验, 使学生能够掌握可编程并行I/O接口芯片8255、计数定时芯片8253、中断控制芯片8259等芯片的使用, 掌握各I/O接口芯片之间以及与CPU的硬件连接。结合软件的编写和系统调试, 首先巩固了《微机原理与应用》课程所学知识, 而且也让学生建立起了微型计算机系统的概念, 培养了学生的综合应用能力, 为后续课程的学习打下基础。

摘要:微机原理与接口技术课程是一门实践性和工程性很强的技术基础课, 课程实验是其重要组成部分。本文以交通灯控制实验为例, 结合《微机原理与接口技术》硬件接口与软件知识, 主要培养学生的应用与创新实践能力。

关键词:微机原理,交通灯控制,设计性实验

参考文献

[1]周荷琴, 吴秀清.微型计算机原理与接口技术 (第四版) [M].合肥:中国科学技术大学出版社.2007.12

[2]陈甦欣.《微机原理及应用》课程综合性实验初探[J].中国科技信息.2006.18.

[3]左韬, 熊庆国.微机原理实践教学方法研究[J].科技信息.2007.34.

微机原理课程设计的改革与实践 篇3

关键词:微机原理;课程设计;教学方法;考核体系

课程设计是一种课程形式,也是一种教学方法[1],其基本教学目的是加深学生对课程基础理论和基本知识的理解与掌握,培养学生综合运用基础理论和技能分析与解决实际问题的实践能力以及勇于探索的创新精神。微型计算机原理与接口技术是计算机硬件基础的重要组成部分,是高等学校很多专业都开设的一门基础性课程,也是一门应用性、实践性很强的课程。由于其开设量大,受益面广,国内高校都加强了该课程的建设,深化课程改革。一方面,缩短了课堂授课学时,加大实验学时,特别是加大课程设计学时;另一方面,加大课程设计的改革力度,不断更新设计内容,改革教学方法和考核方法,突出学生的自主性、主动性,激发学生的创新意识,注重学生设计能力的培养和工程能力的训练[2]。

天津大学电气与自动化工程学院开设的微机原理课程设计,基于多个围绕微机原理课程设计的天津大学教改课题的实践成果,结合学科前沿和工程实际,创新微机原理课程设计平台,不断优化和更新设计内容。结合学生特点和兴趣,注重引导、激发学生的创造激情和对知识的渴望,创新教学方法和手段。并且将创新性与工程规范纳入考核体系,改革考核和成绩评定方法,引导学生从注重结果转变到注重过程,从注重成绩转变到注重成效。

一、创新微机原理课程设计平台与内容

1.微机接口实验系统综合设计项目开发

基于“通用微机接口实验系统”,利用实验系统的外扩展接口,开发利用各种外扩展板,构建多种新的微机接口综合设计系统。主要包括以下几个方面:

(1)开发了GPS(全球定位系统)导航系统扩展实验板[3],并与“通用微机接口实验系统”系统连接,以及与液晶显示系统或LED键盘控制实验板互联,构成全新的综合设计实验系统。设计并开设基于导航系统实验扩展板的综合设计性实验,与学科前沿相结合,增加了设计深度与广度,丰富了实验教学内容。

(2)实现了“通用微机接口实验系统”与LCD(液晶显示系统)连接[4]。新的实验系统可完成主要内容包括各种字符与图形的编程与显示、薄膜按键开关实验等。实验系统还可与电机等执行元件相连,通过编程在液晶显示器上显示输入输出及控制和执行信息等综合设计性实验内容。

(3)实现了“通用微机接口实验系统”与LED(发光二极管)键盘控制实验板的连接[5]。该实验系统通过8279芯片等的应用完成了综合设计性实验题目的开发,主要包括总线控制以及对控制对象进行显示、管理和操作,使课程设计内容更符合电气与自动化专业对控制技术的要求。

(4)学生自主进行创新设计。实验室提供红外收发、温湿度或压力传感器等实验扩展板及相关技术资料,在课程设计中学生利用实验室的各种设备与“通用微机接口实验系统”相结合,自定课题进行创新设计与实践。

2.微机接口实验系统综合设计性实验应用

拓展设计内容,更新设计项目,做好设计实验之间的科学衔接,使学生在课堂上更多地接触前沿技术,为他们未来接触工程实际奠定良好的基础。注意将本课程所学知识与“电子技术”、“自动控制原理”、“检测技术”和“机器人学”等相关课程内容融会贯通,提高学生综合运用和工程应用能力。

(1)课程设计内容的设立。根据微机原理课程设计的要求,不断进行实验系统选题的设计与开发,精心设计课程设计内容,注重先进性和开放性,并与学科的前沿技术相结合,在课程设计的综合性、设计性环节给予学生更多的选择。设计课题包括基础性选题和扩展性选题两部分。

基础性选题主要包括:自定义字符显示编程,汉字字符显示编程,图形显示编程,特效显示编程,总线控制LED显示实验,微机接口、键盘、LED综合实验,GPS通讯实验,GPS编程实验,GPS手持机实验,各种外扩展板设计实验。这些设计内容与微机接口技术紧密相关,并具有一定的深度与广度,同学们通过硬件连接、软件设计,软硬件调试完成集采集、显示、存储等功能于一体的设计内容。

同时,我们还给出了多个综合设计性扩展选题。此类选题没有固定的要求,只是给出一些提示,学生可以根据自己的设想进行硬件选择、软件设计,达到自己的设计目标。极大地发挥了学生的主观能动性和创新性。

(2)课程设计教程的编写。微机原理课程设计综合设计性选题的主要知识点依托微机原理接口技术并结合与之相关的学科前沿。为此,根据课程设计要求,编写了相关的设计教程,提供参考文献与网站,使学生在实验前对相关的扩展知识有个初步了解。根据历届学生的具体情况,教师不断总结实践教学经验,逐步完善指导书的编写,使之更适应于学生的实践与创新。在指导书编写中按知识点模块化编写,设计实验内容从易到难编排,每个设计实验都给出了预习要求和达到目标。对于创新性设计实验我们给出一部分选题,同时鼓励同学们结合系统,将扩展板进行多种组合,自己设计课题,进行实践创新。

二、探索新的实践教学方法和手段

1.加强引导与鼓励,激发学生的创造激情和对知识的渴望

在微机原理课程设计教学实践中,首先了解不同学生的特点和学习兴趣,在此基础上有针对性地指导学生选题及团队组合。在设计过程中,鼓励学生独立思考,通过网络、图书馆、资料室等各种渠道进行信息检索和资料查询。教师在指导实验时,从实践应用的角度出发去引导学生的设计方法和技术路线,注重培养学生发现问题、思考问题及解决问题的方法和思路以及创新意识。

教师在课堂上注重学生课程设计过程,鼓励学生以灵活多样的方式和不同的角度完成自己的选题,激发学生的创造激情和对知识的渴望,促使学生从“要我学、要我做”转变为“我要学、我要做”。

2.改革课程设计考核和成绩评定方法

在课程设计的考核中将创新性与工程规范纳入考核体系。指导教师从出勤次数、软硬件设计、上机调试、预习(第一次实验时检查流程图、源程序)与总结报告、创新性等方面对学生进行综合考评。在课程设计的考核与评定过程中细化了预习、设计、创新、实验报告完成各个步骤的考核标准。课程设计过程中为每位同学建立考核表格,其中题目1是基础性选题,题目2是自选的综合设计性扩展选题。按照考核指标体系,在课程设计过程中同步给出各环节考核成绩,做到公平公正,激励学生更好地完成课程设计内容,更多地进行创新性设计。

三、教学效果

2006年以来,我们不断创新微机原理课程设计硬件平台,不断扩展和更新设计内容,边实践、边改革。目前已在电气与自动化工程学院自动化专业和电气自动化专业6届学生(平均每届学生12个班、380人)中进行了教学实践,取得了良好的教学成果。

微机原理课程设计教学过程中,学生付出了很大努力,他们要自学相关知识,查阅资料,进行实验设计、流程设计,搭建硬件平台;并通过软件设计、软硬件调试,完成整个设计,写出设计说明书和总结报告。大部分学生对扩展性选题具有极大兴趣,有学生选用导航扩展板实验系统,通过自学相关知识,实现了GPS地理信息的采集、显示、存储,取得了满意的效果;还有学生偏重理论研究,例如08级的同学在80X86平台上完成了FFT(快速傅里叶变换)的汇编实现,具有较强的理论价值,能在本科阶段做出这样的课程设计成果,得到了师生的广泛好评。

参考文献:

[1] 曾开富,王孙愚. “工程创新人才”培养模式的大胆探索[J]. 高等工程教育研究,2011(5):20-31.

[2] 刘艳莉,孙雨耕,葛宝臻等. 符合工程专业人才培养模式实验教学体系的构建[J]. 中国大学教学,2010(4):75-77.

[3] 金文,陈曦等. “微机原理与接口技术”综合设计性实验的研究与探索——GPS导航实验板的开发与应用[J]. 实验技术与管理,2011(10):151-152.

[4] 金文,陈曦,张惠群. 液晶显示模块用于“微机接口技术”实验的教学研究[J]. 实验研究与探索,2007(9):60-61.

[5] 陈曦,金文,张惠群. 微机接口实验板的开发与应用[J]. 电气电子教学学报,2007(4):117-120.

微机原理课程设计题目 篇4

14.汇编实现校验和2 可以对内存中的一段数据计算出校验和(CRC校验),通过修改某个值验证该校验和是否正确。

15.中断服务程序(串口或PS/2鼠标)

可以捕获鼠标左键,右键以及移动,并利用小车图形做出相应的表示。16.中断服务程序2(串口或PS/2键盘)

可以捕获键盘上下左右键,并利用小车图形做出相应的显示。17.数字音乐

用汇编语言实现在PC喇叭上演奏一段音乐,并能够通过键盘演奏。18.双机串口通讯1 A,B两台主机间串口通讯,先由A发送,B接收,然后B将接受的数据回传给A。要求实时显示传送或者接收的数据。采用异步方式,CPU和8251之间采用查询方式交换数据。端口地址是:命令/状态口3F9数据口3F8。19.双机串口通讯2 A,B两台主机间串口通讯,A或者B接收键盘输入的字符,并通过串口发送该字符到对方。要求实时显示传送或者接受的数据。采用异步方式。CPU和8251之间采用查询方式交换数据。端口地址是:命令/状态口2F9,数据口2F8。20.双机串口通讯3 A,B两台主机间串口通讯,A或者B接收键盘输入的字符,并通过串口发送该字符到对方。要求实时显示传送或者接受的数据。采用异步方式,CPU和8251之间采用中断方式交换数据。端口地址是:命令/状态口3E9,数据口3E8。中断号为04h。21.双机串口通讯4 A,B两台主机间串口通讯,先由A发送,B接收,然后B将接收的数据回传给A。要求实时显示传送或者接受的数据。采用异步方式,CPU和8251之间采用中断方式交换数据。端口地址是:命令/状态口2E9,数据口2E8。中断号为04h。22.单机串口通讯

单台主机实现串口通讯,自发自收。要求实时显示传送或者接受的数据。采用异步方式,CPU和8251之间采用查询方式交换数据。端口地址是:命令、状态口3F9,数据口3F8。23.双机并行通讯1 由甲乙两台微机之间并行传送1K字节数据。先甲机发送,乙机接收,后乙机发送,甲机接收。甲乙双方的8255A均采用方式2工作。8255A控制口地址为303。24.双机并行通讯2 由A,B两台微机之间并行传送数据。A或者B接收键盘输入的字符,然后通过8255A发送该字符到对方。A,B双方的8255A均采用方式2工作。8255A控制口地址为fff3。25.双机并行通讯3 由A,B两台微机之间并行传送数据。A或者B接收键盘输入的字符,然后通过8255A发送该字符到对方。A,B双方的8255A均采用方式1工作。8255A控制口地址为103。26.双机并行通讯4(A机)

由A,B两台微机之间并行传送数据。A接收键盘输入的字符,然后通过8255A发送该字符到对方。A方的8255A均采用方式1工作,B方的8255A均采用方式0工作。8255A控制口地址为37B。27.双机并行通讯4(B机)由A,B两台微机之间并行传送数据。A接收键盘输入的字符,然后通过8255A发送该字符到对方。A方的8255A均采用方式1工作,B方的8255A均采用方式0工作。8255A控制口地址为37B。28.计算器设计

实现一个计算程序,能实现加、减、乘、除的计算:执行时,在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: C:MASMjs 6*7 2A 29.打字计时练习

通过系统时钟得到输入30个字符所需的时间间隔,并在屏幕上显示输入的字符和时间间隔。

30.交通信号灯的控制1 ① 通过8255A并口来控制LED发光二极管的亮灭 ② A口控制红灯,B口控制黄灯,C口控制绿灯。③ 输出为0则亮,输出为1则灭 ④ 用8253定时来控制变换时间。

要求:设有一个十字路口,2、4为南北方向,1、3为东西方向。初始状态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮。

1、3路口方向通车。延迟3秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1Hz)。闪烁3次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟5秒后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁8此后,再切换到1、3路口方向。之后,重复上述过程。要求在屏幕上显示信号灯的状态。31.交通信号灯2 ① 通过8255A并口来控制LED发光二极管的亮灭 ② B口控制红灯,C口控制黄灯,A口控制绿灯。③ 输出为0则亮,输出为1则灭 ④ 用8253定时来控制变换时间。

要求:设有一个十字路口,2、4为南北方向,1、3为东西方向。初始状态为4个路口的红灯全亮。之后,1、3路口的绿灯亮。

2、4路口的红灯亮,1、3路口方向通车。延迟3秒后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁(1Hz)。闪烁5次后,1、3路口的红灯亮,2、4路口的绿灯亮,2、4路口方向开始通车。延迟10秒后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。要求在屏幕上显示信号灯的状态。

补充题目:

32.温度控制系统

键盘设定温度值,温度低加热,达到一定温度,停止加热;数码管前两位显示设定的值,后两位显示实际的值。A/D转换器采用ADC0809,8255A的C口控制加热继电器。33..电子时钟设计

利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键时电子时钟从当前设定值开始走时。34.电动机的电压、电流采集系统设计

设计一个微机<8086>控制的电动机电压电流采集系统电路,要求完成以下功能:1.实现对电动机电压(1路,0~380 V)和电流(1路,0~5 A)巡回采集;2.电压与电流循环采集,LED显示器实时显示;3.当电压或电流超出设定范围(自定义)时,进行声光报警(频率500Hz);4.电压超限与电流超限报警声音频率不同。35.质素计算

在键盘输入1—9999D的十进制数,计算从1到该数的所有质数,并显示输出(十进制数)。

36.煤气报警器

对一个小区的煤气泄漏进行监控,并设计一个监控四个单元的煤气报警系统。四个单元的煤气浓度对应模拟量利用A/D转换为数字量,并加入了键盘输入,LED七段数码管显示。可以在执行的开始和过程中,修改报警临界值,在报警时可以指出哪个单元煤气泄漏并且发出音乐,要求:

1.选用8086/8088CPU和适当的存储器芯片、接口芯片完成相应的功能。2.设计键盘完成相应的功能。3.画出详细的硬件连接图。

4.给出程序设计思路、画出各程序的流程图。5.给出RAM地址分配表。

6.给有所有程序清单并加上必要注释。37.电压报警器

设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,可用灯光闪烁表示,蜂鸣器鸣响报警等形式。38.防盗报警器

按动键盘某任一数字键使得内扬声器发出警报声,使得 4个LED指示灯忽明忽暗,并通过显示器显示相关警报信息。程序运行后,触动键盘上的数字键,4个LED不停地光闪,光闪周期为2秒,同时在显示器上显示相应的警报信息;程序按CTRL+C退出后声不响光不闪。39.顺序控制系统

利用8个LED灯分时(按顺序)点亮,模拟1~8个工艺过程,由开关K1控制系统启动。要求系统在工作过程中,监控外部事件,若有异常事件发生,则停止系统工作,处理(红灯闪烁)完后,继续原工作。40.闰年计算

利用DOS 21H中断类型的10号键盘功能调用,将键盘接受到的年份数值的字符串按字节存入缓冲区。将字符串中的每个字符转换为对应的十进制数值(利用0-9这10个数的ASCⅡ码值比其本身大30H的关系),利用判断某年是否为闰年的表达式,输入该年是否为闰年的信息。41.数据加解密程序

将内存缓冲区中的一串数据进行加密和解密,要求: 1.先数据倒序

2.将每位数字加上5,再用和除以10的余数代替该数字 3.将第一位和最后一位交换 42.电风扇控制程序

用8253,8255,8259等芯片实现:4个按键实现对风速,风种,定时,停止的不同选择,用3个发光二极管表示风速的弱中强三态,用3个发光二极管表示风种的正常,自然,睡眠三态,用2个发光二极管表示定时30分和60分 在停止状态只有按风速键才有效,其余三键无效。43.自动评分系统

用8086系统的接口芯片设计一个四个评委使用的评分系统,最高得分10分,编程求其平均得分,并显示其最后得分。44.竞赛抢答器

利用8255、8259、8253等芯片实现一个竞赛抢答器,设计要求 如下:(1)可供4组同时抢答,由按钮控制。

(2)能显示出最先抢答的组号,而对其他组的抢答不予理睬。

微机原理课程设计题目与要求 篇5

一、设计内容

1、打开电源后,先设定水温,水温分为八档(30oC~100oC,每10 oC为一档)。

2、按下启动键后,开始测量水温并采用数码管显示,控制电热管加热。

3、上下限水位报警(声光报警)。

4、提倡创新。

二、设计任务

1、选用8086CPU和适当的存储器芯片、接口芯片完成相应的功能。

2、画出详细的硬件连接图。

3、画出各程序的详细框图。

4、给出RAM地址分配表及接口电路的端口地址。

5、给出设计思路。

6、给出程序所有清单并加上必要的注释。

7、完成设计说明书。(列出参考文献,所用器件型号)

电压采集电路设计

一、设计内容

利用《微型计算机原理》课程中所学的主要可编程接口芯片74LS138、8253、8255A、ADC0809和中断控制器8259设计一个模拟电压采集电路。采用ADC0809设计一个单通道模拟电压采集电路,要求对所接通道变化的模拟电压值进行采集,采集来的数字量送至数码管LED指示,采集完100个数据后停止采集过程。

二、设计任务

1、选用8086CPU和适当的存储器芯片、接口芯片完成相应的功能。

2、画出详细的硬件连接图。

3、画出各程序的详细框图。

4、给出RAM地址分配表及接口电路的端口地址。

5、给出设计思路。

6、给出程序所有清单并加上必要的注释。

7、完成设计说明书。(列出参考文献,所用器件型号)

多功能密码锁

一、设计内容

密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同

显示00字样。当输入密码错误时,发出错误警告声音,同时显示FF字样。当六次误码输入的条件下,产生报警电平报警。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。

二、设计任务

1、选用8086和适当的存储器及接口芯片完成相应的功能。

2、用LED显示器显示电子锁的当前状态。

3、画出详细的硬件连接图。

4、给出程序设计思路、画出软件流程图。

5、给出地址分配表。

6、给出所有程序清单并加上必要注释。

7、完成设计说明书(列出参考文献,所用器件型号)。

汽车倒车测距仪

一、设计内容

1、设计一个微机控制的汽车倒车测距仪,能测量并显示车辆后部障碍物离车辆的距离,同时用间歇的“嘟嘟”声发出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近;

① 开机后先显示“———”,并有开机指示灯。

② CPU发射超声波1ms,然后显示60ms;即1ms+60ms为一个工作周期,等待回波,在次周期内完成一次探测。

③ 根据距离远近发出报警声并显示距离。障碍物距离小于1m,距离值变化5cm更换显示,否则不更换;距离在1m以上,新值与原显示值之差大于10cm更换,否则不更换。④ 用三LED位数码管显示障碍物距离

2、硬件电路原理图和软件框图; 编写控制程序,写出设计任务书(总结报告)。

二、设计任务

1、选用8086和适当的存储器及接口芯片完成相应的功能。

2、用LED显示器显示电子锁的当前状态。

3、画出详细的硬件连接图。

4、给出程序设计思路、画出软件流程图。

5、给出地址分配表。

6、给出所有程序清单并加上必要注释。

微机原理课程设计报 篇6

(1)利用8253定时,8259中断及8255输出实现交通灯模拟控制。

(2)实现能自动控制和手动控制。(3)实现能随时可以调整自动模式的绿灯和红灯时间

设计目的

电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。

交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于

计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。

要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。设计内容

交通灯控制系统

利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。

具体要求如下:

1)在一个十字路口的一条主干道和一条支干道分别装上一套红、绿、黄三种信号灯。

2)在一般情况下,主干道上的绿灯常亮,而支干道总是红灯。

3)当检测到支干道上来车时,主干道的绿灯转为黄灯,持续4S后,又变为 红灯,同时支干道由红灯变为绿灯。

4)支干道绿灯亮后,或者检测到主干道上来了三辆车,或者虽未来三辆车,但绿灯已经持续了25秒,则支干道立即变为黄灯,同时主干道由红灯变为绿灯。设计要求

在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路

软件设计

1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。

2、画出程序流程图。

3、根据流程图,编写源程序。

4、在Proteus环境下,仿真调试程序 设计原理与硬件电路

要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(绿)、L2(黄)、L3(红)做为南北方向的指示灯,将L4(绿)、L5(黄)、L6(红)做为东西方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电

源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。在以上的叙述基础上,本实验添加了东西方向S2、南北方向S3紧急切换按钮各一个,当紧急按钮按下时,相应方向紧急切换为绿灯,以便特种车辆通行。另外,本实验以低电平触发中断申请,表示有特种车通过。

本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意:一是主程序中的延时程序和中断处理程序中的延时程序不能混用,本实验给出的程序中,主程序延时用的是

R5、R6、R7,中断延时用的是R3、R4和新的R5。第二,主程序中每执行一步经74LS273的端口输出数据的操作时,应先将所输出的数据保存到一个单元中。因为进入中断程序后也要执行往74LS273端口输出数据的操作,中断返回时如果没有恢复中断前74LS273端口锁存器的数据,则显示往往出错,回不到中断前的状态。还要注意一点,主程序中往端口输出数据操作要先保存再输出,例如有如下操作:

MOV A,#0F0H(0)MOVX @R1,A(1)MOV SAVE,A(2)

程序如果正好执行到(1)时发生中断,则转入中断程序,假设中断程序返回主程序前需要执行一句MOV A,SAVE指令,由于主程序中没有执行(2),故SAVE中的内容实际上是前一次放入的而不是(0)语句中给出的0F0H,显示出错,将(1)、(2)两句顺序颠倒一下则没有问题。发生中断时确定方向的绿灯亮10秒,然后返回中断前的状态。

程序及硬件系统调试情况

程序运行结果: 东西路右拐和南北路左拐绿灯点亮5秒,直通到均为红灯 5秒后,黄灯亮3秒钟。此时南北方向仍维持红灯点亮。东西方向直通,为绿灯,南北 方向红灯 黄灯再亮三秒之后,东西路左拐和南北路右拐绿灯点亮 南北方向的黄灯亮3秒钟后,南北方向直通,延时5秒 闭合A口开关,四个路口全红灯,表明紧急状态。

设计总结与体会

经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只

微机原理课程实验教学方法探讨 篇7

微机原理课程是普通高等学校计算机及电气信息类专业的一门重要的专业基础课程,涉及知识内容涵盖了CPU结构、汇编语言与接口技术等。该课程概念抽象,实践性很强[1]。实验教学在对学生理解汇编指令、掌握汇编语言程序设计和典型接口的应用上起着不可替代的作用。

目前高校微机原理课程实验主要采用在实验室使用固定实验平台方式。该方式主要存在两方面的问题:1)实验平台硬件电路已经固定,学生实验时仅需进行部件间的少量连线,缺乏深层次的电路原理设计;2) 实验室的教学资源比较紧张,实验设备受限,开放时间固定,导致学生不能非常方便的安排实验。

为了充分提高学生在微机原理课程实验中的自主性,切实提高实验效果,本文探讨了分别基于FPGA平台和Proteus平台进行实验教学的相关内容。

2 基于FPGA平台的实验教学方法

FPGA器件具有开发周期短、编程灵活、可靠性高等优点[2],片内有丰富的逻辑单元资源,可以满足设计复杂电路的需要。通过使用硬件描述语言VHDL或Verilog HDL进行编程,可在一片FPGA内配置实现各种功能的微机接口模块IP核,且能方便的扩展支持新型微机接口的设计。基于FPGA平台的实验教学较好的促使学生将理论知识与动手实验联系起来,有效的提高了学生的创新能力。

2.1 FPGA实验平台硬件设计

实验平台硬件部分采用模块化设计,主要包括FPGA核心板和实验扩展板两大模块。基于FPGA的实验平台硬件框图如图1所示。

本设计中 核心板选 用Altera公司的FPGA芯片EP3C10E144作为主芯片。该芯片包含有10320个逻辑单元,414Kbits的RAM,2个PLL,23个专用乘法器,可供用户使用的I/O有94个,资源丰富,可满足大容量、低成本需求的电子设计。选用4MB RAM的串行FLASH芯片EPCS,不仅作为配置芯片足够大,还可作为系统的外部程序存储器。

外围设备扩展板配置扩展模块提供了丰富的外围设备及各种常用外部设备,具体包括数码管、拨码开关、LED、LCD、蜂鸣器、RS232串口、红外遥控模块、A/D与D/A转换电路模块、实时时钟DS1302、温度传感器DS18B20、步进电机、直流电机及测速模块以及VAG接口等。

2.2 FPGA平台实验过程

针对实验要求,移植8086软核和相应接口芯片软核来搭建8086实验系统,并采用图形化界面进行芯片间的互连。8086最小系统软核可采用以HT-LAB所推出的开源8086核CPU86为基础,针对自身环境进行移植[3]。8086软核的外围接口主要由数据线、时钟线和基本的控制线构成。在8086软核的基础上扩展8255 I/O口核、8253定时器核、8250 UART串行通信核、8237DMA控制核和8259中断控制核等即可构建8086片上系统。

由于8086和接口芯片软核的移植需要熟练掌握EDA技术,考虑到学生知识体系的不完整, 学生在完全自学的前提下想非常熟练的掌握接口片IP核的VHDL语言设计难度相当大[4],因此8086最小系统软核的设计由教师预先提供,并给出相关接口芯片的IP核参考设计,由学生结合实验平台的原理图和实验要求设计完整的实验系统,逐步引导学生独立完成实验系统的搭建。例如针对8255A并行IO口扩展实验,该实验具体要求使用8255A作为接口,由PA口采集一个开关的状态,然后由PB口输出信号给数码管显示。要求开关闭合时数码管显示数字,断开时数码管熄灭。该实验在8086最小系统软核的基础上,仅需扩展8255A芯片软核,并连接好相应的开关与数码管引脚。参考的设计原理如图2所示。

实验系统建立好后,根据具体实验要求编写应用程序。将编写好的程序在8086编译器上编译生成.hex文件,并嵌入到8086系统的IP软核的RAM存储器模块中。最后将编译生成的FPGA配置文件.sof下载到FPGA,完成实验系统的验证。

3 基于Proteus平台的实验教学方法

3.1 实验教学内容

Proteus是由英国Labcenter公司开发的EDA工具软件,可以仿真、分析各种模拟器件和集成电路,支持许多型号的单片机仿真。从Proteus 7.5 SP3版本开始,支持8086微处理器与8255、8253、8259和8251等接口芯片的仿真功能[5]。

Proteus平台几乎支持微机原理课程的全部教学内容[6]。基于Proteus仿真的典型单元实验项目设计如图l所示,在此基础上可进一步设计出综合型课题。

3.2 Proteus平台实验过程

以下结合2.2节中的8255并行IO口扩展实验为例,介绍基于Proteus虚拟平台的实验过程。

1)电路设计

按照实验要求,进行功能分析和地址分析后可以在Proteus软件中绘出仿真电路图,其中地址锁存器使用74HC373,地址译码电路采用74HC138,具体电路如图3所示。

2)程序设计与调试

实验程序主要通过读取8255A端口PA7的数据,判断开关状态,向PB端口输出相应的字符显示码。调试时,将程序文件加载到8086模型中,即在Proteus软件界面中双击8086模块,设置8086模型的Program File项为生成的com文件,点击运行键,仿真电路即开始运行。仿真过程中,打开Proteus的各种调试窗口:观察窗口,存储器窗口,寄存器窗口,源代码窗口和变量窗口,可直观实时的显示出8255A和8086内部寄存器以及存储器单元等的内容。

4 结论

近两年来的实践表明,基于FPGA实验平台和Proteus平台的微机原理实验教学方法,充分激发了学生的学习主动性和创造力,促使学生对微机技术的掌握和应用程度有较大的提高,且对后续设计开发能力和创新能力的培养起了较大的促进作用。基于FPGA实验平台和Proteus平台的实验教学方法可扩展到其他微机系列课程实验中,诸如单片机原理、ARM系统原理等。

摘要:《微机原理》是普通高校电子信息类专业的一门重要专业基础课。针对课程所采用的传统实验方式中存在的问题,探讨了基于FPGA平台和Proteus平台的微机原理课程实验教学方法,结合实例介绍了相应的实验过程。通过近几年的实践表明,基于FPGA实验平台和Proteus平台的微机原理实验教学方法,充分利用了EDA技术和虚拟仿真技术的优势,有效提高了学生的微机系统软硬件开发的综合能力。

微机原理课程设计报 篇8

【关键词】微机原理 教学方法

【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2016)36-0204-02

一、引言

随着计算机技术、微电子技术的发展,单片机技术在智能仪器仪表、智能传感器、数据采集与处理、家电和计算机控制系统[1]等领域被广泛应用,工程类专业尤其是计算机应用、电子信息工程、自动化、测控技术与仪表、机电一体化等专业的学生学习和掌握单片机应用技术是十分必要的。在现行的教学体系下,“微机原理与接口技术”课程教学偏重于单片机原理及系统各部件的介绍[2],在系统性方面存在一定的缺陷,使得学生在后续课程学习和毕业设计中应用单片机知识的能力显得比较薄弱[3]。因此,如何激发学生的学习兴趣,培养学生的单片机应用能力,掌握单片机应用技术,就成了当前“微机原理与接口技术”课程教学中亟待解决的问题。

在这几年的“微机原理与接口技术”课程教学实践中,运用系统论的观点,将理论教学和实践教学的改革统筹考虑,不断改进教学方法,实现了课程教学效果的显著提高。

二、教学现状与分析

传统的教学模式中,“微机原理与接口技术”课程按照 “结构”、“指令”、“编程”、“接口应用”的体系进行授课。由于目标不明确,学生普遍反映课程内容庞杂、头绪纷乱、枯燥无味、无所适从,无法形成单片机应用系统的完整概念。另外,“微机原理与接口技术”作为一门综合性、实践性强的课程,课程教学分为理论教学与实践教学两部分,理论教学基本上以讲授方式为主,概念多、内容抽象,并且各部分知识衔接紧密;实践教学多为验证性实验,学生在实验中被动地输入程序、验证结果,其实践能力和创新思维能力不可能得到有效的锻炼,不能达到实验的目的。在课时有限的情况下,教学效果不理想,学生普遍感到难学。

三、课程教学方法探究

针对以上教学中存在的问题,结合学校实际,改进 “微机原理与接口”课程的教学法:以单片机应用为中心,注重培养学生的应用能力,把学习理论与知识应用、实践需求紧密结合起来。

1. 采用计算机辅助教学(CAI)

“微机原理与接口”是一门理论抽象并且实践性强的课程,采用计算机辅助教学(CAI)极大地增加了知识的传授量,并改变了学生获取知识的手段和方法。比如将难理解的芯片内部结构图和时序图用多媒体课件讲解,可以使学生更深刻地领会;单片机系统硬件连接可以利用PROTEL电路CAD绘图软件,教会学生自己绘制原理图并输出PCB电路板,可以调动学生的学习热情,为今后实验课和课程设计打下了基础。实践证明采用丰富多样的计算机辅助教学方式可以激发学生的学习兴趣,让他们体会到单片机应用的方法套路,从而取得好的教学效果。

2.培养和激发学生学习兴趣。

“微机原理与接口”课程对初学者来说比较难学,在教学中利用各种教学手段培养和激发学生的学习兴趣会收到事半功倍的效果。在教学中可经常向学生展示或分析一些我们身边单片机产品,通过剖析系统的结构功能并与授课内容联系起来以培养学生的兴趣。比如分析教学楼的大屏幕显示系统讲解单片机LED显示;分析超市收款机来讲解单片机的液晶显示和事务处理功能等等;此外还可有意识地把一些单片机相关科研项目展示给学生,并鼓励他们参与其中的工作。当然兴趣的培养是一个长期的过程,为此在教学中还可通过组织单片机兴趣学习小组,开展学习竞赛,进行单片机小制作等方式激励学生保持对单片机的持久钻研精神。

3.因材施教,加强师生互动

单片机的知识和技能的掌握不仅需要教师耐心地授课和讲解,更重要的是师生之间的互动学习交流,这样不仅能培养学生的兴趣而且能巩固教学效果。由于学生的基础和接受能力不同,在教学中应因材施教,进行多层次教学。根据学生的能力差异,制定不同的目标,在知识点的难度和深度上进行调整。比如章节授课结束时,要求每个学生提出三个以上的问题反馈给教师,让教师及时了解学生的具体学习状况。对于不同层次不同基础的学生,利用指导和个别辅导的机会,提出不同的要求,提供不同难度的题目,使学生的能力持续提高。教师应密切注意学生在教学活动中的表现,及时对学生做出评价,不断调整,重新分层,以充分挖掘不同层次学生的潜力,这是取得良好教学效果的保证。

4. 培养学生基本的科研能力与创新精神

“微机原理与接口”作为电类和其他相关专业的重要专业基础课,不仅要求注重学习单片机基础知识,而且更要注重培养学生的实践能力、综合应用知识的能力、创造能力。教学过程中,在学生之间组成科研兴趣小组,讲授科研工作如何开展,鼓励学生培养自己甘于吃苦、敢于创新、勇于献身科学的精神。教会学生解决困难的三个办法:首先靠自己去解决,比如到图书馆查阅相关资料、到期刊网查阅文章、上网搜索问题等等;其次到单片机网站、单片机论坛发问题贴等待高手答复;最后实在不行才去请教教师。这样可以培养自己独立解决问题的能力。

三、结束语

通过改进教学方法,不仅提高了学生对单片机的学习兴趣,调动了学生学习的主觀能动性,而且丰富了教学手段,提高了教学效果。不少学生反应通过课程学习不仅学到了单片机的知识,更重要的是学到了如何学习钻研的方法,提高了自己的知识应用能力和科研能力。

参考文献:

[1] 陈刚.高职单片机教学的新思路[J].广州交通职业技术学院学报,2006.

[2] 石建华.单片机原理与应用技术[M]. 北京,北京邮电大学出版社,2007.

微机原理课程设计报 篇9

一、引言

计算机基础教育是面向非计算机类各专业学生的计算机教育。与其它传统的基础课如数学、物理、化学、外语等一样,计算机基础教育已成为大学本科生基础教学的重要组成部分。计算机基础教育大致可分为三个层次:计算机文化基础、计算机技术基础和计算机应用基础。计算机文化基础课程是为了培养人们的计算机认识,课程不主要讲解计算机基础知识和基本操作技能。计算机技术基础课程则是为学生后续课程学习、毕业设计以及计算机应用开发打下一个较为全面的基础,课程主要讲解计算机中软件、硬件的基础知识。计算机应用基础课程则是针对当前计算机的主要应用领域,讲述一些必要的知识、方法和技能,以解决实际问题。

《微机原理与应用》和《单片机原理与接口技术》课程是机械类各专业所开设的课程,分别属于计算机技术基础和计算机应用基础层次。本文讨论了有关机械类《微机原理与应用》和《单片机原理与接口技术》课程的教学方法和教学手段。

二、机械类微机原理与应用和单片机原理及接口技术课程的教学特点

(一)课程内容简介不

《微机原理与应用》课程内容主要包括:计算机的基础知识(计算机的发展概述、计算机中的数、无符号二进制数的算术运算和逻辑运算、带符号二进制数的表示及运算、二进制编码)、8086/8088微型计算机基础知识(微型计算机基本结构、8086/8088微处理器、8088的外部引脚及其功能、8086/8088的功能结构、8086/8088的存储器组织、8086/8088的工作时序)、8088/8086的指令系统、汇编语言程序设计、中断技术等。课程详细地讲述8088/8086微处理器的编程结构及8088/8086的汇编语言编程技巧。微机原理与应用课程为以后从事机电控制技术以及微机的应用打下一个较为全面的基础。《单片机原理与接口技术》课程内容主要包括:MCS-51系列单片机的硬件结构、组成原理、寻址方式、指令系统、扩展技术、中断系统机制、定时器、计数器、串行通信接口技术等。课程详细地讲述MCS-51系列单片机汇编语言的编程技巧,重点阐明单片机的扩展方法及组成单片机应用系统的设计技术。单片机原理及接口技术课程为以后从事自动控制、智能仪器仪表、机电一体化技术以及各类单片机的应用打下一个较为全面的基础。可以说《单片机原理及接口技术》课程是提高单片机应用设计能力,适应科学技术和经济发展的重要保证。

(二)课程内容教学特点

随着21世纪科学技术高速发展,新能源、新技术不断出现,尤其是信息处理和控制技术的飞速发展,使得传统的机械产品正逐渐向高度自动化机械产品转换。可以说纯机械产品已逐渐被机电系统所取代,机电系统是机械设备和电气动力相组合的系统,而目前所有的机电系统都是基于计算机控制技术来实现的,所开发的机电产品的控制系统都是以计算机控制技术为基础的,控制系统的发展方向是智能和柔性。由此可知,《微机原理与应用》和《单片机原理与接口技术》课程是掌握高新科学技术的基础。

从《微机原理与应用》和《单片机原理与接口技术》课程内容可以看出,两门课程具有很多的共性知识,其重复面较大。这主要表现在以下几个方面: 第一是两门课程均为技术基础类课程,其先修课均为电子技术基础课,可以说两门课均为复杂同步时序逻辑电路的应用,应归属于电子技术应用范畴,所以学好电子技术基础课将有助于这两门课程的学习。第二是两门课程体现着强烈的概念性、抽象性和原理性,两门课程均强调硬件结构加上软件的执行构成的微机原理。

第三,两门课程同时也是实践性很强的课程,有一定的实用技能,在学习过程中应充分注重理论与实践相结合,软件与硬件相结合,只有这样才能学到真正的知识。

微机原理指令小结 篇10

所有指令:

(1)立即数不能作为目的操作数。

(2)不能在2个存储单元之间直接进行操作(串操作除外)。

(3)MOV指令和堆栈指令是惟一能对段寄存器进行操作的指令。(4)源和目的操作数的数据类型必须匹配,都是8位,或都是16位。(5)CS、IP不能直接作为操作数。(6)指令中至少要有一项明确说明传送的是字节还是字,如果没有,可通过PTR进行设置。

一、传送指令

(1)6种指令:通用传送指令、堆栈操作指令、交换操作指令、I/O操作指令、目的地址传送指令和标志传送指令。

(2)对标志位的影响:除标志传送(SAHF、POPF)外,均不影响标志位。(3)操作数表示方法:立即数——data,存储器单元地址——mem,寄存器——reg,段寄存器——segreg。

1.通用传送指令:完成数据传送

(1)指令格式:MOV OPRD1,OPRD2 ;[目的操作数OPRD1]← [源操作数OPRD2](2)源OPRD2: data、mem、reg、segreg。(3)目的OPRD1: mem、reg、segreg。

(4)通用传送指令MOV和堆栈指令是唯一允许以段寄存器(代码段寄存器CS和指令指针IP除外,即CS、IP不能作为直接操作数)作为操作数的指令,不允许通过MOV指令直接以立即数方式给段寄存器赋值,不允许直接在两个段寄存器之间直接进行传送。

(5)8位/16位操作。

2.堆栈操作指令:将数据压入/弹出堆栈(1)指令格式:

入栈:PUSH OPRD;先修改堆栈指针SP-2,然后将数据压入堆栈。

;SP =SP-1,[SP]=操作数高8位; SP =SP-1,[SP]= 操作数低8位。出栈:POP OPRD; 先将数据弹出堆栈,然后修改堆栈指针SP+2。

;(操作数低8位)←[SP],SP =SP+1;(操作数高8位)←[SP],SP =SP+1。(2)操作数:mem、reg、segreg。操作数不能是立即数data。(3)仅能进行字运算(16位操作)。

(4)堆栈存取原则为后进先出,只有一个入/出口SS:SP,SP始终指向栈顶,SP是自动修改的,SP在初始化中需要设置。

(5)PUSH、POP指令必须成对使用。

3.交换操作指令:XCHG——数据交换;XLAT——完成一个字节的换码转换(1)指令格式:

交换操作指令: XCHG OPRD1,OPRD2;[OPRD1]←→ [OPRD2] 累加器换码指令(表转换指令、查表指令):XLAT;(AL)←((DS)×16+(BX)+(AL))(2)XCHG:段寄存器和立即数不能作为一个操作数,8位/16位操作。

(3)XLAT:表首地址在BX中,AL的内容作为某一项到表首的偏移量(256字节的 1 表的下标),转换后的结果存放在AL中。

4.I/O操作指令:累加器(AX/AL)与I/O端口之间的数据传送(1)指令格式:

输入指令:IN AL/ AX,PORT;(AL/ AX)← [PORT]

IN AL/ AX,DX

;(AL/ AX)← [DX]

输出指令:OUT PORT,AL/ AX ;[PORT]←(AL/ AX)

OUT DX,AL/ AX

;[DX]←(AL/ AX)

(2)当端口地址≤ 255时,使用PORT(8位端口直接地址);当端口地址≥255时,必须用DX(16位端口直接地址)作桥梁。DX作端口寻址最多可寻找64K个端口。

(3)PORT为直接寻址,8位/16位操作。5.目的地址传送指令

(1)取有效地址指令:LEA OPRD1,OPRD2

或: LEA reg,[add] ;(reg)← add,add为有效地址

把存储器的有效地址EA(源操作数的地址偏移量)送入一个寄存器reg;常用于将一个16位的通用寄存器作为地址指针。传送的是有效地址EA。(2)将双地址指针装入DS和另一个寄存器指令LDS指令:

LDS OPRD1,OPRD2

或: LDS

reg,[add] ;(reg)←(add+1)(add),(DS)←(add+3)(add +2)(3)将双地址指针装入ES和另一个寄存器指令LES指令:

LES OPRD1,OPRD2

或: LES

reg,[add] ;(reg)←(add+1)(add),(ES)←(add+3)(add +2)

① 从源操作数指定的存储单元中取出4字节的地址指针(包括2字节的段地址和2字节的偏移量)传送到DS/ES和reg。指定将段地址送入DS/ES,偏移量部分送入一个16位的指针寄存器或变址寄存器。

② 源操作数mem,目的操作数必须是一个16位的通用寄存器。③ 传送的是存储单元的内容,而不是存储器的有效地址EA。6.标志传送指令

(1)读标志指令:LAHF;(AH)←(FR)0~7

功能:将标志寄存器中的SF、ZF、AF、PF和CF(即低8位)传送至AH寄存器的指定位,空位没有定义。

(2)存标志指令:SAHF;(FR)0~7 ←(AH)

功能:将寄存器AH的指定位,送至标志寄存器的SF、ZF、AF、PF和CF位(即低8位)。根据AH的内容,影响上述标志位,对OF、DF、IF和TF无影响。

(3)标志入栈指令:PUSHF;将FR入栈。(SP)←(SP)-2,((SP)+1,(SP))←(FR)功能:将标志寄存器FR压入堆栈顶部,同时修改堆栈指针,不影响标志位。(4)标志弹出栈指令:POPF;将栈顶的内容弹出到FR中。

;(FR)←((SP)+1,(SP)),(SP)←(SP)+ 2

功能:堆栈顶部的一个字,传送到标志寄存器FR,同时修改堆栈指针,影响标志位。

二、算术运算指令

(1)9种指令:加法指令、减法指令、增量//减量指令、求补指令、比较指令、乘法指令、除法指令、字节字/转换为字扩展指令和十进制调整指令。

(2)对标志位的影响:

① 加、减、比较指令(CMP)、取补指令(NEG)指令均影响6个标志位CF、OF、PF、SF、ZF和AF。

② 乘法指令影响CF和OF标志;除法指令所有标志位都不确定,无意义。

③ 增量//减量指令影响除进位标志CF以外的5个标志位AF、OF、PF、SF和ZF。④ 字节字/转换为字扩展指令不影响标志位。

⑤ 加法的ASCII调整指令AAA,十进制调整指令 DAA影响除溢出标志OF以外5个标志: CF、PF、SF、ZF和AF;OF没有意义。

⑥ 减法的ASCII调整指令 AAS、十进制调整指令 DAS影响 2个标志:CF和AF;其余标志没有意义。

⑦ 乘法的ASCII调整指令AAM、除法的ASCII调整指令AAD 根据AL寄存器的结果影响SF、ZF和PF。

1.加法指令(Addition):完成加法操作。(1)格式:ADD/ ADC

OPRD1,OPRD2 ;(OPRD1)←(OPRD1)+(OPRD2)(2)源: data、mem、reg;目的:reg,mem。(3)ADC指令主要用于多字节运算中。(4)8位/16位操作。

2.减法指令(Subtraction):完成减法操作。(1)格式:SUB/ SBB OPRD1,OPRD2;(OPRD1)←(OPRD1)-(OPRD2)(2)规定同加法指令。

3.增量(加1)/减量(减1)指令INC/ DEC:完成+1/-1操作。(1)格式:INC/ DEC OPRD;(OPRD)←(OPRD)±1

(2)功能:主要用于在循环程序中修改地址指针和循环次数等。(3)操作数:reg、mem。

4.求补指令NEG:完成补码操作。(1)格式:NEG OPRD(2)操作数:reg、:mem。

5.比较指令CMP:完成减法操作,结果不回送,反映在标志位上。(1)格式:CMP OPRD1,OPRD2;(OPRD1)-(OPRD2)

(2)功能:主要用于比较两个数之间的关系。在比较指令之后,根据标志即可判断两者之间的关系。减法操作,结果不回送目的操作数。

(3)两数关系的判断标志 ① A=B 用 ZF=1 判断;

② 两个无符号数的大小用CF判断。CF=1,AB。

③ 两个符号数的大小用SF⊕OF判断。SF⊕OF=1,AB。

JG/JNLE(大于,SF⊕OF=0且 ZF=0)JL/JNGE(小于,SF⊕OF=1且 ZF=0)6.乘法指令MUL/ IMUL:完成无符号乘法/带符号(整数)乘法操作。(1)格式:MUL/ IMUL OPRD ;8位:(AX)←(AL)╳(OPRD)

;16位:(DX)(AX)←(AX)╳(OPRD)

(2)源操作数:reg、mem,由指令给出。(3)目的操作数:默认在AL/AX中。

(4)带符号数乘法指令IMUL当结果的高半部分不是结果的低半部分的符号扩展时,标志位CF和OF将置位。

(6)可完成字节与字节乘法、字与字乘法操作。7.除法指令DIV/ IDIV:完成无符号除法/带符号(整数)除法操作。

(1)格式:DIV/ IDIV OPRD; 8位:(AL)←(AX)/(OPRD)……(AH)(余数)

;16位:(AX)←(DX)(AX)/(OPRD)……(DX)(余数)(2)源/目的操作数规定同乘法指令。

(3)对于符号数,当被除数不够位数时,需要对高8/16位进行扩展符号扩展。

8.字节字/转换为字扩展指令CBW/CWD:将AL/AX寄存器的最高位扩展到AH/DX。(1)格式:CBW/CWD(2)功能:将AL/AX寄存器的最高位扩展到AH/DX,AL.7(AX.15)=0,则AH(DX)=0;AL.7(AX.15)= 1,则AH=0FFH(DX=0FFFFH)。

9.十进制调整指令

(1)压缩BCD码:每个字节表示两位BCD数;

非压缩BCD码:用一个字节表示一位BCD数,在这字节的高四位用0填充。

(2)每条十进制调整指令在使用时都与相应的算术运算指令配合,并自动对相应的算术运算指令结果进行相应的十进制调整。

(3)格式:

① DAA:压缩的BCD码加法调整

② DAS:压缩的BCD码减法调整 ③ AAA:非压缩的BCD码加法调整 ④ AAS:非压缩的BCD码减法调整 ⑤ AAM:乘法后的BCD码调整

⑥ AAD:除法前的BCD码调整

三、逻辑运算和移位指令

1.逻辑运算指令

(1)5种指令:逻辑与、或、非、异或和测试指令。(2)指令格式

① 逻辑与指令AND OPRD1,OPRD2;(OPRD1)←(OPRD1)∧(OPRD2)

② 逻辑或指令OR OPRD1,OPRD2;

(OPRD1)←(OPRD1)∨(OPRD2)

③ 逻辑非指令 NOT OPRD;

(OPRD)←(/OPRD)④ 逻辑异或指令XOR OPRD1,OPRD2;(OPRD1)←(OPRD1)⊕(OPRD2)⑤ 测试指令TEST OPRD1,OPRD2 ;

(OPRD1)∧(OPRD2),结果不回送。(3)操作数范围

源操作数为reg、mem、data;目的操作数为reg、mem(NOT指令只有一个操作数)。单操作数指令NOT的操作数不能为立即数。双操作数逻辑指令中,必须有一个操作数为寄存器寻址方式,且目的操作数不能为立即数。

(4)功能:实现相应的逻辑功能。

① 与指令可实现屏蔽(复位)数据的某些位(使一个字或字节中的某些位清0,而其余位不变),提取某些位或拆字。

② 或指令可实现置位数据的某些位(使一个字或字节中的某些位置1,而其余位不变),拼字。

③ 非指令常用于使某个数取反,或取反后+1而得补码。

④ 异或指令可实现某个寄存器清0,或使目的操作数的某些位取反(使一个字或字节中的某些位取反,而其余位不变)。

⑤ 测试指令通常用于测试。目的操作数的某些位是1还是0,用ZF标志判断。

4(5)对标志位的影响

① 逻辑与、或、异或和测试指令影响ZF,PF,SF标志;CF=0,OF=0;AF无意义。② 逻辑非指令不影响标志位。2.移位指令

(1)4组8种指令:算术移位SA,逻辑移位SH,循环移位RO,带进位位的循环移位RC。右移R,左移L。

(2)指令格式:操作码 OPRD,M M =1时,只移1位; M>1时,可将指令格式中的CNT改为CL寄存器,并在移位指令前将移位次数预先送入CL寄存器中。

(3)功能:将OPRD的内容移位M次。算术移位适用于带符号数的×2,÷2。逻辑移位适用于无符号数的×2,÷2。

(4)操作数范围: reg、mem。

(5)对标志位的影响:

① 算术/逻辑移位指令影响CF、SF、ZF、PF标志,在移1位时,影响OF标志。不影响AF标志。

② 循环移位指令只影响CF、OF标志,不影响其他标志位。

CF MSB LSB 0 SHL/SAL算术/逻辑左移 CF 0 CF MSB LSB SHR逻辑右移 MSB LSB SAR算术右移

CF MSB LSB ROL循环左移 CF MSB LSB ROR循环右移 CF MSB LSB RCL通过进位的循环左移 CF MSB LSB RCR通过进位的循环右移

四、串操作类指令

(1)5种指令:串传送MOVS,串比较CMPS,串搜索SCAS,存串STOS,取串LODS。(2)指令格式:操作码

DST,SRC MOVSB(字节)/MOVSW(字)

① 串传送MOVS DST,SRC;[(ES:DST)]←[(DS:SRC)]

MOVSB;

[(ES:DI)]←[(DS:SI)],SI=SI±1,DI=DI±1

MOVSW;

[(ES:DI)]←[(DS:SI)],[(ES:DI+1)]←[(DS:SI+1)],SI=SI±2,DI=DI±2

② 串比较CMPS DST,SRC;

[(ES:DI)]-[(DS:SI)];SI=SI±1,DI=DI±1

③ 串搜索SCAS DST;

AL← [(ES:DI)]];DI=DI±1 ④ 存串STOS DST;

[(ES:DI)] ← AL;DI=DI±1 ⑤ 取串LODS SRC;

AL ←[(DS:SI)];SI=SI±1 字操作与字节操作类似,AL——AX。(3)功能

根据方向标志DF及所传送数据的类型(字节/字)对SI及DI进行修改,在指令重复前缀REP的控制下实现。

① 串传送:把数据段中由SI间接寻址的一个字节/字传送到附加段中由DI间接寻址的一个字节/字单元中。

② 串比较:把数据段中由SI间接寻址的一个字节/字与附加段中由DI间接寻址的一个字节/字进行比较操作,使比较的结果影响标志位。可在两个数据串中寻找第一个不相等的字节/字,或者第一个相等的字节/字。

③ 串搜索:用指令指定的关键字节/字(分别存放在AL/AX中),与附加段中由DI间接寻址的字节串中的一个字节进行比较操作,使比较的结果影响标志位。可在指定的数据串中搜索第一个与关键字节匹配(或者不匹配)的字节。

④ 存串:把指令中指定的字节(或字)串(存放在AL/AX中)传送到附加段中由DI间接寻址的字节内存单元中。可连续将AL(或AX)的内容存入到附加段中的一段内存区域中去,该指令不影标志位。

⑤ 取串:从串中取指令实现从指定的字节(或字)串中读出信息的操作。(4)规定

① 串操作类指令是唯一的一组源和目的操作数均在存储单元的指令。源串在数据段,目的串在附加段。各指令所使用的默认寄存器是:源串地址DS:SI;目的串地址ES:DI;字串长度CX;存取或搜索的默认值

AL

② 串操作时,地址的修改由方向标志确定。

CLD;DF=0,SI/DI地址作自动增量(自动+1)修改; STD;DF=1,SI/DI地址作自动减量(自动-1)修改。

③ 任何一个串操作指令均可在指令前面加上一个重复操作作为前缀,于是就重复执行,直至CX、ZF满足要求为止。

④ 重复指令前缀

REP;①若(CX)=0,则退出; ② CX=CX-1;③执行后续指令;④重复①----③

REPE/REPZ;①若(CX)=0或ZF=0,则退出;②CX=CX-1;③执行后续指令;④重复①----③ REPNE/REPNZ;①若(CX)=0或ZF=1,则退出;②CX=CX-1;③执行后续指令;④重复①----③

五、控制转移类指令——改变指令执行顺序的指令

(1)6种指令:无条件转移指令、子程序调用和返回指令、条件转移指令、循环控制指令、中断指令、处理器控制命令。

(2)概念

①直接转移:转移的目的地址(标号)直接出现在指令码中。

②间接转移:转移的目的地址间接存储于某一个寄存器或某一个内存变量中。

③段内转移/调用:转移的目的地址和本条指令在同一代码段中,转移时只改变IP,不改变CS。程序转向的有效地址EA等于当前IP的内容加上8/16位位移量。可分为:

段内近转移NEAR ——16位位移量,适用于无条件转移指令和条件转移指令,转移范围为-32768----+32768。

段内短转移SHORT ——8位位移量,适用于条件转移指令,转移范围为-128----+127。

④段间转移/调用(远转移FAR):转移的目的地址和本条指令不在同一代码段中,转移时同时改变CS和IP内容,即程序转移到另一个代码段。

1.无条件转移指令

JMP [转移方式]OPRD;转移到OPRD所指向的存储器单元处执行程序(1)段内直接短转移指令JMP SHORT OPRD;(IP)←(IP)+ OPRD

(2)段内直接近转移指令JMP

NEAR PTR

OPRD;(IP)←(IP)+ OPRD(3)段内间接转移指令JMP WORD PTR

OPRD;(IP)← [EA](4)段间直接(远)转移指令JMP FAR PTR OPRD;(IP)←OPRD的段内偏移地址,(CS)←OPRD所在的段地址。OPRD为直接寻址方式。

(5)段间间接转移指令JMP DWORD PTR OPRD;(IP)← [EA],(CS)← [EA+2] 2.条件转移指令

指令助记符

目的地址

(1)标志条件转移指令助记符:J/JN+标志(C, P, S, S, O);

(2)比较条件转移指令助记符:J/JN+比较符(A高于, B低于, E等于, G大于, L小于)(3)无符号数比较:测试标志位为CF、ZF,分高于A、等于E、低于B等3种情况:ZF=1,等于;CF=0,大于。

(4)符号数比较:测试标志位为ZF、OF和SF,分大于G、等于E、小于L等3种情况:ZF=1,等于;SF⊕OF =0,大于。

3.子程序调用和返回指令(1)子程序(过程)调用指令

CALL 子程序名 DST ①段内调用: CALL NEAR PTR OPRD ;(SP)←(SP)-2,((SP)-2)((SP)-1)←(IP),(IP)←子程序DST的地址(即:IP+16位位移)

②段间调用:CALL FAR PTR OPRD ;(SP)←(SP)-2,((SP)-2)((SP)-1)=(CS),(SP)←(SP)-2,((SP)-2)((SP)-1)=(IP),(IP)=[EA],(CS)=[EA+2](2)子程序返回指令

RET;段内返回(IP)←((SP)+1,SP),(SP)←

(SP)+ 2

;段间返回(IP)←((SP)+1,SP),(SP)←

(SP)+ 2

(CS)←((SP)+1,SP),(SP)←

(SP)+ 2 4.循环控制指令

对CX或标志位ZF进行测试,确定是否循环。(1)LOOP OPRD(短标号);(CX)←(CX)-1,若CX≠ 0,则循环,否则顺序执行。

(2)LOOPNZ/LOOPNE OPRD;(CX)←(CX)-1,若CX≠0和ZF=0,则循环,否则顺序执行。(3)LOOPZ/LOOPE OPRD;(CX)←(CX)-1,若CX≠0 和ZF=1,则循环,否则顺序执行。(4)JCXZ OPRD;(CX)←(CX)-1,若CX=0,则循环,否则顺序执行。5.中断指令(1)INT n;(SP)←(SP)-2,((SP)-2)((SP)-1)←(FR),FR入栈

;(SP)←(SP)-2,((SP)-2)((SP)-1)←(CS),CS入栈 ;(SP)←(SP)-2,((SP)-2)((SP)-1)←(IP),IP入栈 ;(IP)←(n×4),(CS)←(n×4+2),n——中断类型号

(2)INTO;同INT 4,算术运算溢出中断指令

(3)中断返回指令IRET;(IP)←((SP)+1 ,(SP)),(SP)←(SP)+2,IP出栈

;(CS)←((SP)+1 ,(SP)),(SP)←(SP)+2,CS出栈

;(FR)←((SP)+1 ,(SP)),(SP)←(SP)+2,FR出栈

6.处理器控制命令(1)标志操作指令

清标志位为CL,置标志位为ST。只对CF、DF和IF三个标志操作 CLC——清进位标志,CLD——清方向标志,CLI——关中断标志; STC——置进位标志,STD——置方向标志,STI——开中断标志; CMC——进位标志取反。(2)处理器外部同步命令

对标志位的影响:不影响标志位。

①暂停指令:HLT;处理器处于什么也不做的暂停状态,可由中断请求、复位等唤醒继续执行。②等待指令:WAIT;处理器处于等待状态,CPU每隔4个时钟周期测试一次TEST引脚线(23脚),直至TEST引脚线为有效低电平时,CPU才脱离等待状态。③交权指令:ESC;CPU将控制权交给其他协处理器,使协处理器从系统指令流中取得指令。

④总线封锁指令:LOCK;可放在任一条指令前作为前缀,使CPU在执行下一条指令期间发出总线封锁信号(LOCK),将总线封锁,其它的主设备不能控制总线。

上一篇:小学寒假计划工作安排下一篇:八月再见九月你好唯美句子