东南大学单片机实验报告.docx

上传人:汽*** 文档编号:548070421 上传时间:2022-09-03 格式:DOCX 页数:96 大小:36.97KB
返回 下载 相关 举报
东南大学单片机实验报告.docx_第1页
第1页 / 共96页
东南大学单片机实验报告.docx_第2页
第2页 / 共96页
东南大学单片机实验报告.docx_第3页
第3页 / 共96页
东南大学单片机实验报告.docx_第4页
第4页 / 共96页
东南大学单片机实验报告.docx_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《东南大学单片机实验报告.docx》由会员分享,可在线阅读,更多相关《东南大学单片机实验报告.docx(96页珍藏版)》请在金锄头文库上搜索。

1、东南大学单片机实验报告 单片机应用系统设计 实验报告 姓 名: 学 号: 院 系: 仪器科学与工程学院 专 业: 测控技术与仪器 实 验 室: 机械楼 5 5 楼 同组人员: 评定成绩: 审阅教师: 软件实验一 数据传送实验 一、 实验目的 1、熟悉单片机仿真开发器的使用; 2、掌握编程方法; 3、掌握 8051 内部 RAM 的数据操作 二、 实验内容 内部 RAM 40H4FH 单元置数 A0HAFH,然后将 40H4FH 单元内容送到内部 RAM50H5FH 单元中。 编辑、编译、运行程序,检查内部 RAM 中的结果。 三、 实验程序 ORG 0000H RESET: AJMP MAIN

2、 ORG 003FH MAIN: MOV R0,#40H MOV R2,#10H ;提高时将 10H 改为 20H MOV A,#0A0H ;提高时将 0A0H 改为 00H A1: MOV R0,A INC R0 INC A DJNZ R2,A1 MOV R0,#40H MOV R1,#50H ;提高时将 50H 改为 60H MOV R2,#10H ;提高时将 10H 改为 20H A2: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,A2 A3: SJMP A3 四、 实验结果 实验显示 RAM 的 40H4FH 以及 50H5FH 的内容都为 A0HA

3、FH。 五、 实验提高 修改程序:将所置的数改为 00H1FH,置数单元和传送单元分别改为内部 RAM 的 40H5FH、60H7FH。 思考:见实验程序解释部分。 软件实验二 多字节十进制加法实验 一、 实验目的 掌握 MCS-51 汇编语言程序设计方法 二、实验内容 多字节十进制加法; 加数存储单元首地址由 R0 指出,被加数和结果的存储单元首地址由 R1 指出,字节数由 R2 指出; 编辑、编译、运行程序,检查内部 RAM 中的结果。 三、实验程序 加数存储单元为:31H、30H,被加数存储单元为:21H、20H,结果存储单元为:22H、21H、20H。 - ORG 0000H RESE

4、T: AJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV R0,#31H MOV R0,#22H ;提高时将加数高位 22H 改为自定义的数的高位(如 45H) DEC R0 MOV R0,#33H ;提高时将加数低位 33H 改为自定义的数的低位(如 34H) MOV R1,#21H MOV R1,#44H ;提高时作为被加数的高位被修改(如改为35H) DEC R1 MOV R1,#55H ;提高时作为被加数的低位被修改(如改为56H) MOV R2,#02H ACALL DACE HERE: SJMP HERE DACE: CLR C DAL: MOV A

5、,R0 ADDC A,R1 DA A MOV R1,A INC R0 INC R1 DJNZ R2,DAL CLR A MOV ACC.0,C MOV R1,A RET 四、实验结果 被加数单元地址 (21H)(20H) 加数单元地址 (31H)(30H) +) 结果单元地址 (22H)(21H)(20H) 被加数数值 35H 56H 加数数值 22H 33H +) 结果数值 00H 66H 88H 五、实验提高 修改加数和被加数(十进制数),重复运行程序。 思考:见程序解释部分,改过之后结果如下: 被加数数值 44H 55H 加数数值 45H 34H +) 结果数值 00H 89H 89H

