中南大学组成原理及汇编实验报告

合集下载

中南大学通信原理实验报告(截图完整)

中南大学通信原理实验报告(截图完整)

中南大学《通信原理》实验报告学生姓名指导教师学院专业班级完成时间数字基带信号1、实验名称数字基带信号2、实验目的(1)了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。

(2)掌握AMI、HDB3码的编码规则。

(3)掌握从HDB3码信号中提取位同步信号的方法。

(4)掌握集中插入帧同步码时分复用信号的帧结构特点。

(5)了解HDB3(AMI)编译码集成电路CD22103。

3、实验内容(1)用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码(HDB3)、整流后的AMI码及整流后的HDB3码。

(2)用示波器观察从HDB3码中和从AMI码中提取位同步信号的电路中有关波形。

(3)用示波器观察HDB3、AMI译码输出波形。

4、基本原理(简写)本实验使用数字信源模块和HDB3编译码模块。

1、数字信源本模块是整个实验系统的发终端,模块内部只使用+5V电压,其原理方框图如图1-1所示,电原理图如图1-3所示(见附录)。

本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。

帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。

此NRZ信号为集中插入帧同步码时分复用信号,实验电路中数据码用红色发光二极管指示,帧同步码及无定义位用绿色发光二极管指示。

发光二极管亮状态表示1码,熄状态表示0码。

本模块有以下测试点及输入输出点:• CLK 晶振信号测试点• BS-OUT 信源位同步信号输出点/测试点(2个)• FS 信源帧同步信号输出点/测试点• NRZ-OUT(AK) NRZ信号(绝对码)输出点/测试点(4个)图1-1中各单元与电路板上元器件对应关系如下:•晶振CRY:晶体;U1:反相器7404•分频器U2:计数器74161;U3:计数器74193;U4:计数器40160 •并行码产生器K1、K2、K3:8位手动开关,从左到右依次与帧同步码、数据1、数据2相对应;发光二极管:左起分别与一帧中的24位代码相对应•八选一U5、U6、U7:8位数据选择器4512•三选一U8:8位数据选择器4512•倒相器U20:非门74HC04•抽样U9:D触发器74HC742. HDB3编译码原理框图如图1-6所示。

计算机组成原理与汇编实验报告

计算机组成原理与汇编实验报告

计算机组成原理与汇编实验报告姓名:学号:学院:信息科学与工程学院班级:实验1 存储器实验实验目的⏹掌握静态存储随机存储器RAM的工作特性⏹掌握静态存储随机存储器RAM的读写方法实验设备74LS273(一片),静态存储器MEMORY 6116(一片),与门(一片),与非门(一片),单脉冲(一片),开关若干,灯泡若干实验原理在微机系统中,常用的静态RAM 有6116、6264、62256 等。

在本实验中使用的是6116。

6116 为2K╳8 位的静态RAM,其逻辑图3.1如下:图3.1 6116逻辑图其中A0~10 为11 根地址线,I/O0~7 为8 根数据线,CS 为片选端,OE 为数据输出选通端,WR 为写信号端。

