微机原理实验报告清零程序

合集下载

单片机清零程序实验心得

单片机清零程序实验心得

单片机清零程序实验心得嘿,朋友们!今天咱来聊聊单片机清零程序实验心得。

这玩意儿啊,就像是一场奇妙的冒险!你想想,单片机就像是一个小脑袋瓜,里面装着各种程序和数据。

而清零程序呢,就像是给这个小脑袋瓜来一次大扫除,把那些乱七八糟的东西都清理掉,让它重新变得干干净净、清清爽爽。

在做这个实验的时候啊,可得小心翼翼的,就跟走钢丝似的。

你得仔细检查每一个步骤,每一条代码,生怕有个小失误就前功尽弃啦!这感觉就像是在小心翼翼地拼凑一幅拼图,错了一块可就不完美了呀!做实验的过程中,有时候会遇到一些小挫折,哎呀,那真叫一个郁闷!就好像明明看到目的地就在眼前了,却突然被一块石头绊了一跤。

不过没关系呀,咱爬起来拍拍屁股继续干!这就是实验的乐趣所在嘛,不经历风雨怎么见彩虹呢?我记得有一次,我就犯了个小糊涂,把一个代码写错了,结果程序怎么都运行不起来。

我那叫一个着急啊,抓耳挠腮的,就像一只热锅上的蚂蚁。

但是我没放弃呀,我静下心来,一点一点地排查错误,嘿,还真让我给找到了!那种成就感,简直没法形容,就像中了大奖一样开心!还有啊,在实验中一定要有耐心。

这可不是一蹴而就的事情,得慢慢来,一步一个脚印。

就跟盖房子似的,得先打好基础,才能盖出漂亮的大楼。

如果心急火燎的,那肯定是要出问题的呀!而且哦,和小伙伴们一起做实验那就更有意思啦!大家可以互相讨论,互相帮助,一起攻克那些难题。

这可比自己一个人闷头苦干有趣多了呀!大家一起出谋划策,就像一群小侦探在破解谜团一样,多好玩!通过这个单片机清零程序实验,我真的学到了好多东西。

我学会了怎么去仔细地分析问题,怎么去耐心地解决问题,还学会了怎么和别人合作。

这可都是宝贵的经验啊!总之呢,单片机清零程序实验就像是一个充满惊喜和挑战的宝库,只要你用心去挖掘,就一定能收获满满的宝藏!大家都快去试试吧,相信你们也会爱上这个有趣的实验的!别犹豫啦,赶紧行动起来吧!。

实验一 清零程序 7000H

实验一 清零程序    7000H

