单片机实验指导书

合集下载

单片机实验指导书

单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。

二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。

三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。

作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。

例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。

5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。

若实验现象有误请重复第5、6步。

六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。

单片机实验指导书(6个实验)

单片机实验指导书(6个实验)

单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。

2)编写实验所要用到的程序,将其放在U盘上。

3)写出预习报告。

2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。

2)对程序进行调试,修改错误,获得要求的结果。

3)保存调试后的程序。

3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。

实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。

流程图也可不画。

5.程序清单本实验使用的完整程序。

如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。

6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。

此项为实验成绩评定的重要依据。

实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。

实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。

实验原理及环境:在计算机上已安装Keil C51软件。

这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。

如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。

实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。

2)加入C 源文件或汇编源文件。

3)用项目管理器生成各种使用文件。

4)检查并修改源文件中的错误。

5)编译连接通过后进行软件模拟仿真。

6)编译连接通过后进行硬件仿真。

7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。

单片机实验指导书

单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。

本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。

在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。

二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。

- 通过适配器给单片机开发板供电。

- 检查驱动程序是否正确安装。

2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。

- 选择适当的单片机型号和编程语言。

- 编写程序代码,实现所需功能。

- 编译程序并下载到单片机开发板。

3. 实验操作:- 根据实验要求连接相应的电路元件。

- 调试程序,确保程序能正确运行。

- 运行实验并观察结果。

四、实验注意事项1. 请确保您具备基本的电路和编程知识。

2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。

3. 如果遇到问题,请及时咨询实验指导人员或相关专家。

五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。

程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。

单片机部分实验指导书

单片机部分实验指导书

目录1、实验一多路开关实验 (3)2、实验二可编程增益放大器实验 (5)3、实验三A/D转换实验 (7)4、实验四D/A转换实验 (11)5、实验五静态显示实验 (13)6、实验六动态扫描显示实验 (15)7、实验七液晶显示实验 (18)8、实验八矩阵式键盘实验 (23)9、实验九开关量输入输出实验 (28)10、实验十24WC02串行E2PROM的读写实验 (30)11、实验十一PCF8563时钟/日历芯片的应用实验 (37)12、实验十二外部程序存储器EPROM的扩展实验 (45)13、实验十三 SRAM外部数据存储器扩展实验 (47)14、实验十四单片机与PC机的RS232串行通信实验 (50)15、实验十五单片机与PC机的MAX485串行通信实验 (52)16、实验十六打印机实验 (54)17、实验十七 USB通信实验 (57)18、实验十八网络控制器实验 (102)实验一多路开关实验一.实验目的1.掌握多路开关与单片机的接口方法。

了解按键识别的编程方法。

2.通过实验了解单片机如何进行多路开关实验。

二.实验内容利用线路板DSC-SCM01提供CPU处理器,利用线路板DCP-SCM02上的发光二级管显示及查询式键盘完成多路开关实验。

当对应的按键按下时,相应的发光二极管亮。

三.实验器材1.主控屏+5V电源2. DCP-SCM01 单片机电路3. DCP-SCM02 键盘及显示电路四.实验原理图五.实验说明该实验通过线路板DCP-SCM01及线路板DCP-SCM02完成,线路板DCP-SCM02上发光二极管的阳极接正5V电源,所以要使某个发光二极管亮,只要使对应的发光二极管的阴极为低电平即可。

六.实验步骤1.利用导线按表格中的对应关系将DCP-SCM01对应的端口与DCP-SCM02对应的端口连接起来即可DCP-SCM02 DCP-SCM01发光二极管显示单元的插座U3 P0查询式键盘区域的插座U4 P1EA脚接+5VD_SWITCH.C3.输入并编辑D_SWITCH.C文件,并且编译生成HEX文件。

单片机实验指导书

单片机实验指导书

单片机实验指导书一、硬件实验系统介绍(一)电路原理实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。

详细的电路原理图见附件(二)各模块开关控制简表二、单片机实验板使用说明(一)程序下载1、下载软件为STC-ISP V3.X,建议使用V3.5版本。

2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。

3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。

(二)程序运行1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。

2、各元件的电源开关均靠近本元件。

(三)注意事项由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。

2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。

使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。