其工作方式见下表3-1:表3-1工作方式表实验所用的半导体静态存储器电路原理如图3.2 所示,实验中的静态存储器一片6116(2K×8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。

地址灯AD0—AD7 与地址线相连,显示地址线内容。

数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。

图3.2 存储器实验原理图因地址寄存器为8 位,接入6116 的地址A7—A0,而高三位A8—A10 接地,所以其实际容量为256 字节。

6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。

当片选有效(CE=0)时,OE=0时进行读操作,WE=0时进行写操作。

本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。

控制信号SW-B 为低电平有效,控制信号LDAR 为高电平有效。

实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。

中南大学编译原理实验报告

中南大学编译原理实验报告

实验1《词法分析程序设计与实现》实验学时: 4 实验地点:二综实验日期:一、实验目的加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进行词法分析二、实验内容自定义一种程序设计语言,或者选择已有的一种高级语言,编制它的词法分析程序。

词法分析程序的实现可以采用任何一种编程语言和编程工具。

从输入的源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、界符。

并依次输出各个单词的内部编码及单词符号自身值。

(遇到错误时可显示“Error”,然后跳过错误部分继续显示)三、实验方法用java或者C语言写出分析器四、实验步骤1.定义目标语言的可用符号表和构词规则;2.依次读入源程序符号,对源程序进行单词切分和识别,直到源程序结束;3.对正确的单词,按照它的种别以<种别码,值>的形式保存在符号表中;对不正确的单词,做出错误处理五、实验结果定义种别码final int NONE = 0;final int DELIMITER = 1; // 操作符运算符final int VAR = 2; // 字符变量final int Num = 3; // 数字final int COMMAND = 4; // 关键字// final int QUOTEDSTR=5; //带引号的字符串// 程序终结符end of programfinal String EOP = "#";// 声明关键字final int unKnowKeyword = 0;final int FI = 1;final int IF = 2;final int THEN = 3;final int WHILE = 4;final int DO = 5;final int END = 6;final int ELSE = 7;final int TO = 8;final int READ = 9;final int WRITE = 10;final int EOL = 11;六、实验结论由文件读入和控制台输出,良好的控制了要解析的句子过长的麻烦,实验结果也符合预期七、实验小结完成了词法编译器,很好的了解了底层编译过程中的词法分析关键代码:main.javapackage cn.main;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.InputStreamReader;import cn.method.*;class Main{public static void main(String args[]){BufferedReader br =new BufferedReader(newInputStreamReader(System.in));try {System.out.println("请输入你要解析的文件");String filename=br.readLine();filename="src/cn/file/"+filename;CharacterAnalysis ob = new CharacterAnalysis(filename);ob.scanDisegn();} catch(Exception e) {}}}CharacterAnalysis.javapackage cn.method;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class CharacterAnalysis {// 声明处理字符的类型final int NONE = 0;final int DELIMITER = 1; // 操作符运算符final int VAR = 2; // 字符变量final int Num = 3; // 数字final int COMMAND = 4; // 关键字// final int QUOTEDSTR=5; //带引号的字符串// 程序终结符end of programfinal String EOP = "#";// 声明关键字final int unKnowKeyword = 0;final int FI = 1;final int IF = 2;final int THEN = 3;final int WHILE = 4;final int DO = 5;final int END = 6;final int ELSE = 7;final int TO = 8;final int READ = 9;final int WRITE = 10;final int EOL = 11;private char[] prog;private int progIdx;private String token;private int tokType;private int kwToken;final int PROG_SIZE = 100000;// 将关键字的外部表示,和内部表示保存在一个名为KwTable的表中Keyword kwTable[] = { new Keyword("fi", FI), new Keyword("if", IF), new Keyword("then", THEN), new Keyword("while", WHILE),new Keyword("do", DO), new Keyword("end", END),new Keyword("else", ELSE), new Keyword("to", TO),new Keyword("read", READ), new Keyword("write", WRITE) };public CharacterAnalysis(String programName) throws IOException { char tempbuf[] = new char[PROG_SIZE];int size;size = loadProgram(tempbuf, programName);if (size != -1) {prog = new char[size];System.arraycopy(tempbuf, 0, prog, 0, size);}}// 读入一个需要分析的程序private int loadProgram(char[] p, String fname) throws IOException { int size = 0;try {FileReader fr = new FileReader(fname);BufferedReader br = new BufferedReader(fr);size = br.read(p, 0, PROG_SIZE);fr.close();} catch (FileNotFoundException exc) {System.out.print("没有找到该文件!");}if (p[size - 1] == (char) 31)size--;return size;}// 分析程序代码private void getToken() throws IOException {tokType = NONE;token = "";kwToken = unKnowKeyword;if (progIdx == prog.length) {token = EOP;return;}// 跳过空格符while (progIdx < prog.length && isSpaceOrTab(prog[progIdx])) progIdx++;// handle crlfif (prog[progIdx] == '\r') {progIdx += 2;kwToken = EOL;token = "\r\n";return;}// 扫描完所有的字符,end programif (progIdx == prog.length) {if (progIdx == prog.length) {token = EOP;tokType = DELIMITER;return;}}if (isDelim(prog[progIdx])) {// 是一个操作符,或者是运算符token += prog[progIdx];progIdx++;// if(progIdx>=prog.length)break;tokType = DELIMITER;} else if (Character.isLetter(prog[progIdx])) {// 是一个字符变量while (!isDelim(prog[progIdx])) {token += prog[progIdx];progIdx++;if (progIdx >= prog.length)break;}kwToken = lookUp(token);// 如果是字符变量,用var标记,否则是关键字,用command标记if (kwToken == unKnowKeyword)tokType = VAR;elsetokType = COMMAND;} else if (Character.isDigit(prog[progIdx])) {// 是一个数字字符while (!isDelim(prog[progIdx])) {token += prog[progIdx];progIdx++;if (progIdx >= prog.length)break;}tokType = Num;}}// 判断字符是否是操作符private boolean isDelim(char c) {if (("\r, +-*/:<>=();".indexOf(c) != -1))return true;return false;}boolean isSpaceOrTab(char c) {if (c == ' ' || c == '\t')return true;return false;}// 查找字符串是否为关键字private int lookUp(String s) {int i;// Convert to lowercase.s = s.toLowerCase();// 查找字符串是否为关键字for (i = 0; i < kwTable.length; i++)if (kwTable[i].keyword.equals(s))return kwTable[i].keywordindex;return unKnowKeyword; // 不是一个关键字}// 对代码进行输出处理public void scanDisegn() throws IOException {// 对代码扫描do {getToken();// 扫描到字符是变量if (tokType == VAR) {System.out.println(token + " " + "29");}// 扫描到字符是关键字else if (tokType == COMMAND) {switch (kwToken) {case FI:System.out.println("fi" + " " + "1");break;case IF:System.out.println("if" + " " + "2");break;case THEN:System.out.println("then" + " " + "3");break;case WHILE:System.out.println("while" + " " + "4");break;case DO:System.out.println("do" + " " + "5");break;case END:System.out.println("end" + " " + "6");break;case ELSE:System.out.println("else" + " " + "7");break;case TO:System.out.println("to" + " " + "8");break;case READ:System.out.println("read" + " " + "9");break;case WRITE:System.out.println("write" + " " + "10");break;}}// 扫描到字符是数字else if (tokType == Num) {System.out.println(token + " " + "28");}// 扫描到字符是操作符else if (tokType == DELIMITER) {if (token.equals("+"))System.out.println(token + " " + "14");if (token.equals("-"))System.out.println(token + " " + "15");if (token.equals("*"))System.out.println(token + " " + "16");if (token.equals("/"))System.out.println(token + " " + "17");if (token.equals(":="))System.out.println(token + " " + "18");if (token.equals("<"))System.out.println(token + " " + "20");if (token.equals("<>"))System.out.println(token + " " + "21");if (token.equals("<="))System.out.println(token + " " + "22");if (token.equals(">"))System.out.println(token + " " + "23");if (token.equals(">="))System.out.println(token + " " + "24");if (token.equals("="))System.out.println(token + " " + "25");if (token.equals(";"))System.out.println(token + " " + "26");if (token.equals("("))System.out.println(token + " " + "27");if (token.equals(")"))System.out.println(token + " " + "28");}} while (!token.equals(EOP));System.out.println("#" + " " + "30");System.out.println("程序分析完毕");}}Keyword.javapackage cn.method;public class Keyword {String keyword;int keywordindex;Keyword(String str,int t){keyword=str;keywordindex=t;}}实验二预测分析法设计与实现一、实验目的加深对语法分析器工作过程的理解;加强对预测分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。

中南大学计算机原理与汇编实验报告(截图完整)

中南大学计算机原理与汇编实验报告(截图完整)

中南大学《计算机原理与汇编》实验报告学生姓名学号专业班级指导教师雷向东学院信息科学与工程学院完成时间 2010年12月实验2 算术逻辑运算实验一、实验目的1.掌握简单运算器的组成以及数据传送通路。

2.验证运算功能发生器(74LS181)的组合功能。

二、实验设备74LS181(两片),74LS273(两片), 74LS245(一片),开关若干,灯泡若干,单脉冲一片。

三、实验原理实验中的运算器由两片74LS181以并/串形式构成8位字长的ALU。

运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。

74LS181:完成加法运算。

74LS273:输入端接数据开关,输出端181。

在收到上升沿的时钟信号前181和其输出数据线之间是隔断的。

在收到上升沿信号后,其将输出端的数据将传到181,同时,作为触发器,其也将输入的数据进行保存。

因此,通过增加该芯片,可以通过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到181芯片的不同引脚之中。

74LS245:相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后将其打开,可以使181的运算结果输出并显示到灯泡上。

四、实验步骤及结果分析1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

图1 运算器实验流程图2.搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。

搭建好的实验流程图如图1所示。

具体操作如下:①将74LS273芯片的0-7号引脚(数据端从低到高)及9号引脚(复位端)接到开关上,8号引脚接至单脉冲组件,左右两个74LS273芯片分别保存参与运算的数据A和B。

接着把两个74LS273组件的11-14号引脚(数据的低四位)分别接到74LS181组件(左)的0-7号引脚上,其中0-3号引脚为A的低四位,4-7号引脚为B的低四位。

中南大学通信原理实验报告(截图完整)

中南大学通信原理实验报告(截图完整)

中南大学《通信原理》实验报告学生姓名指导教师学院专业班级完成时间数字基带信号1、实验名称数字基带信号2、实验目的(1)了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。

(2)掌握AMI、HDB3码的编码规则。

(3)掌握从HDB3码信号中提取位同步信号的方法。

(4)掌握集中插入帧同步码时分复用信号的帧结构特点。

(5)了解HDB3(AMI)编译码集成电路CD22103。

3、实验内容(1)用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码(HDB3)、整流后的AMI 码及整流后的HDB3码。

(2)用示波器观察从HDB3码中和从AMI码中提取位同步信号的电路中有关波形。

(3)用示波器观察HDB3、AMI译码输出波形。

4、基本原理(简写)本实验使用数字信源模块和HDB3编译码模块。

1、数字信源本模块是整个实验系统的发终端,模块内部只使用+5V电压,其原理方框图如图1-1所示,电原理图如图1-3所示(见附录)。

本单元产生NRZ信号,信号码速率约为170.5KB,帧结构如图1-2所示。

帧长为24位,其中首位无定义,第2位到第8位是帧同步码(7位巴克码1110010),另外16位为2路数据信号,每路8位。

此NRZ 信号为集中插入帧同步码时分复用信号,实验电路中数据码用红色发光二极管指示,帧同步码及无定义位用绿色发光二极管指示。

发光二极管亮状态表示1码,熄状态表示0码。

本模块有以下测试点及输入输出点:∙ CLK 晶振信号测试点∙ BS-OUT 信源位同步信号输出点/测试点(2个)∙ FS 信源帧同步信号输出点/测试点∙ NRZ-OUT(AK) NRZ信号(绝对码)输出点/测试点(4个)图1-1中各单元与电路板上元器件对应关系如下:∙晶振CRY:晶体;U1:反相器7404∙分频器U2:计数器74161;U3:计数器74193;U4:计数器40160∙并行码产生器K1、K2、K3:8位手动开关,从左到右依次与帧同步码、数据1、数据2相对应;发光二极管:左起分别与一帧中的24位代码相对应∙八选一U5、U6、U7:8位数据选择器4512∙三选一U8:8位数据选择器4512∙倒相器U20:非门74HC04∙抽样U9:D触发器74HC742. HDB3编译码原理框图如图1-6所示。

中南大学汇编实验报告

中南大学汇编实验报告

计算机汇编语言实验报告学院:信息科学与工程学院专业班级:指导老师:学号:姓名:目录汇编语言实验一 (4)一、实验目的 (4)二、实验要求 (4)三、实验编程 (4)四、DEBUG 命令: (5)五、运行界面 (6)六、心得体会 (8)汇编语言实验二 (9)一、实验目的 (9)二、二进制到十六进制转换程序 (9)1、思路方法 (9)2、程序代码 (10)3、程序截图 (11)三、起泡排序算法的程序实现 (11)1、方法思路 (11)2、程序代码 (11)3、程序截图 (14)汇编语言实验三 (15)一、实验目的 (15)二、实验要求 (15)三、实验内容求(Fibonacci递归数) (15)四、程序代码 (15)五、实验心得 (18)汇编语言实验四 (19)一、实验目的 (19)二、实验要求 (19)三、实验内容(分类统计字符个数) (19)四、程序代码 (19)五、实验心得 (23)汇编语言实验一一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,熟悉DEBUG调试程序和DOS功能表的查看,为后续实验打下坚实基础。

二、实验要求通过实验掌握下列知识:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG2、DEBUG命令: A,D,E,F,H,R,T,U。

3、ASCII码及用16进制数表示二进制码的方法。

4、8086寄存器: AX,BX,CX,DX,F,IP。

三、实验编程'Hello World'程序:DATAS SEGMENTSTRING DB 13,10,'Hello World!',13,10,'$'DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXLEA DX,STRINGMOV AH,9INT 21HMOV AH,4CHINT 21HCODES ENDSEND START四、DEBUG 命令:1、打DEBUG 进入DEBUG,显示提示苻'_ '。

中南大学 计算机原理与汇编课程设计报告

中南大学 计算机原理与汇编课程设计报告

计算机原理与汇编——课程设计报告姓名:学号:班级:指导老师:贺建飚汇编语言课程设计一、设计目的:课程设计是计算机原理与汇编语言教学过程中的重要环节。

本课程设计主要目的是使计算机专业学生深入学习计算机原理与汇编语言知识,进一步提高学生计算机原理与汇编语言综合能力和程序设计技能,锻炼运用计算机原理与汇编语言解决实际问题的能力。

二、设计要求:1.认真查阅资料,独立完成设计任务,每道题都必须上机通过。

2.独立思考,培养综合分析问题解决问题和调试程序的能力。

3.按时完成课程设计,写出课程设计报告。

三、设计内容及原理㈠设计内容:1.使用到子程序100 以内的素数,以十进制形式输出。

2.用递归计算50以内Fibonacci 数,以十进制形式输出。

3.编写一拷贝程序,要求在命令行指定源文件名和目标文件名。

㈡设计原理:1.结合几种含有特定功能的子程序以完成设计要求。

2.建立循环程序递归计算Fibonacci 数。

3.根据输入判断文件是否存在并执行拷贝过程。

四、设计思路1.使用到子程序100 以内的素数,以十进制形式输出。

按照设计要求,可以建立3个子程序,一个判断素数子程序,一个显示素数子程序,一个将素数以十进制形式输出子程序,然后在主程序中调用子程序,程序框架得以构建。

2.用递归计算50以内Fibonacci 数,以十进制形式输出。

按照设计要求,可以建立循环子程序,递归计算Fibonacci 数,以十进制形式输出,再将新Fibonacci 数与50比较,大于50则退出循环,程序结束。

3.编写一拷贝程序,要求在命令行指定源文件名和目标文件名。

在数据段中编写各种提示语句,在代码段中加入各种判断语句及中断跳转语句,程序运行时,即可根据命令行输入的指定源文件名和目标文件名执行相应的功能。

五、实现步骤1.使用到子程序100 以内的素数,以十进制形式输出。

程序代码如下:DA TAS SEGMENTcount dw 0;存放素数的个数sushu db 100 dup(?);存放素数msgsushu db'all prime numbers below 100 are:','$';显示素数的提示信息msgcount db 0dh,0ah,'count of prime numbers is:',0dh,0ah,'$';显示素数个数的提示信息DA TAS ENDSCODE SEGMENTassume cs:CODE, ds:DATASMAIN PROC FAR ;主程序入口call jisuanlea dx,msgsushu;显示素数的提示信息mov ah,9int 21hcall dispsushu;显示素数lea dx,msgcount;显示素数个数的提示信息mov ah,9int 21hcall dispcount;显示素数个数mov ah,1;按任意键退出int 21hmov ax, 4c00h ;程序结束,返回到操作系统系统int 21hMAIN ENDPjisuan proc nearmov ax, datasmov ds, axlea di,sushumov bh,0mov bl,2;求从2到100的素数、素数个数,BL从2到100变化next11:cmp bl,100ja tjmov dl,2;如果BL不能被DL从2到BL-1整除的话,则BL为素数next12:cmp dl,bljae next13mov ax,bxdiv dlcmp ah,0jz next14;整除则不是素数inc dljmp next12next13:inc count;是素数,则将个数加1mov [di],bl;是素数,则存入相应单元中inc dinext14:inc bljmp next11tj:retjisuan endpdispsushu proc nearlea si,sushumov cx,countnext21:mov ax,count;每行10个素数sub ax,cxmov bl,10div blcmp ah,0jnz next22mov dl,0dh;每行10个素数,行末加回车换行mov ah,2int 21hmov dl,0ahmov ah,2int 21hnext22:mov bl,[si];取出一个素数mov bh,0call disp10;以十进制形式输出mov dl,20h;每个素数之间加一个空格,便于区分mov ah,2int 21hinc siloop next21retdispsushu endpdispcount proc nearmov bx,count;取出素数个数call disp10;以十进制形式输出retdispcount endpdisp10 proc near;该子程序的作用是将BX中的数以十进制形式输出push cxmov cx,10dcall dec_divmov cx,1dcall dec_divpop cxretdec_div proc nearmov ax,bxmov dx,0div cxmov bx,dxmov dl,aladd dl,30hmov ah,2int 21hretdec_div endpdisp10 endpCODE ENDSEND MAIN程序运行结果:2.用递归计算50以内Fibonacci 数,以十进制形式输出。

中南大学汇编课程设计报告

中南大学汇编课程设计报告

中南大学微机原理课程设计报告——信号发生器功能程序设计目录第一章设计题目、要求及目的 (3)1.设计题目要求 (3)2.设计目的 (3)第二章总体设计方案 (3)1.设计思想 (3)2.设计方案 (4)3.总体设计流程图 (5)第三章硬件设计 (5)1.硬件环境要求 (5)2.所用芯片及其功能说明 (6)3.硬件接线图 (9)第四章程序设计 (10)1.流程图 (10)2.典型程序模块及典型编程技巧分析··133.课程设计中遇到的问题及解决方法··144.程序清单和程序注释 (15)第五章收获与体会 (33)第六章参考文献 (33)第一章设计题目、要求及目的1.设计题目及要求设计题目:信号功能发生器设计设计要求:(1)、编程语言为C语言和汇编语言;(2)、硬件电路基于80x86微机的接口电路;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示,并产生对应信号波形(D/A)输出(信号波形包括正弦波、三角波、方波、锯齿波)、输出信号波形幅度、频率可调。

(注意:按键数量应尽量少)。

2.设计目的(1)、熟练掌握汇编语言和C语言,并用它们实现对硬件的操作,实现设计要求。

(2)、学会调试程序,可以通过编译(masm)、链接(link)、运行(run)可以看到汇编程序的运行结果,更多的是要通过Debug来调试以发现程序的逻辑问题,熟练运用Debug可以解决很多问题,如Debug的T命令可以查看单步运行的结果。

(3)、对硬件加深了解,特别是此实验要用到的8255及小键盘等(4)、本课程设计,要求对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。

第二章总体设计方案1.设计思想该课题要求实现信号功能发生器,首先通过小键盘给定一个按键,并将此信息送入计算机中,由计算机内部根据此信息去实现特定的功能,比如产生正弦波。

(完整word)中南大学软件体系结构实验报告

(完整word)中南大学软件体系结构实验报告

CENTRAL SOUTH UNIVERSITY软件体系结构实验报告学生姓名周建权班级学号 0909121915指导教师穆帅设计时间2014年11月实验一系统的用例模型一、实验目的1.熟悉用例图的基本功能和使用方法。

2.锻炼结合给定题目,进行有效需求分析的能力。

3.掌握如何使用建模工具绘制用例图的方法。

二、实验器材1.计算机一台。

2.UML建模工具,比如软件Rational Rose 或StarUML。

三、实验内容在理解用例图的基本功能和使用方法的基础上,结合具体问题,完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程。

用Rational Rose或StarUML工具软件绘制系统的用例图.下文以Rational Rose为例讲解基本步骤。

四、实验步骤1.结合实际给定题目,完成系统的需求建模。

2.针对每个用例进行业务分析。

以图书管理系统中“删除读者信息"用例为例来说明实验具体步骤。

(1)分析:在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。

(2)根据分析结果,书写业务流程,一般包含以下信息:①管理员在录入界面,输入待删除的读者名;②“业务逻辑”组件在数据库中,查找待删除的读者名;③如果不存在,则显示出错信息,返回步骤①,如果存在则继续;④“业务逻辑”组件判断“待删除的读者”是否可以删除;⑤如果不可以,则显示出错信息,返回步骤⑧,如果可以则继续;⑥在数据库中,删除相关信息;⑦显示删除成功信息;⑧结束。

3.根据分析结果,绘制用例图.以图书管理系统中“删除读者信息"用例为例说明具体绘图步骤:(1)在用例图上双击main,出现如图1。

中南大学单片机实验报告中南大学嵌入式系统实验报告

中南大学单片机实验报告中南大学嵌入式系统实验报告

实验报告课程名称:嵌入式系统开发姓名:任课教师:学院:信息科学与工程学院专业班级:物联网工程2016年12月目录实验一ARM汇编指令 (1)1.实验目的 (1)2.实验设备 (1)3.实验内容 (1)1)实验A--------完成运算x+y,把结果存入堆栈寄存器(R13)中 (1)2)实验A运行截图 (1)3)实验B-----完成运算8x+y/2 orr 0x01+ (z and 0xFF+y/2)/2,将结果保存在R2中 (6)4)实验B运行截图 (6)实验二 ARM处理器工作模式 (13)1 实验目的 (13)2 实验设备 (13)3实验内容 (13)4 实验截图 (14)1)进入系统模式 (17)2)初始化系统模式下的R0-R14寄存器 (18)3)切换到FIQ模式 (19)4)初始化FIQ模式下特有的寄存器R8-R14 (19)5)切换到中止模式 (20)7)切换到管理模式 (22)8)初始化管理模式下特有的寄存器R13-R14 (22)9)切换到IRQ模式 (23)10)初始化IRQ模式下的R13-R14 (23)11)J进入未定义模式 (24)12)初始化未定义模式下的寄存器R13-R14 (24)5 实验心得 (25)实验三 C语言程序(一) (26)1 实验目的 (26)2 实验设备 (26)3 实验内容 (26)4 实验截图 (26)实验四 C语言程序实验(二) (35)1 实验目的 (35)2 实验设备 (35)3 实验内容 (35)4 实验截图 (35)5 实验心得 (45)实验五汇编和C语言的相互调用实验 (46)1 实验目的 (46)2 实验设备 (46)3 实验内容 (46)4 实验截图 (46)5 实验心得 (56)实验六综合编程实验 (57)1 实验目的 (57)2 实验设备 (57)3 实验内容 (57)4 实验截图 (57)5 实验心得 (66)实验一 ARM汇编指令1.实验目的(1)初步学会使用ADS1.2集成开发环境及ARM软件模拟器;(2)通过实验掌握简单ARM汇编指令的使用2.实验设备(1)硬件:PC机(2)软件:ADS1.2集成开发环境,Windows98/2000/NT/XP3.实验内容(1)熟悉ADS开发环境,并使用LDR/STR和MOV等指令访问寄存器或存储单元;(2)使用ADD/SUB/LSL/LSR/AND/ORR/等指令完成基本数学逻辑运算。

