北京邮电大学微机原理硬件实验报告

合集下载

北京邮电大学-微机原理硬件实验报告

北京邮电大学-微机原理硬件实验报告

微机原理与接口技术硬件实验报告学院:信息与通信工程学院班级:201******学生姓名:****** ******学号:201******* 201*******班内序号:** **实验一熟悉实验环境及IO的使用一、实验目的:1. 通过实验了解和熟悉实验台的结构,功能及使用方法。

2. 通过实验掌握直接使用Debug 的I、O 命令来读写IO 端口。

3. 学会Debug 的使用及编写汇编程序二、实验内容:1. 学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作,2.用汇编语言编写跑马灯程序。

(使用EDIT 编辑工具)实现功能A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。

B.通过输出端口控制灯的工作状态(低电平灯亮)三、实验步骤:1.实验板的IO 端口地址为0E8E0H在Debug 下,I 是读命令。

(即读输入端口的状态---拨码开关的状态)O 是写命令。

(即向端口输出数据---通过发光管来查看)进入Debug 后,读端口拨动实验台上八位拨码开关输入I 端口地址回车屏幕显示 xx 表示从端口读出的内容,即八位开关的状态ON 是0,OFF 是 1 写端口输入 O 端口地址xx (xx 表示要向端口输出的内容)回车查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。

2. 在Debug 环境下,用a 命令录入程序,用g 命令运行C>Debug -amov dx, 端口地址mov al,输出内容out dx, almov ah, 0bhint 21hor al, aljz 0100int 20h-g运行查看结果,修改输出内容再运行查看结果分析mov ah, 0bhint 21hor al, aljz 0100int 20h该段程序的作用:检测键盘有没有按键,有则返回DOS。

没有继续执行3.利用EDIT 工具编写汇编写跑马灯程序程序实现功能A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。

北邮微机原理硬件实验报告

北邮微机原理硬件实验报告

北邮微机原理硬件实验报告实验目的本次实验主要是通过对微机原理的学习,掌握多种硬件器件的基本使用,包括程序寄存器(PRG)、数据寄存器(DR)、累加器(AC)等,也希望能够初步了解微机系统的结构和工作原理。

实验内容1. 按以下程序编写汇编程序ORG 0HLOOP: MOV A,NUMADD BINC R5MOV MEM,R5SJMP LOOPENDNUM: DB 50HB: DB 35HR5: EQU 25HMEM: DS 1编写程序后,运行该程序,观察程序在8051微处理器上执行的情况。

2. 制作简易流水灯电路使用LED等元器件,制作一个简单的流水灯电路。

同时,编写相应的汇编程序,实现流水灯的基本效果。

3. 实现双向流水灯效果在完成流水灯电路的基础上,通过改变程序实现双向流水灯的效果。

在这个过程中,需要仔细分析程序的实现方式,并且结合8615芯片的具体情况,理解程序在底层机器中的工作方式。

4. 实现用数码管显示数字的功能使用7段数码管,将程序输出的结果显示在数码管上。

在这个过程中,我们需要灵活处理I/O端口和存储器的读写,以及处理各类中断信号。

实验过程1. 编写并调试汇编程序我们首先使用Keil软件编写了相应的汇编程序,并在8051单片机上运行。

在运行过程中发现,程序能够成功地对NUM与B进行加法运算,并将结果存储在MEM中。

2. 制作流水灯电路我们使用LED、电阻等元器件,制作了一个简单的流水灯电路,并测试了该电路的基本工作情况。

由于电路较为简单,因此没有出现特别明显的问题。

3. 实现双向流水灯效果为了实现双向流水灯效果,我们对程序进行了修改。

在这个过程中,初步出现了一些问题,包括倒计时初始值不正确、程序中断启动终止不及时等。

经过反复调试,我们成功地实现了这一功能。

4. 实现用数码管显示数字的功能最后,我们将流水灯程序变更为用数码管显示数字的程序。

在这个过程中,我们主要用到了表格查找和存储器读写等基本操作,成功将结果在数码管上显示。

北邮微机原理实验报告

北邮微机原理实验报告

北邮微机原理实验报告微原软件实验报告班级:序号:学号:姓名:实验⼆分⽀,循环程序设计⼀.实验⽬的:1.开始独⽴进⾏汇编语⾔程序设计;2.掌握基本分⽀,循环程序设计;3.掌握最简单的DOS 功能调⽤.⼆.实验内容:1.安排⼀个数据区(数据段),内存有若⼲个正数,负数和零.每类数的个数都不超过9.2.编写⼀个程序统计数据区中正数,负数和零的个数.3.将统计结果在屏幕上显⽰.三.预习题:1.⼗进制数0 -- 9 所对应的ASCII 码是什么? 如何将⼗进制数0 -- 9 在屏幕上显⽰出来?答:0—9对应的ASCII码是30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,将⼗进制数转换成相应的ASCII码并调⽤字符显⽰功能即能实现⼗进制数在屏幕上的显⽰。

