单片机实验参考资料 (2)
单片机原理实验实验2

将编写好的程序下载到单片机实验板上,
测试实验电路
4
并确保下载成功。
通过输入合适的信号或进行交互操作, 测试单片机电路是否按照预期工作。
实验数据记录和处理
1 记录实验数据
在实验过程中,准确记录电路参数、信号输 入和输出以及其他相关数据。
2 数据处理与分析
对于记录的实验数据,进行必要的处理和分 析以得出结论。
实验结果和分析
实验结果
展示实验中获得的数据和观察结果,解释达到的目 标和观察到的现象。
数据分析
对实验结果进行详细的数据分析,解释所观察到的 现象和实验数据的意义。
实验总结和结论
实验总结
总结实验过程中的关键步骤、观察结果和问题,以及可能的改进。
实验结论
根据实验结果和分析,得出关于单片机原理和应用的结论,并讨论可能的应用领域。
参考文献
1. 书籍名称1,作者1 2. 书籍名称2,作者2
单片机原理实验实验2
本实验旨在通过实践进一步了解单片机的工作原理和应用。我们将学习实验 目的和背景、实验器材和材料、实验步骤和方法、实验数据记录和处理、实 验结果和分析、实验总结和结论以及参考文献。
实验目的和背景
通过本实验,我们的目的是深入了解单片机的原理和应用,并通过实践加深 对其工作方式的理解。我们将探索单片机在各种电子设备和系统中的作用, 并了解它在嵌入式系统中的重要性。
实验器材和材料
单片机实验板
用于搭建电路和进行编程实验的主要设备。
电脑
用于编写、下载和测试单片机程序。
电路元件
如电阻、电容、LED 等,用于构建实验电路。
实验步骤和方法
1
准备实验电路
根据实验要求搭建单片机电路,并确保编写程序2Fra bibliotek连接正确。
单片机实验参考资料 (2)

实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件keilC51。
二、实验设备1.G2200 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容P1端口接发光二极管,加1点亮。
四、连线方案:实验箱内部已连好五、实验步骤1.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
2.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。
3.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。
拆线时,应先回转一下,不要硬拨,以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
4.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
5.在计算机上打开keil软件建立新程序ORG 0MOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND6.建立新的项目7.设置项目8.编译程序选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。
双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误后,就可以执行、调试程序了。
9.执行、调试程序六、实验结果七、实验总结实验二查表程序一、实验目的1.学习Keil uvision3单片机仿真软件的使用方法。
单片机参考资料

单片机参考资料单片机(Microcontroller,简称MCU)在现代电子技术领域中使用广泛,其作用是控制电子设备的运行。
由于单片机种类众多且功能各异,学习和使用单片机时,准备一些参考资料是非常重要的。
本文将介绍一些单片机参考资料,帮助您更好地学习和使用单片机。
一、数据手册数据手册是学习和使用单片机时最重要的参考资料之一。
数据手册详细介绍了单片机的内部架构、寄存器、引脚定义、指令集、时钟配置等重要信息。
学习者可以通过数据手册了解单片机的基本原理和工作方式,从而更好地理解和应用单片机。
对于常见的单片机型号,如PIC、STM32、Arduino等,官方都提供了相应的数据手册,学习者可以在官方网站上下载。
二、开发板资料开发板是学习和实践单片机的重要工具之一。
对于常见的单片机型号,市场上有许多开发板可供选择。
购买开发板时,通常会附带一份用户手册,其中包含了开发板的基本介绍、硬件连接方式、编程环境配置等内容。
此外,开发板的厂商还会提供一些示例代码和应用案例,帮助学习者快速上手并实践单片机的各种功能。
因此,学习者在选购开发板时可以参考开发板资料,并根据自己的需求选择适合的开发板。
三、编程手册学习单片机需要熟练掌握编程语言和相关开发工具。
单片机的编程语言有汇编语言和高级语言两种。
对于汇编语言,可以通过学习相应的汇编语言手册,了解其语法、指令集和程序设计方法。
对于高级语言,如C语言和Python等,学习者可以参考相应的编程手册,学习语法和相关函数的使用方法。
编程手册会详细介绍语言的基本概念和常用语句,帮助学习者快速上手并编写单片机程序。
四、网络资源互联网是获取单片机参考资料的重要途径。
学习者可以通过搜索引擎或者技术论坛等方式,获取大量的单片机相关资源。
例如,GitHub是一个开源代码托管平台,其中有许多优秀的单片机项目和代码可以供学习者参考。
此外,还有一些针对单片机的在线学习课程和教程,可以帮助学习者系统学习单片机的基础知识和应用技巧。
单片机实验报告参考