组成原理实验报告

组成原理实验报告

关于实验报告的说明(一)对教师和学生的基本要求1、加实验的学生需提交实验报告, 一次实验写一个实验报告。

实验报告要求字迹工整,文字简练,数据齐全,图表规范,计算正确,分析充分、具体、定量。

2、教师应根据学生在实验中和在实验报告书写中反映出来的认真程度、实验效果、理解深度、独立工作能力、科学态度等给予出恰当的评语,并指出实验报告中的不妥之处,然后依照评分细则,采用100分制评出成绩并签名和评定日期。

如学生抄袭或缺交实验报告达该课程全学期实验报告总次数三分之一以上,不得同意其参加本课程的考核。

3、学期结束后任课教师要及时收交学生实验报告,并按要求给出学生实验报告成绩册和学生实验报告上交到系办公室。

(二)内容填写要求1、实验项目名称:要用最简练的语言反映实验的内容。

2、实验目的和要求:目的和要求要明确,在理论上验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。

3、实验内容及步骤:这是实验报告极其重要的内容。

要抓住重点,可以从理论和实践两个方面考虑。

只写主要操作步骤,不要照抄实习指导,要简明扼要。

还应该画出实验流程图,再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。

4、实验结果:根据实验目的将原始资料系统化、条理化,用准确的专业术语客观地描述实验现象和结果,要有时间顺序以及各项指标在时间上的关系。