2.如何检验⼀个数为正,为负或为零? 你能举出多少种不同的⽅法?答:将该数与0字符(ASCII码为30H)⽐较,根据⽐较的结果转⼊不同的分⽀。

四.流程图:开始初始化CX,BX,AH,DH,DL[BX] 0?[BX]=0?DH++DH 记录等于零的个数BX++BX++CX--AH++AH 记录⼩于零的个数DL++DL 记录⼤于零的个数CX 0?将AH,DH,DL 中的数转成ASCII 码并存储显⽰结束YES YES NOYESNO NO CX 是待处理的数的个数,BX 是这串数的⾸地址五.代码:六.运⾏结果:七.总结:第⼀次在DOS窗⼝下⽤汇编编程,⼀些基本的操作和以前的⾼级语⾔迥然不同,如建⽴⽂件,编译,链接,调试,这些操作都是要在DOS窗⼝中键⼊语⾔指令来完成的,不像⾼级语⾔的编译器只要按下相关的键就好了,⽤语⾔指令能更加明⽩编译,调试这些操作真正的含义。

更重要的是调试指令,通过这些指令,可以直接看到寄存器,内存中真真切切的变化,对硬件的⼯作机制特别是cpu的指令运⾏,内存的数据存储与读取,整个程序运⾏的本质过程有了更加透彻的了解和认识。

北邮微原硬件实验

北邮微原硬件实验

信息与通信工程学院微原硬件实验报告姓名:班级:20122111262014.12.21实验一熟悉实验环境及10的使用一,实验目的1.通过实验了解和熟悉实验台的结构,功能及使用方法。

2.通过实验掌握直接使用Debug的I、0命令来读写10端口。

3.学会Debug的使用及编写汇编程序二,实验内容1.学习使用Debug命令,并用I、0命令直接对端口进行读写操作,2•用汇编语言编写跑马灯程序。

(使用EDIT编辑工具)实现功能A.通过读入端口状态(0N为低电平),选择工作模式(灯的闪烁方式、速度等)。

B.通过输出端口控制灯的工作状态(低电平灯亮)三,实验步骤1.实验板的10端口地址为EEE0H在Debug下,I是读命令。

(即读输入端口的状态---拨码开关的状态)0是写命令。

(即向端口输出数据---通过发光管来查看)进入Debug后,读端口拨动实验台上八位拨码开关输入I端口地址回车屏幕显示xx表示从端口读出的内容,即八位开关的状态0N是O,0FF是1写端口输入0端口地址xx (xx表示要向端口输出的内容)回车查看实验台上的发光二极管状态,0是灯亮,1是灯灭。

2.在Debug环境下用a命令录入程序,用g命令运行C>Debug -amov dx,端口地址mov al,输出内容out dx, almov ah, Obhint 21hor al, aljzO1OOint 20h-g运行查看结果,修改输出内容再运行查看结果分析mov ah, Obhint 21hor al, aljzO1OOint 2Oh该段程序的作用:检测键盘有没有按键,有则返回DOS。

没有继续执行3.利用EDIT工具编写汇编写跑马灯程序程序实现功能A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等)B.通过输出端口控制灯的工作状态(低电平灯亮)C>EDIT文件名.asm录入程序按Alt键打开菜单进行存盘或退出编译文件C>MASM 文件名.asm连接文件C>LINK 文件名.obj运行文件或用Debug进行调试。

北邮微机原理实验报告

北邮微机原理实验报告

微原软件实验报告班级:序号:学号:姓名:实验二分支,循环程序设计一.实验目的:1.开始独立进行汇编语言程序设计;2.掌握基本分支,循环程序设计;3.掌握最简单的DOS 功能调用.二.实验内容:1.安排一个数据区(数据段),内存有若干个正数,负数和零.每类数的个数都不超过9.2.编写一个程序统计数据区中正数,负数和零的个数.3.将统计结果在屏幕上显示.三.预习题:1.十进制数0 -- 9 所对应的ASCII 码是什么? 如何将十进制数0 -- 9 在屏幕上显示出来?答:0—9对应的ASCII码是30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,将十进制数转换成相应的ASCII码并调用字符显示功能即能实现十进制数在屏幕上的显示。

2.如何检验一个数为正,为负或为零? 你能举出多少种不同的方法?答:将该数与0字符(ASCII码为30H)比较,根据比较的结果转入不同的分支。

四.流程图:开始初始化CX,BX,AH,DH,DL[BX] 0?[BX]=0?DH++DH 记录等于零的个数BX++BX++CX--AH++AH 记录小于零的个数DL++DL 记录大于零的个数CX 0?将AH,DH,DL 中的数转成ASCII 码并存储显示结束YES YES NOYESNO NO CX 是待处理的数的个数,BX 是这串数的首地址五.代码:六.运行结果:七.总结:第一次在DOS窗口下用汇编编程,一些基本的操作和以前的高级语言迥然不同,如建立文件,编译,链接,调试,这些操作都是要在DOS窗口中键入语言指令来完成的,不像高级语言的编译器只要按下相关的键就好了,用语言指令能更加明白编译,调试这些操作真正的含义。

