电子科技大学微机实验报告 实验5

合集下载

电子科技大学实验报告

电子科技大学实验报告

电子科技大学实验报告电子科技大学实验报告电子科技大学作为中国一流的电子信息科学与技术学府,以其卓越的教育质量和科研实力备受瞩目。

在这所学校里,学生们不仅接受了丰富的理论知识,更重要的是能够通过实验来巩固和应用所学的知识。

实验报告作为实验课程的重要组成部分,对学生的实验能力、分析能力和表达能力都有一定的要求。

一、实验目的与背景每个实验报告都应该明确实验的目的和背景。

在电子科技大学的实验报告中,一般会先介绍该实验所涉及的相关知识和背景,然后明确实验目的。

以“电路实验”为例,可以介绍电路的基本概念和理论知识,然后明确实验目的是通过搭建电路,观察和分析电流、电压、电阻等参数的变化规律。

二、实验装置与步骤实验报告中应该详细描述实验所用的装置和仪器,并给出实验步骤。

例如,在电路实验中,可以列出所用的电源、电阻、电流表、电压表等装置,并详细说明实验的具体步骤,包括搭建电路的过程、调节参数的方法以及观察数据的记录方式。

三、实验结果与数据分析实验结果是实验报告的重要部分,学生需要将实验过程中所得到的数据进行整理和分析。

在电子科技大学的实验报告中,学生可以通过绘制图表、计算数据等方式来展示实验结果。

例如,在电路实验中,可以通过绘制电流与电压的关系曲线图来展示实验结果,并根据曲线的趋势和数据的变化来分析电路的特性和规律。

四、实验讨论与结论实验讨论是实验报告中的重要环节,学生可以在这一部分对实验结果进行讨论和解释。

例如,在电路实验中,学生可以通过比较实验数据和理论计算结果的差异,来分析实验误差的原因,并提出改进的方法。

最后,学生需要总结实验的结论,并对实验的意义和应用进行简要的说明。

五、实验心得与改进意见实验心得是学生对实验过程和结果的个人感悟和体会,可以在实验报告的最后部分进行阐述。

学生可以谈论自己在实验中遇到的困难和解决方法,以及对实验过程和结果的评价。

同时,学生还可以提出对实验的改进意见,以便于今后的实验能够更加顺利和有效地进行。

电子科技大学微机实验报告(含思考题)河畔下的哈】实验6

电子科技大学微机实验报告(含思考题)河畔下的哈】实验6

实验六基于ARM的键盘及数码管驱动实验1.掌握键盘及数码管驱动原理。

2.掌握ZLG7290芯片的使用方法。

3.掌握I2C总线的协议标准。

4.掌握Linux下键盘驱动的实现方法。

编写测试程序控制键盘和数码管。

1.了解ARM9处理器结构2.了解i2c协议硬件:ARM嵌入式开发平台,PC 机Pentium100 以上。

软件:PC机Linux操作系统+MINICOM +AMRLINUX开发环境1、ZLG7290寄存器介绍ZLG7290内部有16个8bits寄存器,访问这些寄存器需要通过I2C 总线接口来实现.访问内部寄存器要通过“I2C总线地址+子地址”的方式来实现。

ZLG7290B 的I2C 总线器件地址是70H(写操作)和71H(读操作)。

? 键值寄存器Key(地址:01H)如果某个普通键(K1~K56)被按下,则微控制器可以从键值寄存器Key中读取相应的键值1~56。

如果微控制器发现ZLG7290 的INT 引脚产生了中断请求,而从Key 中读到的键值是0,则表示按下的可能是功能键。

键值寄存器Key 的值在被读走后自动变成0。

? 显示缓冲区DpRam0~DpRam7(地址:10H~17H)DpRam0~DpRam7 这8 个寄存器的取值直接对应8个数码管的显示内容。

每个寄存器的8 个位分别对应数码管的a,b,c,d,e,f,dp 段,MSB 对应a,LSB 对应dp。

例如大写字母H 的字型数据为6EH(不带小数点)或6FH(带小数点)。

? 命令缓冲区CmdBuf0 和CmdBuf1(地址:07H 和08H)通过向命令缓冲区写入相关的控制命令可以实现段寻址、下载显示数据、控制闪烁等功能。

2、ZLG7290控制命令介绍寄存器CmdBuf0(地址:07H)和CmdBuf1(地址:08H)共同组成命令缓冲区。

通过向命令缓冲区写入相关的控制命令可以实现段寻址、下载显示数据、控制闪烁等功能。

?下载数据并译码(Download)在指令格式中,高4 位的0110 是命令字段;A3A2A1A0 是数码管显示数据的位地址(其中A3 留作以后扩展之用,实际使用时取0 即可),位地址编号依次为0,1,2,3,4,5,6,7,代表8个数码管,dp 控制小数点是否点亮,0-点亮,1-熄灭;flash 表示是否要闪烁,0-正常显示,1-闪烁;d4d3d2d1d0 是要显示的数据,包括10 种数字和21 种字母。

微机系统实验报告

微机系统实验报告