实验一清零程序7000H-70FFHMOV A,#00HMOV DPTR ,#7000HMOV R1,#00HLOOP: MOVX @DPTR ,AINC DPTRDJNZ R1,LOOPSJMP $END实验二拆字程序把7000H拆开高位放在7001H低放在7002HORG 0000HMOV DPTR, #7000HMOVX A, @DPTRMOV B,ASWAP AANL A,#0FHINC DPTRMOVX @DPTR ,AINC DPTRMOV A,BANL A,#0FHMOVX @DPTR ,ASJMP $END实验三数据传送子程序把(R2,R3)源RAM区首地址内的(R6,R7)个字节数据传送到(R4,R5)ORG 0000HMOV R2,#60HMOV R3,#00HMOV R4,#70HMOV R5,#00HMOV R6,#0FHMOV R7,#0FFHMAIN:MOV DPH,R2MOV DPL,R3MOVX A,@DPTRMOV DPH,R4MOV DPL,R5MOVX @DPTR,ACJNE R3,#0FFH,YINC R2Y:INC R3CJNE R5 ,#0FFH,MDINC R4MD :INC R5CJNE R7 ,#00H,SZ1CJNE R6 ,#00H ,SZ2SJMP $SZ1:DEC R7SJMP MAINSZ2:DEC R7DEC R6SJMP MIANEND实验五、查找相同数个数在7000H-700FH中查出几个字节是零…….. 外部:ORG 0000HMOV R0,#10HMOV R1,#00HMOV DPTR,#7000HLOOP:MOVX A,@DPTRCJNE A,#00H,LOOPINC R1LOOP1:INC DPTRDJNZ R0,LOOPMOV 30H,R1SJMP $END内部:ORG OOHMOV R2,.#10HMOV R0,#30HMOV R1,#00HLOOP:MOV A,@R0SJNE A,#00H,NEXTINC R1NEXT:INC R0DJNZ R2,LOOPMOV 40H,R1SJMP $END硬件实验一P3.3输入、P1口输出看L1-L8发光二极管的亮灯状况ORG 0000HMOV A,#00HMOV P1,ALOOP:JB P3.3,LOOPLACALL DELAYJB P3.3,LOOPLOOP1:JNB P3.3,LOOP1LACALL DELAYINC AMOV P1,AAJMP LOOPDELAY:MOV R6,#00HMOV R7,#FFHDJNZ R7,,$DJNZ R6,DELAYRETEND实验三并行I/O口8255扩展(红绿灯)MOV A,#80HMOV DPTR,#FF2BHMOVX @DPTR,ASTART:MOV DPTR,#0FF29HMOV A,#09HMOVX @DPTR,AINC DPTRMOV A,#24HMOVX @DPTR,AACALL DELAYSTART1:MOV DPTR,#0FF29HMOV A,#01HMOVX @DPTR,AINC DPTRMOV A,#86HMOVX @DPTR,AACALL DELAYMOV R1,#3START2: MOV DPTR,#0FF29HMOV A,#01HMOV @DPTR,AINC DPTRMOV A,#45HMOVX @DPTR,AACALL DEL YSDJNZ R1,S2MOV DPTR,#0FF29HMOV A,#0CHMOVX @DPTR,AINC DPTRMOV A,#30HMOVX @DPTR,AACALL DELAYMOV R1,#3S3: MOV DPTR,#0FF29HMOV A,#6AHMOV @DPTR,AINC DPTRMOV A,#28HMOVX @DPTR,AACALL DEL YSMOV DPTR,#0FF29HMOV A,#08HMOVX @DPTR,AINC DPTRMOV A,#20HMOVX @DPTR,AACALL DELYSDJNZ R1,S3JMP START1 DELYS:MOV R6,#00H DELY1:MOV R7,#00HDJNZ R7,$DJNZ R6,DEL Y1RETDELYA:MOV R5,#100D02:MOV R6,#100D03:MOV R7,#100DJNZ R7,$DJNZ R6,D03DJNZ R5,D02RETEND实验七串并转换实验ORG 0000HAJMP MAINORG OOOBHAJMP INT-T0MAIN :MOV SP ,#7FHMOV TMOD ,#01HMOV TH0,#4BHMOV TL0,#00HMOV SCON ,#00HMOV R0 ,#00HMOV R1 ,#20SETB TR0SETB ET0CLR TICLR RISETB EASJMP $INT-T0 :MOV TH0,#48HMOV TL0,#00HDJNZ R1 ,EXITMOV R1,#20MOV DPTR ,#TABMOV A ,R0MOVC A,@A+DPTRCLR TIMOV SBUF ,AINC R0CJNZ R0, #0AH ,EXITMOV R0 ,#00HEXIT :RETITAB :DB 0FCH 60H DAH F2H 66H B6H BEH E0H FEH F6H END。

微机原理实验

微机原理实验

实验一清零程序1、实验目的掌握8088汇编语言程序设计和调试方法,熟悉键盘操作。

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

3、程序框图4、实验步骤用连续或单步方式运行程序,检查4000H~40FFH中执行程序前后的内容变化。

5、思考假使把4000H~40FFH中的内容改成FF,如何修改程序。

实验二:拆字程序一、实验目的(5分钟)掌握汇编语言程序设计的方法及程序调试方法。

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

三、程序流程四、实验步骤1、LED环境(1)在P.状态下按“0—EV/UN”,装载实验所需的代码程序。

(2)在P.状态下按键入3020,然后按STEP或EXEC进入入实验项目的调试与运行。

2、PC环境在与PC联机状态下,编译、连接、下载PH88\se02.asm,用连续或单步方式运行程序。

3、在单步运行时,每走一步可观察其运行结果。

在连续运行状态下,应按“暂停图标”或试验箱上的“暂停按钮”,使系统无条件退出用户运行状态返回监控,然后再用相应的命令键观察与检查4000H~4002H中执行程序前后的内容变化。

实验三数据区移动1、实验目的掌握RAM中的数据操作。

2、实验内容把4100H源RAM区首地址内的16字节数据传送到4200H目标RAM区。

3、设计思想程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。

源数据块和目的数据块在存储器中可能有三种情况,如下图:对于两个数据分离的情况,如图(a),数据的传送从数据块的首地址开始,或者从数据块的末地址开始均可。

但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。

可以得出如下结论:当源数据首址>目的块首址时,从数据块首址开始传送数据。

当源数据首址<目的块首址时,从数据块末址开始传送数据4、程序框图5、实验步骤调试运行入口地址为3060H的程序,检查4100H~410FH中内容是否和4200H~420FH中内容完全一致。

实验二 清零程序

实验二 清零程序

图1 图2
实验二 清零程序
1.实验方式:
模拟调试
2.实验内容:
把外部RAM (XDATA )的2000-20FFH RAM 空间置零
3.实验器材:
已经安装了KEIL Uv2集成调试环境软件的计算机 1 台
4.程序框图:
5.实验步骤:
(1) 编写程序并编译通过。