5、实验总结:根据相关的理论知识对所得到的实验结果进行解释和分析和总结。

也可以写一些本次实验的心得以及提出一些问题或建议。

实验报告(一)实验报告(二)实验报告(三)实验报告(四)实验报告(五)输入完2的代码后,通过汇编下载,,调试窗口会显示出程序地址、机器码、反汇编指令,如下图所示五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)本节实验主要练习的是数据传输,数据输入输出和数据的运算,习,我了解了每个程序的一开始的第一条一定是取指,微指令的值为每条指令都分为若干个状态周期,周期数为一到四个不等,所有的数据都存放在EM单元中,通过地址信息,找到需要的数据,并送到相应的寄存器中,由指令的操作码确定需要完成的具体操作。

dd中南大学单片机实验报告..

dd中南大学单片机实验报告..

微控制器技术实验报告专业班级:自动化0903 学号: 0909091123 姓名:何久帅指导老师:李志明目录一、实验目的及要求 (1)二、实验基本内容 (1)三、实验设备 (3)四、实验设计思想和结果分析 (6)4.1清零程序与拆字程序设计 (6)4.2拼字程序与数据传送程序 (7)4.3 排序程序与散转程序 (10)4.4 数字量输入输出实验 (15)4.5定时器/计数器实验 (17)4.6 A/D、D/A转换实验 (20)4.7 串行通讯实验 (25)五、结束语 (29)一、实验目的及要求:1.熟练掌握Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;2.熟练使用SST89C554RC单片机核心板及I/O扩展实验系统;3.熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下,基于51单片机控制器数字接口电路的硬件、软件设计与功能调试;4.完成MCS51单片机指令系统软件编程设计和硬件接口功能设计题;二、基本实验内容(SST89E554RC单片机实现)实验一清零程序与拆字程序设计根据实验指导书之“第二章单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,完成思考题1、2(P23)基础实验项目。