西安电子科技大学实验报告实验一汇编语言编程实验1 实验目的(1)掌握汇编语言的编程方法(2)掌握DOS功能调用的使用方法(3)掌握汇编语言程序的调试运行过程2 实验内容(1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。

(2) 在屏幕上显示自己的学号姓名信息。

(3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。

(4)自主设计输入显示信息,完成编程与调试,演示实验结果。

3 实验结果任务一4 程序流程图5 程序代码任务一DATA SEGMENTNUMBER DB ' 03101214 SONG YUAN YUAN',0AH,0DH,'$'string1 DB 0AH,0DH,' input q/Q to exit ',0AH,0DH,0AH,0DH,'NUMBER AND NAME:','$' string2 DB 0AH,0DH,'Input: $'RESULT DB 0AH,0DH,'ASCII is :$'SD DB ''DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET string1MOV AH,09HINT 21HMOV DX,OFFSET NUMBERINT 21HC1: MOV DX,OFFSET string2MOV AH,09HINT 21HMOV AH,01HINT 21HCMP AL,'Q'JZ EXITCMP AL,'q'JZ EXITMOV SD,ALMOV DX ,OFFSET RESULTMOV AH,09HINT 21HMOV SI,OFFSET SDMOV AL,DS:[SI]AND AL,0F0HMOV CL,4SHR AL,CLCMP AL,0AHJB C2ADD AL,07HC2: ADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FHCMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,ALMOV AH,02HINT 21Hloop C1EXIT: MOV AX,4C00HINT 21HCODE ENDSEND START实验二数码转换实验.1 实验目的(1)掌握不同进制数及编码相互转换的程序设计方法。

电子科技大学微机实验报告实验5

电子科技大学微机实验报告实验5

电子科技大学微机实验报告实验5第一篇:电子科技大学微机实验报告实验5实验五基于ARM的模块方式驱动程序实验【实验目的】 1.掌握Linux 系统下设备驱动程序的作用与编写技巧 2.掌握Linux 驱动程序模块加载和卸载的方法 3.了解Linux 内核中的makefile和kconfig文件【实验内容】1.基于s3c2440 开发板编写led 驱动程序。

2.将编写好的led驱动加入linux内核中,修改makefile和kconfig文件,配置和编译内核。

3.编写关于led 的测试程序,交叉编译后运行,控制led 灯的亮灭。

【预备知识】1.了解ARM9处理器结构和Linux 系统结构2.熟练掌握C语言。

【实验设备和工具】ν硬件:ARM嵌入式开发平台,PC机Pentium100 以上。

ν软件:PC机Linux操作系统+MINICOM+AMRLINUX 开发环境【实验原理】νlinux设备驱动程序ν驱动的模块式加载和卸载ν编译模块ν装载和卸载模块ν led 驱动的原理在本开发板上有八个led指示灯,从下往上分别为LED0-LED7。

这八个led灯都是接的芯片上的gpio口(通用功能输入输出口)。

在本实验的开发板硬件设计中,当led 灯对应的gpio的电平为低时,led灯被点亮;当led灯对应的gpio的电平为高时,led灯灭。

本驱动的作用就是通过设置对应gpio口的电平来控制led 的亮灭。

因为ARM 芯片内的GPIO口都是复用的,即它可以被配置为多种不同的功能,本实验是使用它的普通的I/O口的输出功能,故需要对每个GPIO口进行配置。

在内核中已经定义了对GPIO口进行配置的函数,我们只需要调用这些函数就可以完成对GPIO口的配置。

【实验步骤】实验程序运行效果:程序会提示:“pleaseenterthe led status”输入与希望显示的led状态对应的ledstatus值(输入十进制值即可),观察led 的显示情况。

电子科技大学中山学院微处理器实验报告 (11)

电子科技大学中山学院微处理器实验报告 (11)
if(Row)
Col |= 0x40; //显示第二行时DDRAM地址从40H开始
Col |= 0x80; //拼为DDRAM地址设置命令
LCD1602CmdWrite(Col); //发送DDRAM地址
while( *Str )
LCD1602DataWrite(*Str++); //连续发送每个字符的ASCII码
LCD1602_EN=1;
LCD1602_DATA=cmdByte; //发送命令字节
LCD1602_EN=0;
}
//*****************************LCD1602写数据函数*********************
void LCD1602DataWrite(uint8 DataByte)
//*****************************电子钟时间调整函数********************
void RTClockAdj()
{
if(++RTClock.Second< 60 ) return;
RTClock.Second=0;
if(++RTClock.Minute< 60 ) return;
{
TH0=(65536-45*1024)>>8; //设置50ms定时初值(对应晶振11.0592MHz)
TL0=(65536-45*1024)&0xFF;
if(++Timer50ms< 20 ) return;
Timer50ms=0; //已满1s,Timer50ms清0
RTClockAdj(); //时间调整
void Delay(uint16 ms)

电子科技大学实验报告

电子科技大学实验报告
五、实验内容:
(一)用WinDLX模拟器执行求阶乘程序fact.s。
这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。
该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。
(二)用WinDLX模拟器执行程序gcm.s。
该程序从标准输入读入两个整数,求他们的greatest common measure,然后将结果写到标准输出。
该程序中调用了input.s中的输入子程序。
(三)用WinDLX模拟器执行求素数程序prim.s。
这个程序计算若干个整数的素数。
六、实验器材(设备、元器件):
PC微机一台
七、实验步骤及操作:
1.双击WinDLX图标运行WinDLX。装入测试程序之前,先初始化WinDLX模拟器:点击File菜单中的Reset all菜单项,弹出一个“Reset DLX”对话框。然后点击窗口中的“确认”按钮即可。
1.2.选择File/Load Code or Data,按如下步骤操作,可将fact.s和input.s这两个程序装入主存:
◆点击fact.s
◆点击select按钮
◆点击input.s
◆点击select按钮
◆点击load按钮
3.点击主窗口中的Execution开始运行。
4.程序gcm.s和prim.s的运行过程同上。
八、实验数据及结果分析:
九、实验结论:
十、总结及心得体会:
十一、对本实验过程及方法、手段的改进建议:
报告评分:
指导教师签字:
电子科技大学
实验报告
学生姓名:
学号:
一、实验室名称:计算机学院计算心
二、实验项目名称:熟悉WinDLX的使用

电子科技大学实验报告

电子科技大学实验报告
正常情况下A和C之间进行通讯,但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A被欺骗了),这时B就伪装成C了。同时,B同样向C发送一个ARP应答,应答包中发送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP缓存(C也被欺骗了),这时B就伪装成了A。这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B。主机B完全可以知道他们之间说的什么:)。这就是典型的ARP欺骗过程。
图4-19
说明:由于cain功能很多,此处仅对本实验中所用到的功能进行讲解,其余功能读者可以自己去了解、尝试。
2.绑定网卡
在IP地址为192.168.1.12的机器上运行cain,在cain运行界面上,按下“sniffer”图标,并点击“configuration菜单”,在“sniffer”选项卡下,选择恰当的网卡进行绑定,点击确定。如图4-20、图4-21
1.安装使用工具Cain
首先在局域网内某台机器上安装Cain(IP地址为192.168.1.12)。Cain是一个功能强大的软件,可以实现网络嗅探、网络欺骗、破解加密口令、分析路由协议等功能。使用它之前必须进行安装,安装过程只需要按照默认情况安装即可。双击“Cain v2.5”,运行Cain的操作界面如图4-19:
六、实验内容:
1.安装使用工具Cain。

微机实验 交通灯实验报告

微机实验 交通灯实验报告

微机实验交通灯实验报告微机实验交通灯实验报告引言交通灯作为城市交通管理的重要组成部分,对于保障交通安全和顺畅起着至关重要的作用。

本次实验旨在通过微机控制,模拟交通灯的工作原理,并实现交通灯的自动控制。

一、实验目的本次实验的主要目的是通过搭建一套微机控制系统,实现交通灯的自动控制,并通过实验验证交通灯在不同道路情况下的工作原理和效果。

二、实验原理1. 交通灯的工作原理交通灯通常由红、黄、绿三个信号灯组成。

红灯表示停止,黄灯表示准备,绿灯表示可以通行。

交通灯通过不同颜色的灯光变化,指示车辆和行人何时可以通行,以保障交通的有序进行。

2. 微机控制系统微机控制系统是利用计算机和相应的软硬件实现对设备、机器等的控制和管理。

在交通灯实验中,我们可以通过编程控制计算机输出不同的信号,从而实现交通灯的自动控制。

三、实验器材和步骤1. 实验器材- 微机控制系统:包括计算机、编程软件和控制接口等。

- 交通灯模型:模拟真实的交通灯,包括红、黄、绿三个信号灯。

2. 实验步骤- 连接交通灯模型和微机控制系统。

- 编写程序,设置交通灯的工作时间和信号灯变化规律。

- 运行程序,观察交通灯的工作状态和变化过程。

四、实验结果和分析通过实验,我们成功地实现了交通灯的自动控制。

在程序中,我们设置了红灯亮10秒,黄灯亮3秒,绿灯亮15秒的时间间隔,模拟了真实交通灯的工作规律。

在实验过程中,我们观察到交通灯按照预设的时间间隔循环变化,红灯亮起时车辆停止,绿灯亮起时车辆可以通行。

这样的交通灯控制方式可以有效地维持交通的有序进行,减少交通事故的发生。

五、实验总结通过本次实验,我们深入了解了交通灯的工作原理和微机控制系统的应用。

微机控制系统作为一种高效、精确的控制手段,可以广泛应用于各个领域,提高设备的自动化程度和工作效率。

在今后的学习和工作中,我们将继续深入学习微机控制系统的原理和应用,掌握更多的编程技巧和控制方法,为实现更多实际问题的自动化解决方案做出贡献。

电子科大实验报告

电子科大实验报告

一、实验名称计算机组成原理实验二、实验目的1. 掌握计算机组成原理的基本概念和组成结构。

2. 理解计算机各部件之间的逻辑关系和功能。

3. 学习计算机指令系统的基本原理和应用。

4. 培养动手实践能力和分析问题的能力。

三、实验内容1. 计算机硬件系统组成实验2. 计算机指令系统实验3. 计算机寻址方式实验4. 计算机中断系统实验四、实验原理1. 计算机硬件系统组成实验:通过搭建计算机硬件系统,了解计算机各个部件的功能和相互关系,包括中央处理器(CPU)、存储器、输入输出设备等。

2. 计算机指令系统实验:学习计算机指令系统的基本原理,包括指令格式、寻址方式、指令执行过程等。

3. 计算机寻址方式实验:了解计算机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等,并掌握不同寻址方式的应用。

4. 计算机中断系统实验:学习计算机中断系统的原理,包括中断源、中断控制器、中断处理程序等,以及中断处理过程。

五、实验设备及器材1. 计算机组成原理实验箱2. 示波器3. 数字万用表4. 计算机软件:Keil、Proteus等六、实验过程及数据记录1. 计算机硬件系统组成实验(1)搭建计算机硬件系统,包括CPU、存储器、输入输出设备等。

(2)观察各个部件之间的连接和信号传输。

(3)测试计算机硬件系统的基本功能。

2. 计算机指令系统实验(1)编写简单的汇编语言程序,实现加法、减法等运算。

(2)使用Proteus软件模拟程序执行过程,观察CPU的运行状态和寄存器的内容。

3. 计算机寻址方式实验(1)编写汇编语言程序,实现不同寻址方式的操作。

(2)使用Proteus软件模拟程序执行过程,观察不同寻址方式对指令执行的影响。

4. 计算机中断系统实验(1)编写汇编语言程序,实现中断请求和处理。

(2)使用Proteus软件模拟程序执行过程,观察中断处理过程。

七、实验结果分析1. 通过搭建计算机硬件系统,了解了计算机各个部件的功能和相互关系,掌握了计算机硬件系统的基本原理。

电子科技大学中山学院学生实验报告

电子科技大学中山学院学生实验报告

电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验班级:姓名:学号:组别:实验名称:实验四可编程并行接口8255(方式0)实验时间:成绩:教师签名:批改时间:一、实验目的和任务掌握8255方式0的工作原理及使用方法。

二、实验内容1.实验电路如图4-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2. 编程从8255C口输入数据,再从A口输出。

图4-1 图4-2编程提示:1)8255控制寄存器端口地址28BHA口的地址288HC口的地址28AH2)参考流程图(见图4-2)三、实验过程和数据记录1.源程序:电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验班级:姓名:学号:组别:实验名称:实验五七段数码管实验时间:成绩:教师签名:批改时间:一、实验目的和任务掌握数码管显示数字的原理。

