实验名称:实验2《数据区传送实验》 班级 通信工程11-01 姓名 温超航 学号 42号 一、 实验目的及要求 掌握汇编语言程序设计和调试方法。 了解单片机RAM中的数据操作。 二、 实验内容与步骤 把R2,R3所指地址内的数据传送到R4,R5所指地址内。 三、实验结果 四、源程序 ORG 0030H; 指定汇编起始地址 START: MOV R2,#00H; MOV R3,#00H; MOV R4,#20H; MOV R5,#00H; MOV R6,#1FH; MOV R7,#0FFH; MOV A,#00H MOV DPH,R2; MOV DPL,R3; @DPTR,A; FUN1: MOVX INC A; INC DPTR; MOV R2,DPH; MOV R3,DPL; CJNE MOV R2,#00H; MOV R3,#00H; R2,#20H,FUN1; FUN2: MOV DPH,R2; MOV DPL,R3; MOVX A,@DPTR; INC DPTR; MOV R2,DPH; MOV R3,DPL; MOV DPH,R4; MOV DPL,R5; MOVX @DPTR,A; INC DPTR; MOV R4,DPH; MOV R5,DPL; DJNZ R7,FUN2; MOV R7,#0FFH; DJNZ END; R6,FUN2 五、实验心得 通过实验我更好的了解了单片机地址的分配与使用,以及汇编语言的程序思想,掌握了开发软件的使用。
单片机实验报告
实验名称:实验3《数据排序实验》
班级 通信工程11-01 姓名 温超航 学号 42号 一、 实验目的及要求 熟悉指令系统,掌握数据排序程序的设计方法。 二、实验内容与步骤 有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序 三、 实验结果 运行后: 四、 源程序 ORG 0000H; 指定汇编起始地址 START: MOV R0,#50H; 将起始地址赋值给 R0 MOV @R0,#10H; 向初始地址赋值 INC R0; INC R0; 初始地址加1 初始地址加1 MOV @R0,#43H; 向初始地址赋值 INC R0; MOV @R0,#2FH; 向初始地址赋值 INC R0; INC R0; 初始地址加1 初始地址加1 MOV @R0,#36H; 向初始地址赋值 INC R0; MOV @R0,#72H; 向初始地址赋值 INC R0; INC R0; 初始地址加1 初始地址加1 MOV @R0,#35H; 向初始地址赋值 INC R0; MOV @R0,#0A3H; 向初始地址赋值 MOV R3,#0AH; 代表10个数,冒泡10次 MOV 2FH,#0AH; 冒泡次数 INIT: MOV R3,2FH; MOV R0,#50H; 将起始地址再赋值给 R0 MOV R1,#50H; 交换内容时用来作中转站 标志位清0 R0 所指地址给 A R0 指向下一数据地址 FUN1: CLR C; MOV A,@R0; INC R0; SUBB A,@R0; 用前一地址数据去减后一地址数据 ADD A,@R0; JC Q1; SETB 如果 A 小于 @R0 转移 前者大的话,置标志位,并交换两个地址内容 并交换两个地址内容 ; C; XCH A,@R0; DEC R0; XCH A,@R0; FUN2: INC R0; DJNZ DJNZ SJMP R3,FUN1; 2FH,INIT; Q2; 指示循环10次 指示循环10次 Q1: DEC R0; SJMP NOP END; FUN2; 汇编到此结束 Q2: 五、实验心得 通过实验我更好的了解了单片机地址的分配与使用,以及汇编语言的程序思想,掌握了开发软件的使用。
单片机实验报告
实验名称:实验4《查找相同数个数实验》
班级 通信工程11-01 姓名 温超航 学号 42号 一、 实验目的及要求 熟悉汇编语言的编程思路与设计调试方法。 二、实验内容与步骤 在2000~200FH中查出有几个字节是零,把零的个数放在2100H中。 三、 实验结果 我把零的个数存入R1内,因为没有对程序区初始化,所以零的个数应该是10H个,结果正确。 四、 源程序 ORG 0000H; 指定汇编起始地址 START: MOV R0,#10H; MOV R1,#00H; MOV DPTR,#2000H; MOVX CJNE A,@DPTR; A,#00H,Q2; Q1: INC R1; INC DPTR; DJNZ R0,Q1; Q2: MOV A,R1; MOVX END; @DPTR,A; 五、实验心得 通过实验我更好的了解了单片机地址的分配与使用,以及汇编语言的程序思想,掌握了开发软件的使用。
单片机实验报告
班级 通信工程11-01 姓名 实验名称:实验5《P1口转弯灯实验》
温超航 学号 42号 一、实验目的 进一步了解P1口的用法,掌握汇编语言编程方法和调试技巧。 二、实验内容与步骤 不断扫描P1口状态,根据P1口状态控制不同的灯闪烁。 P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮。 P1.0、P1.1 开关同时接5V或接地时,转弯灯均不闪亮。 三、 源程序 ORG 0030H; 指定汇编起始地址 FUN0: MOV P1,#0FFH ;初始化 FUN1: MOV A,P1; FUN2: SETB P1.4 SETB P1.5 ; MOV B,A ANL A,#03H; 将两状态口读入A CJNE A,#01H,FUN4 ;不只是P1.0为高则转移 JB 00H,FUN2 ;右灯已亮则转移 CLR P1.4 读取P1口状态 MOV 00H,#00H MOV 03H,#00H CLR P1.5 ; 开右灯 SETB P1.6 SETB P1.7 ; 关左灯 MOV R2,#20H LCALL DELY ; 延时 SETB 00H ; 置右灯标志位 LJMP FUN1 ; 继续查询状态 SETB P1.6 ;关灯 SETB P1.7 MOV R2,#20H LCALL DELY ;延时 CLR 00H ; 清右灯标志位 LJMP FUN1 ; 继续查询状态 FUN4: CJNE A,#02H,FUN5 ;不只是P1.1为高则转移 JB 03H,FUN6 ;判左灯标志位 SETB P1.4 SETB P1.5 ;开左灯 CLR P1.6 CLR P1.7 ;关右灯 MOV R2,#20H LCALL DELY ;延时 CLR 03H ; 清左灯标志位 LJMP FUN1 ; 继续查询状态 FUN6: SETB P1.4 SETB P1.5 SETB P1.6 ;关灯 SETB P1.7 MOV R2,#20H ;延时 LCALL DELY SETB 03H ; 置左灯标志位 LJMP FUN1 ; 继续查询状态 FUN5: SETB P1.4 SETB P1.5 SETB P1.6 ;关灯 SETB P1.7 MOV R2,#20H LCALL DELY ;延时 CLR 03H ; 清左灯标志位 LJMP FUN1 ; 继续查询状态 ; ORG 0213H DELY: PUSH 02H DEL2: PUSH 02H DEL3: PUSH 02H DEL4: DJNZ R2,DEL4 POP 02H ;延时 DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY END RET 四、 实验心得 通过实验我了解了单片机IO口的控制方法,更好的掌握了汇编语言在实际应用中的设计方法。
单
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- fupindai.com 版权所有 赣ICP备2024042792号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务