资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
本科实验报告本科实验报告课程名称: 单片机原理与应用技术 实验项目: 双字节 BCD 加法实验 实验地点: 信息学院二层机房 专业班级: 测控 1301 学号: 2013001854 学生姓名: 宁帅杰 指导教师: 温景国 2016 年 4 月 16 日一、实验目的和要求 1、实验目的 (1)通过常用指令的编辑练习,进一步理解并掌握 MCS-51 单片机的指令系统 (2)学习 并掌握双字节 BCD 加法的程序设计 (3)学习汇编语言的基本设计方法 2、实验要求 (1)掌握双字节 BCD 加法程序的编写方法 (2)根据实验任务和要求,编制源程序 (3) 上机调试程序,记录相关调试信息 (4)写出实验报告 二、实验内容和原理 (1)实验内容 将两个双字节十进制数相加,得出结果并存放在 40H 单元中。 (2)实验原理 两个 BCD 双字节带进位相加,得出结果用 da 指令完成累加器 a 中的运算结果自动修正。 三、主要仪器设备 1、计算机一台 2、操作系统:Windows98/2000/XP 3、应用软件:WAVE6000 四、操作方法和实验步骤 程序:ORG 0000H MOV 30H,#96H MOV 31H,#28H MOV 40H,#86H MOV 41H,#39H MOV A,31H CLR C ADD A,41H DA A MOV 52H,A MOV A,30H ADDC A,40H DA A MOV 51H,A CLR A ADDC A,0 MOV 50H,A截图:五、实验结果分析 52 结果为 67,51H 结果为 82,50H 结果为 01,所以计算结果为 018267 六、实验心得体会 这次实验通过观察寄存器内部程序运行了解单片机如何处理数据,对单片机操作有了一个 初步的认识,对于单片机的学习有很大帮助。本科实验报告本科实验报告课程名称: 单片机原理与应用技术 实验项目: 子程序及其调用实验 实验地点: 信息学院二层机房 专业班级: 测控 1301 学号: 2013001854 学生姓名: 宁帅杰 指导教师: 温景国 2016 年 4 月 16 日一 实验目的 1、通过编辑练习常用指令,理解并掌握 MCS-51 单片机的指令系统。 2、掌握子程序调用的 程序设计。 3、掌握子程序调用过程中保护现场与恢复现场以及调用程序与被调用程序之间的参数传递。4、学习汇编语言的程序设计方法 二 实验设备: 计算机 操作系统:Windows xp 应用软件:WAVE6000 三 实验内容 编写程序,计算 Y=。a1,a2,,a10 存放在内部 RAM 的 20H 开始的存储区内, 计算所得结果放入 R2 和 R3 中 四、实验源程序 程序:ORG 0000H MAIN: MOV R0,#20HMOV R7,#10MOV R3,#0MOV R2,#0MOV 20H,#2MOV 21H,#5MOV 22H,#7MOV 23H,#3 LOOP: MOV A,R0ACALL SORTADD A,R2MOV R2,ACLR AADDC A,R3MOV R3,AINC R0DJNZ R7,LOOPSJMP SORT SORT: MOV DPTR,#TABMOVC A,A+DPTRRET TAB: DB 0,1,4,9,16,25DB 36,49,64,81,100截图:五、实验结果分析 最后得到的结果是 22+52+72+32=87 即十六进制的 57 六、心得体会 这次实验让我们明白了子程序调用可以大大节省计算时间,提高编程效率,而且也熟悉了 各个机器码的使用方法对我们很有帮助。本科实验报告本科实验报告课程名称: 单片机原理与应用技术 实验项目: 数据排序实验 实验地点: 信息学院二层机房 专业班级: 测控 1301 学号: 2013001854 学生姓名: 宁帅杰 指导教师: 温景国 2016 年 4 月 23 日一 、实验目的 (1)熟悉并掌握 MCS-51 指令系统和程序设计方法。 (2)掌握排序程序算法。 (3)掌握用循环程序实现数据排序的方法。 二、 实验设备 计算机 操作系统:Windows 98/2000/XP 应用软件:WAVE 6000 或其他。 三、 实验内容 编写一个通用排序子程序并调试,其功能为将 RAM 的 40H4FH 单元 16 个字节无符号二进 制整数按从小到大顺序排序,将排序后的数据存放在 50H5FH 缓冲区中。 四 、实验原理 从 40H 单元的第一个数开始依次和相邻单元的另一个数比较,如果顺序正确,则不作任何 操作;如果顺序错误,则将这两个数位置对换。这样,在完成第一遍 n-1 次比较后,最小 的数到了最后,所以第二遍比较只需要比较 n-2 次,最多作 n-1 遍比较就可完成排序。在 比较中设立一个标志位 flag 清零,在循环结束时,若 flag=1 说明排序未完成,进入外循环; 若 flag=0,说明排序完成,程序结束。 五、流程图六、实验源程序 ORG 0000HMOV R7,#10H MOV R0,#40H MOV R1,#20H START:MOV A,R1MOV R0,AINC R0DEC R1DJNZ R7,STARTMOV R7,#0FH LP0: MOV R0,#40HMOV A,R7MOV R6,ACLR 7FH LP1: MOV A,R0MOV 20H,R0INC R0MOV 21H,R0CLR CSUBB A,21HJC LP2SETB 7FHMOV R0,20HDEC R0MOV R0,21HINC R0 LP2: DJNZ R6,LP1七、实验结果分析八、心得体会 这次实验让我更清楚的看到了单片机内部程序执行的过程,对理解单片机程序帮助很大, 让我更好的去理解课本上的程序段本科实验报告本科实验报告课程名称: 单片机原理与应用技术 实验项目: 定时器中断实验 实验地点: 信息学院二层机房 专业班级: 测控 1301 学号: 2013001854 学生姓名: 宁帅杰 指导教师: 温景国 2016 年 4 月 23 日一 、实验目的 (1)深刻理解对 MCS-51 单片机定时/计数器内部结构、工作原理和工作方式。 (2)掌握 定时/计数器工作在定时和计数两种状态下的编程方法。 (3)掌握中断服务程序设计方法。二 、实验设备 计算机 操作系统:Windows 98/2000/XP 应用软件:WAVE 6000 或其他。 三 、实验内容 在使用 12MHz 晶振的条件下,用 T1 产生 1ms 的定时,两个 7 段 LED 数码管从 00 开始显 示,每 1 秒加 1,到达 59 后,再从 00 开始,完成 60 秒定时功能。 四、 实验原理 MCS51 单片机内部包括 T0 和 T1 两个定时计数器。每个定时,计数器有 4 种工作方式。设加 1 计数器计数的最大值为 M,计数值为 N,计数初值为 Count,则 Count 的计算方法 如下。 Count=M定时时间/T=M-50000/1=65536-50000=15536=3CB0H 五、实验流程图六、实验源程序 ORG 0000HAJMP STARTORG 001BHAJMP T1INTORG 0030H START:SETB TR1SETB ET1SETB EAMOV SP,#60HMOV TMOD,#10HMOV TH1,#0FCHMOV TL1,#18H MAIN: AJMP MAIN T1INT: CPL P1.0MOV TH1,#0FCHMOV TL1,#18HRETIEND七、实验结果分析 在 TH1,TH2 均取到 FFH 时,再执行一步操作,P1.0 取反 八、实验心得体会 这次上机实验让我对单片机程序的了解更深一步,具体而言,了解了单片机的定时器计数 器的工作原理和流程。对我的单片机及汇编程序的学习有很大帮助。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号