更重要的是调试指令,通过这些指令,可以直接看到寄存器,内存中真真切切的变化,对硬件的工作机制特别是cpu的指令运行,内存的数据存储与读取,整个程序运行的本质过程有了更加透彻的了解和认识。

在本次实验中,主要对顺序结构,分支结构以及循环结构有了初步的运用,程序编写的关键是流程图,当对题目有了分析并且设计出了条理清晰,步骤较为详细的流程图之后,只要对照图写就很快:顺序执行下来的地方用顺序结构,有判断的地方用分支结构,有循环执行的地方用循环结构,整个程序的框架就构建完成,剩下的就是变量、寄存器以及内存空间的读写了。

微机原理硬件实验报告_实验一

微机原理硬件实验报告_实验一

微机原理硬件实验报告目录实验一 (2)一、实验目的 (2)二、实验内容及要求 (2)三、操作步骤 (2)四、实验流程图 (4)五、源代码 (5)六、思考题 (7)七、心得体会 (8)实验一一、实验目的1.通过实验了解和熟悉实验台的结构,功能及使用方法。

2.通过实验掌握直接使用Debug 的I、O命令来读写IO端口。

3.学会Debug的使用及编写汇编程序二、实验内容及要求1.学习使用Debug 命令,并用I、O命令直接对端口进行读写操作,2.用汇编语言编写跑马灯程序。

(使用EDIT 编辑工具)实现功能A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等)。

B.通过输出端口控制灯的工作状态(低电平灯亮)。

三、操作步骤1.实验板的IO端口地址为EEE0H在Debug 下,I是读命令。

(即读输入端口的状态---拨码开关的状态)O是写命令。

(即向端口输出数据---通过发光管来查看)进入Debug后,读端口拨动实验台上八位拨码开关输入I 端口地址回车屏幕显示xx 表示从端口读出的内容,即八位开关的状态ON是0,OFF 是1写端口输入O 端口地址xx (xx 表示要向端口输出的内容)回车查看实验台上的发光二极管状态,0是灯亮,1 是灯灭。

运行查看结果修改输出内容再运行查看结果该段程序的作用3.利用EDIT工具编写汇编写跑马灯程序程序实现功能A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等)。

B.通过输出端口控制灯的工作状态(低电平灯亮)C>EDIT 文件名.asm录入程序按Alt 键打开菜单进行存盘或退出编译文件C>MASM 文件名.asm四、实验流程图五、源代码以上就是个拨码开关对应的功能跳数可以实现一次一跳,一次两跳河一次三跳,还有一种特殊的跳数一次零跳,就是暂停状态方向有左移和右移两种 速度有快慢两种码型是一种对跑马灯的初始化,在跑动后有些码型的效果是一样的。

微原硬件北邮

微原硬件北邮

微原硬件实验报告班级:2010211101 班学号:102100班内序号:姓名:实验一I/O地址译码一.实验目的掌握I/O地址译码电路的工作原理二.实验内容当cpu执行I/O指令且地址哎280H~2BFH范围内,译码器选中,必有一根译码器输出负脉冲,利用这个负脉冲控制L7闪烁发光,时间间隔通过软件实现。

三.源程序代码i oport equ 00houtport1 equ ioport+2a0houtport2 equ ioport+2a8hcode segmentassume cs:codestart:mov dx,outport1out dx,al ;将al中的数值输出到地址为dx的端口call delaymov dx,outport2out dx,alcall delaymov ah,1int 16h ;16h为中断向量标号je start ;mov ah,4chint 21hdelay proc nearmov bx,200lll: mov cx,0ll: loop lldec bxjne lllretdelay endpcode endsend start四.实验收获和体会通过这次实验,我对I/O地址译码器的工作原理有了了解,对软件和硬件的配合操作有了初步认识。

实验二简单并行接口一.实验目的掌握简单并行接口的工作原理及使用方法二.实验原理及内容编程从键盘输入一个符号或者数字,将其ASCII码通过这个输出接口输出,根据八个发光二极管发光情况验证正确性。

三.程序流程图四.源程序代码ls273 equ 2a8hcode segment assume cs:code start: mov ah,2mov dl,0dhint 21hmov ah,1int 21hcmp al,27je exitmov dx,ls273out dx,aljmp start exit: mov ah,4chint 21hcode ends五.实验心得与体会该实验是第一次实验课和实验一一起做的,也比较简单,只是熟悉了一下并行接口的工作原理,用的的芯片业非常简单。

2021年北邮微机原理实验报告

2021年北邮微机原理实验报告