《实验一 应用系统开发过程演示》实验报告参考一.实验目的1.了解单片机应用系统的开发过程,获得感性认识。
2.了解开发箱/开发板的使用方法3.了解仿真软件的基本功能和使用方法。
二.实验环境(一) EL 型微机教学实验系统:1. 设备::北京精议达盛科技有限公司EL-MUT3多CPU 单片机/微机实验实训系统2. 软件:北京精议达盛科技有限公司8051调试软件4.0版 二.实验电路(一) EL 型微机教学实验系统实验电路(二) 仿真软件开发调试环境: 1.英国 Labcenter electronics 公司的Proteus EDA 工具软件, 2. 美国Keil 公司的µVision 集成开发环境 (二) 仿真软件实验电路:三. 操作步骤:(一)EL 型微机教学实验系统操作步骤1. 连线:P1.0~P1.7接LED1~LED82. 新建汇编语言源文件3. 另存为D:\J08X\SY1.ASM4. F3编译生成目标文件,F5进入调试:工具栏上“R ”打开寄存器窗,“H ”打开反汇编窗口F8,单步执行,观察相关寄存器窗口中有关寄存器中数据的变化。
四. 源程序(括号中为EL 型微机教学实验系统中的程序)ORG 0000H (ORG 4000H ) SJMP MAIN (LJMP MAIN) ORG 0040 H (ORG 4100H) MAIN: MOV A,#0FEH LOOP: MOV P2,A (MOV P1,A ) LCALL D_1s RL A AJMP LOOP ;以下为延时子程序 D_Is: MOV R6,#100 ;1s D10ms: MOV R5,#40 :10ms DL: MOV R4,#123 N0P DJNZ R4,$ DJNZ R5,DL DJNZ R6,D10ms RET END(二) 仿真软件开发调试环境: ◆Proteus 工具软件下, 1.新建设计 ①选取元件 A T89C51,RES,LED-RED ②在工作区放置元件,地线,电源 电阻RES 阻值200Ω,模式DIGITAL ③连线 2. 源程序设计,生成目标文件代码 “Source →Add/RemoveFiles ”新建源程序文件D:\J08X\L Y1.ASM “Source → SY1.ASM ”在文本编辑器编写源程序 通过“Source →BuildAll ”编译源程序,生成目标程序。
单片机实验报告

单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。
它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。
本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。
2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。
3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。
4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。
具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。
接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。
4.2 编程使用XXX软件对单片机进行编程。
根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。
验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。
4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。
在实验过程中需记录实验结果,并进行分析。
5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。
掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。
实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。
当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。
在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。
6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。
)。
单片机实训实验报告

一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。
2. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
(整理)单片机学生实验资料

实验报告实验项目名称:P1口实验同组人:实验时间:实验室:K2-407单片机室指导教师:胡蔷一、实验目的:(l)学习P1口的使用方法; 熟悉Proteus软件电路设计和Keil软件程序调试方法。
(2)学习软件延时程序的编写。
重点:延时程序,P1口结构二、实验顶备知识:(l)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
(2)Proteus软件应用,Keil软件程序调试应用。
三、实验内容:㈠模拟开关灯的Proteus仿真及C语言程序设计1、设计要求:监视开关K1(接在P3.0端口上),用发光二级管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管;⑥SWITCH:开关。
模拟开关灯的电路原理图3、程序设计内容①开关状态的检测过程单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨动开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。
单片机可以采用if(K1= =1)或者if(K1= =0)指令来完成对开关状态的检测。
②输出控制当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二级管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二级管L1亮。
(预习内容)模拟开关灯的程序流程图4、程序清单(预习内容)㈡广告灯(利用查表方式)的Protues仿真及程序设计1、设计要求:利用查表的方法,使端口P1作单一灯的变化;左移2次,右移2次,闪烁2次(延时的时间0.2 s)。
2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管。
单片机实训报告参考文献

