计算机输入输出系统-接口实验报告
- 格式:doc
- 大小:671.00 KB
- 文档页数:24
中南大学计算机操作系统实验报告................................................................................................................................................................................................................1、增强学生对计算机操作系统基本原理、基本理论、基本算法的理解;2、提高和培养学生的动手能力。
1、每人至少选作1 题,多做不限;2、每人单独完成,可以讨论,但每人的设计内容不得彻底相同,抄袭或者有2 人/多人设计彻底一样者,不能通过;3、设计完成后,应上交课程设计文档,文档格式应是学校课程设计的标准格式,所有学生的封面大小、格式也必须一样;4、同时上交设计的软盘(或者以班刻录光盘)。
调度算法的摹拟:摹拟各种调度算法,并进行调度性能分析。
摹拟了一个作业调度算法,其中用到了先来先服务算法(FCFS)、短作业优先算法(SJF)、最高响应比优先算法(HRN)三种算法。
如下,分别为三种算法的程序流程图。
图1 - 开始界面图 2 –输入作业的信息(名字、提交时间、运行时间) 图3 –选择算法(FCFS 、SJF、HRN)图4、5 –选择FCFS 算法后输出结果图6、7 –选择SJF 算法后输出结果图8、9 –选择HRN 算法后输出结果能体现公平性;一旦一个较长的作业进入系统后就会长期的占用系统的资源,这样如果有优先级较高的短作业需要执行的话需要等待很长期。
比前者改善了平均周转时间和平均带权周转时间,缩短作业的等待时间,提高系统的吞吐量;对长作业非常不利,可能长期得不到执行,未能一句作业的紧迫程度来划分执行的优先级,难以准确估计作业的执行时间,从而影响调度性能。
这种算法是对FCFS 方式和SJF 方式的一种综合平衡。
实验报告实验课程: 计算机操作系统学生姓名:XXX学号:XXXX专业班级:软件2014年12月25日目录实验一熟悉Windows XP中的进程和线程 (3)实验二进程调度 (7)实验三死锁避免—银行家算法的实现 (16)实验四存储管理 (22)实验一熟悉Windows XP中的进程和线程一、实验名称熟悉Windows XP中的进程和线程二、实验目的1、熟悉Windows中任务管理器的使用。
2、通过任务管理器识别操作系统中的进程和线程的相关信息。
3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。
三、实验结果分析1、启动操作系统自带的任务管理器:方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。
2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并完成下表:表一:统计进程的各项主要信息3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。
再从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程,原因是该系统是系统进程。
4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论 explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。
5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进程“explorer.exe”的各项信息,并填写下表:进程:explorer.exe 中的各个线程6、注意某些线程前有“+”,如图所示:,说明二者之间的差异前有“+”其器线程下有窗口。
四、心得体会通过本次实验,我了解到了windows系统中进程的管理与操作,我了解了如何切出任务管理器,任务管理器应用与其他与进程相关的知识,明白了有些系统程序不能够关闭,系统中的进程与线程虽然很多,但是其中有许多关联,只要弄清楚其中的关联那么就能够运用好进程与线程,达到我们的目的。
大学《微机系统与接口》实验报告实验五 8253计数器/定时器实验六 8255并行输入输出姓名:学号:专业:电强化实验室:计算机硬件技术实验时间:2015年05月05 日报告时间:2015年05月12日评定成绩:审阅教师:实验五8253 计数器/定时器一. 实验目的1.掌握计数器/定时器8253的基本工作原理和编程应用方法;2.了解掌握8253的计数器/定时器典型应用方法。
注:实验四的中断实验上次已经完成二.实验内容(1)计次计数器:将计数器0设置为方式2,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。
(2)定时器与级联:将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
(3)选做:使用PC微机内8253驱动声音接口IBM-PC机扬声器发声驱动系统如图所示。
由机内的8255I/O接口的PB0控制8253通道2的定时计数;PB1来控制扬声器的接通和断开,以此来发声。
8255PB口地址为61H;8253通道2口地址为42H,控制口为43H。
编程使扬声器发出‘1·2·3·4·5·6·7·1’(对应的频率分别为262、294、330、347、392、440、494、523Hz)的数字乐声。
三.基本实验原理(1)计次计数器:实验接线图如下:程序设计流程图:参考程序:ioport equ 0B800H-0280Hio8253a equ ioport+283Hio8253b equ ioport+280Hstackssegment stackdb 100 dup (?)stacks endscode segmentassume cs:code,ss:stacksmain proc farstart: mov ax,stacksmov ss,axmov al,14h ;设置8253通道0为工作方式0,二进制计数 mov dx,io8253aout dx,almov dx,io8253b ;送计数初值为0FHmov al,0fhout dx,alZZZ:in al,dx ; 读计数初值call disp ; 调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz ZZZmov ah,4ch ; 退出int 21hmain endpdisp proc near ;显示子程序push dxand al,0fh ; 首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num:add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret ;子程序返回disp endpcode endsend start(2)定时器与级联:实验接线图如下:程序设计框图如下:参考程序:ioport equ 0b800h-0280hio8253a equ ioport+280h ;0地址io8253b equ ioport+281h ;1地址io8253c equ ioport+283h ;控制stacks segment stackdb 100 dup (?)stacks endscode segmentassume cs:code,ss:stacksmain proc farstart: mov ax,stacksmov ss,axmov dx,io8253c ;向8253写控制字mov al,36h ;使0通道为工作方式3,0011 0110out dx,almov ax,1000 ;写入循环计数初值1000,注意是AXmov dx,io8253aout dx,al ;先写入低字节mov al,ahout dx,al ;后写入高字节mov dx,io8253cmov al,76h ;设8253通道1工作方式3,0111 0110out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节mov ah,4ch ;程序退出int 21hmain endpcode endsend start(3)选做:IBM PC机内扬声器接线原理图如图所示:参考程序:dseg segmentfreq dw 262,294,330,349,392,440,494,523 ;扬声器发声各频率值 tim dw 400dseg endssseg segment stackdw 256 dup(?)sseg endscseg segmentmain proc farassume cs:cseg,ds:dsegstart: mov ax,dsegmov ds,axmov si,0again: mov di,freq[si]mov bx,timcall genadd si,2cmp si,16jnz againmov AX,4C00hint 21hmain endpgen proc nearmov al,0b6h ;设置8253通道2方式3二进制计数out 43h,almov dx,12hmov ax,12928 ; DX AX=896*533h=18*65536+12928=1.19Mdiv diout 42h,al ;8253通道2口设置初值mov al,ahout 42h,alin al,61h ;读8255PB口mov ah,alor al,3out 61h,alwait1: mov cx,0hdelay: mov ax,10 ;延时子程序delay2: nopnopdec axjnz delay2loop delaydec bxjnz wait1mov al,ahout 61h,alretgen endpcseg endsend start三. 方案实现与测试实验步骤:1.正确接线后,先用I/O命令方式初始化,检查计数器状态是否正常,再调试程序,具体如下:(1)运行TPC集成环境或portr程序,测试卡地址;运行点阵演示程序(正常后继续)。
计算机接口技术课程设计报告班级:专业:学号:姓名:报告目录结构:一、实验目的二、实验要求三、课程设计使用的设备(环境)四、实验原理:五、实验内容及大概步骤六、实验结果七、总结分析与心得一、实验目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二、实验要求针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1.硬件COP2000实验仪 PC机2.软件COP2000仿真软件四、实验原理:1.该模型机指令系统的特点:①总体概述COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
第1篇一、实验目的1. 了解数控连接的基本原理和组成;2. 掌握数控连接系统的调试方法;3. 熟悉数控连接在实际生产中的应用。
二、实验原理数控连接是数控机床的重要组成部分,其主要功能是实现数控机床与外部设备之间的数据传输和信号交换。
数控连接系统由以下几个部分组成:1. 通信接口:包括RS-232、RS-485、USB等,用于连接数控机床与外部设备;2. 控制器:负责处理接收到的数据,并控制数控机床的运行;3. 数据传输介质:如电缆、光纤等,用于连接数控机床与外部设备;4. 接口电路:实现数据信号的转换和传输。
三、实验设备1. 数控机床(如数控车床、数控铣床等);2. 外部设备(如计算机、PLC等);3. 通信接口;4. 电缆、光纤等数据传输介质;5. 接口电路;6. 调试工具。
四、实验步骤1. 连接数控机床与外部设备:根据实际需求,选择合适的通信接口和数据传输介质,将数控机床与外部设备连接起来;2. 设置通信参数:在数控机床和外部设备上设置相同的通信参数,如波特率、数据位、停止位、校验位等;3. 接口电路调试:根据实际需求,对接口电路进行调试,确保数据信号的正常传输;4. 控制器调试:在控制器上编写程序,实现对数控机床的控制;5. 数据传输测试:在计算机上运行测试程序,检查数控机床与外部设备之间的数据传输是否正常;6. 故障排除:如发现故障,根据故障现象进行排查,直至故障排除。
五、实验结果与分析1. 实验结果:经过连接、设置、调试等步骤,数控机床与外部设备之间的数据传输和信号交换正常,实现了数控连接的功能;2. 分析:通过本次实验,掌握了数控连接的基本原理和组成,熟悉了数控连接系统的调试方法,了解了数控连接在实际生产中的应用。
六、实验总结1. 数控连接是实现数控机床与外部设备之间数据传输和信号交换的重要手段,对于提高生产效率、降低生产成本具有重要意义;2. 在进行数控连接实验时,要严格按照实验步骤进行,确保实验结果的准确性;3. 实验过程中,要注重对实验原理和调试方法的理解,以便在实际生产中能够熟练运用数控连接技术。
微机原理及接口技术实验报告实验项目名称:输出26个英文字母实验日期:实验成绩:实验评定标准:一、实验目的1.熟悉汇编语言源程序上机的过程和方法2.掌握宏汇编程序MASM5.1的链接程序LINK3.6的使用方法。
3.了解DEBUG调试汇编语言程序的过程和方法。
二、实验器材电脑、微型计算机原理及应用实验指导书及教科书三、实验内容(实验过程)输出26个大写英文字母1.利用文本编辑器编辑完成程序。
2.利用宏汇编程序MASM5.1对源程序进行汇编生成目标文件.obj文件。
3.利用链接程序LINK3.6对目标程序进行链接生成可执行文件.exe文件。
4.运行程序。
四、实验程序.model small.codestart: mov ax,_textmov ds,axlea dx,messmov ah,09hint 21hmov cx,26mov dl,41hlp: mov ah,02hint 21hinc dlloop lpmov ah,4chint 21hmess db"putout 26 English: " ,0dh,0ah,24hend start五、实验结果及分析分析:在汇编链接目标文件之后执行文件会出现26个英文字母。
如果程序执行情况与预期不同,或执行时操作系统报告出错信息,就要通过调试工具进行动态调试,查找程序的问题。
查到问题后,又重回到第一步,重新开始,修改源程序问题。
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
计算机系统基础实验报告随着计算机技术的发展,如今计算机系统已成为一门重要学科,它影响着社会各个领域的发展。
计算机系统主要研究软件和硬件的基础支持、操作系统和编程技术、网络技术、安全技术等,并且被广泛应用于各个方面,如机器学习、社交网络、大数据等,是目前经济和社会发展的核心驱动力。
因此,深入地研究计算机系统的基础理论和原理,有助于更好地掌握计算机系统及其应用,加强社会发展的大背景中计算机系统的地位,发挥计算机系统在解决实际问题中的价值。
第二部分:实验目的本次实验旨在深入探索计算机系统的基础原理,加强对计算机系统的理解,学习和熟悉计算机系统的基本架构,以及相关的安全技术。
实验过程中,学习者们将设计、实现、运行相关实验,以便收获信息,反思一般原理,更好地理解安全技术等思想。
第三部分:实验内容通过本次实验,学习者将学习和实践以下内容:(1)计算机系统架构:包括CPU、内存、输入设备、输出设备、存储器、网络技术、操作系统、软件等基础技术的概念、组件的认识和工作原理;(2)深入研究主流系统架构,如PC机系统、Android系统、 Linux 系统等;(3)深入研究计算机系统的软硬件基本原理,如内存管理、安全和存储技术;(4)理解和掌握主流操作系统的基本构造、设计方法和操作原理;(5)掌握基本编程技术,以及网络传输和安全技术;(6)掌握网络通信协议、网络通信安全技术和防火墙技术等。
第四部分:实验仪器本次实验主要使用:(1)计算机硬件:如电脑、网卡、显卡、存储器等;(2)软件:操作系统(如Windows系统、Linux系统等);(3)调试和测试工具:如hex编辑器、调试软件、系统测试软件等;(4)安全工具:如病毒检测、系统审计、安全审核等;(5)网络设备:如防火墙、路由器等。
第五部分:实验过程本次实验的具体可分为以下几个步骤:(1)计算机系统架构:了解和掌握计算机系统的基本架构,包括CPU、内存、输入设备、输出设备、存储器、网络技术、操作系统、软件等;(2)主流系统架构:深入攻克PC、Android、Linux等主流系统架构,深入了解系统操作和应用原理;(3)系统安全:学习计算机系统安全技术,如存储器管理,安全检查,网络通信协议,防火墙技术等;(4)操作系统主题:掌握操作系统的基本构架、设计方法和运行原理;(5)编程技术:掌握基本编程技术,包括程序设计、算法分析、程序调试等;(6)报告编写:实验完成后,根据实验内容和实验结果,编写实验报告。
第1篇本次实验旨在掌握网络接口配置的基本知识,包括主机名、IP地址、子网掩码、默认网关、域名服务器等参数的配置方法。
通过实际操作,熟悉网络接口配置的步骤,为后续网络搭建和调试打下基础。
二、实验环境1. 操作系统:CentOS 7.42. 网络设备:两台虚拟机,分别配置为192.168.1.1和192.168.1.23. 工具:VMware Workstation、putty、ifconfig、vim三、实验步骤1. 配置主机名(1)登录到虚拟机1,使用以下命令修改主机名:```hostnamectl set-hostname vm1```(2)登录到虚拟机2,使用以下命令修改主机名:```hostnamectl set-hostname vm2```2. 配置IP地址、子网掩码和默认网关(1)登录到虚拟机1,编辑`/etc/sysconfig/network-scripts/ifcfg-ens33`文件,添加以下内容:```TYPE=EthernetDEVICE=ens33ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.1NETMASK=255.255.255.0GATEWAY=192.168.1.2```(2)登录到虚拟机2,编辑`/etc/sysconfig/network-scripts/ifcfg-ens33`文件,添加以下内容:```TYPE=EthernetDEVICE=ens33ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.2NETMASK=255.255.255.0GATEWAY=192.168.1.1```3. 重启网络服务(1)登录到虚拟机1,执行以下命令重启网络服务:```systemctl restart network```(2)登录到虚拟机2,执行以下命令重启网络服务:```systemctl restart network```4. 验证网络连接(1)登录到虚拟机1,使用以下命令测试与虚拟机2的连通性:```ping 192.168.1.2```如果成功,则会收到以下响应:```PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.031 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.030 ms ```(2)登录到虚拟机2,使用以下命令测试与虚拟机1的连通性:```ping 192.168.1.1```如果成功,则会收到以下响应:```PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.032 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.029 ms ```四、实验结果通过本次实验,成功配置了两台虚拟机的网络接口,实现了主机名、IP地址、子网掩码、默认网关的配置。
第1篇实验名称:微机原理实验实验日期:2023年10月25日实验地点:计算机实验室实验教师:[教师姓名]实验学生:[学生姓名]班级:[班级名称]一、实验目的1. 理解微机原理的基本概念和组成结构。
2. 掌握微机硬件的基本操作和调试方法。
3. 熟悉汇编语言编程和程序调试技巧。
4. 通过实验加深对微机原理课程的理解,提高动手能力。
二、实验内容本次实验主要分为以下几个部分:1. 微机硬件系统结构认识:了解微机硬件系统的组成,包括CPU、内存、I/O接口等,熟悉各部件的功能和相互关系。
2. 汇编语言编程:学习汇编语言的基本语法和指令系统,编写简单的汇编程序,实现特定功能。
3. 程序调试:使用调试工具(如DEBUG)对汇编程序进行调试,查找并修正错误。
4. 微机原理实验:完成以下实验任务:1. 编写程序实现两个多位十进制数的相加。
2. 编写程序实现字符串比较功能。
3. 编写程序实现乘除法运算。
三、实验步骤1. 微机硬件系统结构认识:- 观察实验室中的微机硬件系统,了解各部件的连接方式和功能。
- 使用示波器检测实验装置的信号是否正常。
2. 汇编语言编程:- 学习汇编语言的基本语法和指令系统。
- 编写程序实现两个多位十进制数的相加,程序如下:```;加数DATA1 DB 3,4,5,6,7;被加数DATA2 DB 2,3,4,5,6;结果SUM DB 5 DUP(0);程序开始MOV CX, 5 ;循环次数MOV AL, 0 ;结果初始化为0MOV SI, OFFSET DATA1 ;加数地址MOV DI, OFFSET DATA2 ;被加数地址ADD_LOOP:ADD AL, [SI] ;加数加到AL寄存器ADC AL, [DI] ;进位加到AL寄存器MOV [DI], AL ;结果存回DI寄存器ADD SI, 1 ;加数地址加1ADD DI, 1 ;被加数地址加1LOOP ADD_LOOP ;循环;程序结束```- 编写程序实现字符串比较功能,程序如下:```;字符串1STRING1 DB 'Hello';字符串2STRING2 DB 'World';比较结果RESULT DB 0;程序开始MOV SI, OFFSET STRING1 ;字符串1地址MOV DI, OFFSET STRING2 ;字符串2地址CMP_LOOP:MOV AL, [SI] ;读取字符串1的当前字符CMP AL, [DI] ;与字符串2的当前字符比较 JNE NOT_EQUAL ;不相等则跳转到NOT_EQUAL INC SI ;字符串1地址加1INC DI ;字符串2地址加1LOOP CMP_LOOP ;循环MOV RESULT, 1 ;相等则将结果设置为1JMP END ;跳转到ENDNOT_EQUAL:MOV RESULT, 0 ;不相等则将结果设置为0END:;程序结束```- 编写程序实现乘除法运算,程序如下:```;被乘数DATA1 DB 10;乘数DATA2 DB 5;结果PRODUCT DB 0;程序开始MOV AL, [DATA1] ;被乘数加载到AL寄存器MUL [DATA2] ;乘数乘到AL寄存器MOV [PRODUCT], AL ;结果存回PRODUCT;程序结束```3. 程序调试:- 使用DEBUG工具对汇编程序进行调试,查找并修正错误。
第1篇实验名称:计算机基础实验一、实验目的1. 熟悉计算机基本操作,包括开机、关机、鼠标和键盘的使用等。
2. 掌握计算机的基本组成和功能。
3. 学习Windows操作系统的基本使用方法。
4. 掌握文字处理软件(如Word)的基本操作。
5. 学习网络的基本知识,了解互联网的组成和功能。
二、实验内容1. 计算机基本操作(1)开机:打开电源开关,等待计算机启动完成。
(2)关机:在Windows系统中,点击“开始”菜单,选择“关机”选项,等待计算机完全关闭。
(3)鼠标和键盘的使用:熟练掌握鼠标和键盘的基本操作,如点击、拖拽、复制、粘贴等。
2. 计算机基本组成和功能(1)计算机硬件:CPU、内存、硬盘、主板、显卡、声卡、网卡等。
(2)计算机软件:操作系统、应用程序、驱动程序等。
(3)计算机功能:信息处理、数据处理、多媒体处理、网络通信等。
3. Windows操作系统基本使用方法(1)桌面操作:熟悉桌面图标、任务栏、开始菜单等元素。
(2)文件管理:掌握文件和文件夹的创建、复制、移动、删除等操作。
(3)系统设置:了解系统设置的基本操作,如屏幕分辨率、声音、网络等。
4. 文字处理软件(Word)基本操作(1)新建文档:点击“开始”菜单,选择“所有程序”中的“Microsoft Office Word”选项,新建一个文档。
(2)文字输入:使用键盘输入文字,可以使用“Ctrl+C”和“Ctrl+V”进行复制和粘贴操作。
(3)格式设置:设置字体、字号、颜色、段落等格式。
(4)表格制作:插入表格,编辑表格内容。
(5)图片插入:插入图片,调整图片大小和位置。
5. 网络基本知识(1)互联网组成:网络硬件、网络软件、网络协议等。
(2)网络功能:信息共享、资源共享、通信协作等。
(3)网络通信:了解TCP/IP协议、HTTP协议等。
三、实验步骤1. 开机、关机操作2. 鼠标和键盘操作练习3. Windows操作系统基本操作练习4. Word文字处理软件操作练习5. 网络基本知识学习四、实验结果与分析1. 开机、关机操作:熟练掌握了计算机的开机、关机操作。
计算机输入输出系统接口实验报告姓名:学号:东南大学计算机科学与工程学院、软件学院School of Computer Science & EngineeringCollege of Software EngineeringSoutheast University二0 16 年 6 月实验一环境熟悉与I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。
二、实验内容将接口实验包中所带的EX-138.DSN文件用ISIS 7打开。
改变A9~A3的接线方法,从而得到Y0;388H~38FH;Y1:398H~39FH; ……;Y7:3F8H~3FFH。
并修改上一问的程序,以同样使得Y4#有效。
1)源程序.8086.MODEL SMALL.stack.dataaddress word 3c8h.codestart:mov ax,@datamov ds,axmov dx,addressmov al,0out dx,aljmp $END start2)电路原理图(138译码部分)3)运行结果贴图(138译码及上面两个273的输出)实验二可编程中断控制器8259一、实验目的1.掌握8259的基本工作原理和编程方法。
2.深入了解中断的概念和实地址模式下中断处理程序的编写方法。
二、实验内容将接口实验包中所带的EX-8259.DSN文件用ISIS 7打开。
按手册接线并执行。
运行结果贴图(执行三次中断,每次中断后的8086寄存器的截图)……实验三可编程定时器计数器8253一、实验目的掌握8253的基本工作原理、编程方法及其应用。
二、实验内容一)研究定时计数器(选)1)源程序.8086.MODEL SMALL.DATA.CODESTART:MOV AX,@DATAMOV DS,AXMOV DX,226HMOV AL,00010000B ;T/C0,least significant byte only,mode0,BinaryOUT DX,ALMOV AL,5 ;Initial count=5MOV DX,220HOUT DX,ALMOV AH,4CHINT 21HEND START2)讨论题如果把方式0改成方式1,电路不动,则按下BUTTON后,计数器值会否减1?为什么?不会,因为方式1下GATE=1或0没有影响,只有GATE的上升沿才会触发计数器开始计数,而该电路中GATE时钟为1,所以计数器不会减1.二)信号发生器1)源程序.8086.MODEL SMALL.DATA.CODESTART:MOV AX,@DATAMOV DS,AX;Initailize T/C0MOV DX,226HMOV AL,00110110B ;T/C0,least significant byte first,mode3,binaryOUT DX,ALMOV DX,220HMOV AX,1000 ;Initial count=1000OUT DX,ALMOV AL,AHOUT DX,AL;Initialize T/C1MOV DX,226HMOV AL,01110110B ;T/C1,least significant byte first,mode3,binaryOUT DX,ALMOV DX,222HMOV AX,1000 ;Initial count=1000OUT DX,ALMOV AL,AHOUT DX,AL;Initialize T/C2MOV DX,226HMOV AL,10010110B ;T/C2,least significant byte only,mode3,binaryOUT DX,ALMOV DX,224HMOV AL,5 ;Initial count=5OUT DX,ALMOV AH,4CHINT 21HEND START2)接线原理图3)编程与调试心得(遇到的问题和解决的办法,以及获得的收获)(1)1秒为周期,占空比1:2的方波,现将1MHz的方波输入CLK0,设C/T0计数值为1000 工作方式为方式3,则OUT0输出的信号为1KHz,占空比1:2的方波,再将OUT0输入CLK1,设C/T1计数值为1000,工作方式为方式3,则OUT1输出的信号为1Hz,占空比1:2的方波。
(2)产生5秒为周期,占空比为2:5的方波时,如果只将OUT1输入CLK2,C/T2计数初始值为5,工作方式为方式3,则OUT2输出的信号为5秒为周期,占空比为3:5的方波,要产生占空比为2:5的方波,还需要在OUT2上加一个非门。
(3)产生5秒为周期的波形,其中前2秒频率为1KHz的方波,后3秒为低电平,该波形可以看出5秒为周期,占空比为2:5的方波和1KHz的方波的叠加,因此只需将OUT0和OUT2#相与即可。
实验五七段数码管实验一、实验目的掌握数码管显示数字的原理,进一步复习8255的应用。
二、实验内容1.静态显示(选)。
1)源程序.8086.MODEL SMALL.DATABUFF BYTE 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H .CODESTART:MOV AX,@DATAMOV DS,AXMOV DX,206HMOV AL,10001001BOUT DX,ALAGAIN:MOV DX,204HIN AL,DXNOT ALMOV BX,OFFSET BUFFXLATMOV DX,200HOUT DX,ALJMP AGAINEND START2)接线原理图3)运行结果截图2.动态显示。
1)源程序.8086.MODEL SMALL.DATAVAR BYTE ?BUFF BYTE 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H.CODESTART:MOV AX,@DATAMOV DS,AXMOV DX,206H ;Address of 82C55 is 200H,202H,204H,206HMOV AL,10001001B ;Port A in mode0,ouput,Port B in mode 0,output,Port OUT DX,AL ;C in mode 0,inputAGAIN:MOV DX,204H ;Get the set of switch from port CIN AL,DXNOT ALMOV VAR,AL ;Store the set of switch in 'VAR'MOV DX,202HMOV AL,02H ;Set S1=1,output tens digitOUT DX,ALMOV CL,4MOV AL,VAR ;shift AL 4-bit leftSHR AL,CLMOV BX,OFFSET BUFFXLATMOV DX,200HOUT DX,ALMOV CX,64HLOOP $ ;Cause a delay before display units digitMOV DX,202HMOV AL,01H ;Set S2=1,output units digitOUT DX,ALMOV AL,VARAND AL,0FHMOV BX,OFFSET BUFFXLATMOV DX,200HOUT DX,ALMOV CX,64HLOOP $ ;Cause a delay before the circulationJMP AGAINEND START2)接线原理图3)运行结果截图4)编程与调试心得(遇到的问题和解决的办法,以及获得的收获)编程心得:输出十位数段码与输出个位数段码之间需要产生延迟,在程序中可以通过 MOV CX,64H LOOP $来实现。
XLAT是查表指令:以DS:[BX+AL]为地址,提取存储器中的一个字节再送入AL。
将寄存器左移或者右移时,移动的位数要存在CL寄存器中实验六交通灯控制实验一)实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用和中断的使用。
二)交通灯变化规律十字路口交通灯的变化规律要求1)南北路口的绿灯、东西路口的红灯同时亮10秒,然后2)南北路口的黄灯闪烁2次(闪烁周期2秒),同时东西路口的红灯继续亮,然后3)南北路口的红灯、东西路口的绿灯同时亮10秒,然后4)南北路口的红灯继续亮,同时东西路口的黄灯2次(闪烁周期2秒),然后5)转1重复。
三)实验内容1.红黄绿三色交通灯控制。
将接口实验包中所带的EX-825X-1.DSN文件用ISIS 7打开,将D6、D5、D4作为南北路口的交通灯与PA7、PA6、PA5相连;D3、D2、D1作为东西路口的交通灯与PA2、PA1、PA0相连(方式0)。
利用8253产生1秒的中断信号(系统已经为CLK0提供了一个1MHz的时钟输入),在中断处理程序中用程序处理10秒延迟和两次黄灯闪烁的问题。
编程使六个灯按交通灯变化规律燃灭。
1)源程序.8086.MODEL SMALL.DATACOUNT BYTE 10STATE BYTE 1.CODESTART:MOV AX,@DATAMOV DS,AX;Initialize 8259AMOV AL,13H ;ICW1,Edge triggered,single,ICW4 is neededMOV DX,210HOUT DX,ALMOV AL,60H ;ICW2,the interrupt vector is 60HMOV DX,212HOUT DX,ALMOV AL,00000001H ;ICW4OUT DX,AL;Initialize 8253AMOV AL,00110110B ;T/C0,least significant byte first,mode3,BinaryMOV DX,226HOUT DX,ALMOV AX,1000 ;conut0=1000MOV DX,220HOUT DX,ALMOV AL,AHOUT DX,ALMOV AL,01110110B ;T/C1,least significant byte first,mode3,Binary MOV DX,226HOUT DX,ALMOV AX,1000 ;count1=1000MOV DX,222HOUT DX,ALMOV AL,AHOUT DX,AL;Initialize 82C55MOV AL,10000000BMOV DX,206HOUT DX,AL;Initailize Interrupt Vector TableMOV AX,@DATAMOV DS,AXCLIMOV AX,0MOV ES,AXMOV SI,0MOV CX,255l: MOV AX,OFFSET SERVICEMOV ES:[SI],AXMOV AX,SEG SERVICEMOV ES:[SI+2],AXADD SI,4LOOP lMOV AX,OFFSET SERVICEMOV ES:[SI],AXMOV AX,SEG SERVICEMOV ES:[SI+2],AXSTIJMP $SERVICE PROC ;Interrupter handlerPUSH AXPUSH DXPUSH DSSTIMOV AX,@DATAMOV DS,AXMOV AL,STATENEXT3:CMP AL,1 ;State S1JNZ NEXTMOV DX,200HMOV AL,10000001B ;North and south direction of green lightOUT DX,AL ;West and east direction of red lightMOV AL,COUNTDEC ALMOV COUNT,ALCMP AL,0MOV COUNT,AL ;If COUNT=0,COUNT=4,STATE=2JNZ EXITMOV AL,4MOV COUNT,ALMOV AL,2MOV STATE,ALJMP EXITNEXT: CMP AL,2 ;State S2JNZ NEXT1MOV AL,COUNTTEST AL,01H ;North and south direction of yellow light flashingJZ YELLOW1 ;West and east direction of red lightMOV DX,200HMOV AL,00000001BOUT DX,ALJMP RESUME1YELLOW1:MOV DX,200HMOV AL,01000001BOUT DX,ALRESUME1:MOV AL,COUNTDEC ALMOV COUNT,ALCMP AL,0 ;If COUNT=0,COUNT=10,STATE=3JNZ EXITMOV AL,10MOV COUNT,ALMOV AL,3MOV STATE,ALJMP EXITNEXT1:CMP AL,3 ;State S3JNZ NEXT2MOV DX,200HMOV AL,00100100B ;North and south direction of red lightOUT DX,AL ;West and east direction of green lightMOV AL,COUNTDEC ALMOV COUNT,ALCMP AL,0 ;If COUNT=0,COUNT=4,STATE=4JNZ EXITMOV AL,4MOV COUNT,ALMOV AL,4MOV STATE,ALJMP EXITNEXT2:CMP AL,4 ;State S4JNZ NEXT3MOV AL,COUNTTEST AL,01HJZ YELLOW2 ;North and south direction of red lightMOV DX,200H ;West and east direction of yellow light flashingMOV AL,00100000BOUT DX,ALJMP RESUME2YELLOW2:MOV DX,200HMOV AL,00100010BOUT DX,ALRESUME2:MOV AL,COUNTDEC ALMOV COUNT,ALCMP AL,0 ;If COUNT=0,COUNT=10,STATE=1JNZ EXITMOV AL,10MOV COUNT,ALMOV AL,1MOV STATE,ALEXIT: CLIMOV AL,20H ;Send EOIMOV DX,210HOUT DX,ALPOP DSPOP DXPOP AXIRETSERVICE ENDPEND START2)接线原理图3)运行结果截图4)编程与调试心得(遇到的问题和解决的办法,以及获得的收获)编程心得:在实现S2和S4的黄灯闪烁时,在每次调用中断处理程序时通过判断COUNT的奇偶性,如果COUNT是偶数,则使黄灯点亮,如果COUNT是奇数,则使黄灯熄灭2.带倒计时的交通灯控制(选):将接口实验包中所带的EX-825X-2.DSN文件用ISIS 7打开,将D6、D5、D4作为南北路口的交通灯与PA7、PA6、PA5相连;D3、D2、D1作为东西路口的交通灯与PA2、PA1、PA0相连(方式0)。