6、软件实验三 十进制数排序实验 一、实验目的 掌握十进制数的排序方法 二、实验内容 本程序用的是冒泡排序法,是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序,即从小到大排序。 三、实验流程图 四、实验程序 SIZE EQU 10 ARRAY EQU 40H CHANGE EQU 0 SORT: MOV R0,#ARRAY MOV R7,#SIZE-1 CLR CHANGE GOON: MOV A,R0 MOV R2,A INC R0 MOV B,R0 CJNE A,B,NOTEQUAL

7、SJMP NEXT NOTEQUAL: JC NEXT ;提高时将JC 改为JNC SETB CHANGE XCH A,R0 DEC R0 XCH A,R0 INC R0 NEXT: DJNZ R7,GOON JB CHANGE,SORT LJMP $ END 五、实验结果 实验时,运行程序前手动更改 RAM 50H59H 的内容为任意 10 个无序的数,如 00H,89H,F6H,6AH,04H,C0H,BAH,34H,25H,FFH。运行程序后可以看到 50H59H 的内容变为00H,04H,25H,34H,6AH,89H,BAH,C0H,F6H,FFH 即按升序排列的 10 个数。 六、

8、实验提高 修改程序,按照从小到大的顺序排列。 思考:只要将 NOTEQUAL 子程序中的 JC 改为 JNC 即可实现。运行后的数据将按照从大到小排列。 硬件实验一 O I/O 口输入/ / 输出及控制实验 、O I/O 口输入/ / 输出 实验 一、实验目的 1、学习单片机 I/O 口的使用方法; 2、学习延时子程序的编写和使用。 二、实验内容 1、I/O 口输出:P1 口做输出口,接八只发光二极管,编写程序让发光二极管循环点亮。 2、I/O 口输入/输出:P1.0、P1.1 做输入口接两个拨动开关;P1.2、P1.3 做输出口,接两个发光二极管。编写程序读取开关状态,将此状态在发光二极管上

9、显示出来。编程时应注意 P1.0、P1.1 作为输入口时应先置 1,才能正确读入值。 三、实验步骤 1、I/O 口输出硬件连接 连线 连接孔 1 连接孔2 1 P1.0 L0 2 P1.1 L1 3 P1.2 L2 4 P1.3 L3 5 P1.4 L4 6 P1.5 L5 7 P1.6 L6 8 P1.7 L7 MCS51 的 P1 口循环点灯 2、I/O 口输入/输出硬件连接 连线 连接孔 1 连接孔 2 1 K4 P1.0 2 K5 P1.1 3 P1.2 L4 4 P1.3 L5 MCS51 的 P1 口输入/输出 3、实验说明 (1)对于 MCS51,P1 口是准双向口。它作为输出口

10、时与一般的双向口使用方法想同;但准双向口用作输入口时,因其结构特点必须对它置1,否则读入的数据容易产生错误。 (2)8051 延时子程序的延时计算问题,对于程序 DELAY: MOV R6, #0H MOV R7, #0H DELAYLOOP: DJNZ R6, DELAYLOOP DJNZ R7, DELAYLOOP RET 查指令表可知 MOV 和 DJNZ 指令均需两个指令周期,在 12MHz 晶振时,一个机器周期时间为:12/12MHZ = 1ms,该延时子程序延时:(256X256+2)X2X12/12=130ms。 4、分别连接硬件并执行相关程序,记录结果。 四、实验流程图 五、实

11、验程序 1、I/O 口输出(P1 口循环点灯) LOOP: MOV A,#01H ;提高时将 01H 改为 55H MOV R2,#8 OUTPUT: MOV P1,A RL A CALL DELAY DJNZ R2,OUTPUT LJMP LOOP DELAY: MOV R6,#0 MOV R7,#0 DELAYLOOP: DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP RET END 2、I/O 口输入/输出(P1 口输入/输出) KEYLEFT EQU P1.0 KEYRIGHT EQU P1.1 LEDLEFT EQU P1.2 LEDRIGHT EQU P1.3 SETB KEYLEFT SETB KEYRIGHT LOOP: MOV C,KEYLEFT MOV LEDLEFT,C MOV C,KE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档 > 租房合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号