3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零三、Keil软件使用简要说明1、建立工程文件:单击“工程”菜单中的“新工程”命令。

选择路径、输入项目名称,不需要扩展名。

在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。

2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。

单片机实验指导书

单片机实验指导书

单片机实验指导书实验一拆字程序实验一、实验目的:掌握汇编语言程序设计方法。

二、实验内容:把8000H地址的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清0。

本程序通常把数据送显示缓冲区时使用。

三、实验器材:计算机1台。

四、实验步骤:1、按流程图编写程序,以下是通过计算机交叉汇编得到的LST文件清单,供参考。

2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。

3、设置观察窗口:(1)用鼠标点击[视图/存储器窗口],在地址栏中输入:[x:0x8000];(2)在8000H写入任意数据:在地址栏内选定任意数据,[如:0x008000:00 00 00 00……](注:初始数据均为“00”)。

右键点击一初始数据“00”,在出现的对话框中点击“修改位于X:0x008000的内存”,在新弹出的对话框:[输入字节于X:0x008000]内输入任意数据,确定即完成数据的写入。

(3)单步执行观察寄存器8000H-8002H的变化。

六、实验程序:(51ASM\A8051.asm);把指定字节的高低位拆开分别存放,多用于显示字程序ORG 0000HMOV DPTR,#8000H ;指定的字节MOVX A,@DPTRMOV B,A ;暂存SW AP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,AINC DPTRMOV A,BANL A,#0FH ;指定字节的内容屏蔽高位MOVX @DPTR,ALOOP: SJMP LOOPEND ;结束汇编实验二拼字程序实验一、实验目的:1、进一步掌握汇编语言设计。

2、熟悉软件调试方法。

二、实验内容:把8000H、8001H两个字节的低位分别送入8002H的高位和低位。

本程序一般用于把显示缓冲区数据取出拼装成一个字节。

单片机实验指导书

单片机实验指导书

实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。

(2)、培养程序编制及调试的方法。

