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

合集下载

电子科大微嵌实验报告四

电子科大微嵌实验报告四

电子科技大学实验报告课程名称微处理器系统与嵌入式系统综合实验实验名称基于ARM的模块方式驱动程序实验任课教师实验教师姓名学号实验地点科B239 分组号时间年月日一、实验目的1.掌握Linux系统下设备驱动程序的作用与编写技巧2.掌握Linux驱动程序模块加载和卸载的方法3.了解ps与pl之间的通信方法二、实验内容1.基于ees331开发板编写led驱动程序。

2.编写led驱动,修改makefile,并将led驱动动态加载入linux内核中。

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

三、实验步骤1.在vivado里搭建好硬件工程,包括:led、sw和uart模块。

(详见实验2)2.搭建好后生成比特流文件,利用SDK软件将fsbl文件、比特流文件、u-boot文件生成boot.bin启动文件。

(详见实验2)3.在led目录下,编写led驱动源代码,修改三个部分:1)添加led的地址:/* Modify the address to your peripheral */#define ees331_led_PHY_ADDR/* Modify the address to your peripheral */led驱动的初始化函数为如下:int __init ees331_led_init(void){int ret;GPIO_Regs = ioremap(ees331_led_PHY_ADDR, 32);ret = misc_register(&ees331_led_dev);if (ret){printk("ees331_led:[ERROR] Misc device register failed\n");return ret;},printk("ees331_led: success! Module init complete\n");iowrite32(255, GPIO_Regs);return 0; /* Success */}2)添加控制函数的代码,如下:static int ees331_led_ioctl(struct file *filp, unsigned int reg_num, unsigned long arg){/* Add your code here *///通过led地址给led寄存器赋值/* Add your code here */return 0;}3)在驱动的文件操作结构体添加代码,如下static const struct file_operations ees331_led_fops ={.owner = THIS_MODULE,/* Add your code here */.open =,.release =,.read =,.unlocked_ioctl =,/* Add your code here */};4.打开Makefile 文件,修改其中部分,加入交叉编译器和内核源码树目录,如下。

微机系统实验报告

微机系统实验报告

西安电子科技大学实验报告实验一汇编语言编程实验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 的显示情况。

电子科技大学实验报告

电子科技大学实验报告
五、实验内容:
(一)用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的使用

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

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

电⼦科技⼤学中⼭学院微处理器实验报告(4)
微处理器实验报告
2.编写⼀段程序,⽤P0⼝作为控制端⼝,使实验箱的LED轮流点亮(⾛马灯)。

⽤定时⾛马灯切换速度。

ORG 0000H
LJMP MAIN
ORG 000BH
LJMP ZIT0
ORG 0100H
MAIN: MOV SP,#60H
MOV TMOD,#01H
3 . 30
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP ZIT0
ORG 0100H
MAIN: MOV SP,#60H
MOV TMOD,#01H
MOV TH0,#8AH
MOV TL0,#0D0H
MOV R6,#50
MOV R7,#0FEH ;准备点亮第⼀只发光管
SETB ET0
五、解答题
1、修改R6=0或1时,观察⾛马灯的速度快慢:
答:0时很慢,1时很快。

2、ZRET处没有重置初值时的⾛马灯的速度与 ZRET处有重置初值时的⾛马灯的速度的⽐较:答:ZRET处没有重置初值时很慢,ZRET处有重置初值时很快。

3、R6=50时,改变T0的初值,设为最⼤、最⼩时,⽐较⾛马灯的速度:
答:很快。

4、去掉R6的软件辅助延时,是否可以?速度怎样?
答:可以,很快,。

微机实验 交通灯实验报告

微机实验 交通灯实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《微机》实验报告格式

《微机》实验报告格式

《微机》实验报告格式《微机原理及应用》实验报告班级:08电科(1)学号:Xb08640103 姓名:李飞实验时间:4月12号同组同学:陈庆奇实验成绩:实验名称:实验一清零程序一、实验目的:1、掌握8088汇编语言程序设计和调试方法,熟悉键盘操作。

2、掌握汇编语言设计和调试方法。

进一步掌握汇编语言设计和调试方法。

二、实验内容:1、把RAM区内4000H~40FFH单元的内容清零。

2、把4000H的内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H 高位清零,一般本程序用于把数据送显示缓冲区时用。

3、把4000H、4001H的低位分别送入4002H高低四位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。