二、实验内容1.静态显示:按图5-1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

2.动态显示:按图5-2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0。

编程在两个数码管上显示“56”。

3.动态显示:使用图5-2的电路,编程在两个数码管上循环显示“00-99”。

图5-1 图5-2编程提示:1)实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

电子科技大学中山学院微处理器实验报告

电子科技大学中山学院微处理器实验报告

微处理器实验报告DB 'WELCOME TO ZSC!'ORG 0100HMAIN: CLR EAMOV SP,#60HMOV TMOD,#20HMOV TH1,#0FDHMOV TL1,#0FDHMOV SCON,#50HMOV PCON,#00HSETB TR1MOV R7,#15MOV DPTR,#0050H LOOP: MOV A,#00HMOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TIINC DPTRDJNZ R7,LOOPSJMP $END2、编写一段程序,接收主机串行口发送来的字符,在单片机接收到‘X’的时候返回一个‘T’表示正确,否则返回一个‘F’表示错误。

ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#60HMOV TMOD,#20H ;设置T1 为方式2MOV TH1,#0FDH ;设置波特率为9600MOV TL1,#0FDHMOV SCON,#50H ;设置串口为方式1MOV PCON,#00HSETB TR1 ;启动定时器1LOOP: JNB RI,$CLR RIMOV A,SBUFCJNE A,#'X',FSENDMOV A,#'T'AJMP SENDFSEND: MOV A,#'F'SEND: MOV SBUF,A ;回发数据JNB TI,$CLR TISJMP LOOPEND3、采用串行口中断方式,实现与实验2相同的功能。