微机原理软件试验汇报学院: 信息与通信工程学院班级: 211123班内序号:学生姓名:学号:试验二分支,循环程序设计一、试验目1.开始独立进行汇编语言程序设计;2.掌握基础分支,循环程序设计;3.掌握最简单DOS 功效调用.二、试验任务及内容1.安排一个数据区, 内存有若干个正数, 负数和零。

每类数个数都不超出9。

2.编写一个程序统计数据区中正数, 负数和零个数。

3.将统计结果在屏幕上显示。

4.(扩展题)统计出正奇数、正偶数, 负奇数、负偶数以及零个数。

三、画出程序步骤图Y四、给出源程序(要求加注释)data segmentbuff dw 1, 2, 0, 0 ,-1 ; 数据段, 初始化数据count equ $-buffplus db ? ; 定义三种数存放位置zero db ?minus db ?string1 db 'plus number:','$'string2 db 'zero number:','$'string3 db 'minus number:','$'data endsstack segment stack 'stack'db 100 dup(? )stack endscode segmentassume cs:code,ds:data,es:data,ss:stackbegin:mov ax,datamov ds,axmov cx,countshr cx,1mov dx,0mov ah,0lea bx,buffagain: cmp word ptr[bx],0 ; 首先和0比较jge pluinc ah ; 小于零MINUS+1jmp nextplu: jz zer ; 判定是否等于零, 等于零ZERO+1 inc dl ; 不等于零PLUS+1jmp nextzer: inc dhnext:inc bx ; 下一个数inc bxloop againadd dl,48mov plus,dladd dh,48mov zero,dhadd ah,48mov minus,ahshow:sub dx,dx ; 显示模块mov dx,offset string1mov ax,0900h ; 送显示指令int 21hmov dl,[plus]mov ax,0200hint 21hmov dl,0dhint 21hmov dl,0ahint 21hmov dx,offset string2mov ax,0900hint 21hmov dl,[zero]mov ax,0200hint 21hmov dl,0dhint 21hmov dl,0ahint 21hmov dx,offset string3mov ax,0900hint 21hmov ax,0200hmov dl,[minus]int 21hmov ax,4c00h ; 结束程序int 21hcode endsend begin五、给出程序运行结果(运行结果抓屏保留)data segment 中存入1, 2, 0, 0, -1显示有2个0、2个大于0数、1个小于0数, 结果正确六、预习题1.十进制数0 -- 9 所对应ASCII 码是什么? 怎样将十进制数0 -9 在屏幕上显示出来? 答: 对应ASCII码是30H~39H, 把0-9加上30H即可得到对应ASCII, 送给DL, 再实施INT 21H即可显示。

北邮微机原理硬件实验报告及代码

北邮微机原理硬件实验报告及代码

北京邮电大学微机原理硬件实验报告实验1:熟悉实验环境及IO的使用实验2:8255A并行接口应用实验3:8253计数器/定时器的应用目录实验一熟悉实验环境及IO的使用 (2)一、实验目的 (2)二、实验内容及要求 (2)三、实验结果 (2)1、程序说明 (2)2、流程图 (4)3、源代码 (6)四、实验总结 (9)实验二8255A并行接口应用 (9)一、实验目的 (9)二、实验任务及内容 (9)1、6 位数码管静态显示 (10)2、6 位数码管动态显示 (10)3、扩展部分 (10)三、实验结果1(6位数码管静态显示) (10)1、程序说明 (10)2、流程图 (11)3、源代码 (11)四、实验结果2(6位数码管动态显示) (13)1、程序说明 (13)2、流程图 (14)3、源代码 (15)五、实验结果(扩展部分) (17)1、程序说明 (17)2、流程图 (18)3、源代码 (18)六、实验总结 (22)实验三8253计数器/定时器的应用 (22)一、实验目的 (22)二、实验任务及内容 (22)1.音乐发生器 (22)2.扩展部分 (23)三、实验结果1(音乐发生器) (23)1、程序说明 (23)2、流程图 (23)3、源代码 (24)四、实验结果2(扩展部分) (29)1、程序说明 (29)2、流程图 (29)3、源代码 (30)五、实验总结 (34)实验一熟悉实验环境及IO的使用一、实验目的1 .通过实验了解和熟悉实验台的结构,功能及使用方法。

2 .通过实验掌握直接使用Debug 的I、O 命令来读写IO端口。

3 .学会Debug 的使用及编写汇编程序二、实验内容及要求1 .学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作,2 .用汇编语言编写跑马灯程序。

(使用EDIT编辑工具)实现功能A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等)。

