微机原理实验报告E02

合集下载

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

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

第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。

二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。

2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。

3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。

4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。

5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。

6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。

微机原理实训报告完整

微机原理实训报告完整

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载微机原理实训报告完整地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。

为以后学生结合专业从事微机应用设计奠定基础。

二、设计的原始资料及依据(1)查阅微机原理及应用、汇编语言程序设计等书籍;(2)掌握字符串的输入,输出和排序。

三、设计的主要内容及要求内容:从PC键盘输入5个字符串,排序及显示要求1)输入5个字符串。

2)对输入的字符串进行排序并正确显示。

四、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

2.学生应撰写的内容为:目录、正文、参考文献等。

课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.说明书(论文)手写或打印均可。

手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。

4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、总结、参考文献。

五、设计完成后应提交成果的种类、数量、质量等方面的要求;提交课程设计说明书一份。

在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。

六、时间进度安排;沈阳工程学院微机原理及汇编语言程序设计程设计成绩评定表系(部):信息学院班级:学生姓名:目录TOC \o "1-3" \h \z \uHYPERLINK \l "_Toc359478386" 第1章绪论 PAGEREF_Toc359478386 \h 1HYPERLINK \l "_Toc359478387" 1.1 背景 PAGEREF_Toc359478387 \h 1HYPERLINK \l "_Toc359478388" 1.2 设计目的与任务 PAGEREF _Toc359478388 \h 1HYPERLINK \l "_Toc359478389" 1.2.1 本课程设计的目的 PAGEREF _Toc359478389 \h 1HYPERLINK \l "_Toc359478390" 1.2.2 本课程设计的任务 PAGEREF _Toc359478390 \h 1HYPERLINK \l "_Toc359478391" 第2章汇编语言的运行环境及运行步骤 PAGEREF _Toc359478391 \h 2HYPERLINK \l "_Toc359478392" 2.1 汇编语言的起源 PAGEREF _Toc359478392 \h 2HYPERLINK \l "_Toc359478393" 2.2 汇编语言的特点 PAGEREF _Toc359478393 \h 2HYPERLINK \l "_Toc359478394" 2.2.1 能够保持机器语言的一致性,直接、简捷 PAGEREF _Toc359478394 \h 2HYPERLINK \l "_Toc359478395" 2.2.2 目标代码简短,占用内存少,执行速度快 PAGEREF _Toc359478395 \h 2HYPERLINK \l "_Toc359478396" 2.2.3 汇编语言是面向机器的PAGEREF _Toc359478396 \h 2HYPERLINK \l "_Toc359478397" 2.2.4 难于从汇编语言代码上理解程序设计意图,可维护性差 PAGEREF _Toc359478397 \h 2HYPERLINK \l "_Toc359478398" 2.2.5 高速度和高效率 PAGEREF _Toc359478398 \h 2HYPERLINK \l "_Toc359478399" 2.3 汇编语言的运行环境 PAGEREF _Toc359478399 \h 3HYPERLINK \l "_Toc359478400" 2.4 汇编语言的运行步骤 PAGEREF _Toc359478400 \h 3HYPERLINK \l "_Toc359478401" 第3章总体设计思路 PAGEREF _Toc359478401 \h 6HYPERLINK \l "_Toc359478402" 3.1 功能设计分析 PAGEREF_Toc359478402 \h 6HYPERLINK \l "_Toc359478403" 3.1.1 设计思路分析 PAGEREF _Toc359478403 \h 6HYPERLINK \l "_Toc359478404" 3.1.2 系统功能分析: PAGEREF _Toc359478404 \h 6HYPERLINK \l "_Toc359478405" 3.2 总体设计分析 PAGEREF_Toc359478405 \h 6HYPERLINK \l "_Toc359478406" 3.2.1 系统功能模块图 PAGEREF _Toc359478406 \h 6HYPERLINK \l "_Toc359478407" 3.2.2 具体设计方案 PAGEREF _Toc359478407 \h 6HYPERLINK \l "_Toc359478408" 第4章程序实现 PAGEREF_Toc359478408 \h 8HYPERLINK \l "_Toc359478409" 4.1 运行程序 PAGEREF_Toc359478409 \h 8HYPERLINK \l "_Toc359478410" 4.1.1 单步运行 PAGEREF_Toc359478410 \h 8HYPERLINK \l "_Toc359478411" 4.1.2 暂停执行程序 PAGEREF _Toc359478411 \h 8HYPERLINK \l "_Toc359478412" 4.1.3 连续运行程序 PAGEREF _Toc359478412 \h 8HYPERLINK \l "_Toc359478413" 4.2 各个模块程序流程图设计PAGEREF _Toc359478413 \h 9HYPERLINK \l "_Toc359478414" 4.2.1 第一模块输入字符串PAGEREF _Toc359478414 \h 9HYPERLINK \l "_Toc359478415" 4.2.2 第二模块字符串排序PAGEREF _Toc359478415 \h 9HYPERLINK \l "_Toc359478416" 4.2.3 第三模块输出字符串PAGEREF _Toc359478416 \h 10HYPERLINK \l "_Toc359478417" 第5章遇到问题及解决方法PAGEREF _Toc359478417 \h 12HYPERLINK \l "_Toc359478418" 5.1 所遇到的问题 PAGEREF_Toc359478418 \h 12HYPERLINK \l "_Toc359478419" 5.2 对应问题的解决方法 PAGEREF _Toc359478419 \h 12HYPERLINK \l "_Toc359478420" 总结 PAGEREF_Toc359478420 \h 13HYPERLINK \l "_Toc359478421" 致谢 PAGEREF_Toc359478421 \h 14HYPERLINK \l "_Toc359478422" 参考文献 PAGEREF_Toc359478422 \h 15HYPERLINK \l "_Toc359478423" 附录 PAGEREF_Toc359478423 \h 16HYPERLINK \l "_Toc359478424" 源程序代码: PAGEREF_Toc359478424 \h 16第1章绪论1.1 背景计算机技术作为信息化的核心技术受到全社会的普遍重视。