(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。

二、实验要求:(1)、给出程序设计流程图。

(2)、设计数制转换实验程序。

(3)、记录单片机实验板晶体振荡器的波形图。

(4)、记录单片机实验板上电复位电路的波形图。

三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。

(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。

在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。

(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。

也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。

实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。

此时,如果系统工作正常,会在显示器上显示“HB--51”。

如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。

此时按一下红色的手动复位按钮,系统就应当正常工作了。

如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。

单片机实验指导书

单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。

通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。

第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。

3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。

设置工程的名称和保存位置,确定后点击“保存”。

3.3 编写程序在Keil C51开发环境中,编写单片机程序。

首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。

3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。

编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。

3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。

第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。

4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。

4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。

第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。

通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。

本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。

在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。

通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。

在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§4单片机应用系统实验
§4.1软件实验(使用软件仿真设置)
软件实验一数据传送实验
一、实验内容:
1.编写程序,将内部RAM中30H-5FH中的数据设置为55H。
2.编写程序,将内部RAM中30H-5FH中的内容传送到90H开始的内部RAM中去。
3.编写程序,将内部RAM中30H-5FH中的内容传送到200H开始的外部RAM中去(注意实际系统中为扩展的内部RAM)。
2.如何统计数据区中某一个数字出现的次数(例如0)?
软件实验八数据排序实验
一、实验内容:
1.编写程序,首先将内部RAM中30H-5FH中的数据设置为随机数值。然后编写程序将该数据区内的数据按从小到大的顺序排序。
2.编写程序将该数据区内的数据按从大到小的顺序排序。
3.编写程序将该数据区内的数据按正数和负数分别排序。
四、实验程序流程图:
(5次采样中值滤波)
N
五、思考题:
1.尝试编写去极值滤波的程序。
2.软件滤波程序的作用是什么?
§4.2硬件实验(须使用硬件仿真设置)
硬件实验一P3口输出控制实验
编译通过后进入调试环境,单步执行程序检查程序的正确性。最后连续执行程序并检查RAM内容是否正确。有关位的内容也可以输出到P1口直接观看结果。
四、实验程序流程图:
(计算X*10)
五、思考题:
1.有什么简单的办法计算一个多字节数据除以256的结果?
2.如果Y=X*16的运算结果为双字节,如何编程?
软件实验六数制转换实验
3.编写2字节除以2字节子程序。除数位于R2R3,被除数位于R4R5。结果存放于R4R5,余数存放于R6R7内。
二、实验目的与要求:
1.学习与掌握常用基本子程序的编写方法。
2.学习与掌握多字节算术运算程序的编写方法。
3.学习与掌握主程序调用子程序的方法。
三、实验说明:
将常用的基本子程序编写出来,以后直接调用,可以提高编程的效率。商业软件中都提供这些基本子程序库,自己编写可以进一步了解其功能与使用方法。
软件实验二数据分类与校验实验
一、实验内容:
1.编写程序,将内部RAM中30H-5FH中的数据设置为1-48。
2.编写程序,将内部RAM中30H-5FH中的奇数传送到90H开始的内部RAM中去。
3.编写程序,将内部RAM中30H-5FH中的数据按照奇校验设置最高位。
二、实验目的与要求:
1.学习与掌握判断数据奇偶性的方法。
一、实验内容:
1.编写程序,计算Z=X+Y+30。X、Y为位于内部RAM 30H、31H单元的单字节BCD变量。Z位于32H33H,高位放低地址。
2.编写程序,计算Z=X*10+Y/5-10。X、Y为位于内部RAM 30H、31H单元的单字节变量,Z位于32H33H,高位放低地址。
3.编写程序,计算1~100的累加和。结果存放于内部RAM的30H、31H中。高位放低地址。
程序编译通过后进入调试环境,单步执行程序检查程序的正确性。最后连续执行程序并检查RAM中的转换结果是否正确。
四、实验程序流程图:
(二进制到十进制数据转换)
五、思考题:
1.二进制数据转换为十进制数据还有其它方法吗?
2.多位十进制ASC码如何转换为数字?
软件实验七数据统计实验
一、实验内容:
1.编写程序,首先将内部RAM中30H-7FH中的数据设置为50-9FH。然后编写程序统计该数据区内大于80H的个数,结果存放在寄存器B中。
二、实验目的与要求:
1.学习与掌握算术运算指令的使用方法。
2.学习与掌握BCD数据运算的处理方法。
3.学习与掌握多字节数据的运算方法。
三、实验说明:
MCS-51单片机的算术运算指令比较简单,因此功能也比较差。所有的算术运算必须使用累加器进行。如果数据和运算结果都是8位,则处理要简单得多。如果数据和结果高于8位,则必须做多字节运算的处理。
2.编写程序,统计该数据区内的奇数个数和正数个数,并存放在R6、R7中。
3.编写程序,找出该数据区内作为无符号数据的最大值和最小值。
二、实验目的与要求:
1.学习与掌握数据统计程序的基本技巧与编写方法。
2.学习与掌握如何区分数据的符号。
3.学习与掌握如何在数据区内寻找最大值和最小值。
三、实验说明:
MCS-51单片机没有数据比较指令,比较数据的大小只能用减法指令。单字节数据的比较可以使用CJNE指令。要特别注意对于有符号数和无符号数的处理方法是不一样的。
编写程序并编译(build)检查语法错误。编译通过后进入调试环境,单步执行程序检查程序的正确性。最后连续执行程序并检查RAM内容是否正确。
注意主程序的最后应该加一条SJMP $指令,以避免由于连续执行时无法停机而造成无法预料的后果。
四、实验程序流程图:
五、思考题:如果源与目的数据块
均为外部RAM,应该如何编程?
二、实验目的与要求:
1.学习与掌握基本的数制转换程序的编写方法。
2.学习与掌握ASCII码数据的处理方法。
3.学习与掌握多字节二进制数据的转换方法。
三、实验说明:
数据在各种不同数制与编码之间的转换是经常要使用的处理过程。不同数制之间的转换有多种方法,也有一定的技巧,可以参考教材中的程序例子。应该使用不同的数据对程序进行检验。在第一个程序中,可以令所转换的数据为10,99,250。在第二个程序中,应该令数据为0-15。在第三个程序中,可以令所转换的数据为10,255,2000,65535等。
2.编写程序,用查表的方法计算X的立方(X为单字节数据)。
3.编写程序,根据A中的内容(1-5)分别执行不同的程序(程序入口分别为PR1,PR2,PR3,PR4,PR5)。
二、实验目的与要求:
1.学习与掌握查表程序的编写方法。
2.学习与掌握分支程序的编写方法。
三、实验说明:
查表程序一般需要使用指针DPTR实现,有关程序可以参考教材中的例子。可以将查表计算程序作为一个子程序编写,然后由主程序进行调用。编写程序时需要注意X平方和立方需要多个字节才能容纳。
二、实验目的与要求:
1.学习与掌握针对不同区域RAM的操作方法。
2.学习与掌握指针的使用与循环程序的编写方法。
3.学习与掌握如何查看各个部分存储器的内容。
三、实验说明:
对于不同区域的RAM操作需要使用不同的寻址方式与指令。对于内部RAM的低128字节,可以使用直接寻址也可以使用间接寻址;对于内部RAM的高128字节,只能使用间接寻址;对于外部RAM,只能使用指针DPTR进行间接寻址。对于数据块的操作一般使用循环程序完成。
四、实验程序流程N
五、思考题:
1.N字节乘以M字节的运算结果应该为几个字节?
2.如何编写4字节除以2字节的算术运算程序?
软件实验五逻辑运算实验
一、实验内容:
1.编写程序,计算Z=X∧Y、Z=X∨Y和Z=X⊕Y。X、Y、Z为位于内部RAM中30H、31H和32H中的字节变量。
2.编写程序,计算Z=X∨Y⊕F0。X、Y、Z为位于内部RAM中20H中的位变量。F0为位于PSW中的位变量。
一、实验内容:
1.编写程序,将内部RAM中30H中的二进制数据转换为十进制数据并存放在31H(百)、32H(十)、33H(个)中。
2.编写程序,将内部RAM中30H-3FH中的16进制数据(0-F)转换为ASCII码并存放在40H-4FH中。
3.编写程序,将内部RAM中30H31H中的双字节二进制数据转换为十进制BCD码并存放在40H开始的单元中。
程序编译通过后进入调试环境,单步执行程序检查程序的正确性。最后连续执行程序并检查排序结果是否正确。
四、实验程序流程图:
(简化的冒泡排序)
Y
N
N
五、思考题:
1.对于双字节数据排序,应该如何处理?
2.尝试使用其它排序方法编写程序。
软件实验九查表与程序散转实验
一、实验内容:
1.编写程序,用查表的方法计算X的平方(X为单字节数据)。
二、实验目的与要求:
1.学习与掌握数据排序程序的基本技巧与编写方法。
2.学习与掌握如何进行复杂数据的处理。
三、实验说明:
数据排序是经常使用的数据处理过程。数据排序有几种不同的方法,单片机中常用的方法是冒泡排序法。其原理和程序可以参考有关教材和书籍。
按正数和负数分别排序时可以先分类,再排序。也可以直接进行插入排序。
应该使用不同的数据对程序进行检验。在第一个程序中,可分别令X=10、Y=20和X=100、Y=200。在第二个程序中,可分别令X=10、Y=30和X=100、Y=200。
编写程序并编译(build)检查语法错误。编译通过后进入调试环境,单步执行程序检查程序的正确性。最后连续执行程序并检查RAM内容是否正确。
四、实验程序流程图:
(数据累加)
N
五、思考题:
1.如果X、Y均为两字节的变量,应该如何编程?
2.BCD运算结果为负数时(如-1),其读数是多少?
软件实验四定点数算术运算实验
一、实验内容:
1.编写4字节加法和减法子程序。加数与被加数由指针R0和R1定位。结果存放于固定的内部RAM地址RESULT。
2.编写2字节乘2字节子程序。乘数位于R2R3,被乘数位于R4R5。结果存放于R4R5R6R7内。
2.学习与掌握分支程序的编写方法。
3.学习与掌握如何给存储器中的数据增加校验位。
三、实验说明:
汇编语言中判断数据的奇偶性很简单,数据的最低位为1为奇数,否则为偶数。分支处理是程序设计中的基本技巧,是根据某一条件是否成立执行或不执行规定操作的方法。数据的奇偶校验不是判断数据的奇偶性,而是判断数据中有奇数个1还是偶数个1。如果是奇校验,则增加校验位后的数据应该具有奇数个1。
相关文档
最新文档