一、引言随着科技的发展,单片机技术已经成为电子技术领域的重要分支,广泛应用于工业控制、智能家居、通信等领域。
为了更好地学习和掌握单片机技术,本文整理了单片机实训报告的相关参考文献,以供读者参考。
二、单片机基础理论参考书籍1. 李广弟,单片机基础[M],北京航空航天出版社,2001年。
本书详细介绍了单片机的基本原理、硬件结构、指令系统、程序设计等基础知识,适合初学者学习。
2. 王东峰,单片机C语言应用100例[M],电子工业出版社,2009年。
本书通过100个实例,深入浅出地讲解了单片机C语言编程技巧,适合有一定基础的读者学习。
3. 陈海宴,51单片机原理及应用[M],北京航空航天大学出版社,2010年。
本书以51单片机为例,详细介绍了单片机的原理、应用及编程技巧,适合有一定基础的读者学习。
4. 刘守义,单片机技术基础[M],西安电子科技大学出版社,2007年。
本书全面介绍了单片机技术的基础知识,包括硬件结构、指令系统、程序设计等,适合初学者学习。
5. 钟富昭,8051单片机典型模块设计与应用[M],人民邮电出版社,2007年。
本书以8051单片机为例,介绍了单片机在实际应用中的典型模块设计及编程技巧,适合有一定基础的读者学习。
三、单片机开发环境参考书籍1. 郭天祥,51单片机C语言教程[M],清华大学出版社,2013年。
本书详细介绍了Keil uVision4集成开发环境的使用方法,以及51单片机C语言编程技巧,适合初学者学习。
2. 李朝青,单片机原理及接口技术[M],电子工业出版社,2012年。
本书以51单片机为例,介绍了单片机的原理、接口技术及开发方法,适合有一定基础的读者学习。
3. 马忠梅,单片机的C语言应用和设计[M],机械工业出版社,2015年。
本书以单片机的C语言编程为核心,介绍了单片机在实际应用中的设计方法,适合有一定基础的读者学习。
四、单片机应用案例参考书籍1. 王明,单片机应用系统设计[M],北京航空航天大学出版社,2010年。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件keilC51。
二、实验设备1.G2200 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容P1端口接发光二极管,加1点亮。
四、连线方案:实验箱内部已连好五、实验步骤1.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
2.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。
3.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。
拆线时,应先回转一下,不要硬拨,以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
4.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
5.在计算机上打开keil软件建立新程序ORG 0MOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND6.建立新的项目7.设置项目8.编译程序选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。
双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误后,就可以执行、调试程序了。
9.执行、调试程序六、实验结果七、实验总结实验二查表程序一、实验目的1.学习Keil uvision3单片机仿真软件的使用方法。
2.熟悉单片机实验操作步骤。
3.熟练掌握MOVC A,@A+DPTR和MOVC A,@A+PC两条查表指令的功能及应用原理。
通过实验进一步加深理解两条查表指令的异同。
4.掌握采用两条查表指令编写的实验程序的调试方法,验证程序的正确性。
二、实验设备PC机一台,keil uvision3软件三、实验内容采用查表法求1~20的平方数。
入口:自变量在累加器A中。
出口:平方高位数在R7中,低位在R6中。
分别采用MOVC A,@A+DPTR和MOVC A,@A+PC查表指令编写实验程序,并进行调试和验证;四、实验原理本次实验采用查表指令MOVC A , @A+DPTR实现上述字数据查表。
因为最大的自变量20的平方数是400,为了查表后验证方便,自变量1~20对应的平方数用伪指令DW定义,并且定义为压缩BCD码。
查表指令MOVC A , @A+DPTR只能进行字节查表,要查找一个字数据,必须进行两次查表。
利用指令MOVC A , @A+DPTR查表,表可以存放在任何位置,查表前只需要将表的首地址用MOV指令送DPTR、累加器A中必须是要查找数据在表中的偏移地址即可,查找到的数据存放在累加器A中。
编程时,首先将表的首地址送DPTR,累加器A中的自变量减1形成要查找数据在表中的序号,序号乘2得到表内偏移地址,将该偏移地址暂存到寄存器R6中,用MOVC A , @A+DPTR指令进行第一次查表,得到该自变量的平方高8位在累加器A中,并与R6进行交换,这样查找的平方高位数存放在寄存器R6中,累加器A中是第一次查表时的表内偏移地址;累加器A再加1,得到要查找的平方低位数在表内的偏移地址,再用MOVC A , @A+DPTR指令进行第二次查表,累加器A得到该自变量的平方低8位,送寄存器R7。
据此实验原理编写的实验源程序清单见附页。
ORG 0000HMOV A,#5 ;把要计算的自变量送入AMOV DPTR,#TABDEC A ;减一对齐RL A ;A乘以2MOV B,A ;保护AMOVC A,@A+DPTR ;高位MOV R6,AMOV A,B ;恢复AINC AMOVC A,@A+DPTR ;低位MOV R7,ASJMP $ORG 1000HTAB: DW 1,4,9,16,25,36,49,64,81,100DW 121,144,169,196,225,256,289,324,400END五、实验步骤1.在盘下为工程建立文件夹ZL1;2.新建工程项目文件ZL1.uv2,保存在文件夹ZL1中,并为工程选择目标器件为AT89S523.编辑源程序,建立源文件ZL1.ASM,保存在文件夹ZL1中;4.将源文件ZL1.ASM添加到工程项目组中;5.设置调试环境,选择调试模式为软件模拟;6.加载运行程序,根据预习设计的数据记录表格记录实验数据;7.实验数据经过实验指导教师检查正确后,实验结束。
实验数据记录见附页。
六、实验结果分析记录的实验数据经过计数器验证,全部正确,说明源程序设计正确、实验步骤正确。
七、心得体会1.第一次使用Keil uvision3单片机仿真软件,学习了它的使用方法和操作技巧,掌握了它的常用功能;2.通过实验,进一步掌握了MOVC A,@A+DPTR和MOVC A,@A+PC两条查表指令的功能。
理解了两条查表指令的异同。
3.通过实验,学会了查表指令程序的调试方法;4.。
(自己的体会)5.。
(自己的体会)。
(自己的体会)。
实验二多分支转移实验一、实验目的1.学习Keil uvision3单片机仿真软件的使用方法。
熟悉单片机实验操作步骤。
2. 熟练掌握MOVC A,@A+DPTR和MOVC A,@A+PC两条查表指令的功能及应用原理。
通过实验进一步加深理解两条查表指令的异同。
3.掌握采用两条查表指令编写的实验程序的调试方法,验证程序的正确性。
二、实验设备PC机一台,keil uvision3软件三、实验内容根据R2的值(1-4)实现四分支,分别实现对R7内容乘2,乘10,加10,除2操作,结果存于R6,R7中。
四、实验原理据此实验原理编写的实验源程序清单见附页。
源程序:ORG 0000HLJMP MAIN1ORG 1000HMAIN1: MOV DPTR,#TAB1MOV A,R2DEC ARL AJMP @A+DPTRTAB1: AJMP PROG1AJMP PROG2AJMP PROG3AJMP PROG4PROG1: MOV A,R7CLR CRLC AMOV R7,ACLR AADDC A,#0MOV R6,ASJMP DONEPROG2: MOV A,R7MOV B,#10MUL ABMOV R7,AMOV R6,BSJMP DONEPROG3: MOV A,R7ADD A,#10MOV R7,ACLR AADDC A,#0MOV R6,ASJMP DONEPROG4: MOV A,R7MOV B,#2DIV ABMOV R7,AMOV R6,BDONE: SJMP $END实验三数据排序实验一、实验目的1.掌握冒泡法排序的原理及编程技巧;2.熟练掌握双重循环程序的设计原理及方法;3.进一步掌握无符号数排序的编程及调试方法。
一、实验设备PC机一台,keil uvision3软件三、实验内容在起始地址为60H的数据存储区中,连续存放有10个无符号数,编程将其由大到小排序。
四、实验原理冒泡法是一种相邻数互换的排序方法,其过程类似于水中气泡上浮,故称冒泡法。
执行时从前向后进行相邻数比较,如果数据的大小次序与要求顺序不符时将相邻两个数互换,否则为正序不互换。
降序排序时通过这种方法,使较大的数向前移动,较小的数向后移动。
如此从前向后进行一次冒泡就会把最小数置于最后,再进行一次冒泡,就会把次小数排在倒数第二的位置,以此类推进行排序。
判断排序是否完成的方法是看冒泡中是否有互换发生,如果有数据互换,说明排序还没有完成,否则就表示已完成排序。
一般使用设置互换标志的方法,以其状态表示在一次冒泡中是否有数据互换来控制排序的结束。
据此实验原理编写的实验源程序清单见附页。
(注意程序中变动的内容)ORG 0000HLJMP PAIXU2ORG 1000HPAIXU2: MOV R7,#10 ;长度送R7LOOP1: DEC R7MOV A,R7MOV R6,ACLR F0 ;标志位为0MOV R0,#60H;从60H的地址开始存放数据LOOP2: MOV A,@R0 ;要确保A中数据是小数INC R0MOV R2,A;保护CLR CSUBB A,@R0 两数进行比较MOV A,R2;恢复JNC NEXT 第一个数大于第二个数跳转XCH A,@R0;交换DEC R0 ;A中原来存放是小数,经过交换后变为大数,必须把它放在该放的位置上,因为指针此时指的是后面一个单元的数据,所以必须减一。
MOV @R0,A INC R0SETB F0 ;标志位为1 NEXT: DJNZ R7,LOOP2 MOV A,R6 MOV R7,AJB F0,LOOP1 ;一次循环中有交换继续 DONE: SJMP $ ;无交换退出 END 五、实验步骤实验数据记录见附页 六、实验结果分析 七、心得体会实验四、外部中断控制实验一、实验目的5. 熟悉SICELab-G2200单片机实验系统的结构和实验方法。
6. 熟练掌握Keil uvision3单片机仿真软件的硬件仿真操作方法和步骤。
7. 学习和掌握外部中断源控制程序的编程和调试方法。
8. 学习和掌握验证中断优先级的实验设计步骤和技巧。
9. 通过实验验证外部中断源之间的中断优先级关系及其正确性。
二、实验设备PC 机一台,SICELab-G2200单片机实验系统一套 三、实验内容51单片机的外部中断0与脉冲单元的PUSH1连接,外部中断1与脉冲单元的PUSH2连接。
当响应外部中断0时,LED 指示灯D7D6点亮并顺次向右移动7次;当响应外部中断1时,LED 指示灯D0点亮并顺次向左移动8次。
编程设计外部中断的混合控制,并验证其中断优先级关系。
四、实验原理51单片机有5个中断源,这5个中断源之间的硬件优先权是固定的。
每个中断源可以设置高、低两个中断优先级。
通过改变中断源的优先级可以设置中断源之间的响应顺序。
其中的两个外部中断源,分别是外部中断0 0INT 和外部中断1 1INT ,通过单片机的P3.2引脚和P3.3引脚输入中断请求信号。
0INT 的硬件优先权比1INT 的高,当0INT 和1INT 同时发出中断请求时,先响应0INT 的中断请求,后响应1INT 的中断请求;为了使1INT 的中断请求先得到响应或能够打断0INT 的中断处理,实验中又重新设置1INT 的中断优先级为高,即PX1=1,0INT 的中断优先级为低,即PX0=0。