实验二拼字程序与数据传送程序设计汇编语言完成实验指导书P24思考题3、4题的基础实验项目。

实验三排序程序与散转程序设计汇编语言完成实验指导书P24思考题5、6题的基础实验项目。

实验四数字量输入输出实验基本部分:阅读、验证C语言程序功能。

使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36),。

提高部分:(任选一题)题目一:LED交通灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控制,完成LED交通灯的开关控制显示功能和LED交通灯自动循环显示功能。

题目二:LED灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。

中南大学单片机实验报告

中南大学单片机实验报告

单片机原理及应用系统设计实验报告学院:信息科学与工程学院班级:学号:姓名:指导老师:目录第一章综述 0第二章实验要求 (1)第三章软件设计 (2)1 清零程序 (2)2 拆字程序 (3)3 拼字程序 (4)4 数据传送程序设计 (5)5 排序程序 (7)6 散转程序 (8)第四章硬件设计 (10)1 数字量输入输出实验 (10)1)硬件构造: (10)2)程序代码: (10)2 定时器/计数器实验 (12)1)硬件构造: (13)2)程序代码: (14)3 A/D、D/A转换实验 (15)1)硬件构造: (15)2)程序代码: (15)4 串行通信软件设计 (19)1)硬件构造: (20)2)程序代码: (20)第五章调试过程及体会 (24)1 调试过程 (24)2 收获体会 (24)第一章综述单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。

1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。

中南大学 汇编语言实验报告

中南大学 汇编语言实验报告

中南大学汇编语言实验报告计算机原理与汇编实验报告学生姓名学号专业班级指导教师贺建飚学院信息科学与工程学院完成时间 2019年6月实验一二进制转十六进制一、实验目的(1) 掌握循环程序的设计方法。

(2)掌握汇编语言源程序的编辑、汇编、连接及调试过程。

(3)进一步熟悉利用DEBUG程序修改参数的方法,并检查和验证结果的正确性。

(4) 学会针对不同的问题,选用不同的组织循环的方法。

二、实验要求掌握循环程序的过程和汇编实现原理,进一步熟练掌握DEBUG操作指令以及汇编语言源程序的编辑、汇编、连接及调试过程。

三、实验内容掌握循环排序算法的思想:二进制到十六进制转换程序实验代码如下:assume cs:codecode segmentmain proc farstart: mov bx,[**************]0b ;待转换成十六进制的二进制数 mov ch,4 ;设置循环次数rotate: mov cl,4 ;设置循环左移的位数rol bx,cl ;将bx中的每位依次循环左移4位,;每左移一次,把最高位同时移入CF和操作数最低位mov al,bland al,0fh ;将al高4位清0,保留从rol循环移位到al低四位的值add al,30h ;将4位二进制数转换成对应的ASCII码cmp al,3ah ;判定4位二进制数是否大于9jl printadd al,7hprint: mov dl,al ;调用中断程序输出单个字符mov ah,2int 21hdec ch ;继续循环,直到循环4次为止jnz rotatemain endpmov ax,4c00hint 21hcode endsend四、实验结果DEBUG调试如下:五、实验心得编了这个程序之后发现,想要真正理解一个程序都是需要掌握众多助记符的用法以及它的意思,只有了解并明白了这些之后才可以分析程序或者是编写简单的小程序。

实验二起泡排序算法的程序实现一、实验目的(1)掌握循环程序的设计方法。

中南大学单片机实验报告

中南大学单片机实验报告

中南⼤学单⽚机实验报告中南⼤学信息科学与⼯程学院单⽚机实验报告姓名:班级:通信09实验时间:2012年5⽉⽬录前⾔ (3)(3)实验⼀单⽚机I/O⼝应⽤实验_ P3.3⼝输⼊P1⼝输出(6)实验⼆单⽚机I/O⼝应⽤实验_⼯业顺序控制实验七键盘显⽰控制器8279应⽤实验 (11)实验九⼩直流电机调速实验 (15)实验⼗电⼦⾳响实验 (18)⼩结与体会 (22)前⾔⼀.单⽚机原理实验的任务单⽚机原理实验是单⽚机原理及应⽤课程的⼀部分,它的任务是:1.通过实验进⼀步了解和掌握单⽚机原理的基本概念、单⽚机应⽤系统的硬件设计及调试⽅法。