B.通过输出端口控制灯的工作状态(低电平灯亮三、实验结果1、程序说明跑马灯程序共实现:16种灯型、4种速度、暂停、退出等功能。

北京邮电大学实验报告实验三微机

北京邮电大学实验报告实验三微机

北京邮电大学实验报告题目:微机原理软件实验三班级: 2010211127专业:信息工程姓名:付莹学号:10210759实验五:中断实验1. 实验类设计型实验:编程实现时钟的显示。

2. 实验目的掌握计数器/定时器8253的工作原理和编程方法;掌握中断控制器8259的工作原理;掌握中断处理程序的编写。

3. 实验条件硬件条件:PC机一台。

软件条件:DOS操作系统;任意一种编辑程序,如EDIT;宏汇编程序MASM;连接程序LINK;调试程序DEBUG。

可借用该程序中的中断服务程序以及8253的初始化程序段(口地址为40H、41H、42H、43H,控制字为36H=00110110B,时间常数TC=11932:1.1932MHz/11932=100Hz,输出方波频率为100Hz,其周期为1000/100=10ms)。

4. 实验内容及步骤编一程序,在显示器上显示时、分、秒。

借用计数器8253的Timer0作为中断源,通过8259A向CPU发中断,每10ms产生一次中断。

在中断服务程序中管理刷新时、分、秒Current time is: xx:xx:xx (时分秒键盘输入)回车后时、分、秒开始计时,时钟不停的刷新。

当键入CTRL+C时,停止计时,返回系统,且系统正常运行不死机。

5. 实验报告(1)画出程序流程图。

开始等待回车键按下(08H 中断调用)取原8H 中断的中断矢量并压栈保护建立数据段的可寻址性 装载现在的中断服务程序8253初始化产生10ms 方波,10ms 中断一次重写IMR ,只开放时钟和键盘中断开中断监测键盘(06H 中断调用)是Ctrl+C ? 关中断 恢复IMR重置8253,,55ms 中断一次恢复原中断开中断返回DOS ,结束Yes有键按下?显示时间值(09H 中断调用)取消秒Yes 计数达到100次(1秒)?NoYesNoNo实现等待计时功能实现循环,秒值变化则返回继续执行程序显示“Current time is :” 读入键盘输入(2)提交调试好的汇编语言源程序(.asm)。

北邮微机原理硬件实验报告及代码

北邮微机原理硬件实验报告及代码

北京邮电大学微机原理硬件实验报告实验1:熟悉实验环境及IO的使用实验2:8255A并行接口应用实验3:8253计数器/定时器的应用目录实验一熟悉实验环境及IO的使用 (2)一、实验目的 (2)二、实验内容及要求 (2)三、实验结果 (2)1、程序说明 (2)2、流程图 (4)3、源代码 (6)四、实验总结 (9)实验二8255A并行接口应用 (9)一、实验目的 (9)二、实验任务及内容 (9)1、6 位数码管静态显示 (10)2、6 位数码管动态显示 (10)3、扩展部分 (10)三、实验结果1(6位数码管静态显示) (10)1、程序说明 (10)2、流程图 (11)3、源代码 (11)四、实验结果2(6位数码管动态显示) (13)1、程序说明 (13)2、流程图 (14)3、源代码 (15)五、实验结果(扩展部分) (17)1、程序说明 (17)2、流程图 (18)3、源代码 (18)六、实验总结 (22)实验三8253计数器/定时器的应用 (22)一、实验目的 (22)二、实验任务及内容 (22)1.音乐发生器 (22)2.扩展部分 (23)三、实验结果1(音乐发生器) (23)1、程序说明 (23)2、流程图 (23)3、源代码 (24)四、实验结果2(扩展部分) (29)1、程序说明 (29)2、流程图 (29)3、源代码 (30)五、实验总结 (34)实验一熟悉实验环境及IO的使用一、实验目的1 .通过实验了解和熟悉实验台的结构,功能及使用方法。

2 .通过实验掌握直接使用Debug 的I、O 命令来读写IO端口。

3 .学会Debug 的使用及编写汇编程序二、实验内容及要求1 .学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作,2 .用汇编语言编写跑马灯程序。

(使用EDIT编辑工具)实现功能A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等)。