ORG 0000HLJMP MAINORG 0023HLJMP ZRS232ORG 0100HMAIN: CLR EAMOV SP,#60HMOV TMOD,#20HMOV TH1,#0FDHMOV TL1,#0FDHMOV SCON,#50HMOV PCON,#00HSETB ESSETB TR1SETB EASJMP $ZRS232: JB RI,ZRZT: CLR TIAJMP ZENDZR: CLR RIMOV A,SBUFCJNE A,#'X',FSENDMOV A,#'T'AJMP SENDFSEND: MOV A,#'F'SEND: MOV SBUF,AZEND: RETIENDORG 0000HLJMP MAINORG 0023HLJMP ZRS232ORG 0100H MAIN: CLR EAMOV SP,#60HMOV TMOD,#20HMOV TH1,#0FDHMOV TL1,#0FDHMOV SCON,#50HMOV PCON,#00HSETB ESSETB TR1SETB EASJMP $ZRS232: JB RI,ZRZT: CLR TIAJMP SENDZR: CLR RIMOV A,SBUFCJNE A,#'$',LPCLR ESSJMP L P1LP: MOV B,ASUBB A,#'9'+1MOV A,BJC SENDSUBB A,#'Z'+1MOV A,BJNC SENDADD A,#20HSEND: MOV SBUF,AJNB TI,$CLR TILP1: RETIEND五.实验结论1.串行通信要设定共同波特率。

(完整word版)微机原理完整实验报告+程序

(完整word版)微机原理完整实验报告+程序

实验题目8253定时/计数器实验 一、 实验目的与要求: 1. 学会8253芯片和微机接口原理和方法。

2. 掌握8253定时器/计数器的工作方式和编程原理。

二、 实验内容: 1、实验原理 本实验原理图如图 1所示,8253A 的A0、A1接系统地址总线 A0、A1,故8253A 本实验通道2 有四个端口地址,如端口地址表 1所示。

8253A 的片选地址为 48H~ 4FH 。

因此, 仪中的8253A 四个端口地址为 48H 、49H 、4AH 、4BH ,分别对应通道 0、通道1、 和控制字。

