计算机控制实验指导书
计算机控制实验指导书

目录一.计算机控制实验指导1.概述 (1)2.实验一A/D与D/A 转换 (3)3.实验二数字滤波 (7)4.实验三 D(s)离散化方法的研究 (9)5.实验四数字PID控制算法的研究 (13)6.实验五串级控制算法的研究 (16)7.实验六解耦控制算法的研究 (19)8.实验七最少拍控制算法的研究 (23)9.实验八具有纯滞后系统的大林控制 (28)10.实验九线性离散系统的全状态反馈控制 (30)11.实验十二维模糊控制器 (33)12.实验十一单神经元控制器 (36)二.计算机控制对象实验指导1.实验一直流电机转速计算机控制实验 (39)2.实验二水箱液位计算机控制实验 (41)三.计算机控制软件说明1.概述 (43)2.安装指南及系统要求 (48)3.LabVIEW编程及功能介绍 (49)5.附录 (78)概述一.系统功能特点1.以PC微机为操作台,高效率支持“计算机控制”的教学实验。
2.系统含有高阶电模拟单元,可根据教学实验需要进行灵活组合,构成各种典型环节与系统。
3.系统含有界面友好、功能丰富的软件。
PC微机在实验中,除了用作实验测试所需的虚拟仪器外,还可用作测试信号发生器以及具有很强柔性的数字控制器。
4.系统的硬件、软件设计,充分考虑了开放型、研究型实验的需要。
可自己设计实验内容,构建系统对象,编写控制算法,进行计算机控制技术的研究。
二.系统构成实验系统由上位PC微机(含实验系统上位机软件)、ACCT-I实验箱、USB2.0通讯线等组成。
ACCT-I实验箱内装有以C8051F060芯片(含数据处理系统软件)为核心构成的数据处理卡,通过USB口与PC微机连接。
1.ACCT-I实验箱简介ACCT-I实验箱是一个通用的实验箱。
它主要由电源部分U1单元,信号源部分U2单元,与PC机进行通讯的数据处理单元U3,元器件单元U4,非线性单元U5,U6,U7,模拟电路单元U8~U16组成,详见附图。
计算机控制技术基础实验指导书

第一部分计算机控制实验系统使用说明计算机控制实验系统构成及说明第一节计算机控制实验系统构成计算机控制实验系统由以下六个模块组成(1)计算机控制实验模块(2)信号源模块(3)控制对象模块(4)数据采集卡模块(5)实验模板程序模块(6)PC机控制模块各模块相互交联关系框图见图1-1所示:图1-1各模块相互交联关系图计算机控制实验装置的布置简图见图1-2所示。
图1-2计算机控制装置简图第二节计算机控制实验系统说明计算机控制实验系统是由上位PC微机(含PCI-1711数据采集卡及驱动软件),ACCC-Ⅲ实验装置,连接电缆线等组成。
1. ACCC-Ⅲ实验装置简介ACCC-Ⅲ实验装置是一个通用的计算机控制实验装置。
它主要包括电源部分U1单元,信号源部分U2单元,与PC机进行通讯的数据处理单元U3,自由插件端子单元U4,模拟电路单元U6~U14以及电机转速、温度、水槽液位控制单元组成,详见附图。
(1) U1电源单元:包括电源开关,保险丝,提供±5V,±15V,0V,1.2~15V可调电压的输出。
(2) U2信号源单元:包括周期性正弦信号,周期性斜坡、方波、抛物线信号,频率幅值可调。
其中斜坡、方波、抛物线信号幅值范围为:0V-10V,频率范围为:0.13Hz-8.3Hz;正弦信号的幅值范围为:0V-5V,频率范围为:低频0.5Hz~81Hz,高频63Hz~10kHz。
(3) U3数据处理单元:PCI-1711数据采集卡在实验装置上的接口端子,通过RS232串行口与上位PC机进行通讯。
(4) U4提供实验所需的电容、电阻、电位器,提供插接电路,可以根据实验需要自行选择连接的元器件。
(5) U5提供16个开关量作为PCI-1711数据采集卡数字量输入的测试信号,16个LED指示灯作为数据采集卡数字量输出控制单元。
(6) U6~U14为运算放大器、电阻及电容等器件组成的模拟电路单元,由场效应管组成的电路用于锁零。
计算机控制技术实验指导书