三、程序框图及电路连接图程序1:程序2:程序3:四、源程序清单(注释部分请手写)程序1:汇编语言源程序结构部分CODE SEGMENT ASSUME CS:CODE ORG 3000H行数标号指令;注释1 S1 MOVBX,4000H2 MOVAX,0000H3 MOVCX,0080H4 XOR AX,AX5 L1 MOV [BX],AX6 INC BX7 INC BX8 DEC CX9 JNZ L110 JMP $汇编语言源程序结构部分CODE ENDS END S1程序2:程序1:汇编语言源程序结构部分CODE SEGMENTASSUMECS:CODE,DS:CODE,ES:CODEORG 3020H行数标号指令;注释1 S2 MOV BX,4000H2 MOV AL,[BX]3 MOV AH,AL4 MOV CL,45 SHR AH,CL6 INC BX7 MOV [BX],AH8 AND AL,0FH9 INC BX10 MOV [BX],AL11 JMP $汇编语言源程序结构部分CODE ENDSEND S2程序2:程序1:汇编语言源程序结构部分CODE SEGMENT ASSUMECS:CODE,DS:CODE,ES:CODEORG 3040H行数标号指令;注释1 S3 MOV BX,4000H2 MOV AX,[BX]3 AND AL,0FH4 MOV CL,45 SHL AL,CL6 OR AL,AH7 ADD BX,28 MOV [BX],AL9 JMP $汇编语言源程序结构部分CODE ENDSEND S3五、程序运行结果程序1结果:把RAM区内4000H~40FFH单元的内容清零。

电子科大实验报告

电子科大实验报告

一、实验名称计算机组成原理实验二、实验目的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. 通过搭建计算机硬件系统,了解了计算机各个部件的功能和相互关系,掌握了计算机硬件系统的基本原理。

微机原理与系统设计实验四

微机原理与系统设计实验四

实验1 继电器控制实验一、实验目的1、了解微机控制直流继电器的一般方法。

2、进一步熟悉使用8255、8253。

二、实验所用仪器(或实验环境)计算机、微机原理实验箱、USB接口模块、汇编语言开发软件等三、实验原理将8253 计数器0 设置为方式3、计数器1 设置为方式0 并联使用,CLK0 接1MHZ 时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1 输出高电平。

通过8255 的PA0口查询OUT1的输出电平,用C 口PC0输出开关量控制继电器动作。

继电器开关量输入端输入“1”时,继电器常开触点闭合,发光二极管接通,指示灯亮,输入“0”时断开,指示灯灭。

四、实验内容1、使用8254定时,让继电器周而复始的闭合5 秒钟(指示灯灯亮),断开5 秒钟(指示灯灯)。

2、改变指示灯亮灭的周期为2s,改用PC7口控制继电器。

五、方案设计1、实验接线及分析接线:8255/CS 接I/O 地址译码/Y1(288H---28FH)8255/PC0 接继电器8255/PA0 接8254/OUT18254/CS 接I/O 地址译码/Y0(280H---287H)8254/CLK0 接时钟/1MHz8254/OUT0 接8254/CLK18254/GATE0,1 接+5V硬件电路分析:(包括端口地址分析)2、实现该内容的方案(或原理)3、画出流程图六、实验程序设计;***************************;;* 继电器控制 *;;***************************;io8253a equ 280hio8253b equ 281hio8253c equ 283hio8255a equ 288hio8255c equ 28ahio8255ctl equ 28bhcode segmentassume cs:codestart: mov dx,io8255ctlmov al,90hlll: out dx,almov dx,io8255cmov al,01 ;将PC0置位out dx,alcall delay ;延时5smov al,0 ;将PC0复位out dx,alcall delay ;延时5sjmp lll ;转llldelay proc near ;延时子程序push dxmov dx,io8253c ;设8254计数器为方式3 mov al,36hout dx,almov dx,io8253amov ax,10000 ;写入计数器初值10000 out dx,almov al,ahout dx,almov dx,io8253cmov al,70h ;设计数器1为工作方式0out dx,almov dx,io8253bmov ax,500 ;写入计数器初值500out dx,almov al,ahout dx,alll2: mov ah,06 ;是否有键按下mov dl,0ffhint 21hjne exit ;若有则转exitmov dx,io8255ain al,dx ;查询8255的Pa0是否为高电平 and al,01hjz ll2 ;若不是则继续pop dxret ;定时时间到,子程序返回exit: mov ah,4chint 21hdelay endpcode endsend start七、实验结果分析及回答问题八、实验总结与心得体会实验2 电子琴实验一、实验目的1、通过8253 产生不同的频率信号,使PC 机成为简易电子琴。

大学微机原理实验报告(3篇)

大学微机原理实验报告(3篇)

第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工具对汇编程序进行调试,查找并修正错误。

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

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