采用8253A 通道0,工作在方式3(方波发生器方式),输入时钟CLK0为 输出OUTO 要求为1KHZ 的方波,并要求用接在 GATE0引脚上的导线是接地("0" 甩空("1"电平)来观察GATE 对计数器的控制作用,用示波器观察输出波形。

2、实验线路连接 (1) 8253A 芯片的CLK0引出插孔连分频输出插孔 (2) 8253A 的 GATE0 接+5V 。

实验步骤 (1) 按图1连好实验线路(2) 运行实验程序 1. 按“调试”按钮2. 选“窗口” “进入示波器窗口” ,然后最小化3. 按“运行按钮”4.将模拟示波器窗口打开,选择“串行口 2”,再按 Ctrl + F2按钮即可看到波形 显示“ 8253-1 ”用示波器测量8253A 的OUT2输出插孔,方波输出,幅值0〜4V 三、实验代码: 1MHZ ,电平)或 3、 CODE SEGMENT ASSUME CS:CODE TCONTRO EQU 004BH TCON2 EQU 004AH CONT PORT EQU 00DFH DATA PORT EQU 00DEH DATA1 EQU 0500H START: JMP TCONT TCONT: CALL FORMATCALL LEDDIS P MOV DX,TCONTRO1MHZ 。

微机原理实验报告

微机原理实验报告

微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。

实验一,微机系统组成及工作原理。

1.1 微机系统的组成。

微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。

其中,CPU是微机系统的核心部件,负责控制整个系统的运行。

1.2 微机系统的工作原理。

微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。

CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。

实验二,微机系统的组装和调试。

2.1 微机系统的组装。

在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。

组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。

2.2 微机系统的调试。

组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。

通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。

实验三,微机系统的应用。

3.1 微机系统的应用领域。

微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。

在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。

3.2 微机系统的发展趋势。

随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。

未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。

结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。

这对我今后的学习和工作将有很大的帮助。

电子科技大学实验报告

电子科技大学实验报告
说明:由于cain功能很多,此处仅对本实验中所用到的功能进行讲解,其余功能读者可以自己去了解、尝试。
2.绑定网卡
在IP地址为的机器上运行cain,在cain运行界面上,按下“sniffer”图标,并点击“configuration菜单”,在“sniffer”选项卡下,选择恰当的网卡进行绑定,点击确定。如图4Biblioteka 20、图4-21图4-24
图4-25
说明:若没有选择 图标,则当点击 时,会提示“sniffer not be actived”,此时点击 ,开始嗅探,实验仍可继续进行。从cain主界面中可以看到,已探测出在该区域段的机器(10.11为主机,13为虚拟主机,1为网关)。如图4-26
图4-26
4.ARP欺骗
选择cain主界面下端的APR标签 ,点击“ ”号,在选项框中选择进行ARP欺骗的地址。左边选择被欺骗的主机,再在右边选择合适的主机(或网关),ARP能够在左边列表中被选的主机和所有在右边选中的主机之间双向劫持IP包。在该实验中首先在左侧列表中选择的地址,然后右侧列表即会出现其他IP地址,若在右侧选择网关,这样就可以截获所有从13发出到广域网的数据包信息。点击“OK”,在cain界面上可以看到形成的欺骗列表,此时在状态一栏中显示“idle”,开始欺骗点击工具栏上的“ ”状态变为“poisoning”,开始捕获。此时,在机器上进行网络操作,在12机器上会看到cain界面上显示捕获数据包的增加。如图4-27、图4-28、图4-29、图4-30
1.安装使用工具Cain
首先在局域网内某台机器上安装Cain(IP地址为)。Cain是一个功能强大的软件,可以实现网络嗅探、网络欺骗、破解加密口令、分析路由协议等功能。使用它之前必须进行安装,安装过程只需要按照默认情况安装即可。双击“Cain v2.5”,运行Cain的操作界面如图4-19:

电子科技大学微机实验报告[含思考题]河畔下的哈]实验

电子科技大学微机实验报告[含思考题]河畔下的哈]实验

实验三ARM汇编实现串口通信实验1.掌握ARM 的串行口工作原理。

2.学习编程实现ARM和PC机的UART通信。

3.掌握ARM裸机下汇编语言编程方法。

1.学习串行通信原理,了解串行通信控制寄存器。

2.编程实现ARM 和计算机之间的串行通信。

1、ARM汇编基础2、ARM处理器通用IO口的操作? 硬件:ARM嵌入式开发平台,PC 机一台,并口线,串口线,JTAG板? 软件:RVDS,H-JTAG1.异步串行I/O异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。

数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线(输入,输出)即可进行。

2.串口通信流程串口通信就是读写寄存器的操作,通过配置相关寄存器,查询寄存器就可以操作串口通信。

需要配置的寄存器有系统时钟,UART行控制寄存器,UART控制寄存器,UART FIFO控制寄存器,UART MODEM控制寄存器,UART波特率控制寄存器;需要查询的寄存器是发送/接收状态寄存器。

1. 打开CodeWarrior for RVDS,建立一个工程,通过查S3C2440处理器手册的UART通信寄存器,serialcommutication.s文件中添加代码实现串口通信传输2. 设置工程配置选项,Language Setting->Realview Assembler和Realview Compiler中的Architecture设置为ARM920T,配置RVDS下的连接器Linker->Realview Linker中的RO Base 为0x300000003.编译和调试工程。