计算机控制技术实验指导书微机原理实验室2012—3--21一、课程简介:本课程主要介绍计算机控制系统的组成原理、基本类型、设计方法和应用举例。
主要内容有:绪论(包括计算机监控系统的基本构成、类型和发展趋势)、数据通信基础、通道与I/O 接口、控制算法的计算机实现、常用软件技术、基于个人计算机的监控系统、基于PLC的计算机监控系统、现场总线技术、集散控制系统、计算机监控系统设计方法、计算机监控系统应用举例。
本实验的具体任务:1.通过实验,加深学生对微型计算机控制系统的认识和理解。
2.掌握基本控制方法的物理意义和实现方法。
3.能够设计基本的微机控制系统,掌握微机控制系统的软硬件设计方法。
二、课程实验目的与要求:本课程的教学目的在于通过教学使同学们掌握计算机监控系统的基本原理,掌握常用的硬件和软件设计方法,了解计算机监控技术的应用现状、最新发展以及发展趋势,掌握计算机监控系统的基本开发技术等。
具体体现在以下几方面:1.在实验过程中,教育学生养成良好的实验习惯,独立完成实验的全过程,爱护仪器和设备;遵守纪律,树立良好的学风,使学生了解实验的重要性以及实验课程的地位和作用;2.注意培养学生的科学实验能力,逐步提高排除故障、发现问题和解决问题的能力,培养学生进行微机软硬件的设计、调试的能力;3.拓宽和加深学生对已学过的理论知识的理解,培养学生实际应用能力,从而掌握比较全面的专业知识。
4.通过学生动手编程和电路连接,熟悉微型计算机控制系统的组成,让学生掌握微型计算机技术的实际应用方法和技能,掌握常用控制方法的程序设计。
5.实验完成后必须按时提交实验报告。
三、考试(考核)方式:根据实验报告、实验中的动手能力和解决实际问题的能力综合考核。
实验报告成绩占课程总成绩的40%。
实验中的动手能力和解决实际问题的能力考核占总成绩的60%。
四、场地与主要设备及消耗性器材1.场地:微机原理实验室面积:120平方米2.所用设备:微型计算机、EL-MUT-III微机原理实验箱、示波器等。
计算机控制实验指导书0710

1、画出被控对象模拟电路图
2、计算G(S),A,B,C。
3、计算离散化模拟参数G,H,并与计算机计算结果比较。
4、计算希望的系统单位阶跃响应指标中的超调量σp%和调节时间Ts并与实时控制结果比较。
五、状态观测器软件流程图
(yk为当前系统输出,yk1为上一次系统输出,xk1为上一次的观测阵)
随机配备的SAC-CCT软件包设计了计算机控制技术的九个实验,所有的计算机控制技术实验都是在这套装置上进行的。
安全使用说明(使用前请您务必了解)
为有效、安全地使用实验箱,请遵守以下规定。
1.您在将实验箱盖打开后,请用箱体两边的支撑脚将箱盖撑住,避免在进行试验过程中箱盖突然下落将您的手砸伤或损坏仪器设备。
2
(1)实验模拟电路如图3—3
(2)系统闭环结构图见图3—4
(3)数字滤波器的递推公式
模拟滤波器的传递函数:GL(S) = ( T1S + 1 )/( T2S + 1 )
利用双线性变换得数字滤波器的递推公式:UK=q0UK-1+q1eK+q2eK-1
其中:q0=( T-2T2)/( T+2T2)q1=q2=( T-2T2)/( T+2T2)
7.在进行炉温控制实验时,应避免炉温超过70℃长时间运等,政治路线则将降低炉体使用寿命;而且还要小心以免将手烫伤。
8.电机条应避免直流电机长时间高速旋转。
9.实验中大部分实验设备如数据通道接口板、数据通讯线、实验平台、直流电机条、温控炉等设备都是精密装置,实验中务必注意正确使用和妥加爱护。
实验一
一、实验目的
五、
(ek为误差,ek1为上一次的误差,ek2为误差的累积和,uk是控制量)
计算机过程控制实验指导书

