- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告 排序程序
实验目的
1. 熟悉MCS-51指令系统,掌握程序设计方法。
2. 掌握控制转移指令的功能,以及冒泡排序法原理。
3. 熟悉51单片机汇编语言编程环境。
实验要求
设30H开始的10个存储单元中,存放的是无符号数,编写程序实现:将它们排序,并存放到50H开始的单元中。
实验原理
冒泡算法的思想为,每次取相邻单元的两个数比较,判断是否需要交换数据的位置。第一次循环,比较N-1次,取到数据表的最大值;第二次循环,比较N-2次,取到次大值;……第N-1次循环,比较一次,排序结束。
流程框图
实验程序及调试仿真:
实验程序如下:
N EQU 10
TAB EQU 30H
TAC EQU 50H
ORG 0000H
SORT: MOV R4,#N-1
LOOP1: MOV A,R4
MOV R3,A
MOV R0,#TAB
LOOP2: MOV A,@R0
MOV B,A
INC R0
MOV A,@R0
CLR C
SUBB A,B
JNC UNEXCH
MOV A,@R0
DEC R0
XCH A,@R0
INC R0
MOV @R0,A
UNEXCH: DJNZ R3,LOOP2
DJNZ R4,LOOP1
MOV R1,#TAB
MOV R7,#N
MOV R0,#TAC
AGAIN: MOV A,@R1
MOV @R0,A
INC R1
INC R0
DJNZ R7,AGAIN
SJMP $
END
程序调试及运行结果
实验结论
通过本实验,我对冒泡排序法的原理有了更深入的理解,同时在掌握此算法思想的基础上能够用汇编语言进行编程,并学会在Keil μVersion4调试界面的Memory窗口中查看内存地址的内容,从而验证设计的源程序的正确性,提高了自己解决问题的能力。
实验报告02_ 外部中断实验
实验目的
学会使用Keil μVersion4和Proteus软件进行单片机汇编语言和C语言程序设计与开发;了解和掌握MCS-51单片机的中断组成、中断控制工作原理、中断处理过程、外部中断的中断触发方式,掌握中断功能的编程方法。
实验要求
单片机的P1.0引脚连接LED指示灯D0;单片机的P3.2引脚(INT0)连接按键开关K,作为中断源,每次按键都会触发INT0中断;在INT0中断服务程序中将P1.0端口的信号取反,使LED指示灯D0在点亮和熄灭两种状态间切换,产生LED指示灯按键开关K控制的效果。
实验原理
本实验采用外部中断0。中断请求信号由按键BUTTON来实现,由引脚INT0(P3.2)引入;通过按键可以控制P1.0所接的LED灯的点亮熄灭。其中中断请求信号设置为边沿触发方式。当按键按下,INT0出现负跳变,发出中断请求信号。CPU响应中断,停止其他工作,跳转到INT0中断入口地址0003H单元,转入EX_INT0执行中断服务程序,当执行到中断返回指令RETI时,使CPU返回断点处,继续处理其他工作。
中断处理流程图示:
主程序框图 INT0中断处理程序框图
实验电路原理图
实验程序及调试仿真
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP EX_INT0
ORG 0100H
MAIN: MOV SP,#40H
SETB IT0
SETB EA
SETB EX0
HERE: SJMP HERE
ORG 0200H
EX_INT0: CPL P1.0
RETI
END
Proteus仿真
按键为按下时:
按键按下后
实验结论
本实验通过Keil μVersion4的中断程序汇编语言设计和Proteus软件的仿真,成功实现了按键对信号灯的熄灭点亮控制。通过实验,也加深了我对51单片机中断系统的认识。
实验03_定时器实验
实验目的
了解MCS-51单片机中定时器、计数器的基本结构、工作原理和工作方式,掌握工作在定时器模式下的编程方法。
实验要求
设单片机的晶振频率fosc=12MHZ, 使用T0定时100ms, 在P1.2引脚产生周期为200ms的方波信号,并通过
文档评论(0)