B.通过输出端口控制灯的工作状态(低电平灯亮三、实验结果1、程序说明跑马灯程序共实现:16种灯型、4种速度、暂停、退出等功能。

北邮 微机原理实验报告

北邮 微机原理实验报告

北邮微机原理实验报告一、实验目的本实验旨在通过对微机原理的实际操作,加深对计算机内部结构和工作原理的理解,并通过实验验证理论知识的正确性。

二、实验设备和材料•计算机硬件设备:PC机一台、示波器一台、数字信号发生器一台。

•软件工具:TASM、MASM汇编语言编译器。

三、实验内容本实验分为以下几个步骤:1. 准备工作•将PC机与示波器、数字信号发生器连接。

•打开PC机,进入实验环境。

2. 实验一:简单指令的执行•编写一个简单的汇编程序,实现两个数相加并将结果存储到指定寄存器中。

•使用TASM或MASM编译器对汇编程序进行编译,生成可执行文件。

•运行可执行文件,在示波器上观察到相加过程的波形。

3. 实验二:数据传输操作•编写一个汇编程序,实现数据在不同寄存器和内存之间的传输。

•编译并运行程序,通过观察PC机上的输出结果,验证数据传输的正确性。

4. 实验三:逻辑运算和移位操作•编写程序,实现逻辑运算和移位操作,并观察运算结果。

•通过数字信号发生器产生相应的输入信号,验证程序的正确性。

5. 实验四:中断处理•编写一个汇编程序,实现对中断请求的响应和处理。

•通过示波器观察中断请求和处理的波形,验证程序的正确性。

6. 实验五:串行通信操作•编写程序,实现串行通信的发送和接收操作。

•通过示波器观察串行通信的波形,验证程序的正确性。

四、实验结果和分析•对每个实验步骤进行记录,并详细分析实验结果。

•比较实验结果与理论预期是否一致,并给出原因分析。

五、实验心得通过本次实验,我深刻理解了微机原理的实际应用和操作过程。

通过实际操作,我对计算机内部结构和工作原理有了更深入的了解,并通过实验验证了理论知识的正确性。

同时,我也意识到在实际操作中的一些细节和注意事项,这对我今后的学习和工作都有很大的帮助。

六、实验总结通过本次实验,我不仅掌握了微机原理的实际应用技能,还深化了对计算机内部结构和工作原理的理解。

实验过程中,我遇到了一些问题,但通过思考和实践,逐步解决了这些问题,并取得了满意的实验结果。

北邮微机原理实验报告

北邮微机原理实验报告

微机原理软件实验报告学院:信息与通信工程学院班级:2012211123班内序号:学生姓名:学号:实验二分支,循环程序设计一、实验目的1.开始独立进行汇编语言程序设计;2.掌握基本分支,循环程序设计;3.掌握最简单的DOS 功能调用.二、实验任务及内容1.安排一个数据区,内存有若干个正数,负数和零。

每类数的个数都不超过9。

2.编写一个程序统计数据区中正数,负数和零的个数。

3.将统计结果在屏幕上显示。

4.(扩展题)统计出正奇数、正偶数,负奇数、负偶数以及零的个数。

三、画出程序流程图Y四、给出源程序(要求加注释)data segmentbuff dw 1, 2, 0, 0 ,-1 ;数据段,初始化数据count equ $-buffplus db ? ;定义三种数的存储位置zero db ?minus db ?string1 db 'plus number:','$'string2 db 'zero number:','$'string3 db 'minus number:','$'data endsstack segment stack 'stack'db 100 dup(?)stack endscode segmentassume cs:code,ds:data,es:data,ss:stackbegin:mov ax,datamov ds,axmov cx,countshr cx,1mov dx,0mov ah,0lea bx,buffagain: cmp word ptr[bx],0 ;首先和0比较jge pluinc ah ;小于零MINUS+1jmp nextplu: jz zer ;判断是否等于零,等于零ZERO+1 inc dl ;不等于零PLUS+1jmp nextzer: inc dhnext: inc bx ;下一个数inc bxloop againadd dl,48mov plus,dladd dh,48mov zero,dhadd ah,48mov minus,ahshow:sub dx,dx ;显示模块mov dx,offset string1mov ax,0900h ;送显示指令int 21hmov dl,[plus]mov ax,0200hint 21hmov dl,0dhint 21hmov dl,0ahint 21hmov dx,offset string2mov ax,0900hint 21hmov dl,[zero]mov ax,0200hint 21hmov dl,0dhint 21hmov dl,0ahint 21hmov dx,offset string3mov ax,0900hint 21hmov ax,0200hmov dl,[minus]int 21hmov ax,4c00h ;结束程序int 21hcode endsend begin五、给出程序运行结果(运行结果抓屏保存)data segment 中存入1,2, 0, 0,-1显示有2个0、2个大于0的数、1个小于0的数,结果正确六、预习题1.十进制数0 -- 9 所对应的ASCII 码是什么? 如何将十进制数0 -9 在屏幕上显示出来? 答:对应的ASCII码是30H~39H,把0-9加上30H即可得到对应的ASCII,送给DL,再执行INT 21H即可显示。

北邮微原硬件实验报告

北邮微原硬件实验报告

微机原理硬件实验报告2015-2016学年第一学期微机原理硬件实验报告学院:班级:学号:姓名:序号:目录实验一熟悉实验环境及IO的使用 (2)一实验目的 (2)二实验内容 (2)三实验过程 (2)1 实验原理 (2)2 流程图 (3)3 源代码 (3)4 子程序清单 (5)5 代码分析 (5)四实验总结 (5)实验二 8255A并行接口应用 (6)一实验目的 (6)二实验内容 (6)三实验过程 (6)1 八位数码管位选规律 (6)2 六位数码管静态显示 (6)3 六位数码管动态显示 (9)4 扩展:显示键盘输入学号 (13)四实验总结 (19)实验三 8253计数器/定时器的应用 (19)一实验目的 (19)二实验内容 (19)微机原理硬件实验报告三实验过程 (19)1 蜂鸣器发音规律 (19)2 音乐发生器 (20)3 扩展:小键盘弹琴功能 (29)四实验总结 (34)实验一熟悉实验环境及IO的使用一实验目的1 通过实验了解和熟悉实验台的结构,功能及使用方法。

2 通过实验掌握直接使用Debug的I、O命令来读写I/O端口。

3 学会Debug的使用及编写汇编程序。

二实验内容1 学习使用Debug命令,并用I、O命令直接对端口进行读写操作。

2 用汇编语言编写跑马灯程序。

实现功能:1)通过读入端口状态,选择工作模式(灯闪烁方式、速度等);2)通过输出端口控制灯的工作状态(低电平灯亮)。

