计算机原理53实验报告.docx
《计算机原理53实验报告.docx》由会员分享,可在线阅读,更多相关《计算机原理53实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
![计算机原理53实验报告.docx](https://file1.bdocx.com/fileroot1/2023-7/10/e60b9e4a-907b-4faa-ba9c-e0aa39582b86/e60b9e4a-907b-4faa-ba9c-e0aa39582b861.gif)
计算机原理53实验报告
计算机原理5.3实验报告
篇一:
计算机原理实验四报告
实验四接口程序设计编程训练
学院(系):
信通学院专业:
通信工程班级:
通信工程1101姓名:
张非凡学号:
201181145
一、实验目的:
1.掌握使用8255并行接口连接拨动开关,控制LED显示输出的技术。
掌握循环结构程序
设计的方法。
2.熟悉8254在系统中的电路接法,掌握8254的工作方式及应用编程。
熟悉汇编语言分支
程序基本指令的使用方法。
3.了解8259中断控制器的基本使用,掌握中断程序编程技术。
熟悉利用汇编语言子程序
参数传递方法。
二、实验原理:
拨动开关和LED显示实验:
8255端口地址有四个,由于8255片选信号线与地址译码区的0~FH连接,即8255的I/O偏移地址为0~3,加上前一个实验所获知的I/O基址,两者相加之后才是最终访问8255的I/O地址。
注意,该地址一定是一个16位数,所以I/O操作要使用INAL,DX和OUTDX,AL指令。
端口地址:
A口地址为:
200h;B口地址为:
201h;C口地址为:
202h;控制口地址为:
203h。
8254定时/计数器实验:
8254是可编程间隔定时器。
它具有以下基本功能:
(1)有3个独立的16位计数器;
(2)每个计数器可接二进制或十进制(BCD)计数;(3)每个计数器可编程工作于6种不同工作方式;(4)8254每个计数器允许的最高频率为10MHZ;
(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;
(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为n=f/f,其中f是输入时钟脉冲的频率,f是输出波形的频率。
8254的工作方式如下述:
(1)方式0:
计数到0结束输出正跃变信号方式。
(2)方式1:
硬件可重触发单稳方式。
(3)方式2:
频率发生器方式。
(4)方式3:
方波发生器。
(5)方式4:
软件触发选通方式。
(6)方式5:
硬件触发选通方式8259中断控制器实验:
1.8259中断控制器介绍
8259中断控制器是Intel公司专为控制优先级中断而设计的芯片。
它将中断源识别、排队以及提供中断矢量等电路集于一片中。
只需对8259编程一片8259就可以管理8级中断,最多可用9片8259A来构成64级的主从式中断系统。
每一级中断都可以屏蔽或允许。
8259A可提供相应的中断向量,从而能迅速地转至中断服务程序。
通过编程使8259A工作在多种不同的方式。
工作时只需要一组+5V电源。
2.8259中断控制器内部结构图
命令寄存器及访问控制
8259的命令共有七个,分两类。
一类是初始化命令字,有四个分别是ICW1-ICW4,另一类是操作命令字,有三个分别是OCW1-OCW3.各命令字的格式如下。
三、实验内容:
1.将8255端口A的PA7-PA0与8个发光二极管L7-L0连接,PB2-PB0与拨动开关的K2-K0连
接,8255的CS与地址译码区的200-20FH端子连接,PC2(/ACK)与单脉冲的/PLUS端连接。
先预置开关K2-K0为一组输入状态,然后按下单脉冲按键产生一个负脉冲,输入到PC2。
用发光二极管LEDi亮,显示K2-K0的状态。
2.使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,每按一次单脉冲
按键,触发一次中断,使7段数码管显示的“5”字左移一位,显示到最左端后再从最右端开始显示,如此重复。
3.使用8254两个计数器级连,采用定时方式工作,周期性的点亮及熄灭发光二
极管各1秒。
四、电路图
图1:
拨动开关和LED显示实验电路图
图2:
8254定时/计数器实验电路图
图3:
8259中断控制器实验电路图
五、实验步骤:
1.按图1将8255端口A与8位拨动开关连接,8255端口B与8位LED连接,选择8255为方
式0工作,编程序完成LED实时显示开关状态的功能,即每位LED对应一位开关状态。
开关往下拨动,对应LED灭,开关往上拨动,对应LED点亮。
2.按图2连接电路图,连接好后把程序下载到CPU中,观察实验现象。
3.按图3连接电路图,接好后把程序下载到CPU中。
摁下单脉冲按键,触发一次中断,使
7段数码管显示的字左移一位,之后重复按下单脉冲按键,观察数码管显示变化情况。
六、程序流程图:
图4:
拨动开关和LED显示实验流程图
5:
8254定时/计数器实验流程图
图
篇二:
计算机实验报告
调速电机及转速显示
一,设计概述
我的设计目的是通过简单的单片机和芯片,以及八位数码管,实现一个电机调速的功能,并且通过仪表盘把转速显示出来。
同时,要求有一个键盘,可以实现转速的输入。
设计最大的优点是灵活可调,可编程,并能够显示转速。
具有非常强的操作性和控制性,应用范围广泛,应用方法灵活多样,实现成本低。
二,设计思路1,功能分析:
a)通过单片机控制转速;b)通过键盘输入转速;c)通过数码管对转速进行显示;2,实现方法分析:
a)控制转速。
在本次设计中,我选择了直流电机,直流电机的转速由一个差动电路控
制,通过调节两端的输入电压差,可以实现转速的调节。
此时有两种方法,第一种是通过数模转换,为差动电路两端施加不同的电压,第二种是通过PWM脉宽调制,控制两端的输入占空比,达成调节转速的效果。
最终经过可编程、可灵活调节、并且显示转速等多方面的考虑,我选择通过PWM脉宽调制的方法来实现这个功能。
b)确定使用PWM脉宽调制之后,就需要考虑实现脉宽调制的方法。
我最终选择了使
用8253的方法2来实现这个功能。
方法2可以在计时周期内持续输出高电平,并且在周期结束时输出低电平,然后开始下一个周期的计数,比较符合当前设计的需求。
c)通过键盘输入转速。
通过键盘输入转速,共有两种方法,第一中是使用中断,检测
键盘的输入,并将输入值传递到程序当中;第二种方法是通过扫描法,扫描键盘,检查有无摁下。
最终,经过编程以及电路复杂性等问题的分析,我选择了使用扫描法。
d)通过数码管显示。
这个问题相对简单,只需要在单片机预先存储数码管的码表,然
后在键盘输入时将参数传递给数码管即可。
3,显示部分
四,源代码
CODESEGMENT‘CODE’ASSUMECS:
CODE,DS:
DATAIOCON
EQU8006H
IOAEQU8000HIOBEQU8002HIOCEQU8004HTCONTROEQU0A006HTCON0EQU0A000HTCON1EQU0A002HTCON2EQU0A004H
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AX
MOVDX,TCONTRO
MOVAL,00110100B;计数器0,只写计算值低8位,方式3,二进制计数
OUTDX,ALMOVDX,TCON0
MOVAL,10;时钟为1MHZ,计数时间=1us*20=20us输出频率50KHZ掌握微程序控制器的组成原理。
掌握微程序的编制、写入,观察微程序的运行过程。
实验设备
PC机一台,TD-CMA实验系统一套。
实验原理
微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图3-2-1所示。
图3-2-1微程序控制器组成原理框图
控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。
微程序控制器的组成见图3-2-2,其中控制存储器采用3片2816的E2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。
微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清?
0?
端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为?
1?
状态,完成地址修改。
SE0SE1SE2SE3SE4SE5
图3-2-2微程序控制器原理图
实验步骤
1.按图3-2-10所示连接实验线路,仔细查线无误后接通电源。
如果有‘滴’报警声,说明总线有竞争现象,应关闭电源,检查接线,直到错误排除。
图3-2-10实验接线图
2.对微控器进行读写操作,分两种情况:
手动读写和联机读写。
1)手动读写
手动对微控器进行编程(写)
①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。
②使用CON单元的SD05——SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。
③将时序与操作台单元的开关KK5置为‘加1’档。
④IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中8位。
IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。
⑤重复①、②、③、④四步,将表3-2-2的微代码写入2816芯片中。
手动对微控器进行校验(读)
①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘控存’档,KK5置为‘置数’档。
②使用CON单元的SD05——SD00给出微地址,连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M7——M0显示该单元的低8位。
③将时序与操作台单元的开关KK5置为‘加1’档。
④连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯M15——M8显示该单元的中8位,MC单元的指数据指示灯M23——M16显示该单元的高8位。
⑤重复①、②、③、④四步,完成对微代码的校验。
如果校验出微代码写入错误,重新写入、校验,直至确认微指令的输入无误为止。
2)联机读写
将微程序写入文件
联机软件提供了微程序下载功能,以代替手动读写微控器,但微程序得以指定的格式写入到以TXT为后缀的文件中,微程序的格式如下:
微指令格式说明:
$M
XX
XXXXXX
微指令代码十六进制地址微指令标志
如$M1F112233,表示微指令的地址为1FH,微指令值为11H(高)、22H(中)、33H(低),本次实验的微程序如下,其中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。
写入微程序用联机软件的?
转储—装载?
功能将该格式(*.TXT)文件装载入实验系统。
装入过程中,在软件的输出区的‘结果’栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。
校验微程序选择联机软件的?
转储—刷新指令区?
可以读出下位机所有的机器指令和微指令,并在指令区显示。
检查微控器相应地址单元的数据是否和表3-2-2中的十六进制数据相同,如果不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先用鼠标左键单击指令区的‘微存’TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。
;//***************************************//;////;//微控器实验指令文件//;////;//ByTangDuCO.,LTD//;////;//***************************************//;//****StartOfMicroControllerData****//$M00000001;NOP
$M01007070;CON->IR,P$M04002405;R0->B
$M0504B201;A加B->R0$M30001404;R0->A$M32183001;IN->R0$M33280401;R0->OUT$M35000035;NOP
;//*****EndOfMicroControllerData*****//
3.运行微程序
运行时也分两种情况:
本机运行和联机运行。
1)本机运行
①将时序与操作台单元的开关KK1、KK3置为‘运行’档,按动CON单元的CLR按钮,将微地址寄存器(MAR)清零,同时也将指令寄存器(IR)、ALU单元的暂存器A和暂存器B清零。
②将时序与操作台单元的开关KK2置为‘单拍’档,然后按动ST按钮,体会系统在T1、T2、T3、T4节拍中各做的工作。
T2节拍微控器将后续微地址(下条执行的微指令的地址)打入微地址寄存器,当前微指令打入微指令寄存器,并产生执行部件相应的控制信号;T3、T4节拍根据T2节拍产生的控制信号做出相应的执行动作,如果测试位有效,还要根
据机器指令及当前微地址寄存器中的内容进行译码,使微程序转入相应的微地址入口,实现微程序的分支。
③按动CON单元的CLR按钮,清微地址寄存器(MAR)等,并将时序与单元的开关KK2置为‘单步’档。
④置IN单元数据为00100011,按动ST按钮,当MC单元后续微地址显示为000001时,在CON单元的SD27…SD20模拟给出IN指令00100000并继续单步执行,当MC单元后续微地址显示为000001时,说明当前指令已执行完;在CON单元的SD27…SD20给出ADD指令00000000,该指令将会在下个T3被打入指令寄存器(IR),它将R0中的数据和其自身相加后送R0;接下来在CON单元的SD27…SD20给出OUT指令00110000并继续单步执行,在MC单元后续微地址显示为000001时,观查OUT单元的显示值是否为01000110。
2)联机运行
联机运行时,进入软件界面,在菜单上选择实验-微控器实验,打开本实验的数据通路图,也可以通过工具栏上的下拉框打开数据通路图,数据通路图如图3-2-8所示。
将时序与操作台单元的开关KK1、KK3置为‘运行’档,按动CON单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的MAR)为000001时,置CON单元SD27…SD20,产生相应的机器指令,该指令将会在下个T3被打入指令寄存器(IR),在后面的节拍中将执行这条机器指令。
仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。
也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。
按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确。