2.学习和掌握单⽚机应⽤系统程序设计技术。

3.提⾼应⽤计算机的能⼒及⽔平,提⾼逻辑动⼿能⼒。

⼆.实验设备单⽚机实验所使⽤的设备由计算机、单⽚机实验开发系统(其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单⽚机实验开发系统是硬件开发平台,是基于51/196 单⽚机的扩展实验系统。

计算机和单⽚机实验开发系统之间是通过RS232 串⾏接⼝进⾏通信的。

单⽚机实验开发系统配有开关电源、单⽚机、晶振、存储器、可编程并⾏接⼝芯⽚、键盘显⽰控制芯⽚、24 键键盘、六位LED 数码管显⽰、A/D 及D/A 转换芯⽚、简单输出⼝2个、简单输⼊⼝1 个、逻辑电平输⼊开关、发光⼆极管显⽰电路,并配有⼩直流电机、步进电机、继电器、⾳响等驱动电路。

在计算机软件的控制下可完成单⽚机基本实验及综合设计性实验项⽬。

所有的MCS51 单⽚机原理及应⽤课程实验都是在这套实验系统上完成的。

Keil 与Proteus的联合使⽤:Keil C51 6.02的使⽤:1.打开Keil,新建⼀个程序⽂件(File--New),在上⾯输⼊要调试的程序,保存为*.asm格式;2.新建⼀个⼯程(project--Newproject),保存,在CPU选项了选择Atmel--AT89C51,点击确(你起的⼯程名)',选择Debug,选择PROTEUS VSM MONITOR 51 DRIVER,点击确定.4.在Source Group上右击,选择Add files to group'Source Group(⼯程名)',在⽂件类型⾥选择All files (*.*),找到刚才保存的.asm⽂件.5.调试程序: 选择编译连接程序,保证其全部正确.Keil C51 6.02实⽤的⼀些技巧:1. Keil中的可以使project workspace窗⼝隐藏或显⽰, 可以使output window(即下⾯的调试窗⼝)窗⼝隐藏或显⽰.2. 使⽤proteus画电路图时,有⼀些常⽤的元件的位置:AT89C51在Microprocessor ICs 中, 可按下的开关在Switches&Replays—BUTTON,电阻在Resistors⾥,或⾮门在Modelling Primitives--XOR_2中,其他的逻辑电路门也可以在这⾥找到,发光⼆级管Optoelectronics—LED中,3.电源和接地:找到⼯具栏中的按钮,⾥⾯的POWER就是电源,GROUND就是地,记得选择完之后要把按钮按回,不然就不能继续选择其他的元件.4.选好的元件的下⽅的这四个按钮可以调整元件的⽅向,以⽅便电路图的绘制5.在画电路图的连线时,如果只在起点和终点单击的话,有时会出现斜线,即不美观.⼜影响对电路图的检查,在画线时,如果想在某地拐弯,就在那个地⽅单击⼀下实验⼀单⽚机I/O⼝应⽤实验_P3.3⼝输⼊P1⼝输出⼀、实验⽬的1、掌握单⽚机P3⼝、P1⼝简单使⽤。

中南大学 编译原理实验报告

中南大学 编译原理实验报告

CENTRAL SOUTH UNIVERSITY编译原理实验报告学生姓名专业班级学号学院信息科学与工程学院指导教师张修如实验时间 2015年5月实验一计算FIRSTVT集一、实验目的进一步培养学生编译器设计的思想,加深对编译原理和应用程序的理解,针对编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格,并综合使用程序设计语言、数据结构和编译原理的知识,熟悉使用开发工具VC /JA V A/C#/.NET 。

二、实验内容设计一个由正规文法生成FIRSTVT集的算法动态模拟,实现以下功能:1.输入一个文法G;2.输出由文法G构造FIRSTVT集的算法;3.输出FIRSTVT集。

三、实验要求1.思想的正确性,采用合适的数据存储结构等;2.程序实现的正确性,程序整体结构合理、编程风格规范等;3.程序功能的完善程度,包括功能的基本实现、基本完善、完全实现;4.工作认真、独立完成实验。

四、实验步骤1.问题理解和分析:充分地分析和理解问题本身,弄清要求做什么;2.确定解决问题的方法:主要是找到解决问题的主要思路,该怎么做;3.详细设计和编码:确定算法的主要流程,再进行编程;4.程序调试和运行:掌握程序调试和排错的基本方法,增加编程的感觉和解决问题的成就感;5.完成实验报告。

五、程序设计5.1基本算法构造集合FIRSTVT(P)的算法按FIRSTVT(P)的定义,可以用如下两条归则来构造:(1)若有产生式P→a…或→Qa…,则a∈FIRSTVT(P)(2)若a∈FIRSTVT(Q),且有产生式P→Q…,则a∈FIRSTVT(P)构造算法:建立一个二维布尔数组F[P,a],使得F[P,a]为真的条件适当且仅当a∈FIRSTVT(P);再用一个栈STACK,把所有初值为真的数组元素F[P,a]的符号对(P,a)全都放到栈中;算法如下:(1)将布尔矩阵各元素置假;栈置空;(2)按照归则(1)查看产生式,对于P→a…或P→Qa..,置相应F[P,a]为真,符号对(P,a)入栈;(3)按规则(2),对栈施加如下操作:弹出栈定符号对记作(Q,a),查看所有产生式是否有形如P→Q…产生式,若有,且a∈FIRSTVT(P),则将F[P,a]置为真,并把(P,a)入栈;(4)重复(3),直到栈空为止。

中南大学——机构创意组合实验报告

中南大学——机构创意组合实验报告

实验机构创意组合实验
一、实验目的。

1、加深学生对平面机构的组成原理认识,进一步了解机构组成及运动特性。

2、训练学生的工程实践动手能力,培养学生创新意识及综合设计的能力。

二、仪器设备。

ZBS-C平面机构创意组合分析测试实验台。

三、机构运动简图。

四、计算机构的自由度(列出算式,并給出答案)。

解:活动构件数=5,低副P L=6,高副P H=2, 无虚约束。

F =3n-2P L-P H=3×5-2×6-2=1
即机构的自由度为1
五、指出在机构中自己有所创新之处。

答:创新之处在于,在不改变齿轮部分和凸轮部分的前提下,通过改变杆的长度,以满足杆长条件,并将最短杆从与凸轮通过高副接触的地方换成另一个连架杆的地方。

从而将之前留下来的双摇杆机构变成曲柄摇杆机构。

六、指出机构的设计存在的不足之处,简述进一步改进的设想。

答:不足之处:由于提供的杆的长度有限制,难以轻松的满足杆长条件,再加上受上课时长的限制,所以未将曲柄摇杆机构组合成功。

改进设想:由于有一处连架杆是通过与凸轮高副连接,不好做周转运动,可以考虑将其与齿轮作用,再通过设置最短杆的位置以及满足杆长条件,从而将双摇杆机构变成双曲柄机构。

机构组合实验报告

机构组合实验报告

一、实验目的本次机构组合实验旨在通过实践操作,加深我们对平面机构组成原理的认识,进一步了解机构组成及运动特性。

同时,通过动手实践,训练我们的工程实践能力,培养创新意识和综合设计能力。

二、实验设备及工具1. 实验台:JKZB-机构创新组合设计实验台,包含齿轮、齿条、槽轮、凸轮、转动轴、连杆、各种连接组合零部件等。

2. 装拆工具:十字起子、活动扳手、内六角扳手、钢板尺、卷尺等。

3. 辅助工具:学生自备草稿纸、笔、绘图工具等。

三、实验内容及步骤1. 分组讨论:每2~3人一组,讨论并确定机构运动设计方案。

2. 设计绘制:根据设计方案,绘制机构装配图。

3. 实物组装:根据装配图,在实验台上进行机构组装。

4. 运动分析:观察并分析机构的运动特性,记录数据。

5. 调整优化:根据分析结果,对机构进行调整优化。

6. 实验报告:完成实验后,提交新设计方案和实验报告。

四、实验结果与分析1. 实验结果:(1)成功组装了一个由齿轮、齿条、槽轮、凸轮等组成的复杂机构。

(2)通过调整,实现了机构的预定运动轨迹和运动规律。

(3)记录了机构的运动数据,包括速度、加速度、位移等。

2. 分析:(1)通过本次实验,我们深入理解了平面机构的组成原理和运动特性。

(2)掌握了机构创新组合设计的基本方法,提高了我们的动手能力和创新意识。

(3)了解了不同类型机构的特点和应用,为今后的工程设计奠定了基础。

五、实验心得体会1. 动手实践的重要性:通过本次实验,我们深刻体会到动手实践的重要性。

理论知识虽然重要,但只有通过实践才能将知识转化为能力。

2. 创新意识的重要性:在实验过程中,我们不仅要完成既定的设计方案,还要不断思考如何优化机构,提高其性能。

这培养了我们的创新意识。

3. 团队合作的重要性:本次实验需要团队合作完成,我们学会了如何与他人沟通、协作,共同解决问题。

六、实验总结本次机构组合实验,使我们受益匪浅。

通过实践操作,我们加深了对平面机构组成原理的认识,提高了工程实践能力和创新意识。

中南大学无机实验报告 全

中南大学无机实验报告 全

三、主要仪器、试剂
仪器:离子交换装置,铁架台,蝴蝶夹,乳胶管,T 形玻璃管,弯玻璃管,玻璃纤维, DDS—12A 电导仪(带电极) ,烧杯(50ml,5 只) ,锥形瓶(250ml,配有孔软木塞,浸泡 电极用) 。 试剂:HNO3(0.5ml·dm-3) ,HCl(5%) ,NaOH(4%) ,NH3H2O(2 ml·dm-3) ,络黑 T, 钙指示剂,强酸型离子交换树脂,强碱型离子交换树脂。 其它:滤纸碎片。
六、实验结果
金属铝片质量/克: 硫酸铝产量/克: 产率/%:
七、结果讨论
1、从显微镜下观察晶体的形成与溶解(并绘出晶体的形状) 答:从显微镜下观察,可看到晶体的形成,有放射形花状,草状,乱草状,乱石状等; 从显微镜下观察,可看到晶体的溶解,溶解从晶体的边缘开始,慢慢残食,直至全溶。
2、探讨影响晶体形状的因素。 答:影响晶体形状的因素很多,主要有: pH 值不为 8~9;过滤不净;浓缩过分;取液过多等。
六、实验结果
1.产品外观:纯白色 2.产量/克:2.5 克以上 3.产率要求 精盐产率要求在 50%以上为合格 4.质量要求 按照实验中提供的检验法,提纯后的精盐中检验不到 Ca2+、Mg2+、Ba2+离子的存在。
2
七、产品纯度检验
检验项目
2-
产品溶液
粗盐溶液 混浊现象,白色沉淀不溶于盐酸 混浊现象,白色沉淀 天蓝色沉淀
附:生物显微镜的结构和使用方法
视度调节圈 物镜转换器 粗调焦手轮 载玻片 细调焦手轮 载物台 聚光镜升降拨杆 照明光源 电源插头 电源开关 目镜 双目拉板 物镜
1. 接通电源。将过饱和溶液滴于载玻片上,借助纵横移动手轮使观察区进入光路。 2. 拨动聚光镜升降拨杆,改变照明孔径和视埸照度。 3. 转动物镜转换器,将 40X 物镜置于光路,从目镜中观察,并转动粗调焦手轮,见物像轮 廓后,再转动细调焦手轮,使物像清晰。 4. 使用双筒目镜时,先用手握住双目拉板,使两目镜的中心距与观察者双眼距一致。然后 从右目镜中观察,调节成像清晰;再从左目镜中观察,调节视度调节圈,使成像与右目 镜筒同样清晰。 5. 改变物镜倍率,使观察效果最好为止。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学《计算机组成原理及汇编实验报告》姓名: 徐兴毫学号: 0909101027专业班级:计科1003指导教师: 陈丽萍学院: 信息科学与工程学院计算机组成原理实验实验一、算术逻辑运算实验1、实验目的⏹了解运算器的组成结构⏹掌握运算器的工作原理⏹掌握简单运算器的组成以及数据传送通路⏹验证运算功能发生器(74LS181)的组合功能2、实验设备74LS181(2片),74LS273(2片), 74LS245(2片),开关若干,灯泡若干,单脉冲一片3、实验原理实验中所用的运算器数据通路图如图2.1所示,实验中的运算器由两片74LS181以并/串形式构成8位字长的ALU。

运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。

⏹74LS181:完成加法运算⏹74LS273:输入端接数据开关,输出端181。

在收到上升沿的时钟信号前181和其输出数据线之间是隔断的。

在收到上升沿信号后,其将输出端的数据将传到181,同时,作为触发器,其也将输入的数据进行保存。

因此,通过增加该芯片,可以通过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到181芯片的不同引脚之中⏹74LS245:相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后将其打开,可以使181的运算结果输出并显示到灯泡上图2.1 运算器通路图4、实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。

搭建好的实验流程图如图2.2所示。

图2.2 运算器实验流程图2. 初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源,用二进制数码开关向DR1 和DR2 寄存器置数。

具体操作步骤图示如下:其中T4的脉冲信号通过鼠标双击单脉冲产生。

3. 检验DR1 和DR2 中存的数是否正确,具体操作为:关闭数据输入三态门(SW-B=1),打开ALU 输出三态门(ALU-B=0),当置S3、S2、 S1、S0 、M 为11111时,总线指示灯显示DR1中的数,而置成10101时总线指示灯显示DR2 中的数。

4. 验证74LS181 的算术运算和逻辑运算功能(采用正逻辑)在给定DR1=65、DR2=A7 的情况下,改变运算器的功能设置,观察运算器的输出,填入下表2-2中,并和理论分析进行比较、验证。

74LS181的功能见表2-1,A和B分别表示参与运算的两个数,“+”表示逻辑或,“加”表示算术求和。

表2-15、实验结果及结果分析(1)得到的实验结果表1:表2:(2)完整源代码、观察到的现象及结果分析6、实验中遇到的问题及解决办法实验中按图接好电路,却没有结果。

检查后发现是电路连线有问题!实验2 存储器实验1、实验目的a)掌握静态存储随机存储器RAM的工作特性b)掌握静态存储随机存储器RAM的读写方法2、实验设备74LS273(一片),静态存储器MEMORY6116(一片),与门(一片),与非门(一片),单脉冲(一片),开关若干,灯泡若干3、实验原理在微机系统中,常用的静态RAM 有6116、6264、62256 等。