(2) 进入调试状态, 点击工具栏中“ ”打开Memory 窗口,在Memory1“Address ”
位置上输入“X:2000H ”,显示如下图1,把光标移到2000H 的单元上,点鼠标右键,在开出的窗口中选择“Modify Memory at X:0X002000”,然后出现如下图2的窗口,在这里边输入一个数据,如95H 。

同样的方法,修改2001H-20FFH 单元内容。

(3) 按单步键,可以看到Memory#1窗口2000H 开始的单元的变化。

(4) 修改程序把4000H-5000H 中内容置55H 。

微机原理与接口技术-清零程序实验报告

微机原理与接口技术-清零程序实验报告

《微机原理与接口技术》课程实验报告
一、实验目的和要求
实验目的:掌握汇编语言设计和调试方式;
实验要求:通过本实验,掌握8051汇编程序设计以及仿真实验的流程及方法。

二、实验环境
DVCC单片机仿真实验系统独立工作以及连PC机。

三、实验内容及实施
【实验内容】把50H~5FH单元的内容清零。

【源程序】
【实验步骤】
DVCC仿真实验系统连PC机时
(1)连接好相应的实验线路;
(2)在闪动“P.”状态,按PCDBG键;
(3)在PC机处于在Win95/98软件平台下,单击DVCC图标;
(4)在系统设置选项中设定仿真模式应设定为内程序、外数据;
(5)根据屏幕提示进入51/96动态调试菜单;
(6)连接DVCC实验系统;
(7)装载目标文件;
(8)设置PC起始地址;
(9)从起始地址开始连续运行程序;
(10)调出外部数据窗口,检查50H~5FH单元的内容是否全部被清零。

四、实验结果
五、实验讨论
通过8051汇编程序的设计、编译及运行,调出外部数据窗口,我们可以观察到从50H~5FH单元的内容已经被全部清零。

刚开始我们并没有做到全部单元清零,后来通过不断地调试错误和运行,实现了实验目的。

通过本次实验,掌握了汇编语言的设计,实现了清零操作,并且熟悉了仿真实验系统的键盘操作以及基本仿真软件的使用。

微机原理的实验报告

微机原理的实验报告

微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。

二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。

2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。

3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。

4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。

三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。

