单片机技术与应用实验指导书.docx
- 文档编号:8743036
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:38
- 大小:1.84MB
单片机技术与应用实验指导书.docx
《单片机技术与应用实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机技术与应用实验指导书.docx(38页珍藏版)》请在冰豆网上搜索。
单片机技术与应用实验指导书
单片机技术与应用
实验指导书
王俊宏周洪波暨仲明编
杭州电子科技大学自动化学院
二零零五年十月
第一章系统安装和启动
1.实验系统工作在51串口实验/仿真方式
(1)实验台上开关选择51
(2)打开电源,在PC机上打开LCA51软件,运行实验程序。
2.实验系统工作在MCS51方式下开关初始状态
●XB、XB1:
短路套全插上。
●XB2,XB5:
短路套向上插(SPEAK端),第10模块处于放音功能。
●第
模块中:
多位开关K3拨向最左(温度控制)端,做温度控制实验用。
●第
模块中:
短路套全部套向右边,由8279来控制键盘、显示。
●XC9(CPU插座)与XC1(CPU51插座)用T598A-C连接板连接起来。
●
【注意事项】
1、做实验前要做好实验的准备,按实验要求编写好程序,没有编写好程序的同学不允许进入实验室;
2、所有编写的程序都应用英文字母或数字作为文件名、文件夹名及路径,路径尽量简短,不允许用中文命名;
3、插拔器件及串口通信线时,必须关闭实验机的电源,否则有损坏,责任自负;
4、每次做完实验后,必须整理好实验机的连线,关闭实验机电源,关闭计算机电源;
5、禁止将与实验无关的人员及东西带入实验室,禁止在实验室吃东西、玩游戏。
第二章调试软件LCA51界面介绍
1.主界面
LCA51软件是集编辑、编译/连接、加载、调试等为一体的集成开发环境(IDE)。
用可以在同一界面环境中完成所有任务。
主界面大致如图2-1所示。
图21
2.5编译菜单
编译菜单如图2-11所示,该菜单包含对源文件的编译、连接等操作。
图2——11
·编译当前文件ALT+F9
选择该菜单项将对当前窗口文件进行编译,编译后的有关信息将在输出窗口中显示。
LCA51会自动识别目标文件和源文件日期相关性,如果目标文件比源文件新,将不再编译。
可以编译的文件类型必须是具有扩展名.C,.PLM,.ASM,.A51。
·连接
选择该菜单项将对当前窗口编译产生的目标文件进行连接,有关连接的信息将在输出窗口中显示。
工程打开时,将连接工程文件。
此菜单项仅对工程和高级语言有效。
·编译并连接(Ctrl+F9)
选择该菜单项将对当前窗口的高级语言源程序同时进行编译和连接,有关编译和连接的信息将在输出窗口显示。
工程打开时,将编译和连接工程文件。
此菜单项仅对工程和高级语言有效。
·全部重新编译
选择该菜单项将对当前窗口文件进行重新编译,编译后的有关信息将在输出窗口中显示。
工程打开时,将重新编译和连接工程文件。
该命令和编译菜单项或编译并连接菜单项的区别是:
该命令不识别目标文件和源文件日期的相关性,不管目标文件比源文件新或旧,都编译源文件。
2.6调试菜单
调试菜单如图2-12所示。
该菜单拥有对应用程序进行调试的各种操作。
·加载调试
选择该菜单项,弹出一个加载对话框,如图2-13所示。
该命令加载最新编译连接生成的目标程序到实验机中进行调试,对话框中显示加载的文件名,文件信息,实际目标代码的长度,加载空间和加载进度条等,加载完毕后,对话框自动关闭,此时切换到调试状态。
调试状态,该菜单无效。
·退出调试
图2——12
进入调试状态,该菜单项有效,用户选择该菜单项后,会退出调试状态,进入编辑状态。
相关的调试命令只有在调试状态下才有效。
注意:
对于某些型号的仿真机,如果仿真状态设置为B状态,在加载完目标程序后,还会提示需要加载875X.obj文件。
用户使用时请查阅相应的仿真机使用手册。
·重新加载调试
选择该菜单项,将重新加载正在调试的目标程序到仿真机,重新进行调试。
·执行到光标所在行(F4)
选择此菜单项,程序从当前PC指针行开始运行,遇到当前光标所在行停止运行,如果运行过程中遇到用户断点,也会停下。
如果光标所在行是条说明语句(编译不产生目标代码行),该命令不起作用。
图2——13
·设置当前PC行(F5)
选择此菜单项,当前PC指针将改变到光标所在行的地址。
如果光标所在行是条说明语句,该命令不起作用。
·跟踪型单步(F7)
选择此菜单项,仅从当前PC指针行执行源文件的一行语句,然后停止。
如果该行语句是调用一函数,则跟踪进入函数中,在执行函数的第一条源语句行前停止。
·通过型单步(F8)
选择此菜单项,仅从当前PC指针行执行源文件的一行语句。
然后又停止。
如果是调用一函数,将一次运行完整个函数。
·全速运行(F9)
全速运行程序,遇到用户断点或按暂停键停止。
·连续跟踪型单步(Alt+F7)
选择此菜单项,连续执行跟踪型单步。
·连续通过型单步(Alt+F8)
选择此菜单项,连续执行通过型单步。
·从子函数返回
选择此菜单项,全速运行完当前子函数并返回到调用子函数的语句行。
该命令只在调试高级语言时有效。
·显示当前PC指针行
将PC指针所在源文件语句行显示在当前窗口屏幕上。
·重新连接仿真机
选择此菜单项,使LCA51与仿真机重新联机。
技巧:
如果调试过程中,LCA51与实验机通讯中断,选择该菜单项。
在重新联机成功后可以继续进行调试。
·总清仿真机(Alt+R)
选择此菜单项,将弹出一个确认对话框,提醒用户是否确实要总清仿真机,总清前先按下仿真机总清键。
总清成功后,所有状态全部初始化。
对于有软件总清的仿真机型如AEDK51I,将直接给仿真机发总清命令,用户不用再按仿真机的总清键。
·上位机复位(Alt+F2)
选择此菜单项,只对上位机进行复位总清。
总清后,再次执行程序时,将从程序的起始地址开始执行。
·暂停
当用户程序全速运行时,选择此菜单项,用户程序无条件停止运行。
该菜单只对有软件暂停的仿真机如AEDK51I有效。
·设置或取消断点(Ctrl+F8)
在光标所在行处设置断点,如果光标所在行已有断点,则取消该断点。
如果光标所在行是条说明语句,所设断点是无效断点。
最多可设的断点数目由仿真机决定。
·清除所有断点
清除用户设置的所有断点。
·对话窗口
选择该菜单项,可以打开一个与AEDK实验机直接对话的窗口,用户可以使用实验机监控命令和实验机对话,此外用户还可以运用此窗口进行目标系统的初步硬件调试。
监控命令请查阅相应的实验机使用手册。
2.7观察菜单
观察菜单如图2-14所示。
该菜单主要是用来在观察窗口中添加、删除、修改观察项。
图2——14
·添加观察项(Ctrl+F7)
选择该菜单项,将弹出一个添加观察变量对话框,如图2-15所示。
用户可根据对话框的要求添加希望观察的变量到观察窗口。
在对话框中,点击计算/修改按钮,可以察看或修改当前输入栏中变量取值。
图2——15
技巧:
如果用户需添加实验机相应存储空间某个单元到观察窗口中,不选自动识别标号复选框,在存储区域选择好实验机的存储空间,在输入框中输入单元地址,点击添加按钮。
2.8设置菜单
设置菜单如图2-16所示,集中了LCA51集成开发环境对通讯口、单文件编译/连接器、环境参数等的设置。
图2——16
·通讯口
选择该菜单项后,弹出一个通讯设置对话框,如图2-18所示,用户可选定通讯口、波特率,并可以对所选定的通讯口进行串口测试。
图2——18
注意:
如果通讯串口测试不通过,请将延时因子置高。
如果通讯串口测试通过,在调试过程中,仍出现初始化调试失败对话框或通讯不可靠,请将延时因子置高。
·单文件编译器/链接器
选择单文件编译器/连接器设置菜单项后,弹出一个编译器/连接器设置的多选项卡对话框。
该菜单项是针对单文件的高级语言C51和PL/M51,对单汇编文件无效,用户可根据自己的要求在对话框中进行相应的设置,如果选中使用自定义编译器命令行复选命令,用户可以使用自定义的命令行进行编译连接,自定义的命令行可在最下面的输入框中输入。
选中C51编译器选项卡,如图2-19所示。
相应编译参数的设置用户请参考FranklinC51相关的书籍。
用户要选中调试信息(Debug)复选项,编译产生的目标文件才支持源语句调试。
点击缺省值按钮,将恢复编译参数为缺省设置。
用户自定义命令行参考如下:
LARGEDBOECOOT(4,SIZE)
图2——19
选中PL/M51编译器选项卡,如图2-20所示。
相应编译参数的设置用户请参考PL/M51相关的书籍。
用户要选中调试信息(Debug)复选项,编译产生的目标文件才支持源语句调试。
点击缺省值按钮,将恢复编译参数为缺省设置。
用户自定义命令行参考如下:
DBCO
选中连接器选项卡,如图2-21所示。
相应连接参数的设置用户需要请参考FranklinC51或PL/M51相关的书籍。
用户要选中包含调试信息(Debug)复选项,连接产生的目标文件才支持源语句调试。
点击缺省值按钮,将恢复编译参数为缺省设置。
用户自定义命令行参考如下:
DEBUGSYMBOLSDEBUGPUBLICSDEBUGLINESMAPIXREFRAMSIZE(256)
所有的编译参数不是只针对一个文件的设置,而是对所有这类单文件的设置。
图2——20
图2——21
·环境参数
选择该菜单项后,弹出一个对LCA51软件工作环境的多选项卡设置对话框。
选中常规选项卡,如图2-22所示。
图2——22
用户可以设置相应的常规选项。
选中“打开上次编辑的文件”,启动LCA51后将自动打开上次编辑的文件。
选中“打开上次的工程文件”,启动LCA51后将自动打开上次的工程文件。
选中“退出时保存所有文件”,退出LCA51后将自动保存所有修改过的文件。
选中“编辑窗口打开时最大化”,每次打开文件时,将最大化显示文件。
选中“文件被其它程序更改后,发出通知消息”,当其它程序修改或删除了当前编辑的文件,将会通知用户文件已经改变,是否要重新装载或保存等消息。
选中“自动装载被外部程序更改过的文件”时,每次文件更改后,将自动重新装载。
选中“高级用户界面”,用户可以定制软件界面,包括菜单,工具栏,热键等。
改变高级用户界面设置,要重新启动LCA51才会生效。
选中“Windows2000风格菜单”,会自动根据菜单使用频率,调整菜单项。
选中字体选项卡,设置编辑器使用的字体,和编辑模式。
选中颜色选项卡,设置编辑器中的各种类型文本的颜色。
选中调试选项卡,如图2-23所示。
图2——23
选中“编译成功后自动加载到仿真机”,那么每次编译结束,如果没有严重错误,将自动把目标程序加载到仿真机中。
选中“自动监测仿真机型号”,那么在加载调试时会自动对仿真机型号进行识别。
选中“总清后自动设置用户断点”,在调试时,每次仿真机总清后,会重新设置用户断点,方便用户调试。
选中“鼠标即点即现快速观察变量取值”,在调试时,用户用鼠标左键点击待观察变量,如果变量有效,将在弹出窗口中显示变量的取值。
“浮点数存取方式”可设置为从高位到低位或从低位到高位。
在进行高级语言调试时,因为版本的不同,浮点数存取方式会有所不同,如果用户的浮点数变量不能正常显示,改变存取方式即可。
·语言
该菜单命令可以选择软件的中英文版本。
该功能会在以后的版本中加入。
2.9工具菜单
工具菜单如图2-24所示。
该菜单包含一些不常用的工具命令。
图2——24
·加载文件到仿真机
选择该菜单项,弹出一个加载目标文件对话框,类似文件打开对话框。
可以加载的文件类型是具有扩展名.OBJ、.HEX,.OMF。
用户选定要加载的目标文件名后即可将该目标文件加载到AEDK仿真机中去。
·上传仿真机数据
选择该菜单项,将仿真机相关空间的内容上传到PC机中。
用户可以选择保存为文件形式。
该功能会在以后版本中加入。
·芯片固化
选择该菜单项,可以固化芯片。
可固化的芯片类型请查阅相关仿真机使用手册。
该功能会在以后版本中加入。
·自定义
选择该菜单项,弹出如图2-25所示对话框。
用户可以按个人习惯定制菜单栏、工具栏、热键等。
该命令只在“设置-环境参数-常规选项卡”中选中高级用户界面选项才有效。
图2——25
2.10窗口菜单
图2——26
窗口菜单如图2-26所示。
该菜单控制LCA51主工作区内窗口的分布、排列外观。
·新窗口
将当前编辑窗口中的文档在新窗口打开副本。
·分隔窗口
该命令将活动编辑窗口分隔为4个子窗口。
·下一个窗口
按打开的窗口顺序选中下一个窗口为活动窗口。
·上一个窗口
按打开的窗口顺序选中上一个窗口为活动窗口。
·关闭当前窗口
关闭当前活动的窗口。
·全屏显示
该命令将全屏显示界面。
·层叠(C)
该菜单项将在主工作区内以层叠图案安排所有窗口。
·水平平铺(T)
该菜单将在主工作区内以水平平铺形式安排所有窗口。
·垂直平铺(T)
该菜单将在主工作区内以垂直平铺形式安排所有窗口。
·输出窗口
该菜单项同查看(V)菜单中的输出窗口菜单项功能。
·观察窗口
该菜单项同查看(V)菜单中的观察窗口菜单项功能。
·对话窗口
该菜单项同查看(V)菜单中的对话窗口菜单项功能。
3.热键表
热键
功能描述
热键
功能描述
Ctrl+N
新建文件
F4
执行到光标所在行
Ctrl+O
打开文件
F5
设置当前PC行
Ctrl+S
保存文件
F7
跟踪型单步
Ctrl+P
打印文件
F8
通过型单步
Ctrl+Z
撤销
F9
全速运行
Ctrl+Y
重新执行
Alt+F7
连续执行跟踪型单步
Ctrl+X
剪切
Alt+F8
连续执行通过型单步
Ctrl+C
复制
Alt+R
总清仿真机
Ctrl+V
粘贴
Alt+F2
上位机复位
Ctrl+A
全选
Alt+H
暂停
Ctrl+F
查找文本
Ctrl+F8
设置或取消断点
Ctrl+H
替换文本
Ctrl+T
对话窗口
F3
查找下一个
Ctrl+F7
添加观察项
Shift+F3
查找上一个
Ctrl+G
跳到指定行
Ctrl+L
转为小写
Ctrl+U
转为大写
Ctrl+[]
括号匹配
Ctrl+F2
设置或取消书签
F2
下一个书签
Shift+F2
上一个书签
Ctrl+Shift+F2
清除所有书签
Alt+F9
编译当前文件
Ctrl+F9
编译并连接
F10
加载调试
第三章LCA51软件调试
调试是编程的重要部分。
调试的目的是找到程序的逻辑错误。
当程序不能按希望运行时,就需要对程序进行调试,直到找出原因为止。
为了便于用户对应用程序进行调试,本章将介绍LCA51软件的调试界面和调试主要方法和技巧。
1.调试界面
LCA51是一个集成开发环境,调试和编辑、编译都在同一界面下完成。
调试时的界面如图3-1所示。
图3——1
在编辑状态时,界面右下角的当前状态显示为“编辑”,在调试状态时,仿真机没有运行程序时,界面右下角的当前状态显示为“停止”,仿真机运行程序时,界面右下角的当前状态显示为“运行”。
许多菜单命令只有在调试状态才有效,用户选择“调试——加载调试”菜单项后,将加载当前的工程文件或源文件的目标代码,加载完毕,就进入调试状态.如果用户想退出调试状态,选择“调试——退出调试”菜单项。
在调试状态,最下方的状态行显示当前PC指针等常用的寄存器的值。
仿真机运行时左上角的图标会不停变动,右下角的当前状态会显示为“运行”。
当前PC指针行的背景颜色为绿色,有效断点行背景颜色为红色,无效断点行背景颜色为棕色。
PC指针行和断点行相同时,背景颜色为粉红色。
观察窗口中显示长期观察的变量的值在不同时候的取值情况。
用户可以在对话窗口中直接通过监控命令和仿真机对话,具体监控命令参考相关仿真机使用手册。
数据窗口中显示整块数据区的内容。
快速观察窗口显示当前光标处变量的取值。
2.调试主要方法和技巧
通常一个调试程序应该具备至少四种性能:
·跟踪
·断点
·查看变量
·更改数值
2.1跟踪调试
调试应用程序所提供的重要性能也许就是跟踪应用程序。
跟踪应用程序使用户能够在运行应用程序时,看到PC指针在应用源代码程序中的确切位置,LCA51提供以下方法对程序的执行进行跟踪。
·跟踪型单步热键F7
·通过型单步热键F8
跟踪型单步仅执行一条源语句程序。
但是,如果调用一函数,则进入函数中,在执行函数的第一条源语句行前停止。
通过型单步仅执行下一条源语句程序,然后又停止。
如果是调用一函数,运行完整个函数并停止在函数返回处。
2.2断点调试
如果已知程序中某块代码实际运行正常的情况下,仍用跟踪调试方法,将大大浪费时间,而且很枯燥,因此调试中第二个重要工具是在源代码中预定处设置断点,大多数调试程序通过使用断点中止程序执行。
LCA51软件提供以下方法来设置断点达到中止程序执行目的:
·设置或取消断点CTRL+F8
·执行到光标所在行F4
在代码中放置断点方法是事先将光标移动到用户希望放置断点的文本行位置时,按CTRL+F8热键或者点击相应的工具栏图标就可设置断点,最大断点个数由仿真机型号所决定。
注意:
如果用户调试高级语言,因为系统要占用2个断点,所以可设置的断点数为最大断点个数-2。
LCA51调试软件还提供一次性断点:
执行到光标所在行。
如果用户按热键F4,调试程序继续执行程序代码,直到它到达光标行处或调试程序遇到另一个断点。
2.3查看变量
显然,通过一系列指令查看应用程序,了解导致某一错误的执行也是一种非常有效的方法。
LCA51软件提供了以下几种方法对变量进行查看。
·观察窗口
·数据窗口程序空间窗口
内部数据窗口
外部数据窗口
通过添加观察项菜单可以将用户希望观察的变量添加到观察窗口中,长期进行观察。
用户程序在单步或断点停下时,将更新变量的取值。
用户可以直接移动鼠标到相应的变量名上,点击鼠标左键,将出现一个提示窗口,显示这个变量的当前值。
用户还可以打开程序空间窗口、内部数据窗口、外部数据窗口进行数据块观察。
2.4更改数值
如果用户在调试过程中了解到变量的内容(超值、未定义等)会对程序性能产生影响或引起异常时,立即更改变量的内容是很有效的方法,以确保该值在正确范围内不会产生错误。
LCA51软件提供一系列更改变量数值的方法,以便用户能检查程序对整个变量值范围的反应,而无需为设置每个值而重新加载调试。
在更改对话框中用户输入要更改的取值,点击确定按钮。
用户可以在输入框中输入十六进制或十进制数据。
实验一扩展存储器读写实验
一.实验要求
编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的
1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线
-
将P1.0接至L1。
四.实验说明
1.单片机系统中,对片外存贮器的读写操作是最基本的操作。
用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序的方法。
用户编程可以参考示例程序和流程框图。
本示例程序中对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。
不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。
读写数据的选用,本例采用的是55(0101,0101)与AA(1010,1010)。
一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察的等方法,来观察程序执行的流程和各中间变量的值。
2.在I状态下执行程序,对实验机数据进行读写,若L1灯亮说明RAM读写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,在I状态执行SX0000↓55,SPACE,屏幕上应显示55,再键入AA,SPACE,
屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
F注:
SX是实验机对外部数据空间读写命令。
5.本例中,第8模块中的62256存储器空间为0000~7FFFH。
五.实验程序及框图
实验程序流程框图如下:
实验二P1口、P3口输入、输出实验
2.1P1口输入、输出实验
一.实验要求
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:
MOVR0,#00H
DELAY1:
MOVR1,#0B3H
DJNZR1,$
DJNZR0,DELAY1
查指令表可知MOV,DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:
((0B3+1)×256+1)×2×12÷11059200=100.002mS
五.实验框图
程序框图:
2.2P3口输出控制继电器实验
一.实验要求
利用P3.5输出高低,控制继电器的开合,实现对外部装置的控制。
二.实验目的
掌握继电器控制的基本方法和经验。
三.实验电路及连线
P3.5接22模块的JD。
四.实验说明
现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全。
电子继电器便能完成这一桥梁作用。
继电器电路中一般都要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势,防止干扰。
本电路的控制端为JD,当JD为高电平时,继电器不工作,当JD为低电平时,继电器工作,常开触点吸合。
执行时,对应的LED将随继电器的开关而亮灭。
五.实验框图
实验三定时器实验
一.实验要求
由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。
P1口的P1.0-P1.7分别接八个发光二极管。
要求编写程序模拟一时序控制装置。
开机后第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒钟L4,L6亮,第四秒钟L5,L7亮,第五秒L0,L2,L4,L6亮,第六秒钟L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L0,L2亮,然后L1,L3亮......一直循环下去。
二.实验
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 技术 应用 实验 指导书