计算机过程控制实验指导书计算机过程控制实验指导书一、实验目的1.了解计算机过程控制的基本原理和方法。
2.能进行动、静态过程控制实验。
3.掌握计算机程序的设计和实现方法。
二、实验环境1.硬件环境:计算机一台进口模拟电路板两块数字量输入板一块,板上有4个数字输入端口数字量输出板一块,板上有4个数字输出端口模拟量输入板一块,板上有4个模拟输入端口模拟量输出板一块,板上有4个模拟输出端口2.软件环境:C语言编程环境,Windows 操作系统三、实验内容1.实验一:模拟量动态过程控制实验在这个实验里,我们将运用计算机来控制一个简单的过程。
这个过程是一个单纯的箱子,一个装满水的管子和一个电动水泵。
箱子内的水倒出的管子是通过一个手动阀门来控制的。
我们需要通过在计算机上设置参数,在一定的时间段里将水流到箱子里面。
具体的实验流程如下:第一步:将装置的管道塞在一个抽象的状况里,包括启动点、流量量程、水箱容量和水泵能力。
第二步:选择合适的控制器和传感器,将它们连接到计算机上。
第三步:根据实际情况,制定合理的调度流程图和程序代码。
第四步:假设5毫秒为起始的抽样间隔,从传感器中采取实时数据。
第五步:将数据输入计算机,计算机按照设定的程序进行控制,实现流量的自动调整。
2.实验二:模拟量静态过程控制实验在这个实验里,同样涉及到了控制一个简单的过程。
这个过程是把一桶药液中的液体通过一个管子注入另一桶中。
我们需要通过以另一桶中的液体检测器作为输入,来决定药液流量的多少。
具体的实验流程如下:第一步:设置上下限。
第二步:通过给定的电路板读取输入信号,如在上述实验中,读取另一桶液体的高度。
第三步:通过传感器控制药液流量,调节控制变量。
第四步:将控制变量值输入计算机中,计算机按照设定的程序计算处理。
第五步:根据处理结果反馈指令,控制液体流量的调整,并根据设定的上下限来保持控制的稳定性。
四、实验步骤1.动态过程控制实验步骤:step1:安装设备,建立控制模型step2:连接设备到计算机上step3:设计控制程序,设置参数step4:模拟情况,校准传感器step5:启动数据采集程序step6:计算机处理数据step7:根据实际情况,调整程序参数 step8:记录结果并分析2.静态过程控制实验步骤:step1:安装设备,建立控制模型step2:连接设备到计算机上step3:设计控制程序,设置参数step4:根据设备情况,调节传感器 step5:启动数据采集程序step6:计算机处理数据step7:根据实际情况,调整程序参数 step8:记录结果并分析五、实验感想通过这次实验,我们掌握了计算机过程控制的基本原理和方法。
《计算机控制系统实验》指导书新编xu[1]1
![《计算机控制系统实验》指导书新编xu[1]1](https://img.taocdn.com/s3/m/ba0d0676dc36a32d7375a417866fb84ae55cc35b.png)
目录目录 (1)实验一数据输入输出通道 (2)实验二信号采样与保持 (5)实验三数字PID控制 (7)实验四直流电机闭环调速控制 (9)实验五温度闭环数字控制 (11)实验六最少拍控制器的设计与实现 (13)附录 (15)实验一数据输入输出通道实验目的:1.学习A/D转换器原理及接口方法,并掌握ADC0809芯片的使用。
2.学习D/A转换器原理及接口方法,并掌握TLC7528芯片的使用。
实验设备:PC机一台,TD-ACC+实验系统一套,i386EX系统板一块实验内容:1.编写实验程序,将-5V~+5V的电压作为ADC0809的模拟量输入,将转换所得的8位数字量保存于变量中。
2.编写实验程序,实现D/A转换产生周期性三角波,并用示波器观察波形。
实验原理:1.A/D转换实验ADC0809芯片主要包括多路模拟开关和A/D转换器两部分,其主要特点是:单电源供电、工作时钟CLOCK最高可达到1200KHz、8位分辨率,8个单端模拟输入端,TTL电平兼容等,可以很方便地和微处理器接口。
ADC0809 芯片,其输出八位数据线以及CLOCK 线已连到控制计算机的数据线及系统应用时钟1MCLK (1MHz)上。
其它控制线根据实验要求可另外连接(A、B、C、STR、/OE、EOC、IN0~IN7)。
实验线路图1-1为:图1-1 A/D转换实验接线图上图中,AD0809 的启动信号"STR"是由控制计算机定时输出方波来实现的。
"OUT1" 表示386EX 内部1#定时器的输出端,定时器输出的方波周期=定时器时间常数。
ADC0809 芯片输入选通地址码A、B、C 为"1"状态,选通输入通道IN7;通过单次阶跃单元的电位器可以给A/D 转换器输入-5V ~ +5V 的模拟电压;系统定时器定时1ms 输出方波信号启动A/D 转换器,并将A/D 转换完后的数据量读入到控制计算机中,最后保存到变量中。
计算机控制实验指导书
实验1 Matlab的Z变换方法一、实验目的学习matlab的Z以及Z反变换方法二、实验内容Matlab实现Z变换: syms z nf = n^4Fz=ztrans(f)运行结果:略Matlab实现Z反变换: iztrans三、实验报告:写出课本后面习题2.6、2.8、2.9、2.11的Z变换和反变换。
实验2 离散系统稳定性分析一、实验目的学习matlab的离散系统判稳方法二、试验内容1、利用Matlab判稳:a1=[1 -0.1 -0.3];b1=[1 -0.1 -0.56];c1=[1 -0.9]; %P67 2.36f1=roots(conv(a1,conv(b1,c1)))运行结果-0.7000 -0.5000 0.9000 0.8000 0.6000 2、用Matlab画根轨迹。
% P76 2.43 T=1 0.1 5 0.05num=[1];den=[1 1 0];Ts=input('Ts=')[numd,dend] =c2dm(num,den,Ts,'zoh')rlocus(numd,dend);hold onx=[-1:0.1:1];y=sqrt(ones(1,length(x))-x.^2);plot(x,y,'r--',x,-y,'r--')rlocfind(numd,dend)三、试验报告对课本后的习题2.18、2.19、2.20、2.21等判断其稳定性。
实验3 离散系统的状态空间分析法一、实验目的学习matlab的离散系统状态空间分析法。
二、试验内容计算机控制系统的离散状态空间表达式。
Ts=1;num=[1];den=[1 1 0];[numd,dend] = c2dm(num,den,Ts,'zoh');G=tf(numd,dend,Ts);ndfb=feedback(G,1);[numk,denk] = tfdata(ndfb,'v');[A,B,C,D]=tf2ss(numk,denk);nd = ss(A,B,C,D);a1=eig(A)三、实验报告:完成课后习题3.3、3.6。
计算机控制试验指导书
计算机控制技术实验指导书三、实验报告要求1)体会1、2的用法;2)对3、4写出程序及上机的结果实验三 控制系统仿真基础一、实验目的及要求:1. 掌握用简单函数命令实现连续函数的离散化的方法;2. 掌握求简单闭环脉冲传递函数的方法及系统分析方法。
二、实验设备: 1、微型机一台。
2、MA TLAB 软件 三、实验内容:1、设连续系统传递函数为 f(t)=1*1(t), f(t)=t, f(t)=)cos(t eatω- ,用简单命令函数求其Z 变换2、已知闭环离散系统如图3.1所示,其前向信道的零阶保持器与连续部分传递函数分别为se G TSh --=1,)1(1+=s s G p ,当采样周期为1s ,(1)试求闭环系统的脉冲传递函数,(2)计算系统的特征根(3)若输入信号为单位阶跃信号r (t )=1(t ),计算系统的稳态误差。
(4)系统的频域指标和单位阶跃时域响应曲线图3.1 闭环离散系统四、实验报告的要求 写出相应的程序及上机结果实验四PID控制实验一、实验目的:1、熟悉PID控制方法的控制规律。
2、掌握不同P、I、D参数对控制系统的影响。
3、掌握采样时间变化对系统的影响。
4、熟悉SIMULINK 工作环境及特点;5、熟悉控制线性系统仿真常用基本模块的用法;6、掌握SIMULINK 的建模与仿真方法。
二、实验设备:1、微型机一台。
2、MA TLAB软件三、实验原理及实验内容(a)单输入阶跃信号典型PI环节控制(b)系统传递函数PID控制图4.1 PID控制原理用M文件编程或SIMULINK建立被控对象的传递函数如图4.1所示,系统输入为单位阶跃信号,a图为简单阶跃信号PI环节控制,分别取Kp1=5,Ki1=0.5;Kp2=4.2,Ki2=2.3;Kp3=6.7,Ki3=3.2,总结不同的参数设置对系统的影响。
b 图PID 控制器传递函数为)11(S T ST Kp Gs D I ++=系统传递函数Go=)4)(3)(2)(1(10++++s s s s 采用PID 控制器进行闭环调节。
计算机控制重点技术课内试验基础指导书
实验一并行接口应用一.实验规定1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1口做输入口,接八个拨动开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
二.实验目旳1.学习P1口旳使用措施。
2.学习延时子程序旳编写和使用。
三. 实验电路及连线实验一时,P1.0-P1.7接L0-L7。
实验二时,P1.0-P1.7接K0-K7,PO0-PO7接L0-L7。
CS273接第○7模块地址译码旳F200。
四.实验阐明1.P1口是准双向口。
它作为输出口时与一般旳双向口使用措施相似。
由准双向口构造可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
由于内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且本来是低电平,则MOS管导通,读入旳数据是不对旳旳。
2.延时子程序旳延时计算问题对于程序DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ 指令均需用两个机器周期,而一种机器周期时间长度为12/11.0592MHz,因此该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS五.实验框图程序框图:TP1A.ASM主程序框图TP1B.ASM主程序框图实验二D/A转换实验一.实验规定编写程序,使D/A转换模块循环输出锯齿波和三角波。
二.实验目旳1.理解D/A转换旳基本原理。
2.理解D/A转换芯片0832旳性能及编程措施。
计算机控制技术 实验指导书
中国矿业大学银川学院《计算机控制技术》实验指导书机电动力与信息工程系季新芳编二0一三年十月第1章课程简介、实验项目及实验要求一、课程简介《计算机控制技术》是一门实践性很强的课程。
加强这门课程的实验教学可以起到重要的作用,有利于提高人才的培养质量,巩固和宽展实际的动手能力,实现知识向能力的转化。
实验的任务是使学生掌握计算机控制系统组成原理、设计方法和技术,培养学生设计和调试的能力,为今后从事工程应用和科学研究打好基础。
二、教学基本要求以提高学生实际工程设计能力为目的,通过实验和训练,使学生熟悉一种工程上常用的实验参数整定法。
三、实验项目与类型四、实验报告要求(1)学生在进行实验前应复习《计算机控制技术》等教材中的与实验相关的理论知识,认真阅读实验指导书及与其有关的参考资料,明确实验要求,做好实验准备。
(2)实验报告应按实验指导书的要求根据原始记录做出,于规定时间内交到指导教师处。
(3)要独立写出严谨、有理论分析、实事求是、文理通顺、字迹端正、图表清楚的实验报告。
数据真实、准确,结论明确。
报告要有经指导教师签字后的原始记录。
(4)实验报告应包括以下几个部分:①实验名称、班级、姓名、学号、实验日期②实验目的③实验内容及原理线路图④数据处理⑤实验总结:对实验结果和实验中的现象进行简明的分析并做出结论或评价;对本人在实验全过程中的经验、教训、体会、收获等进行必要的小结。
⑥提出对改进实验内容、安排、方法设备等的建议或具体设想。
(5)对数据处理的具体要求①将原始记录中要用到的数据整理后列表,并写明其实验条件;需要计算的加以计算后列入表中,同时说明所用的计算并以其中一点数据代入来说明计算过程。
②计算参数或性能等时,要先列出公式,然后代入数字,直接写出计算结果。
③对绘制曲线的要求:·绘制曲线可选用坐标纸。
使用时曲线的位置大小应适中,不要太小且偏于一方。
需要比较的各条曲线应画在同一坐标纸上。
·各坐标轴应标明代表物理量的名称和单位所用比例尺应方便作图和读数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分软件实验实验一存储器块清零一、实验目的1、掌握存储器读写方法2、了解存储器的块操作方法二、实验说明本实验指定某块存储器的起始地址和长度,要求能将其内容清零。
通过该实验学生可以了解单片机读写存储器的方法,同时也可以了解单片机编程、调试方法。
三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,点击主菜单的仿真器选项,选择仿真器设置,或者直接点击仿真器设置快捷按钮,打开仿真器设置窗口,在仿真器标签里选择使用伟福软件模拟器。
2、打开TH1.ASM源程序,进行编译。
点击项目菜单,选择全部编译。
编译无误后,打开数据窗口,选择外部数据存储器窗口XDATA,拖动XDATA窗口的滚动条,使地址8000H 出现在窗口上,观察8000H起始的256个字节单元的内容,若全为0,则点击各单元,用键盘输入不为0的值。
执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,256个字节全部清零(红色)。
点击复位按钮,可再次运行程序。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1.源程序ORG 0000HSTART EQU 8000HMOV DPTR, #START ;起始地址MOV R0,#0 ;设置256字节计数值CLR ALoop:MOVX @DPTR,AINC DPTR ;指向下一个地址DJNZ R0,Loop ;计数值减一LJMP $END2.流程图五、思考题如何将存储器块的内容置成某固定值(例全填充为0FFH)? 请用户修改程序,完成此操作。
实验二二进制BCD码转换一、实验目的1、掌握简单的数值转换算法2、基本了解数值的各种表达方法二、实验说明单片机中的数值有各种表达方式,这是单片机的基础。
掌握各种数制之间的转换是一种基本功。
我们将给定的一字节二进制数,转换成二十进制(BCD)码。
将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#123。
三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH2.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H的数据变化,30H更新为01,31H更新为02,32H 更新为03。
用键盘输入改变地址30H、31H、32H的值,点击复位按钮后,可再次运行程序,观察其实验效果。
修改源程序中给累加器A的赋值,重复实验,观察实验效果。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1.源程序RESULT EQU 30HORG 0000HLJMP STARTBINTOBCD:MOV B,#100DIV ABMOV RESULT,A ;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A ;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETSTART:MOV SP,#40HMOV A,#123CALL BINTOBCDLJMP $ END 2.流程图实验三二进制ASCII码转换一、实验目的1、了解BCD值和ASCII值的区别2、掌握用查表的方法将BCD值转换成ASCII值二、实验说明此实验主要让学生了解数值的BCD码和ASCII码的区别,利用查表方法可以快速地进行数值转换。
进一步掌握数值的各种表达方式。
现在我们给出一个BCD数,将其转换成ASCII值。
如下:将累加器A的值拆为二个ASCII码,并存入Result开始的二个单元,例程A赋值#1AH。
三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH3.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H的数据变化,30H更新为31,31H更新为41。
用键盘输入改变地址30H、31H的值,点击复位按钮后,可再次运行程序,观察其实验效果。
修改源程序中给累加器A的赋值,重复实验,观察实验效果。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1.源程序RESULT EQU 30HORG 0LJMP STARTASCIITAB:DB ‘0123456789ABCDEF' ;定义数字对应的ASCII表BINTOHEX:MOV DPTR,#ASCIITABMOV B, A ;暂存ASWAP AANL A,#0FH ;取高四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT, AMOV A,B ;恢复AANL A,#0FH ;取低四位MOVC A,@A+DPTR ;查ASCII表MOV RESULT+1,A RETSTART:MOV SP,#40HMOV A,#1AHCALL BINTOHEXLJMP $END2.流程图实验四程序跳转表一、实验目的1、了解程序的多分支结构2、掌握多分支结构程序的编程方法二、实验说明多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。
若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。
三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH4.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H、33H的数据变化,30H更新为0,31H更新为1,32H更新为2,33H更新为3。
用键盘输入改变地址30H、31H、32H、33H的值,点击复位按钮后,可再次运行程序,观察其实验效果。
修改源程序中给30H~33H的赋值,重复实验,观察实验效果。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1、流程图2.源程序ORG 0LJMP STARTFUNC0: MOV 30H,#0RETFUNC1: MOV 31H,#1RETFUNC2: MOV 32H,#2RETFUNC3: MOV 33H,#3RETFUNCENTER:ADD A,ACC ;AJMP为二字节指令,调用号×2 MOV DPTR,#FUNCTABJMP @A+DPTRFUNCTAB:AJMP FUNC0AJMP FUNC1AJMP FUNC2AJMP FUNC3START:MOV A,#0CALL FUNCENTERMOV A,#1CALL FUNCENTERMOV A,#2CALL FUNCENTERMOV A,#3CALL FUNCENTERLJMP $END实验五内存块移动一、实验目的1、了解内存块的移动方法2、加深对存储器读写的认识二、实验说明块移动是单片机常用操作之一,多用于大量的数据复制和图象操作。
本程序是给出起始地址,用地址加一方法移动块,将指定源地址和长度的存储块移到指定目标地址为起始地址的单元中去。
移动3000H-->4000H,256字节。
三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH5.ASM源程序进行编译,编译无误后,打开数据窗口(XDATA),观察地址3000H起始256个字节存储块和4000H起始的256个字节存储块,若各单元内数据对应相同,则用键盘输入改变其中一块的数据,全速运行程序。
点击暂停按钮,观察两个存储块的数据,可以看到两块数据已相同,说明存储块已移动。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1.源程序ORG 0MOV R0,#30HMOV R1,#00HMOV R2,#40HMOV R3,#00HMOV R7,#0LOOP: MOV DPH,R0MOV DPL,R1MOVX A,@DPTRMOV DPH,R2MOV DPL,R3MOVX @DPTR,AINC R1INC R3DJNZ R7,LOOPLJMP $END2.流程图五、思考题1.若源块地址和目标块地址有重叠,该如何避免?2.请思考给出块结束地址,用地址减一方法移动块的算法。
实验六数据排序一、实验目的1、了解数据排序的简单算法2、掌握数列的有序和无序概念3、学会将单片机与数学相联系二、实验说明有序的数列更有利于查找。
本程序用的是“冒泡排序”法,给出一组随机数存储在所指定的单元里,将此组数据排列,使之成为有序数列。
其算法是将一个数与后面的每个数相比较,如果比后面的数大,则交换,如此操作下去将所有的数都比较一遍后,最大的数就会在数列的最后面。
然后取第二个数,再进行下一轮比较,再找出第二大数据,循环下去,直到全部数据有序。
三、实验步骤及内容1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH6.ASM源程序进行编译,编译无误后,打开数据窗口(DATA),用键盘输入不同的数据到地址50H~59H。
全速运行程序,按暂停按钮,观察DATA窗口地址50H~59H 的数据已从小到大排序完成。
输入不同数据,按复位后,可再次运行程序,观察实验效果。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1.源程序ORG 0SIZE EQU 10 ;数据个数ARRAY EQU 50H ;数据起始地址FLAG BIT 0 ;交换标志SORT:MOV R0, #ARRAY ;首地址输入到R0MOV R7, #SIZE-1 ;数据个数减一输入到R7CLR FLAG ;交换标志置零GOON:MOV A, @R0 ;将首地址中的内容读到AMOV R2, A ;将数据写入到R2中INC R0 ;首地址加1MOV B, @R0 ;将首地址中的内容读到BCJNE A,B,NOTEQUAL ;不相等则跳转SJMP NEXTNOTEQUAL:JC NEXT ;前小后大,不交换SETB FLAG ;前大后小,置交换标志XCH A, @R0 ;交换DEC R0 ;R0减1XCH A, @R0INC R0NEXT:DJNZ R7,COON ;R7不等于0时转到GOON(即没有交换完) JB FLAG,SORT ;FLAG=1时转到SORT使FLAG清零SJMP $END2.流程图如下:第二部分硬件基础实验实验七P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。