(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。

观察实验现象并记录。

(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。

观察程序的执行结果,并记录相关数据。

(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。

观察实验现象并记录相关数据。

2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。

(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。

(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。

四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。

2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。

但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。

五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。

《微机》实验报告格式

《微机》实验报告格式

《微机》实验报告格式《微机原理及应用》实验报告班级: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单元的内容清零。

微机原理软件实验报告

微机原理软件实验报告

信息与通信工程学院微机原理软件实验报告班级:姓名:学号:日期:2011年12月实验一DEBUG的使用 (1)一、实验目的 (1)二、实验内容 (1)三、预习思考 (3)四、实验过程 (4)五、实验总结 (9)实验二分支、循环程序设计 (10)一、实验目的 (10)二、实验内容 (10)三、预习思考 (10)四、实验过程 (10)(一)、流程图 (11)(二)、源代码 (11)(三)、实验分析 (11)五、实验总结 (14)实验三代码转换程序设计 (15)一、实验目的 (15)二、实验内容 (15)三、预习思考 (15)四、实验过程 (16)(一)流程图 (16)(二)模块层次图 (16)(三)源代码 (17)(四)实验分析 (21)五、实验总结 (22)实验四子程序设计 (23)一、实验目的 (23)二、实验内容 (23)三、预习思考 (23)四、实验过程 (24)(一)流程图 (24)(二)模块层次图 (25)(三)源代码 (25)(四)实验分析 (34)五、实验总结 (35)实验五中断程序设计 (37)一、实验目的 (37)二、实验内容 (37)三、预习思考 (37)四、实验过程 (38)(一)流程图 (38)(二)源代码 (39)(三)实验分析 (45)五、实验总结 (46)实验一 DEBUG 的使用一、实验目的1.掌握汇编程序的编辑、编译、连接和执行的全过程;2.学习和掌握用DEBUG调试程序的方法。

二、实验内容1.用编辑软件,输入以下汇编语言源程序:DAT SEGMENTA DB 20B DB 15Y DB 3 DUP(0)Z DB 0,0DAT ENDSSTA SEGMENT STACKDW 50 DUP(?)STA ENDSCOD SEGMENTASSUME CS:COD,DS:DATSTAR PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATMOV DS,AXMOV AX,STAMOV SS,AXMOV AL,AMOV Z,ALMOV Z+1,ALCALL SUB1MOV AL,BMOV Z,ALMOV Z+1,ALCALL SUB1MOV AL,AMOV Z,ALMOV AL,BMOV Z+1,ALCALL SUB1ADD WORD PTR Y,AXADC BYTE PTR[Y+2],0RETSTAR ENDPSUB1 PROCMOV AL,ZMOV AH,Z+1MUL AHADD WORD PTR Y,AXADC BYTE PTR[Y+2],0RETSUB1 ENDPCOD ENDSEND STAR2.通过编译,连接形成可执行文件。

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

竭诚为您提供优质文档/双击可除微机原理实验报告清零程序
篇一:微机原理实验报告
微机原理与应用课程实验报告
实验分工:
报告人
同组人
实验时间:20XX.12.10
课程设计
一、题目要求
(1)在数据段首址为0100h开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据;
(2)将上述源区内容传送到目的内存区2(首址为1100h)中;
(3)检验上述传送过程是否正确,如有错误,在紧跟内存区2后的第一个字节
开始写入AscII码“eRRoR”,否则写入“oK”。

(4)用冒泡法将上述内存区2的数据,按从小到大的次序重新排列,排列后存放在内存区3(开始地址为2100h)。

(5)将上述内存区2和内存区3的第100个数据分别乘以2,并转为bcD码,保存在各自存储区的末尾。

再将上述两个bcD码相乘,其结果保存在内存区1的末尾处。

二、实验程序框图
三、程序代码
codesegment
assumecs:code
DATA1db16dup(?)
DATA2dbeRRoR
DATA3dboK
;在数据段首址为0100h开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据start:
movax,0100h;规定目标程序存放单元的偏移量
movds,ax;数据段地址
moves,ax
movsi,offsetDATA1;偏移地址
movcx,0010h;循环次数
movbx,0100h
moval,ofh
s1:
movcs:[si],al
mov[bx],cs:[si]
incsi
incbx
decal
loops1
nop
;将内存区1数据搬移到内存区2中
movcx,16
movsi,0100h
movbx,1100h
s2:
moval,[si]
mov[bx],al
incbx
loops2
nop
;对比内存区1的数据与内存区2的数据是否相同mov cx,16
movsi,0100h
movbx,1100h
comp:
movax,[si]
movdx,[bx]
cmpax,dx
jneerro
incsi
incbx
loopcomp
;数据如果都相同,说明上述传输过程正确movsi,offsetDATA3
movdi,1110h
movbl,0
movcx,2
enteroK:
movbl,cs:[si]
mov[di],bl
incsi
incdi
loopenteroK
nop
jmps3
;如果有一个数据不相同,说明上述传输过程不正确err:
movsi,offsetDATA2
movdi,1110h
movbl,0
movcx,5
entereRR:
movbl,cs:[si]
mov[di],bl
incdi
loopentereRR
;将内存区2数据搬移到内存区3中
s3:
movsi,1100h
movcx,0010h
movbx,2100h
moval,0
movcx,16
fil:
moval,[si]
mov[bx],al
incsi
incbx
loopfil
nop
;用冒泡法将内存区3的数据按从小到大重新排列s4: movbl,0
movcx,16
movsi,2110h
decsi
deccx
again:
moval,[si]
cmpal,[si-1]
jaenext
xchgal,[si-1]
mov[si],al
movbl,1
next:
decsi
loopagain
cmpbl,0
jnestart1
nop
movsi,1109h
moval,[si]
movcl,2
mulcl;结果在al中
movdx,0
movbx,10
divbx
shlal,4
addal,dl;把二进制数转换成bcD码mov[1112h],al
movsi,2109h
moval,[si]
movcl,2
mulcl;结果在al中
movdx,0
movbx,10
divbx
shlal,4
addal,dl;把二进制数转换成bcD码mov[2110h],al
;两个bcD码相乘,其结果保存在内存区1的末尾处。

movsi,1112h
movah,[si]
movcl,4
shrah,cl
moval,ah
movdl,10
muldl;结果在al中
movdl,[si]
篇二:微机原理实验报告
华北电力大学
科技学院
课程名称:微机原理实验学生姓名:牛玺童班级:电气学号:实验报告11k6111904010415
实验一数据转换实验
一、实验目的
(1)初步掌握在pc机上建立、汇编、链接和运行8086/88汇编语言程序的过程。

(2)通过对两个验证性试验的阅读、调试、掌握不同进制数及编码相互转换的程序设计方法。

(3)完成程序设计题,加深对数码转换的理解,了解简单程序设计方法。

二、实验内容
1.十六进制数转换为AscII码
设二字节十六进制数存放于其实地址为3500h的内存单元中,把他们转换成AscII码后,再分别存入起始地址为350A。

相关文档
最新文档