在本实验中使用的是6116。

6116 为2K╳8 位的静态RAM,其逻辑图3.1如下:图3.1 6116逻辑图其中A0~10 为11 根地址线,I/O0~7 为8 根数据线,CS 为片选端,OE 为数据输出选通端,WR 为写信号端。

其工作方式见下表3-1:表3-1工作方式表实验所用的半导体静态存储器电路原理如图3.2 所示,实验中的静态存储器一片6116(2K×8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。

地址灯AD0—AD7 与地址线相连,显示地址线内容。

数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。

图3.2 存储器实验原理图因地址寄存器为8 位,接入6116 的地址A7—A0,而高三位A8—A10 接地,所以其实际容量为256 字节。

6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。

当片选有效(CE=0)时,OE=0时进行读操作,WE=0 时进行写操作。

本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。

控制信号SW-B 为低电平有效,控制信号LDAR 为高电平有效。

4、实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。

搭建好的实验流程图如图3.3所示。

图3.3 存储器实验流程图2. 初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源。

3. 写存储器。

给存储器的00、01、02、03、04 地址单元中分别写入数据11H、12 H、13 H、14 H、15 H。

由图3.2 存储器实验原理图看出,由于数据和地址全由一个数据开关给出,因此要分时地给出。

下面的写存储器要分两个步骤,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写入的存储单元的地址,双击单脉冲产生T3 脉冲将地址输入到地址锁存器;第二步写数据,关掉地址锁存器门控信号(LDAR=0),打开存储器片选,使之处于写状态(CE=0,WE=1),由开关给出此单元要写入的数据,,双击单脉冲产生T3 脉冲将数据写入到当前的地址单元中。

写其他单元依次循环上述步骤。

写存储器流程如图3.4所示(以向00 号单元写入11H 为例)。

图3.4 写存储器流程图4. 读存储器。

依次读出第00、01、02、03、04 号单元中的内容,观察上述各单元中的内容是否与前面写入的一致。

同写操作类似,读每个单元也需要两步,第一步写地址,先关掉存储器的片选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写存储单元的地址,双击单脉冲产生T3 脉冲将地址输入到地址锁存器;第二步读存储器,关掉地址锁存器门控信号(LDAR=0),关掉数据开关三态门(SW-B=1),片选存储器,使它处于读状态(CE=0,WE=0),此时数据总线上显示的数据即为从存储器当前地址中读出的数据内容。

读其他单元依次循环上述步骤。

读存储器操作流程如图3.5所示(以从00 号单元读出11H 数据为例)图3.5 读存储器流程图5、实验结果及结果分析实验截图及结果分析6、 实验中遇到的问题及解决办法 实验时,没有注意初始化各个芯片信号,导致实验线路不出现结果。

注意数据和地址要分时的给出。

实验3 总线基本实验1、实验目的⏹掌握静态存储随机存储器RAM的工作特性⏹掌握静态存储随机存储器RAM的读写方法2、实验设备74LS374(一片),74LS245(一片),74LS273(一片),静态存储器MEMORY6116(一片),8位数据排线(一片),与门(两片),与非门(一片),单脉冲(三片),开关若干,灯泡若干。

3、实验原理总线传输实验框图如图4.1所示,它将几种不同的设备挂至总线上,有存储器、输入设备、输出设备、寄存器。

这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。

图4.1 总线传输实验框图总线基本实验要求如下:根据挂在总线上的几个基本部件,设计一个简单的流程。

(1)输入设备将一个数输入R0 寄存器。

(2)输入设备将另一个数输入地址寄存器。

(3)将R0 寄存器中的数写入到当前地址的存储器中。

(4)将当前地址的存储器中的数用LED 数码管显示。

4、实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。

搭建好的实验流程图如图4.3所示。

2. 初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源。

图4.2 总线基本实验流程图3.实验的具体操作步骤如图4.2 所示。

首先应关闭所有三态门(SW-B=1,CS=1,R0-B=1,LED-B=1),并将关联的信号置为:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。

然后参照如下操作流程,先给数据开关置数,打开数据输出三态门,开关LDR0置1,并双击旁边的单脉冲,使产生一个上升沿将数据输入到R0 中;然后继续给数据开关置数,开关LDAR置1 ,并双击旁边的单脉冲,使产生一个上升沿将数据输入到AR 中;关闭数据开关三态门,打开R0 寄存器输出控制(开关LDR0和开关R0-B都置0),使存储器处于写状态(W/R=0、CS=0)将R0 中的数写到存储器中;关闭存储器片选,关闭R0 寄存器输出(开关R0-B置0),使存储器处于读状态(W/R=1、CS=0)。

图4.3 实验步骤图5、实验结果及结果分析实验截图6、实验中遇到的问题及解决办法实验中得不到预期的结果。

检查后发现初始化工作没有做好!7、实验心得体会通过本次本次实验:(1)了解了一些逻辑器的组成结构(2)掌握一些逻辑器的工作原理(4)验证了各逻辑器件的组合功能通过亲自动手,能更好的理解逻辑器件的组成及功能。

同时实验中遇到各种问题,解决后,让自己的知识更加牢固。

同时也意识到自己的不足,需要更加的努力!汇编语言实验实验一、上机操作一、实验目的掌握汇编语言程序编辑、汇编、连接、运行以及利用DEBUG调试程序的方法。

二、实验设备PC机及相应的软件。

三、实验内容及步骤1、编辑一个指定的汇编语言源程序,并对其进行汇编、连接和运行。

2、利用DEBUG进行程序调试,掌握常用命令的使用方法,观察运行结果。

3、汇编语言上机操作,见图1-1 汇编语言上机操作流程。

上机操作过程:开始输入cmd 确认后显示:C:\Documents and setting\Administrator>-输入 cd c:\masm 后显示:c:\masm>-c:\masm>EDIT ABC.asmc:\masm>MASM ABC;若有语法错,回EDIT下改该程序c:\masm>LINK ABC;若有错,回EDIT下改程序c:\masm>ABC若运行结果错,回EDIT下改程序或在DEBUG下调试,找原因。

相关文档
最新文档