三实验过程1 实验原理1 在Debug下,用I是命令读输入端口的状态,即拨码开关的状态,用O命令向端口输出数据,通过LED发光管来查看。

测试结果:1)使用命令:I 0EEE0H读取开关状态,得出的结果为左低右高,即是低位,是高位。

2)实验命令:O 0EEE0H测试LED,改变输入的值可依次测试各个数码管是否正常。

LED左边为高位,右边为低位。

2 分析以下程序段的作用MOV AH,0BH微机原理硬件实验报告INT21HOR AL,ALJZ0100INT20H该段程序实现了检测键盘状态,在键盘有任意键输入时退出程序返回DOS的功能。

北邮 微机原理实验报告

北邮 微机原理实验报告

北邮微机原理实验报告北邮微机原理实验报告引言:微机原理是计算机科学与技术专业的一门重要课程,通过学习和实践,我们可以深入了解计算机的组成结构和工作原理。

本次实验旨在通过对北邮微机原理实验的探索,加深对计算机硬件和软件的理解,并提升我们的实践能力。

一、实验目的本次实验的目的是熟悉计算机的硬件组成和工作原理,并通过实践操作加深对微机原理的理解。

具体包括以下几个方面:1. 熟悉计算机的硬件组成,包括中央处理器(CPU)、内存、硬盘等;2. 掌握计算机的启动过程和操作系统的加载;3. 理解计算机的指令集和指令执行过程;4. 学习计算机的输入输出设备和外部接口。

二、实验过程1. 实验一:计算机硬件的组装与连接在本实验中,我们需要将计算机的各个硬件组件进行正确的连接和组装。

首先,我们需要将主板与CPU、内存、显卡等硬件设备进行连接。

其次,我们需要将硬盘、光驱等存储设备与主板进行连接。

最后,我们需要将键盘、鼠标、显示器等外部设备与计算机进行连接。

通过这一步骤,我们可以了解计算机硬件的组成结构,并掌握正确的连接方式。

2. 实验二:计算机的启动过程和操作系统的加载在本实验中,我们需要了解计算机的启动过程和操作系统的加载过程。

首先,我们需要按下电源按钮,启动计算机。

然后,计算机会进行自检和硬件初始化,并加载操作系统。

在这个过程中,我们可以观察到计算机的启动画面和加载过程。

通过这一步骤,我们可以深入了解计算机的启动过程和操作系统的加载机制。

3. 实验三:计算机的指令集和指令执行过程在本实验中,我们需要学习计算机的指令集和指令执行过程。

首先,我们需要了解不同类型的指令,包括算术指令、逻辑指令、数据传输指令等。

然后,我们需要通过编写简单的汇编语言程序,来实现对数据的处理和操作。

在这个过程中,我们可以观察到指令的执行过程和结果。

通过这一步骤,我们可以深入理解计算机的指令集和指令执行过程。

4. 实验四:计算机的输入输出设备和外部接口在本实验中,我们需要学习计算机的输入输出设备和外部接口。

北邮-微原硬件实验报告

北邮-微原硬件实验报告

北邮-微原硬件实验报告实验简介本次实验是北邮电子工程学院微型原子核物理实验课程的一部分。

本次实验主要分为两个部分:微原硬件实验和样品制备。

微原硬件实验主要是为了让学生了解硬件实验的基本原理,掌握硬件实验的基本方法。

硬件实验实验目的通过控制硬件实验,观察不同磁场下的原子核的运动状态,进而了解原子核的物理性质。

实验器材•微原硬件实验仪•托盘•荧光屏•操作盘实验步骤1.将托盘放置在荧光屏上,打开微原硬件实验仪的电源2.打开荧光屏开关,将光电倍增管插在荧光屏上的孔中3.打开操作盘,选择相应的磁场模式,如顶置模式,圆柱模式或平面模式4.将操作盘连接到电磁铁上,并按照实验要求进行调节5.打开微原硬件实验仪的数据采集系统,并进行数据采集6.根据数据采集结果进行数据处理和分析实验结果通过微原硬件实验,我们得到了不同磁场下原子核的运动状态。

我们可以通过观察数据采集结果和数据处理结果来了解原子核的物理性质。

例如,我们可以通过分析数据来计算原子核大小、电荷等参数。

样品制备实验目的通过样品制备,让学生了解样品制备过程中的化学和物理原理,掌握样品制备的基本方法。