微机原理实验报告

微机原理实验报告

微机原理实验报告概述:微机原理是计算机科学与技术专业中的一门重要课程,通过实验学习,可以加深对计算机内部运行原理的理解,提高软硬件的开发和调试能力。

本实验报告将介绍我对微机原理实验的学习和思考。

实验一:二进制转换实验在这个实验中,我首先了解了二进制数的概念以及其和十进制数的转换方法。

通过实际操作,我加深了对计算机内部数据表示方式的理解。

这对于后续学习计算机系统结构和编程语言至关重要。

实验二:逻辑门电路实验逻辑门电路是计算机硬件的基础组成部分,通过实验,我学会了使用逻辑门芯片构建各种逻辑电路,并能够通过真值表分析和验证逻辑电路的正确性。

这对于理解计算机内部的数据处理和控制逻辑有着直接的帮助。

实验三:运算器设计实验在这个实验中,我通过学习和设计算术逻辑单元(ALU),了解了计算机的算术操作过程,并能够通过运算器实现基本算术运算。

这对于理解计算机内部数据的处理和计算机指令的执行有着重要的意义。

实验四:存储器与外设实验存储器是计算机系统的重要组成部分,通过实验,我深入了解了存储器的类型、组织结构和访问方式,并通过外设与存储器的交互,实践了计算机系统的输入和输出过程。

实验五:微处理器实验微处理器是计算机系统中最核心的部件,通过实验,我学习了微处理器的基本运行原理,能够通过汇编语言编写程序,并通过微处理器执行程序实现特定的功能。

这个实验为我今后学习计算机体系结构和操作系统打下了坚实的基础。

实验总结:通过这几个实验,我深入了解了微机原理课程的实践内容和相关知识。

实验的过程中,我不仅学会了使用仪器设备和工具,还培养了自己的动手能力和团队合作精神。