电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验班级:姓名:学号:组别:实验名称:实验四可编程并行接口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.串行通信要设定共同波特率。

微机原理实验报告

微机原理实验报告

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

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

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的嵌入式Linux开发环境建立
【实验目的】
1. 掌握嵌入式Linux 开发环境的基本流程。

2. 熟悉Linux 操作系统
3. 熟悉嵌入式开发平台
【实验内容】
在PC机虚拟机下的Linux系统中建立基于ARM 的嵌入式Linux 开发环境。

1. 学会网口的配置
2. Minicom端口的使用
【预备知识】
1.了解ARM9处理器结构
2.了解Linux 系统结构
3. 了解ARM开发板使用常识
【实验设备和工具】
硬件:PC机Pentium100以上,ARM嵌入式开发平台
软件:PC机Linux 操作系统+MINICOM+AMRLINUX开发环境
【实验原理】
1.交叉编译器在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。

简单地说,就是在一个平
台上生成另一个平台上的可执行代码。

这里需要注意的是所谓平台,实际上包含两个概念:
体系结构
(Architecture)、操作系统(OperatingSystem)。

同一个体系结构可以运行不同的操作
系统;同样,同一个操作系统也可以在不同的体系结构上运行。

举例来说,我们常说的x86 Linux平台实际上是Intelx86体系结构和Linuxforx86操作系统的统称;而x86WinNT平台
实际上是Intelx86体系结构和Windows NTforx86操作系统的简称。

交叉编译这个概念的
出现和流行是和嵌入式系统的广泛发展同步的。

我们常用的计算机软
件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码)编译(compile)成计算机可以识别和执行的二进制代码。

比如,我们在Windows平台上,可使用Visual C++ 开发环境,编写程序并编译成可执行程序。

这种方式下,我们使用PC平台上的Windows工
具开发针对Windows本身的可执行程序,这种编译过程称为nativecompilation,中文可理

为本机编译。

然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储
空间和运算能力,比如常见的ARM平台,其一般的静态存储空间大概是16到32MB,而CPU
的主频大概在100MHz到500MHz之间。

这种情况下,在ARM平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilationtoolchain)需要很大的存储空间,并需要很强
的CPU运算能力。

为了解决这个问题,交叉编译工具就应运而生了。

通过交叉编译工具,我
们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台

可执行程序。

要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(crosscompilation tool-chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运
行的代码。

常见的交叉编译例子如下:
1、在WindowsPC上,利用RVDS(ARM开发环境),使用armcc编译器,则可编译出针对ARMCPU
的可执行代码。

2、在LinuxPC上,利用arm-linux-gcc编译器,可编译出针对LinuxARM平台的可执行代码。

3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARMCPU
的可执行代码。

2.NFS服务
NFS是Net FileSystem的简写,即网络文件系统.
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网
络上与它人共享目录和文件。

通过使用NFS,用户和程序可以像访问本地文件一样访问远端

统上的文件。

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。

客户机远程访问存放在
服务器上的数据。

为了正常工作,一些进程需要被配置并运行。

在本实验中就是将PC机作为服务器,而将ARM开发板作为客户机,这样ARM开发板就可以远

访问存放在在PC机上的数据,这样可以缩短研发周期,更方便的调试程序。

【实验步骤】
1. 双击桌面上VMWARE,打开Linux 虚拟机
2. 点击启动虚拟机,启动虚拟机
3. 以root身份登陆虚拟机,密码123456
4. 其他步骤详见实验指导书
【实验结果和程序】
基于ARM 的嵌入式Linux开发环境建立完毕。

【思考题】
1.如何验证交叉编译器已安装成功?
答:在终端输入命令:cd/arm/rootfs/home/driver(文件夹里已有test_led.c文件)
arm-linux-gcc–o test_ledtest_led.c
若有可执行文件test_led生成则表示交叉编译器已安装成功
2.如果我们需要变更根文件系统的目录,该如何设置使得ARM开发板可以成功挂载?答:
修改/etc/exports 文件的内容,将/arm/rootfs*(rw,sync,no_root_squash) 改为/XX/XXX
*(rw,sync,no_root_squash)(/XX/XXX 为变更后点的文件目录)
3.怎么在u-boot命令行下修改ARM 开发板的IP?
答:输入setenvip=x.x.x.x:192.168.0.1:192.168.0.1:255.255.255.0:uestc:eth0:off Saveenv
x,x,x,x 为ARM开发板的新IP。

【实验结论】
本实验实现了基于ARM 的嵌入式Linux 开发环境建立。

相关文档
最新文档