4. 连接PC和实验板的并口,串口;并口连接至ARM的JTAG口,串口连接至COM PORT 口;打开电源;打开H-JTAG程序(。

5. 点击调试器Dubeg->Run,运行程序,打开超级终端,在开始->程序->附件->通讯里打开超级终端,使用COM1,设置波特率115200,8位数据位,无奇偶校验,1位停止位,无数据流控制。

微机系统实验报告材料

微机系统实验报告材料

电子科技大学实验报告实验一汇编语言编程实验一、实验目的(1)掌握汇编语言的编程方法(2)掌握 DOS 功能调用的使用方法(3)掌握汇编语言程序的调试运行过程二、实验设备PC 机一台。

三、实验容1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。

2. 在屏幕上显示自己的学号信息。

3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。

4. 自主设计输入显示信息,完成编程与调试,演示实验结果。

四、实验源码DA TA SEGMENTDISCHA DB'WangHan 14030188004',0AH,0DH,'$'TAB DB' ',0AH,0DH,'$'BLANK DB' $'DA TA ENDSSTACK SEGMENTSTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACKSTART:MOV AX,SEG DISCHAMOV DS,AXMOV DX,OFFSET DISCHAMOV AH,09HINT 21HNEXT:MOV AH,01HINT 21HCMP AL,'Q'JE ENDSSCMP AL,'q'JE ENDSSMOV BL,ALMOV AX,SEG BLANKMOV DS,AXMOV DX,OFFSET BLANKMOV AH,09HINT 21HMOV BH,0AHMOV DL,BLMOV CL,04HSHR DL,CLCMP DL,BHJNL Q3JMP Q2Q1:ADD DL,07HQ2:ADD DL,30HMOV AH,02HINT 21HMOV DL,BLMOV DH,0FHAND DL,DHCMP DL,BHJNL Q3JMP Q4Q3:ADD DL,07HQ4:ADD DL,30HMOV AH,02HINT 21HMOV AX,SEG TABMOV DS,AXMOV DX,OFFSET TABMOV AH,09HINT 21HMOV CX,0009HLOOP NEXTENDSS:MOV AH,4CHINT 21HCODE ENDSEND START五、程序流程图如下图1.2所示图1.2程序流程图实验二数码转换实验一、实验目的1. 掌握不同进制数及编码相互转换的程序设计方法。

电子科大_实验报告

电子科大_实验报告

一、实验名称计算机组成原理实验二、实验目的1. 理解计算机的基本组成和结构。

2. 掌握计算机硬件各模块的功能和作用。

3. 熟悉计算机指令的执行过程。

4. 通过实验验证计算机组成原理的相关知识。

三、实验内容1. 计算机硬件各模块功能实验2. 指令执行过程实验3. 算术逻辑单元(ALU)实验4. 控制单元实验5. 存储器实验四、实验原理计算机是由硬件和软件两部分组成的。

硬件主要包括中央处理器(CPU)、存储器、输入输出设备等。

软件则是指计算机运行的各种程序和数据。

1. 计算机硬件各模块功能实验计算机硬件各模块功能实验主要是验证计算机硬件各模块的功能和作用。

通过实验,了解计算机硬件的基本组成和工作原理。

2. 指令执行过程实验指令执行过程实验是验证计算机指令的执行过程。

通过实验,掌握计算机指令的执行步骤,理解计算机指令的执行原理。

3. 算术逻辑单元(ALU)实验算术逻辑单元(ALU)实验是验证ALU的功能和作用。

通过实验,了解ALU在计算机中的作用,掌握ALU的运算原理。

控制单元实验是验证控制单元的功能和作用。

通过实验,了解控制单元在计算机中的作用,掌握控制单元的控制原理。

5. 存储器实验存储器实验是验证存储器的功能和作用。

通过实验,了解存储器在计算机中的作用,掌握存储器的存储原理。

五、实验设备及器材1. 计算机组成原理实验箱2. 指示灯3. 连接线4. 信号发生器5. 示波器6. 万用表六、实验过程及数据记录1. 计算机硬件各模块功能实验(1)观察实验箱中各个模块的连接情况,记录各个模块的名称和功能。

(2)按照实验指导书的要求,进行各个模块的实验操作,观察各个模块的工作情况,记录实验结果。

2. 指令执行过程实验(1)按照实验指导书的要求,设置实验参数,观察指令执行过程中的各个阶段。

(2)记录指令执行过程中的各个阶段的时间,分析指令执行过程。

3. 算术逻辑单元(ALU)实验(1)观察实验箱中ALU的连接情况,了解ALU的输入输出端口。

电子科技大学微机实验报告含思考题河畔下的哈实验.docx

电子科技大学微机实验报告含思考题河畔下的哈实验.docx

实验一ARM汇编基础实验1.掌握ARM汇编指令2.学习掌握C与汇编混合编程基础3.熟练使用ARM调试工具RVDS进行调试操作1.熟悉ARM汇编2.用ARM汇编实现1+2+...+N3.C调用汇编实验(实现字符串拷贝功能)4.汇编调用C实验5.ARM汇编实现冒泡算法(选做)1.ARM汇编、C语言2.RVDS工具硬件:PC机PentiumlOO以上软件:Windows操作系统,RVDS软件1.在汇编中使用C定义的全局变量在汇编和C之间进行一些数据的传递,最简便的办法就是使用全局变量。

在汇编中调用C中定义的全局变量,需要在汇编中IMPORT对应的全局变量。

IMPORT伪指令用于通知编译器要使用的标号或变量在其他的源文件中定义。

例如:汇编文件asmfile.s想调用C文件cfile.c中定义的全局变量a,则在汇编文件asmfile.s 前面要添加:IMPORT a2.在汇编中调用C的函数要在汇编中调用C文件中定义的函数,主要做两方面的工作:首先:需要在汇编中IMPORT对应的C函数名。

其次:在调用该C函数之前还需要通过汇编语言传递该函数的参数。

C和汇编之间的参数传递是通过ATPCS (ARM Thumb Procedure Call Standard)的规定来进行的。

简单的说就是如果函数有不多于四个参数,对应的用ARM寄存器R0-R3来进行传递, 多于4个时借助栈。

函数的返回值通过R0来返回。

3.在C中调用汇编的函数在C中调用汇编文件中的函数,要做的主要工作有两个:一:是在C中声明函数原型,并加extern关键字;二:是在汇编中用EXPORT导出函数名,并用该函数名作为汇编代码段的标识,最后用mov pc, lr返回。

然后,就可以在C中使用该函数了。

EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其他的文件中引用。

1、用ARM汇编实现l+2+-.n的运算。

2、理解C和汇编,并用汇编程序实现字符串拷贝,并在C程序中调用该汇编程序。

微机原理及应用实验报告

微机原理及应用实验报告

微机原理及应用实验报告实验名称:微机原理及应用实验实验目的:通过实际操作,学习微机原理及应用,了解微机硬件组成和工作原理,掌握微机汇编语言的基本操作及应用。

实验器材与软件:电脑、汇编语言编译软件、实验板、示波器。

实验内容:1.微机硬件组成及工作原理-学习微机硬件包括中央处理器(CPU)、存储器(RAM和ROM)、输入输出设备(I/O)等组成部分。

-了解CPU的工作原理,包括指令译码、执行和数据传输。

-掌握存储器的分类和作用,了解RAM的读写操作和ROM的存储功能。

-理解输入输出设备的工作原理,例如键盘、显示器、串口等。

2.微机汇编语言基础-学习汇编语言的基本语法和指令格式。

-掌握汇编语言中的数据存储和操作方法。

-学习汇编语言的控制结构,包括顺序、选择和循环结构。

3.实验操作-实验前准备:连接实验板、示波器和电脑,启动汇编语言编译软件。

-编写简单的汇编程序,例如实现两个数字相加的功能。

-编译和调试汇编程序,观察电路的输出情况。

-修改程序代码,实现其他功能,例如实现数字的乘法和除法。

实验结果与分析:根据实验内容,我们成功学习了微机硬件组成和工作原理,掌握了汇编语言的基础知识并进行了实际操作。

在实验过程中,我们发现CPU是整个微机系统的核心,通过执行指令和数据操作来实现各种功能。

存储器用于存储程序和数据,RAM可以读写操作,而ROM只能读取。

输入输出设备是与外部环境进行数据交互的媒介。

通过编写简单的汇编程序,例如实现两个数字相加的功能,我们深入了解了汇编语言的语法和指令格式。

在编译和调试过程中,我们发现对于了解指令执行的效率和结果的正确性非常重要。

在修改程序代码的过程中,我们扩展了功能,例如实现数字的乘法和除法。

在这个过程中,我们学会了如何在程序中使用循环结构和控制结构。

总结与心得:通过本次实验,我们深入了解了微机原理及应用的相关知识。

通过实际操作,我们掌握了微机的硬件组成和工作原理,学会了使用汇编语言编写和调试程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五基于ARM的模块方式驱动程序实验【实验目的】1.掌握Linux 系统下设备驱动程序的作用与编写技巧2.掌握Linux 驱动程序模块加载和卸载的方法3.了解Linux 内核中的makefile和kconfig文件【实验内容】1.基于s3c2440 开发板编写led 驱动程序。

2.将编写好的led驱动加入linux内核中,修改makefile和kconfig文件,配置和编译内核。

3.编写关于led 的测试程序,交叉编译后运行,控制led 灯的亮灭。

【预备知识】1.了解ARM9处理器结构和Linux 系统结构2.熟练掌握C语言。

【实验设备和工具】⏹硬件:ARM嵌入式开发平台,PC机Pentium100 以上。

⏹软件:PC机Linux操作系统+MINICOM+AMRLINUX 开发环境【实验原理】⏹linux设备驱动程序⏹驱动的模块式加载和卸载⏹编译模块⏹装载和卸载模块⏹led 驱动的原理在本开发板上有八个led指示灯,从下往上分别为LED0-LED7。

这八个led灯都是接的芯片上的gpio口(通用功能输入输出口)。

在本实验的开发板硬件设计中,当led 灯对应的gpio的电平为低时,led灯被点亮;当led灯对应的gpio的电平为高时,led灯灭。

本驱动的作用就是通过设置对应gpio口的电平来控制led 的亮灭。

因为ARM 芯片内的GPIO口都是复用的,即它可以被配置为多种不同的功能,本实验是使用它的普通的I/O口的输出功能,故需要对每个GPIO口进行配置。

在内核中已经定义了对GPIO口进行配置的函数,我们只需要调用这些函数就可以完成对GPIO口的配置。

【实验步骤】实验程序运行效果:程序会提示:“p leaseenterthe led stat us”输入与希望显示的led状态对应的ledstatus值(输入十进制值即可),观察led 的显示情况。

例如:⏹输入数字“3”,对应的二进制数字为00000011故点亮LED2~LED7⏹输入数字“4”,对应的二进制数字为00000100故点亮LED0,LED1,LED3~LED7【实验结果和程序】C语言程序:#include<linux/config.h>#include<linux/module.h>#include<linux/kernel.h>#include<linux/devfs_fs_kernel.h>#include<linux/fs.h>#include<linux/init.h>#include<linux/device.h>#include<linux/cdev.h>#include<asm/hardware.h>#include<asm/delay.h>#include<asm/uaccess.h>#include<asm/arch/regs-gpio.h>#include<asm/arch/hardware.h>#defineDEVICE_NAME "s3c2440-led"static intLedMajor=231;staticintLedMinor=0;static charledstatus=0xff;staticstructclass*s3c2440_class;staticstructcdev *s3c2440_led_cdev;/******************************************************************************** ************************** Function name:Update_led()**Descriptions :update the led status**Input :NONE**Output :NONE******************************************************************************* *************************/staticvoid Update_led(void){if(ledstatus&0x01)s3c2410_gpio_setpin(S3C2410_GPC7,1); //LED0灭elses3c2410_gpio_setpin(S3C2410_GPC7,0); //LED0亮if(ledstatus&0x02)s3c2410_gpio_setpin(S3C2410_GPC5,1); //LED1灭elses3c2410_gpio_setpin(S3C2410_GPC5,0); //LED1亮if(ledstatus&0x04)s3c2410_gpio_setpin(S3C2410_GPH9,1); //LED2灭elses3c2410_gpio_setpin(S3C2410_GPH9,0); //LED2亮if(ledstatus&0x08)s3c2410_gpio_setpin(S3C2410_GPB4,1); //LED3灭elses3c2410_gpio_setpin(S3C2410_GPB4,0); //LED3亮if(ledstatus&0x10)s3c2410_gpio_setpin(S3C2410_GPG5,1); //LED4灭elses3c2410_gpio_setpin(S3C2410_GPG5,0); //LED4亮if(ledstatus&0x20)s3c2410_gpio_setpin(S3C2410_GPG6,1); //LED5灭elses3c2410_gpio_setpin(S3C2410_GPG6,0); //LED5亮if(ledstatus&0x40)s3c2410_gpio_setpin(S3C2410_GPG7,1); //LED6灭elses3c2410_gpio_setpin(S3C2410_GPG7,0); //LED6亮if(ledstatus&0x80)s3c2410_gpio_setpin(S3C2410_GPG8,1); //LED7灭elses3c2410_gpio_setpin(S3C2410_GPG8,0); //LED7亮}staticssize_ts3c2440_Led_write(structfile*file,constchar*buffer,size_tcount,loff_t*ppos) {copy_from_user(&ledstatus,buffer,sizeof(ledstatus));Update_led();printk("write: led=0x%x,count=%d\n",ledstatus,count);returnsizeof(ledstatus);}staticints3c2440_Led_open(structinode*inode,struct file *filp){printk("led device open\n");return 0;}staticints3c2440_Led_release(structinode*inode,struct file*filp){printk("led device release\n");return 0;}staticstructfile_operationss3c2440_fops={.owner=THIS_MODULE,.open=s3c2440_Led_open,.write=s3c2440_Led_write,.release=s3c2440_Led_release,};staticintinits3c2440_Led_init(void){int ret;dev_ts3c2440_leds_devno;/*configure the gpiofor leds*/s3c2410_gpio_cfgpin(S3C2410_GPG5,S3C2410_GPIO_OUTPUT);s3c2410_gpio_cfgpin(S3C2410_GPG6,S3C2410_GPIO_OUTPUT);s3c2410_gpio_cfgpin(S3C2410_GPG7,S3C2410_GPIO_OUTPUT);s3c2410_gpio_cfgpin(S3C2410_GPG8,S3C2410_GPIO_OUTPUT);s3c2410_gpio_cfgpin(S3C2410_GPC7,S3C2410_GPIO_OUTPUT);s3c2410_gpio_cfgpin(S3C2410_GPC5,S3C2410_GPIO_OUTPUT);s3c2410_gpio_cfgpin(S3C2410_GPH9,S3C2410_GPIO_OUTPUT);s3c2410_gpio_cfgpin(S3C2410_GPB4,S3C2410_GPIO_OUTPUT);Update_led();/*registerthe devnumber*/s3c2440_leds_devno=MKDEV(LedMajor,LedMinor);ret=register_chrdev_region(s3c2440_leds_devno, 1,DEVICE_NAME);/*registerthe chardevice*/s3c2440_led_cdev=cdev_alloc(); if(s3c2440_led_cdev!= NULL){cdev_init (s3c2440_led_cdev, &s3c2440_fops);s3c2440_led_cdev->owner=THIS_MODULE;if(cdev_add(s3c2440_led_cdev, s3c2440_leds_devno, 1))printk(KERN_NOTICE "Something wrong when addings3c2440_led_cdev!\n");elseprintk("Success addings3c2440_led_cdev!\n");}/*create the device node in /dev*/s3c2440_class =class_create(THIS_MODULE, "led_class");class_device_create(s3c2440_class, NULL, s3c2440_leds_devno, NULL, DEVICE_NAME);printk(DEVICE_NAME " initialized\n");return 0;}staticvoid exits3c2440_Led_exit(void){cdev_del(s3c2440_led_cdev);class_device_destroy(s3c2440_class, MKDEV(LedMajor,LedMinor));class_destroy(s3c2440_class);printk(DEVICE_NAME " removed\n");}module_init(s3c2440_Led_init);module_exit(s3c2440_Led_exit);【思考题】1. 设备驱动程序的功能是什么?答:设备驱动的功能就是将系统提供的调用映射到作用于实际硬件的和设备相关的操作上。

相关文档
最新文档