通过不断的实践,我对计算机内部结构和运行原理有了更深刻的理解,也提高了我的问题解决能力和创新思维。

未来展望:微机原理实验的学习只是计算机科学与技术专业中的一小部分。

我希望在今后的学习过程中能加深对计算机体系结构、操作系统、编程语言等方面的学习,并不断深入钻研,成为一名优秀的计算机科学与技术专业人才。

微机原理实验报告_2

微机原理实验报告_2

实验一汇编语言的编译、链接和调试一、实验目的1、学会使用masm对汇编源程序进行编译、链接、调试、运行。

2、掌握汇编语言的程序格式。

3、巩固所学的汇编语言指令。

二、实验环境1、硬件:PC 微机2、软件:宏汇编MASM 软件三、实验原理1、汇编语言程序的上机与处理过程2、汇编语言的程序格式(1)汇编程序一般由若干段组成,每个段都有一个名字,以SEGMENT作为段的开始,以ENDS作为段的结束,这两者前要冠以相同的名字作为段名。

(2)代码段和堆栈段必不可少,数据段和附加段可根据需要设置。

堆栈段的SEGMENT之后有关键字STACK。

代码段中有伪指令ASSUME告诉汇编程序,在各种指令执行时所要访问的各段寄存器将分别对应哪一段。

(3)源程序的每一段是由若干行汇编语句组成,每一行只有一条语句,且不能超过128个字符,但一条语句允许有后续行,最后均以回车结束。

(4)整个源程序必须以END语句结束,它通知汇编程序停止汇编。

四、实验内容进入DOS环境中相应的目录下。

如汇编软件的文件来为:D:\MASM,则对应的操作为(1)选择windows的“开始”→“程序”→“附件”→“命令提示符”(2)在DOS命令提示符下输入如下命令(其中带下划线部分为输入内容)。

C:\Documents and Settings\new>D:D:\>CD MASMD:\MASM>EDIT TEXT.ASM进入编辑程序,在其环境下输入编好的源程序,然后在盘上生成一个扩展名为.asm的文件。

程序示例DATA SEGMENTDA1 DB 10H,20H,30H,40HDA2 DB 0F0H,0B0H,0A0H,90HDA3 DB 00H,00H,00H,00HDATA ENDSSTACK1 SEGMENT PARA STACKDB 10 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV AL,[DA1]ADD AL,[DA2]MOV [DA3],ALMOV AL,[DA1+1]ADC AL,[DA2+1]MOV [DA3+1],ALMOV AL,[DA1+2]ADC AL,[DA2+2]MOV [DA3+2],ALMOV AL,[DA1+3]ADC AL,[DA2+3]MOV [DA3+3],ALCODE ENDSEND START3. 用宏汇编程序MASM,将扩展名为.ASM的源程序汇编成目标程序,即生成盘上扩展名为.OBJ的文件。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

微机原理与接口技术实验报告二

微机原理与接口技术实验报告二