实验器材•称量器•毛细管•乙酸钠•氯化钠•离心机•离心管实验步骤1.称取适量的乙酸钠和氯化钠2.将乙酸钠和氯化钠加入样品瓶中3.加入适量的水,使溶液中的浓度达到一定的比例4.将样品瓶放入离心机中进行离心分离5.取出离心管中的上层溶液,放入样品瓶中实验结果通过样品制备,我们制备出了一种可以用于微原硬件实验的样品。

我们可以对样品进行计算、分析和测试,以便我们更好地了解原子核的物理性质,并探索原子核在各种磁场下的运动状态。

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

北京邮电大学微机原理硬件实验报告
实验报告一:I/0地址译码和简单并行接口
——实验一&实验二
一、实验目的
掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。

二、实验原理及内容
a) I/0地址译码
1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数
字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~
287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

例如:执行下面两条指令
MOV DX,2A0H
OUT DX,AL(或IN AL,DX)
Y4输出一个负脉冲,执行下面两条指令
MOV DX,2A8H
OUT DX,AL(或IN AL,DX)
Y5输出一个负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔经过软件延时实现。

2、接线: Y4/IO地址接 CLK/D触发器
Y5/IO地址接 CD/D触发器
D/D触发器接 SD/D触发器接 +5V
Q/D触发器接L7(LED灯)或逻辑笔
b) 简单并行接口
1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通
用插座,74LS32用实验台上的“或门”)。

74LS273为八D触发器,
8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电
路L0~L7。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这
个输出接口输出,根据8个发光二极管发光情况验证正确
性。

3、按下面图4-2-2简单并行输入接口电路图连接电路
(74LS244插通用插座,74LS32用实验台上的“或门”)。

74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关
输出K0~K7,8个数据输出端分别接数据总线D0~D7。

4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这
个ASCⅡ码,并将其对应字母在屏幕上显示出来。

5、接线:1)输出
按图4-2-1接线(图中虚线为实验所需接线,74LS32为实验
台逻辑或门)
2)输入
按图4-2-2接线(图中虚线为实验所需接线,74LS32为实
验台逻辑或门)
三、硬件连线图
1、I/O地址译码
2.简单并行接口
四、软件程序流程图
1、I\O地址译码
2、简单并行接口
五、源程序
1、I\O地址译码
STACK SEGMENT STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA START:MOV AX,DATA
MOV DS,AX
LOP: MOV DX,2A0H
OUT DX,AL ;点亮灯
CALL DELAY ;延时
MOV DX,2A8H
OUT DX,AL ;熄灭灯
CALL DELAY
JMP LOP
CODE ENDS
END START
DELAY PROC NEAR ;延时子程序
PUSH CX
PUSH BX
MOV BX,250 ;250×65535 LP2: MOV CX,0FFFFH
LP1: LOOP LP1
DEC BX
JNZ LP2
POP BX
POP CX
RET
DELAY ENDP
2、简单并行接口电路
STACK SEGMENT STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA START:MOV AX,DATA
MOV DS,AX
LOP: MOV AH,01H
INT 21H
CMP AL,1BH ;检查是否按下退出esc键
JZ ENDING
MOV DX,2A8H ;将ascii码输出
OUT DX,AL
JMP LOP
ENDING:MOV AL,0
OUT DX,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
六、实验总结
在这三次实验中出现的问题以及相应的解决方法如下:
实验一:因为对D触发器的特性有些遗忘,在编写程序时犯了不少错误,最终经过请教助教解决了一些疑问,从而顺利写出了代码。

实验二:实验二的程序逻辑比较简单,但连线比较多,在实验过程中,也多次连错了线,经过检查纠正了连线错误,也很快完成了实验。

七、实验收获与心得体会
这次实验是第一次用汇编语言控制接口,因为理论课尚未讲到相关内容,做实验时,上手地比较慢。

经过实验一实验二,熟练了对IN、OUT指令的使用,对接口有了初步认识。

同时经过研究译码电路,对“地址”也有了进一步的认识。

实验报告二:可编程并行接口8255的应用
——实验三&实验四&实验五
一、实验目的
1、经过实验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口
的方法。


2、掌握数码管显示数字的原理。

3、掌握8255控制键盘及显示电路的基本功能及编程方法;掌握一般键盘
和显示电路的工作原理。

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

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

3、接线:PC7~PC0/8255 接K7~K0/逻辑电平开关
PA7~PA0/8255 接L7~L0/LED显示
CS/8255 接Y1/IO地址
b)实验四
1、静态显示:按4-4-1连接好电路,将8255的A口PA0~PA7分别与七
段数码管的段码驱动输入端a~dp相连,位码驱动输入端S0、S1 、
S2、S3接PC0、PC1、PC2、PC3,编程在数码管显示自己的学号的后四
位。

(或编程在数码管上循环显示“00-99”,位码驱动输入端S0、S1
接PC0、PC1;S2、S3接地。

)。

相关文档
最新文档