计算机在热加工中的应用实验指导书定稿文档格式.docx
《计算机在热加工中的应用实验指导书定稿文档格式.docx》由会员分享,可在线阅读,更多相关《计算机在热加工中的应用实验指导书定稿文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
2.1.1实验目的与要求7
2.1.2实验内容7
1.了解LAB2000仿真试验系统7
2.存储器块清零程序7
3.软件设计及调试步骤7
2.2实验2单片机并行IO口应用实验13
2.2.1实验目的与要求13
2.2.28051并行I/O口简介13
2.2.3实验内容13
1.采用P1口作输出口,控制发光二级管循环点亮13
2.采用P1口作输入和输出口,根据开关状态控制灯亮灭15
3.采用P1口操作继电器控制灯点亮熄灭16
4.采用P1口控制音频电路发声17
2.3实验3数码管动态显示与查表程序设计19
2.3.1实验目的与要求19
2.3.2数码管及动态显示工作原理19
2.3.3实验内容20
2.4实验4A/D转换与温度测量实验25
2.4.1实验目的与要求25
2.4.2ADC0809与8255简介25
1.ADC080925
2.825526
2.4.3实验内容26
1.利用ADC0809实现A/D转换并从LED上显示转换结果26
2.用热电阻测量温度显示实验28
参考文献31
附录33
附录1LAB2000P实验仪可进行的MCS-51实验33
附录2LAB2000P实验仪数码显示及键盘电路34
第1章伟福LAB2000P单片机仿真实验系统
1.1LAB2000P仿真实验系统的基本组成
1.1.1概述
伟福LAB2000P单片机仿真实验系统由板上仿真器、实验仪、伟福6000仿真软件及电源构成,见图1.1。
实验仪提供强大的逻辑分析、波形输出和程序跟踪功能,可以直观地观察到单片机内部及外部电路工作的波形。
实验仪上有丰富的实验电路和灵活的组成方法,可以和8031系列、80C196系列及8088/8086CPU组合完成各种实验。
实验仪将高档仿真器所具有的逻辑分析仪、波形发生器和程序跟踪器等强大的分析功能移植到了过来,在做实验时不仅能知道软件的执行过程,也能直观地看到程序运行时电路上的信号状态和工作时序,非常详细地了解电路的工作情况。
图1.1LAB2000P仿真实验系统
实验仪上提供了基本的实验电路,减少繁琐的连接线过程,对基本实验仅需少量连线就可进行,板上也提供了DIP40/28/24/20/16/14插孔和CPU的地址数据总线引出插孔,扩展其它实验,培养实际动手能力,加强对实验电路的理解。
PC机通过串口连接实验仪,使用WAV6000集成调试仿真软件,通过板上仿真器实现64K全空间的硬件断点和仿真。
实验系统自带键盘和显示器,自带系统监控程序,没有PC机也同样进行各种学习和实验。
PC机软件WAV6000具有全集成化仿真环境,中、英文两种界面,软件仿真与硬件仿真两种模式,软件仿真可以在无实验仪的情况下进行。
实验仪可以方便灵活地构成各种实验方案,在有无PC机和实验仪的情况下,都能进行相应的编程实验。
仿真实验系统具有三种使用方法:
(1)用PC机上的WAV6000集成调试软件驱动板上仿真器进行仿真和实验。
我们使用这种方法。
(2)无PC机,仅用实验仪的板上仿真器进行仿真和实验,我们不使用。
(3)无实验仪、无仿真器,仅在PC机上采用软件模拟方式进行仿真。
配P0D51/96仿真板,可进行8051或80C196的实验(本课程内容),配8088/8086仿真板,可以进行8088/8086实验。
仿真板通过插口连接在试验仪上,我们进行8051单片机实验用到的POD51/96仿真板见图1.2。
仿真板有一些接插口、跳线设置及部分单片机引脚插孔。
图1.2LAB2000P仿真实验系统
1.1.2LAB2000P仿真实验系统的硬件组成
伟福实验系统试验仪上构建了丰富的电路模块,并在硬件上预留了自主开发实验的空间。
该实验系统对基本实验仅需少量连线就可进行,以减轻同学们的工作量,同时也提供了一些需较多连线的扩展性实验以进一步锻炼学员的动手能力。
试验仪各功能模块的排列如图1.3所示,同学们在实验时用到的模块有开关组(发光二极管与开关)、继电器、电位器、喇叭、模数转换、温度传感器、数码管、8255及地址译码等模块,详细电路见实验介绍。
各个模块的引脚都被引出到相应的插孔,实验时搭建硬件系统仅需用导线连接相应插孔即可。
图中的圆点
表示仿真实验系统上的连线插孔,每个插孔旁边都有相应的文字标识,进行不同实验的时候,需要根据要求用专门的连线将它们连接起来。
图1.3伟福仿真试验系统的功能模块排列
总线扩展模块为三排插孔,用于引出各种总线信号,包括8根数据总线,16根地址总线,以及ALE,RD,WR等控制总线。
扩展插座模块为40芯通用插座,利用这个插座,可对双列直插式的芯片进行扩展实验。
另外与CPU相关的一些控制信号和I/O信号,例如P1口、RXD、TXD等信号在POD51/96仿真板上引出。
各模块电路及功能这里不做具体介绍,同学们在进行实验时用到的模块会详细介绍,这里仅仅介绍一下片选及地址译码。
单片机的接口资源是有限的,实验仪用P0,P1口的第二功能进行接口扩展,这就产生地址译码与片选的问题,课程没有介绍。
AT89C51内部RAM仅128字节空间,经过扩展后RAM及IO口的空间可到64K(0~0FFFFH),LAB2000实验仪对部分地址译码,地址插孔的地址分配见表1.1。
访问外部地址需用MOVX指令,同时要用DPTR16地址指针,其余与MOV指令访问内部资源类似,用MOVX指令访问这些地址,可以输入输出这些地址对应芯片内部的8位数据,与访问内部资源没有什么区别,仅仅是地址变成了16位。
同学们进行数码管显示实验、AD转换实验及温度显示实验要用到。
表1.1地址译码插孔的地址分配表
CS0
08000H~08FFFH
CS1
09000H~09FFFH
CS2
0A000H~0AFFFH
CS3
0B000H~0BFFFH
CS4
0C000H~0CFFFH
CS5
0D000H~0DFFFH
CS6
0E000H~0EFFFH
CS7
0F000H~0FFFFH
注意:
(1)无论是集成电路的插拔、通讯电缆的连接、跳线器的设置还是实验线路的连接,都应确保在断电情况下进行,否则可能造成对设备的损坏。
(2)实验线路连接完成后,应仔细检查无误后再接通电源。
1.1.3LAB2000P仿真实验系统软件
实验仪通过串口连接PC机,PC机上安装WAVE6000集成调试软件,使用WAVE6000可以完成程序编辑、汇编、编译、调试和软件模拟等功能,所有操作均可通过窗口和菜单的选择来完成。
WAVE6000支持汇编语言,C,PLM高级语言源程序调试,可脱开实验系统单独进行软件模拟,这种方式尤其适用于软件实验,使用方法详见后续章节。
另外在无PC机及仿真软件时,可以用试验仪上的仿真器进行实验,比较麻烦,而且不直观,我们不使用。
1.2LAB2000P仿真实验系统的安装与配置
系统的安装与配置由硬件及软件两部分组成,同学们按以下顺序进行,过程中应大胆细心。
1.在PC机上安装伟福WAV6000仿真开发系统集成调试软件,建议安装在D盘WAV6000目录下。
2.进行8051单片机实验时,应插上POD51仿真板,并插上8051CPU,同学们拿到实验仪时已经连接好。
3.将配套的串行通讯电缆的一端与实验仪上的“仿真器串口”9芯D形插座相连,另一端与PC机的串口相连。
4.将实验仪的电源线与220V电源相连。
(实验结束后应拔下)
5.打开实验仪电源开关,红色电源指示灯亮。
仿真开发器初始化成功后,LED会显示8051,表示仿真系统正常。
6.打开PC计算机电源,执行伟福(WAVE6000)集成调试软件,集成调试环境界面见图1.4。
图1.4伟福(WAVE)集成调试环境
7.通过下拉菜单“仿真器”对仿真实验系统进行设置,如图1.5所示。
选择仿真器:
伟福Lab2000P实验系统。
选择仿真头:
MCS51实验。
选择CPU:
(8031/32)。
选择“使用伟福软件模拟器”后,则可以不用实验议调试仿真程序。
图1.5设置仿真实验系统
通过仿真器设置中的“语言”栏可以设置用户所采用的编程语言,如图1.6所示。
应指定编译器路径,图中设置的是A51编译器。
若选中“伟福汇编器”,可不设置汇编器路径,其它项按默认设置。
图1.6设置用户编程语言
通过仿真器设置中的“目标文件”栏可以设置最终生成的用户目标文件,一般按图1.7进行设置。
BIN文件即写入单片机ROM的机器代码。
图1.7设置目标文件
通过仿真器设置中的“通信设置”栏可以设置集成调试环境与PC机的通信端口和波特率,如图1.8所示。
在设置后测试串口是否正常,串口不正常的原因可能是端口选择不对,字符间隔太小,未打开LAB2000实验仪电源及串口线未接在“仿真器串口”等。
图1.8设置通信方式
通过以上工作,就可以开始根据实验内容编写程序,电路连线,测试程序了,软件使用方法详见实验1。
第2章单片机实验
2.1实验1了解仿真实验系统
2.1.1实验目的与要求
目的:
通过本实验,熟悉伟福单片机开发实验系统软、硬件的基本操作,同时学习简单的8051汇编语言程序的编写和调试方法。
要求:
熟悉伟福LAB2000P单片机开发实验系统软、硬件,掌握伟福集成调试环境WAV6000的使用方法。
2.1.2实验内容
1.了解LAB2000仿真试验系统
查看实验仪电路布局,连接实验仪和PC机,按第一章介绍安装配置实验系统,通讯正常。
2.存储器块清零程序
指定存储器中某块的起始地址和长度,要求能将其内容清零。
程序清单如下:
movR1,#08;
起始地址
movr0,#80;
清零80个字节
mova,#0
Loop:
mov@R1,a
INCR1
djnzr0,Loop;
记数减一,RO不为零跳转到LOOP
ljmp$;
原地跳转,没有会怎么样?
end
3.软件设计及调试步骤
软件调试可以不需要实验仪,调试程序需要在软件菜单里将仿真器里设置为软件模拟,见上一章内容。
WAV6000软件工具条常有按钮功能如图2.1所示。
可以用按钮,菜单及快捷键打开所需功能。
图2.1WAV6000软件工具条
常用快捷键:
F2保存文件
F3打开文件
F4执行到光标处
F7单步
F8跟踪
F9编译
Ctr+F9全速执行
用WAV6000编写程序需创建一个项目(Project)文件,项目包含程序文件,编译项目获得机器代码,进行仿真运行与调试。
可按图2.2所示4步骤进行,先创建汇编程序文件,再创建一个项目把汇编程序包含进来,然后编译项目,通过后可以仿真运行和调试,执行结果无误后就可以烧程序了。
图2.2程序设计调试运行步骤
(1)创建汇编程序文件
启动伟福集成调试软件后,单击快捷工具栏中的“新建文件”图标
(或按Alt+F+N键),在弹出的编辑窗口中键入上述源程序文件,如图2.3所示。
图2.3在编辑窗口中键入源程序文件
单击快捷工具栏中的“保存文件”图标
(或F2键),在弹出的保存文件窗口中选定保存源程序的文件夹,并给定源程序文件名(汇编语言源程序文件的扩展名为“.ASM”),单击“保存”按钮,文件名S1.ASM。
(2)创建项目文件
单击下拉菜单“文件”中的“新建项目”。
新建项目会自动分如下三步:
①加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件S1.ASM,如图2.4所示。
图2.4加入模块文件窗口
②加入包含文件。
在加入包含文件对话框中,选择所要加入的包含文件(可多选)。
包含文件通常用于多模块或高级语言编程中,如果没有包含文件,按取消键,如图2.5所示。
图2.5加入包含文件窗口
③保存项目。
在保存项目对话框中输入项目名称“S1”,无须加后缀,软件会自动将后缀设成“.PRJ”,按保存键将项目保存到与源程序相同的文件夹下。
从项目窗口看到该项目中的“模块文件”,对于上例,可以看到项目中已经有了一个模块文件“S1.ASM”,如图2.6所示。
图2.6加入模块文件后的项目窗口
(3)编译项目
单击快捷工具栏中的“编译”图标
(或F9键),对刚才保存的项目进行编译和连接。
在编译之前,软件会自动将项目中的源程序文件存盘。
如果发生编译连接错误,则在“信息窗口”中报告编译连接出错信息。
此时可将鼠标指向“信息窗口”中的错误行并双击鼠标左键,光标将自动跳转到编辑窗口中源程序的相应出错位置,便于用户修改。
修改源程序文件并保存之后,重新编译。
如果编译连接通过,将在“信息窗口”中报告如图2.7所示所示编译连接正确信息。
此时就可以对源程序进行调试了。
(4)执行程序与调试程序
单击快捷图标
(CTR+F9)将启动程序全速运行,单击快捷图标
停止程序运行,单击快捷图标
将复位CPU,PC=0,各寄存器恢复初始值。
单击快捷工具栏中的“跟踪”图标
(或按F7键)启动单步跟踪调试程序,如图2.8所示。
单步跟踪就是一条指令一条指令地执行,若有子程序调用,也会跟踪到子程序中去。
这种方式可以观察程序每一条指令的执行的结果,光标“=>
”所指的就是下次将要执行的程序指令。
源程序窗口最左边的“o”代表此行为有效程序,此行在编译过程中产生了可以执行的机器指令。
图2.7编译连接正确信息
图2.8启动单步调试程序
跟踪调试执行速度较慢,也可以采用单步调试(快捷图标为
,或F8键),此时若有子程序调用,不会跟踪到子程序中去,而是将子程序一次执行完成。
调试时除了单步、跟踪外,还可以采用“执行到光标处”功能,功能键F4。
在程序调试过程中单击CPU快捷图标
,可以观察CPU的运行状态,工作寄存器SFR和CPU寄存器REG,如图2.9所示为上述程序运行后RO的变化。
可以通过这些窗口观察程序运行时CPU内部寄存器的变化情况。
同学们在对上述程序进行调试的过程中,学会观察这些窗口中不同寄存器内容的状态,从而判断程序运行是否正常。
图2.9CPU运行状态观察窗口图2.10外部数据存储器XDATA空间窗口
伟福集成调试软件中还提供了一个DATA快捷图标
,单击该图标右边的小箭头弹出菜单,选择相应功能,可以分别观察单片机内部数据存储器空间(DATA)、程序存储器空间(CODE)、外部数据存储器空间(XDATA)、外部数据存储器分页空间(PDATA)以及位寻址空间(BIT)。
图2.10所示为本实验程序运行后的XDATA空间数据变化的情况。
编译通过后,很少有程序一次运行就完全正确的,通过调试程序可以判断程序逻辑等错误,修改错误,最终将BIN文件写入单片机ROM中,交付使用。
至此,已经介绍了如何应用伟福集成软件开发环境调试8051单片机汇编语言程序的基本方法,同学们可以通过实际应用来加深理解。
思考:
(1)若要将从08H开到FFH数据存储器块的内容置分别赋值0,1,2……9……,怎么设计程序?
2.2实验2单片机并行IO口应用实验
2.2.1实验目的与要求
学习8051单片机P1口作为双向I/O口的使用方法,采用循环指令编写延时子程序。
了解用弱电控制强电的基本原理,采用单片机P1口实现继电器开关控制。
①采用8051单片机的P1口做输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。
②采用P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管,编写程序读取开关状态,并将此状态在发光二极管上显示出来。
③采用P1口输出电平控制继电器的吸合和断开,从而实现对外部装置的开关量控制。
④采用P1口控制音频电路发声(选作)。
2.2.28051并行I/O口简介
8051单片机有四个并行I/O口,称为P0、P1、P2、P3,每个口都有8根引脚,它们都是双向通道,每一条I/O引脚都能独立地用作输入或输出,作输出时数据可以锁存,作输入时数据可以缓冲。
P0~P3这四个I/O口的功能不完全相同,它们的负载能力也不相同。
P0为三态双向口,它可作为输入输出端口使用,也可作为系统扩展时的低8位地址/8位数据总线使用。
试验箱使用了PO,P2口第二功能,同学们实验不能用这两个口的输入输出IO口功能。
P1口为准双向口,每一位都可以分别定义为输入或输出使用,同学们实验用此口。
P2口也是一个准双向口,它有两种使用功能:
作为普通I/O端口或作为系统扩展时的高8位地址总线。
P2口作I/O端口使用时,其用法与P1口相同。
P3口为多功能口,除了用作通用I/O口之外,它的每一位都有各自的第二功能。
P3口作通用I/O口时其使用方法与P1口相同,P3口的第二功能可以单独使用,即不用第二功能的引脚仍可以作通用I/O口线使用。
作为IO应用总结:
(1).作为输出口使用,P0口需外接上拉电阻,其余口不需外接上拉电阻。
(2).作为输入口使用时,都需先向对应的锁存器写入“1”。
(3).每一位可任意地作为输入口或输入口使用,一般用低电平驱动外部电路。
(4).P0口每位的负载能力是8个LSTTL门电路,P1、P2、P3口每位负载能力为4个LSTTL门电路。
(5).I/O口的输入/输出指令同内RAM操作指令。
2.2.3实验内容
1.采用P1口作输出口,控制发光二级管循环点亮
P1口是准双向口,它作为输出口使用时具有锁存功能。
实验所需要LED电平显示电路如图2.11所示,74LS245是同相三态双向总线收发器,这里使用它来驱动发光二极管,同学们思考一下P1.n高电平还是低电平点亮一个发光管?
图2.11电平显示电路
在实验系统上如表2.1所示连线。
执行如下程序,发光二极管LED将循环点亮。
表2.1硬件电路连线
连线
连接孔1
连接孔2
1
P1.0
L0
2
P1.1
L1
……
7
P1.6
L6
8
P1.7
L7
可按课堂上介绍的两种程序调试,也看按下述程序,试比较区别与效果。
程序流程框图见图2.12a。
mova,#01h
movr2,#8
Outp:
movP1,a
rla
callDelay
djnzr2,Outp
ljmpLoop
Delay:
;
延时子程序
movr6,#0
movr7,#0
DelayLoop:
djnzr6,DelayLoop
djnzr7,DelayLoop
ret
关于延时子程序的时间计算,查指令表可知MOV和DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以上面延时子程序该的执行时间为:
(256×
255+2)×
2×
12÷
6≈261ms
(1)若6位循环点亮1,
(2)8位循环点亮某2个,分别如何修改程序?
(a)P1口循环点灯程序框图(b)P1口输入输出程序框图
图2.12程序流程框图
2.采用P1口作输入和输出口,根据开关状态控制灯亮灭
由P1口的准双向口结构可知,当作为输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据是不正确的。
实验所需要LED电平显示电路见图2.11,逻辑电平开关电路见图2.12,开关一侧接VCC+5V,一侧接地,拨动开关分别给单片机高电平或低电平信号。
图2.12逻辑电平开关电路
在实验系统上以表2.2所示连线。
执行如下程序,发光二极管LED将随拨动开关的位置而点亮或熄灭,程序流程图见2.13b。
S0
S1
3
P1.2
L4
4
P1.3
L5
表2.2硬件电路连线
实验程序清单如下,试比较a,b区别。
;
程序a:
KeyLeftequP1.0
KeyRightequP1.1
LedLeftequP1.2
LedRightequP1.3
Loop:
SETBKeyLeft
SETBKeyRight
MOVC,KeyLeft
MOVLedLeft,C
MOVC,KeyRight
MOVLedRight,C
LJMPLoop
END
程序b:
SETBP1.0
SETBP1.1
MOVC,P1.0
MOVP1.2,C
MOVC,P1.2
MOVP1.3,C
控制4个开关四个灯,或8个开关8个灯,如何连线设计程序?
3.采用P1口操作继电器控制灯点亮熄灭
自动化控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电隔离,以保护电子电路和人身的安全。
继电器便能完成这一桥梁作用。
本实验采用的继电器其控制电压是5V,2