微机原理与接口技术实验报告(二)1、实验内容一:实验目的:(1) 阅读《实验操作.ppt》, 学习汇编工具的使用(2) 学习附录的程序代码, 理解并输入、编译和查错3) 学习利用编译错误信息进行附录的程序修改;(程序包含一个语法错误和一个逻辑错误)4)学习程序流程控制: (条件跳转指令ja jb (call指令, 观察程序执行时堆栈的变化(学会用debug –g命令设置断点);5 )学习程序中有限的寄存器的使用。

2.实验内容:(1)打开masm for windows软件, 在其中输入实验要求附给的程序, 保存后运行, 程序报错:(2)经分析发现, “noneeded”没有定义, 改为“notneeded”后正常运行(3)运行过程中发现当字母或数字个数达到两位数时, 统计结果的各位与十位对调了。

如下图, 字母数应为13, 但显示为31(4)经检查, 发现第80行程序有误, inc指令应改为dec指令。

运行后程序正常, 调试完毕。

如下图程序框图如下:实验内容二:1.实验目的及内容:编写完整程序, 实现功能:统计以下字符串STR中空格的数目, 结果保存在COUNT中, 并把个数在屏幕上显示出来。

STR DB ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9'L EQU $-STRCOUNT DB ?(字符串STR可以从这里直接拷贝到程序中)实验结果:程序如下:dispmsg macro messgemov ah,9lea dx,messgeint 21hendmDATA segmenttishi db 0dh,0ah,'the original string is:' string db ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9' STRINGLEN= $-stringnewline db 0dh,0ahNspace db 0dH,0aH,'Number of char space is:',?,?Nsp db ?,'$'DATA endsSTACK segment stack 'stack'sta db 100 dup(?)stack endsCODE segmentASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,seg DATAMOV DS,AXxor cx,cxxor dl,dlmov cl,stringlenlea bx,stringcnt:mov al,[bx]cmp al,' 'jz yesspinc blloop cnt jmp shijinzhiyessp:inc dlinc blloop cntjmp shijinzhishijinzhi:lea bx,Nspmov ah,02hint 21hcall char2asc dispmsg tishiMOV AH,4CHINT 21Hchar2asc procmov dl,10 next: xor ah,ahdiv dladd ah,'0'mov [bx],ahdec bxor al,aljnz nextretchar2asc endpcode endsend startEND START运行结果如下:程序流程图如下:实验中遇到的问题及解决方法:1.汇编语言中寄存器有限, 在使用时注意是否保存寄存器中原有的值, 防止在使用寄存器时将原值改变。

北京工业大学微机原理实验报告2

北京工业大学微机原理实验报告2

北京工业大学微机原理实验报告2微机原理实验报告—实验二熟悉汇编程序建立及其调试方法姓名:学号:一、实验目的1、熟悉汇编语言源程序的框架结构,学会编制汇程序。

2、熟悉汇编语言上机操作的过程,学会汇编程序调试方法。

二、实验内容1、学习编写汇编语言源程序的方法,了解数据存放格式。

2、阅读给出的程序,找出程序中的错误。

3、通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。

三、实验预习1、阅读实验指导第一章的内容,了解汇编语言程序建立、汇编、链接、调试的全过程。

2、下面的汇编语言源程序有错误的,试给程序加注释。

通过调试手段找出程序中的错误并修改之。

写出程序的功能,画出程序流程图。

(1)程序修改前:STACKSG:SEGMENT PARA STACK ‘STACK’ ;不能有冒号DB 256 DUP(?)STACKSG ENDSDATASG: SEGMENT PARA ‘DATA’;不能有冒号BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512DW 23,56,420,75,0,-1024,-67,39,-2000COUNT EQU 20MAX DW ?DATASG ENDSCODESG: SEGMENT ;不能有冒号ASSUME SS:STACKSG , CS:CODESGASSUME DS:DATASGORG 100HBEGIN MOV DS, DATASG ;BEGIN: 应改为MOV AX , DATASG MOV DS, AX LEA SI ,BLOCKMOV CX, COUNTDEC CXMOV AX , [SI]CHKMAX ADD SI,2 ;应加冒号CHKMAX: CMP [SI] , AXJLE NEXTMOV AX , [SI]DEC CX ;删除NEXT: LOOP CHKMAXMOV MAX ,AXMOV AH, 4CHINT 21HCODESG ENDSEND BEGIN(2)程序修改后:STACKSG SEGMENT PARA STACK ‘STACK’DB 256 DUP(?)STACKSG ENDSDATASG SEGMENT PARA ‘DATA’BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512DW 23,56,420,75,0,-1024,-67,39,-2000COUNT EQU 20MAX DW ?DATASG ENDSCODESG SEGMENTASSUME SS:STACKSG , CS:CODESGASSUME DS:DATASGORG 100HBEGIN MOV AX , DATASGMOV DS, AXLEA SI ,BLOCKMOV CX, COUNTDEC CXMOV AX , [SI]CHKMAX:ADD SI,2CMP [SI] , AXJLE NEXTMOV AX , [SI]NEXT: LOOP CHKMAXMOV MAX ,AXMOV AH, 4CHINT 21HCODESG ENDSEND BEGIN(3)程序注释:STACKSG SEGMENT PARA STACK 'STACK'DB 256 DUP(?)STACKSG ENDS ;定义堆栈段DATASG SEGMENT PARA 'DATA' ;数据段定义BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512DW 23,56,420,75,0,-1024,-67,39,-2000 ;定义变量BLOCK包含20个字COUNT EQU 20 ;COUNT=20MAX DW ? ;定义字变量MAX并不赋值DATASG ENDSCODESG SEGMENT ;代码段定义ASSUME SS:STACKSG , CS:CODESG ;说明STACKSG是堆栈段ASSUME DS:DATASG ;CODESG是代码段,DATASG是数据段ORG 100HBEGIN: MOV AX, DATASGMOV DS, AX ;DS指向DATASGLEA SI ,BLOCK ;取BLOCK的有效地址给SIMOV CX, COUNT ;CX=20DEC CX ;CX=CX-1MOV AX , [SI] ;将DS:[SI]里的值送到AX CHKMAX : ADD SI, 2 ;SI=SI+2CMP [SI] , AX ;比较DS:[SI]与AX值的大小JLE NEXT ;如果DS:[SI]的值小于AX里的值,则跳转到NEXT MOV AX , [SI] ;将DS:[SI]的值送到AXNEXT: LOOP CHKMAX ;循环CHKMAXMOV MAX ,AX ;将AX的值送到变量MAXMOV AH, 4CH ;结束INT 21HCODESG ENDSEND BEGIN(4)程序的流程图:Y NNY(5)程序的功能:找出20个数中的最大值并保存。

微机原理实验报告

微机原理实验报告

.昆明理工大学微机原理及程序设计实验指导书段绍米编昆明理工大学信息工程与自动化学院自动化系2013年10月微机原理实验实验要求及运行环境1、实验要求与注意事项:交纸质版实验报告,实验要求:2、实验运行环境在电脑中装ASM Masm for windows 集成实验环境2008。

双击图标打开ASM MasM for windows 集成实验环境运行工作界面,输入实验程序代码,调试、改错、保存、运行、查看结果,进行记录。

运行结果显示:实验一两个多位十进制数相加的实验一、实验目的1、学习数据传送和算术运算指令的用法。

2、熟悉在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程。

二、实验内容将两个多位十进制数相加。

要求被加数均以ASCII码形式各自顺序存放在以DA TA1和DA TA2为首的5个内存单元中(低位在前),结果送回DATA1处。

三、程序框图四、程序清单CRLF MACRO ;宏定义,宏名:CRLFMOV DL, 0DH ;把0DH给DLMOV AH, 02H ; 把02H给AHINT 21H ;系统功能调用——实现回车功能MOV DL, 0AH ;把0AH给DLMOV AH, 02H ; 把02H给AHINT 21H ;系统功能调用——实现换行功能ENDM ;宏定义结束——本段实现回车换行功能DATA SEGMENT;数据段定义,段名DATADATA1 DB 33H, 39H, 31H, 37H, 34H;变量DATA1中装入加数DATA2 DB 36H, 35H, 30H, 38H, 32H;变量DATA2中装入被加数DATA ENDS;数据段定义结束——本段实现了两个数据的定义STACK SEGMENTSTA DB 20 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACK, ES:DATASTART: MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV AX, TOPMOV SP, AXMOV SI, OFFSET DA TA2MOV BX, 05CALL DISPLCRLFMOV SI, OFFSET DA TA1MOV BX, 05CALL DISPLCRLFMOV DI, OFFSET DATA2CALL ADDAMOV SI, OFFSET DA TA1MOV BX, 05CALL DISPLCRLFMOV AX, 4C00HINT 21HDISPL PROC NEARDS1: MOV AH, 02MOV DL, [SI+BX-1]INT 21HDEC BXJNZ DS1RETDISPL ENDPADDA PROC NEARMOV DX, SIMOV BP, DIMOV BX, 05AD1: SUB BYTE PTR [SI+BX-1] , 30HSUB BYTE PTR [DI+BX-1] , 30HDEC BXJNZ AD1MOV SI, DXMOV DI, BPMOV CX, 05CLCAD2: MOV AL, [SI]MOV BL, [DI]ADC AL, BLAAAMOV [SI] , ALINC SIINC DILOOP AD2MOV SI, DXMOV DI, BPMOV BX, 05AD3: ADD BYTE PTR [SI+BX-1], 30HADD BYTE PTR [DI+BX-1], 30HDEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START五、实验要求1.读懂源程序,写出源程序注释。

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

【E02】OLED液晶显示实验实验报告
院系:电子科学与技术学院
专业:微电子科学与工程
实验者姓名:万子昂
学号: 35320172200223
实验时间: 2020 年 5 月 11 日
实验报告完成时间:2020 年 5 月 11 日
指导老师意见:
一、实验目的:
1、进一步熟悉MSP432微控制器GPIO引脚的使用
2、学会OLED显示屏与微控制器的接口方法和使用方法
二、实验内容要求:
1、创建工程项目,添加项目文件,配置项目环境等;
2、在OLED屏上显示姓名和学号(字模软件转换汉字)
3、在同一行上显示一段包括中文、英文、数字的内容
三、实验注意事项
1、短路问题:导线、示波器探头、金属笔帽等(断电操作)
2、接插件暴力拔插:顺着接插方向
四、代码:
OLED_ShowCHinese(0,0,0);
OLED_ShowCHinese(16*1-1,0,1);
OLED_ShowCHinese(16*2-1,0,2);
OLED_ShowString(0,4,"35320172200223");
{0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x80,0x00},
{0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00},/*"开",0*/
{0x00,0x00,0x18,0x16,0x10,0xD0,0xB8,0x97,0x90,0x90,0x90,0x92,0x94,0x10,0x00,0x00},
{0x00,0x20,0x10,0x8C,0x83,0x80,0x41,0x46,0x28,0x10,0x28,0x44,0x43,0x80,0x80,0x00},/*"发",1*/
{0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFC,0x24,0xE4,0x24,0x22,0x23,0xE2,0x00,0x00},
{0x04,0x03,0x00,0xFF,0x00,0x83,0x60,0x1F,0x80,0x41,0x26,0x18,0x26,0x41,0x80,0x00},/*"板",2*/
OLED_ShowString(0,0,"MSP432");
OLED_ShowCHinese(50,0,0);
OLED_ShowCHinese(50+16*1-1,0,1);
OLED_ShowCHinese(50+16*2-1,0,2);
五、实验结果:
六、实验总结:
关于学号直接调用OLED_ShowNum函数显示乱码问题,有三种方法1:修改OLED_ShowNum函数参数(32位改为64位);方法2:将长学号拆为2段,每段最多9位十进制数数(小于32位无符号整数),调用两次;方法3:改为调用OLED_ShowString()函数当做字符串处理;每种方法我都进行了尝试,最后我认为第三种方法容错率高,虽然可能编程时增加程序头文件代码数量,但操作起来最简单。

实验中,我完成了实验内容,创建了工程项目,添加了项目文件,配置项目环境等,在OLED屏上显示了姓名和学号(字模软件转换汉字),在同一行上显示了一
段包括中文、英文、数字的内容,进一步熟悉了MSP432微控制器GPIO引脚的使用,学会,OLED显示屏与微控制器的接口方法和使用方法,还掌握了汉字取模软件的用法,阅读了1.3寸OLED显示屏数据手册,并且还解决Keil中输入中文乱码的问题,最后独立完成了报告。

相关文档
最新文档