《单片机实训指导书.doc》由会员分享,可在线阅读,更多相关《单片机实训指导书.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机实训指导书单片机实训指导书物联网专业单片机课程实训指导书一、实训要求丰台职业教育中心学校1、理解单片机的工作原理。2、掌握单片机编程的一般方法。3、熟练使用单片机开发系统。4、能用汇编语言编制和调试一般性程序。5、能用单片机实现对典型应用电路的控制。二、实训项目目录1、QTH仿真软件的使用。2、汇编语言程序的设计与调试:1)数据移动程序设计;2)算术运算程序设计;3)多字节移位程序设计;4)数制转换程序设计;5)数据检索程序设计;6)布尔处理;7)查表程序设计;8)散转程序设计;9)子程序设计与调试;10)顺序程序设计与调试;11)分支程序设计与调试;12)循环程序设计与调试;3、芯片烧
2、录。4、单片机仿真器的使用。5、单片机对典型应用电路的控制:1)交通信号灯控制;2)单片机点阵显示“WELCOME;”3)霓虹灯控制;三、实训进程安排序号12345四、实训内容及标准实习主要内容QTH仿真软件的使用汇编语言程序的设计与调试芯片烧录单片机仿真器的使用单片机对典型应用电路的控制天数24112备注实训项目:QTH仿真软件的使用环境要求:危机实训室工具:计算机及其相应软件工作流程:进行安装,然后进行对程序的各个菜单进行说明,之后对简单的程序进行调试。实训项目:汇编语言程序的设计与调试环境要求:微机实训室工具:计算机工作流程:项目功能,教师进行说明,然后按照说明,进行程序设计。作业标准:
3、程序调试成功,无错误。实训项目:芯片烧录实训环境:微机实训室工具:计算机及实验箱工作流程:将程序运行,并读入实验箱作业标准:完成规定的功能实训项目:单片机仿真器的使用环境要求:微机实训室工具:计算机及其实验箱工作流程:将程序运行,并读入实验箱作业标准:完成规定的功能即可实训项目:单片机对典型应用电路的控制环境要求:微机实训室工具:计算机及实验箱工作流程:将规定的程序读入实验箱作业标准:能够完成规定的功能学生姓名:班级实训时间实训项目第N+1页:实训总结考核成绩扩展阅读:单片机实训指导书编写说明为满足高职教学需要,增强学生动手能力,根据济南铁道职业技术学院电气专业、楼宇自动化专业、应用电子专业教
4、学计划和教学大纲的要求,在单片机原理与接口技术、单片机原理与应用课程中开设相关的实验和实训周。为配合实践教学,特编写此实验实训指导书。本指导书分为实验部分和实训部分,实验部分应用于课内实践环节;实训部分应用于实训教学周。由于不同的专业对单片机的教学要求有所不同,所以在具体的实验实训安排上应参照所对应专业的教学大纲、授课计划执行。不同专业的学生应完成大纲要求的实验学时和实训内容。本指导书所列的超出对应专业教学大纲的实验学时和实训内容,可以作为学生的选作内容,利用课余时间完成。本指导书由楼宇自动化教研室林毓梁、应用电子教研室翟庆一共同编写。不妥之处,敬请批评指正。单片机原理与接口技术实验实训指导书
5、目录第一篇实验部分实验一仿真软件的使用数据传送指令实验二算术运算指令实验三控制转移和位作指令实验四汇编语言陈序设计(一)实验五汇编语言程序设计(二)第二篇实训部分实训项目一仿真器的认识与基本逻辑输出接口实训项目二基本逻辑输入接口键盘接口实训项目三数码管显示器接口实训项目四交通灯模拟实训实训项目五中断与定时实训项目六基本I/O扩展技术实训项目七8255扩展实训项目八蜂鸣器应用实验139121517202327303234单片机原理与接口技术实验实训指导书第一篇实验部分实验一仿真软件的使用,数据传送指令实验目的:1、熟悉仿真软件CodeCruiserfor51中文版的使用方法2、验证数据传送指令的
6、操作预习内容:数据传送指令实验指导:一、认识了解仿真软件:在单片机的开发过程中,一般的调试方法,是在PC机上利用单片机仿真程序和单片机仿真器,来代替单片机运行,在PC机上编写程序并调试。在程序调试通过无误以后,利用专门的编程器,将程序代码写入到单片机的程序存储器。单片机的仿真运行分为纯软件仿真和硬件仿真。纯软件仿真是指只在PC机上编程调试,验证程序是否有语法错误、算法错误、运行结果是否和编程者设想一致等。硬件仿真是结合仿真程序和仿真器,并连接单片机实际系统的目标电路板,连接实际的线路。编程并调试,观察程序运行情况和硬件电路的输入输出情况来调试单片机应用系统。在本指导书的实验部分均采用的是软件仿
7、真,在实训环节中采用的是硬件仿真。目前市场上常用的仿真器有很多种,其配套的仿真程序也有很多,我校单片机实验室采用的是MICETEK公司的高性能仿真器EasyPack8052F,并采用与其配套的仿真软件CodeCruiserfor51中文版。1、认识软件仿真环境启动电脑,点击开始程序找到仿真软件CodeCruiserfor51中文版,点击软件仿真进入软件仿真程序,如下图所示:单片机原理与接口技术实验实训指导书就会进入如下的窗口:在初始页面上点取消进入软件仿真的主页面标题栏工具条项目窗口工作区输出窗口3状态栏单片机原理与接口技术实验实训指导书标题栏:显示本软件的标题,即:CodeCruiserfo
8、r51。状态栏:显示本软件的运行状态。项目窗口:在单片机的仿真程序中,单片机开发是采用项目管理的,所以,要进行一个新的开发,需要建立一个项目,项目窗口显示项目的各种信息,包括项目中的源文件、加载文件、图文件、列表文件等。输出窗口:显示项目编译的结果,如果在编译过程中存在错误,将会以红色行显示详细信息。工作区:工作区是用户的编程、调试开发平台,用户可以在工作区利用编辑窗口编辑源程序,其他的调试窗口也在工作区显示。内部窗口的打开和关闭:为获得更大的工作区空间,可以通过查看菜单内的命令,打开或者关闭项目窗口、输出窗口工具栏、状态栏等。如图所示:2、新建一个项目,准备调试第一个单片机程序点击项目菜单新
9、建命令,新建一个项目。即会弹出项目项目对话框,要求输入项目名称。用户可以通过改变查找范围,来改变新建项目的所在位置,建议用将项目建立在硬盘D或者单片机原理与接口技术实验实训指导书硬盘E。在C盘上建立项目在计算机重新启动以后会丢失文件,在软盘上建立项目会影响运行速度。给项目取一个容易理解的名字,尽量不用汉字,项目的名称不得超过8位英文字母。项目的默认扩展名是.mpj,不需要作任何更改。如果已经建立了项目,则采用项目菜单的打开命令来打开已经存在的项目。新建一个项目以后会弹出一个项目设置的窗口,如图用户可以切换汇编、编译、连接、连接库等标签,来改变项目的相关设置,对于初学者,建议不加任何改变,直接点
10、确认。3、编辑源文件单片机原理与接口技术实验实训指导书只有项目,是无法工作的,项目只是一个开发工程的管理工具,在项目中应该有用户编写的程序文件,即源程序。CodeCruiser支持.C,.ASM等文件,即用C语言或者是汇编语言编写的源程序文件。您可以使用任何编辑工具或直接用CodeCruiser编辑源文件。按照如下所示,点文件菜单,点击新建命令,建立新的源文件在谈出的新建对话框中选择源文件。CodeCruiser会在工作区弹出源文件编辑窗口。我们可以在编辑窗口输入我们的程序。在弹出的编辑窗口中输入程序如下所示单片机原理与接口技术实验实训指导书注意:输入程序时,所有标点符号,均应该在英文状态下输
11、入。程序输入完毕以后,点击存盘图标或者文件菜单的保存命令保存源程序。特别注意:因为CodeCruiser支持C语言、汇编语言多种格式的源文件,所以在输入保存文件名的时候必需要输入相应的扩展名即:.asm。4、将源文件添加到项目中:从项目菜单中选择添加源文件命令,从弹出的将源文件添加到项目中对话框中选择刚刚保存过的的源文件然后单击打开按钮。注意在找到源文件时候要事先确定文件类型,即将对话框下侧的文件类型改变为.asm。添加完成以后,在项目窗口的SourceFiles文件夹中即可显示出有一个源文件:liti.asm。用户也可以通过用鼠标右键点击SourceFiles文件夹,在谈出的对话框中添加或者
12、删除源文件。在一个项目中可以有多个源文件,但要注意多个源文件不能有汇编地址冲突。对于初学者,强烈建议在一个项目中只保留一个源文件,将当前不调试的汇编语言源程序从SourceFiles文件夹中删单片机原理与接口技术实验实训指导书除。5、项目的编译与下载从项目菜单选择编译命令编译所在的项目,其结果显示在如下的输出窗口的编译面板中,如果编译过程出现了错误,将会以红色行表示出错的详细信息。双击该行可以在源文件中快速定位。以便于修改源程序。每次程序修改后,都必须编译,然后点击重新下载快捷按钮菜单下的重新下载命令,载入程序代码。,或者用项目编译正确时的输出窗口状态如下。如果编译出错,则会在输出窗口显示以下
13、状态图中显示编译过程中出现了重大错误(FATALERROR),通过图中所示的上拉箭头,可以查看详细的汇编过程,并且可以找到出错的位置、出错的详细信息,这些会通过红色行显示出来。6、准备仿真运行程序如果程序编译正确,通过点击重新下载按钮或者项目菜单的重新下载命令,下载程序代码,就会发现在程序的第一行有一个黄色的箭头(程序单片机原理与接口技术实验实训指导书指针),此时仿真程序准备从程序的第一行开始执行。此时,状态栏显示PC0000H,用户也可以人为设置从程序的中间开始执行程序,方法是:在源程序窗口,将光标放至需要运行的程序处,点击鼠标右键,选择跳转至光标处,在该行前面会出现程序指针会出现程序指针,
14、状态栏显示程序指针内容PC=XXXX,如下图7、查看汇编窗口从查看菜单选择查看汇编窗口,就可以查看该程序的汇编结果,也就是可以看到汇编语言源程序,和机器代码,以及机器代码所在地址。如下图8、单步执行通过工具条中的步入按钮,或者调时命令中的步入命令,单步执单片机原理与接口技术实验实训指导书行程序,每按一下单步执行,执行一条指令,程序指针下移一行,PC值不断增加9、观察执行结果程序执行后,会改变相关寄存器的结果,可以用查看菜单中的调试窗口观察相关存储器寄存器的状态,验证程序执行过程中的变化和执行结果。可以通过查看菜单中的调试命令打开存储器、寄存器、位存储器等窗口,如下图所示常见的是存储器窗口,用来
15、观察内部RAM、外部RAM、和程序存储器ROM,如下图所示单片机原理与接口技术实验实训指导书常用的还有寄存器窗窗口,用来观察工作寄存器r0r7、特殊功能寄存器的状态。如下图所示10、窗口的平铺和层叠在打开多个窗口时,如想同时观察多个窗口的信息,可以采用窗口菜单中的平铺窗口和层叠窗口命令,排列工作区的窗口。11、复位、重新执行程序。在程序执行结束后,或者在程序单步运行到任何位置,用户都可以通过点击调试菜单上的复位命令或者工具条上的复位按钮,使仿真系统复位,复位的主要功能是使单片机回答程序运行的初始状态,即使PC回到0000H。复位后可以重新从程序的第一行开始执行程序。单片机原理与接口技术实验实训
16、指导书二、数据传送指令验证利用刚才学习的内容新建一个项目,输入以下源程序进行调试,利用单步执行,观察程序执行过程中相关寄存器的变化,填入下面的空白处LJMP0030HPC=ORG0030HMOV30H,#38H(30H)=PC=MOV38H,#40H(38H)=PC=MOV40H,#48H(40H)=MOV48H,#90H(48H)=PC=MOVA,40H(A)=MOVR0,A(R0)=MOVP1,#0F0H(P1)=PC=MOVR0,30H(R0)=(48H)=MOVDPTR,#3848H(DPH)=(DPL)=MOV40H,38H(40H)=MOVR0,30H(R0)=PC=MOVP0,R
17、0(P0)=MOV18H,#30H(18H)=MOVA,R0(A)=MOVP2,P1(P2)=PC=程序执行一遍以后,利用复位按钮,重新开始执行一遍,观察复位以后PC的值,并注意观察程序在执行过程中PC值的变化。填入上面的空白处。三、数据传送指令编程建立一个新的项目,编写程序,分别将一个数将#78H传送给累加器A、工作寄存器R5、寄存器B、内部RAM40H单元、外部RAM202*H单元、外部RAM2040H单元。单片机原理与接口技术实验实训指导书思考题:1、寄存器寻址和寄存器间接寻址的区别是什么。2、访问外部RAM应该采用什么寻址方式3、在单片机中PC的作用是什么,复位后PC的值是多少,在顺序
18、程序结构的程序执行过程中PC的值会发生什么样的变化?单片机原理与接口技术实验实训指导书实验二单片机控制系统认识试验目的:1、认识单片机系统的开发过程2、认识单片机控制系统的工作情况,对单片机应用有更深刻的了解。实验预习内容:1、数据传送指令2、仿真软件使用方法实验器材:仿真器、实验主板、输入输出电路板实验内容:四人一组,完成以下内容。一、仿真器的认识前面实验一提到的软件仿真,是纯软件的模拟单片机的操作,不涉及硬件的调试。在实际开发过程中,往往不只是在软件上调试程序,还要进行软硬联调,即除了验证程序是否存在语法错误、数据运算是否正确以外,还要结合具体的电路,仿真运行程序,观察硬件电路的输入输出反
19、映是否和设计者所希望的意志。这里用到的就是硬件仿真。一般的单片机控制系统开发,包括系统论证、系统设计、软件开发、硬件设计、软硬件联机调试、产品定型几个步骤。在系统论证阶段要完成系统工程的确定,性能指标分析,系统可行性分析,选择系统的组成方案等工作。在系统设计阶段要完成软硬件功能的分配、确定好软件和硬件的相互关系、拟定好系统的调试方案和调试手段。在系统设计完成以后进入到了软件设计和硬件设计阶段,这两项工作要可以同时进行,协调一致。软件设计包括:确定好算法和数据结构、划分程序的功能模块、设计程序的流程图、编写源程序、进行编译和软件仿真排除可能的软件和算法错误。硬件设计工作需要利用电路、数字电子技术
20、、模拟电子技术等知识,使用专门的绘图软件,如PROTEL,绘制出系统的硬件原理图,并绘制出硬件电路的印刷电路板布线图。将电路图的图纸文件交给印刷电路板制作的厂商制作出印刷电路板,然后购买元件,安装焊接组装出样机电路板(目标板)。软件设计和硬件电路制作完成以后,进入到软硬件的联机调试。主要工作是在样机上运行程序,排除故障,修改相应的软件和硬件问题。直至系统正常工作。在联合调试时需要用到仿真器,执行仿真程序,代替单片单片机原理与接口技术实验实训指导书机运行程序,通过仿真器的丰富的功能如单步执行、断点运行等,查找软硬件故障。即前面提到的硬件仿真。完成了联机调试以后,如系统运行正常,则进入到产品定型阶
21、段。将程序编译生成的代码文件(HEX文件)通过专门的编程器烧写入单片机内部的程序存储器中。将写好程序的单片机插到目标电路板上单片机的插座上。正是做成样机,写出产品报告。再经过一定时间的试运行,便可批量生产,投向市场。在单片的开发上用到的仿真器有很多种,不同的仿真器功能有所不同,但基本的调试功能都是一致的。我们学校实验室配备的是EASYPACKEII8052F高性能仿真器,如下图所示。电源插座电源开关数据线插仿真器仿真头数据仿真头图中仿真头就是插到目标电路板上单片机位置上的部件。仿真器的右侧壁板上有电源开关、电源插座、数据线插座。由于角度关系在上图中无法显示。二、仿真器的使用将仿真器的仿真头插到
22、实验电路板的主板上,注意:仿真头是有方向的,仿真头上的插的方向应和电路板上的方向标识一致。切忌将仿真头插反。把仿真器的电源适配器的输出插到仿真器的电源插孔上,通过灰色数据线将仿真器和PC机相连(数据线一端连接到PC机的COM口上,另一点连接到仿真器的数据插孔上)。单片机原理与接口技术实验实训指导书按照实验线路接好连线,接通实验板的电源,打开仿真器的电源开关。等待仿真器面板上的指示灯闪烁完毕后。双击桌面上的图标。进入硬件仿真程序,仿真程序启动后,会自动寻找仿真器,并建立PC机和仿真器的连接。三、我的第一个单片机控制程序按照下面的步骤,在实验老师的指导下,一步一步完成试验内容。为防止使用不当造成仿
23、真器的损坏,切忌自作主张,自行操作。直流电源5VGND+5vGnd接仿真头实验主板P1.0P1.0P1.2P1.3.P1.7+5vGndLed0Led1Led2Led3.Led7I/O板1、将仿真器和PC机相连,仿真头插到实验主板的单片机插座上。2、按照上图将接好实验线路。检查无误后。启动直流电源,打开仿真器电源。3、双击座面上的CodeCruiserfor51图标进入仿真程序4、仿真器会查找仿真器,如果连接无误的话会弹出存储器映射的窗口,点取消,进入到和软件仿真一样的工作环境。如果提示仿真器没有连接,经老师检查故障原因。5、按照实验一所讲述的过程,建立一个名为xunlian1.mpj的项目,
24、单片机原理与接口技术实验实训指导书并建立一个名为lianxi1.asm的源文件,在源文件里面输入以下内容。LJMPMIANORG0030HMAIN:MOVA,#0FEHLOOP:MOVP1,AACALLDELAYRRASJMPLOOPDELAY:MOVR5,#0FFHDELAY1:MOVR6,#0FFHDELAY2:NOPNOPNOPNOPDJNZR6,DELAY2DJNZR5,DELAY1RETSJMP$将源文件添加到项目中后进行编译,修改程序中的错误,程序无误后点击重新下载按纽,下载程序代码。然后点机仿真运行按钮。仿真运行程序。观察程序运行结果。回答问题:1、通过运行上面的程序,在实验电路
25、板上出现了什么现象?2、将上面的程序中的RRA修改为RLA,重新编译、下载、仿真运行,实验电路板上出现了现象。为什么?3、什么是“存储程序”结构,单片机系统只有硬件电路,不编写程序能不能实现一定的控制功能?单片机原理与接口技术实验实训指导书实验三算术运算指令实验目的:1、进一步了解仿真软件的使用方法2、学习算术运算指令预习复习内容:1、复习实验一仿真软件的使用方法2、复习算术运算指令相关知识实验内容一、仿真软件使用1、将存储器、寄存器内容付初值和改变寄存器内容。在程序调试时,可以查看存储器、寄存器、位存储器等的内容(如实验一所讲述)。除此之外,在谈出的存储器、寄存器、位存储器窗口,用户还可以人
26、为设置寄存器、存储器、位存储器的初始内容,如将外部RAM202*H单元设为34H,将A的内容设为80H。方法如下:通过查看菜单打开寄存器窗口,将需要改变的专用寄存器后面的数值反亮,然后输入新的数值,点击窗口其他地方,寄存器内容得以改变。如图所示SP内容被改变为47H,DPL内容被改变为44H通过查看菜单打开存储器窗口,选择片内数据存储器或者片外数据存储器,在旁边的地址栏输入要改变的单元地址值,点击GO,快速定位到对应的单元区域,将光标移到需要改变的单元前,输入新的数值,对应存储单元被改变为新的值。如下图所示单片机原理与接口技术实验实训指导书外部数据存储器202*、202*、202*单元内容分别
27、被改变为,33H,44H,55H2、调试方法:全速运行到光标处除了单步执行以外,如果在调试中,想从一个程序段的开始运行到最后,或者靠后一点的位置,观察最终运行结果,可以执行以下操作:复位后,把光标移动到需要连续执行到的位置,点鼠标右键,选择运行到光标处命令。程序就可以从程序段的首行,连续执行到光标处。如图所示:用户也可以通过点击调试菜单的运行到光标处命令,连续运行到光标位置。单片机原理与接口技术实验实训指导书二、算术运算指令验证建立一个新的项目,并输入以下源程序,运行程序,并观察运行结果。双字节加法程序:被加数,存放在内部RAM20H、21H单元(低位在前),加数存放在内部RAM30H、31H
28、单元(低位在前),得到的和存放在40、41、42单元(低位在前)。LJMP0030HORG0030HMOVA,20HADDA,30HMOV40H,AMOVA,21HADDCA31HMOV41H,AMOVA,#00HADDCA,#00HMOV42H,AEND利用上面的方法,将加数倍加数分别设置为8DA9H、97CAH,并运行程序,求出运行结果(42H41H40H)=三、编写一段双字节减法程序,求0D54CH873AH,结果存放在30H,31H单元,(低位在前)思考题:回答实验内容1的MOVA,#00HADDCA,#00HMOV42H,A三条指令的作用。单片机原理与接口技术实验实训指导书实验四:逻
29、辑运算和移位程序调试实验目的:1、进一步熟悉仿真调试软件的用法2、验证逻辑运算和移位指令的功能实验预习和复习内容:1、逻辑运算和移位指令的功能2、全速执行到光标处实验内容:一、拆字程序要求建立新项目,编写程序将外部RAM的202*H单元中的内容拆开,高八位送202*H单元,第八位送202*H单元,202*H、202*H单元的高四位清0。本程序一般是将待显示的数值的压缩BCD码拆开送对应的数据显示缓冲区。开始202*H内容送A高低位交换后屏蔽高位,送202*H单元202*H送A屏蔽高四位后送202*H单元结束二、拼字程序编写程序,将外部RAM中202*H、202*1H单元的底4位分别送给202*
30、H单元的高4位和低4位,组成一个8位二进制数。本程序可以用于从显示缓冲区取两位显示的数值合并为一位压缩BCD码。单片机原理与接口技术实验实训指导书开始202*H内容送A屏蔽高位交换高低位后送B202*H内容送A屏蔽A高四位A和B相或后送202*2H结束思考题:1、将内部RAM中40H单元的高四位屏蔽为,低四位保持不变,写出相应的指令。2、将内部RAM中50H单元的低四位全部置1,高四位保持不变,写出相应的指令。单片机原理与接口技术实验实训指导书实验五:控制转移和位操作指令实验目的:1、进一步熟悉软件使用方法2、学习控制转移和位操作指令实验内容:一、新建一个项目,编写程序,将内部RAM30H单元
31、到3FH单元的数据传送到内部RAM40H-4FH单元。编写好程序后将30-3FH单元设置一个任意的初始值,验证是否能完成传送功能。二、新建一个项目,画出流程图,编写程序,将内部RAM30H单元开始存放20H个数据的内容传送至外部RAM4000H单元开始的数据区。编好程序后,在内部RAM设置一些数据,执行程序,验证程序结果。单片机原理与接口技术实验实训指导书三、建立新的项目,画出流程图,编写程序,判断内部RAM30H单元的有符号数是正数还是负数,如果是正数则将p1.0输出为1,如果是负数,则将P1.0输出0。编写完毕后,在30H单元输入一个数据,执行程序,查看程序执行过程,体会有条件转移的功能。
32、思考题:如果想把实验中的第三题判断逻辑改为根据30H单元的奇偶性判断,程序应该如何改动。单片机原理与接口技术实验实训指导书实验六汇编语言程序设计(一)实验目的:练习常见的简单的分支、转移、循环程序结构的设计方法。练习常见的程序调试方法。练习伪指令的使用实验内容:一、下载目标文件在进行项目变异的时候会产生二进制代码的目标文件,如果已经建立项目,并编译过,下次再启动的时候想继续调试,可以用下在目标文件的方法。在启动的时候仿真软件会自动弹出下载文件窗口。如果想新建项目,就取消,如果想继续进行已编译的项目的调试,就找到该项目的目标文件,然后确定。还可以通过项目菜单的重新下载,进入下载窗口。二、复位、仿
33、真、设置断点、停止1、复位:功能是将PC回到0000H,程序回到程序存储器的初始位置。点击调试工具条上复位按钮,完成复位。单片机原理与接口技术实验实训指导书2、仿真:点击调试工具条的仿真按钮,进入全速执行状态,知道点击停止按钮,或者遇到断点。3、设置断点:如果在程序调试过程中想在某个地方停止,可以在该处设置断点。设置断点的方法是:a、鼠标指向程序行的左边将显示断点十字光标b、单击鼠标设定断点。或-将鼠标移到程序行然后按F9。此时,程序行左边出现断点设定符号(红点)。这样,在全速调试的时候,程序就可以在断点处停止。4、停止:在仿真开始后,想终止运行,可以点击调试工具条的停止按钮。程序只有在终止运
34、行的情况下才可以修改。三、建立新项目,编写程序进行程序调试练习训练项目一:编写程序,查找内部RAM的20H-50H单元中是否有0AAH这个数,如果有,将51H单元,置为01H,如果没有,将51H单元置为00H。输入程序完毕后,可以在20H-50H随意数据,可以安排一个单元内容为0AAH,或者都不为0AAH,进行仿真,观察结果。训练项目二、在内部RAM30-5FH单元存放着一组无符号数,编写程序查找出这些无符号数的最大值,将结果存放于60H单元。单片机原理与接口技术实验实训指导书编写完程序以后,在这些单元输入一些数据,运行程序,观察实验结果。思考题:程序中用的伪指令在汇编窗口能不能找到相应的代码
35、。实验七:汇编语言程序设计(二)实验目的:学习汇编语言程序设计方法熟悉程序调试技巧预习内容:伪指令实验内容:1、循环程序编写与调试建立新项目,画出流程图,边写程序,查找内部RAM中的20H-50H单元中出现00H的次数,并讲结果存入51单元。单片机原理与接口技术实验实训指导书程序编写完毕后,在20H-50H随意输入一写数据,执行程序,观察程序执行过程和结果。2、数值比较程序比较两个ASCII码字符串的内容受否相等,字符串的长度存放于内部RAM41H单元,第一个字符串的首地址是42H,第二个字符串的首地址是52H。如果两个字符串的相等,则置内部RAM40H单元为00H,否则置内部RAM40单元为
36、0FFH。要求划出流程图,编写程序,进行调试。单片机原理与接口技术实验实训指导书程序编好后,在42H-4FH输入一组数据,在52H-5FH输入一组数据,分两组数据像头和不同两种情况分别调试,观察执行过程和结果。注意41H单元内容应小于0DH。单片机原理与接口技术实验实训指导书实验八、汇编语言程序设计(三)单片机原理与接口技术实验实训指导书实训部分实训项目一:仿真器认识与基本逻辑输出接口技术所需实验器材:仿真器、主板、综合I/O训练板实训内容:一、仿真器的使用在单片机的开发中,一般利用仿真器进行仿真运行,以检验程序的正确性,在程序调试正确以后,才将目标文件以二进制代码的形式写入程序存储器。仿真器
37、在仿真调试中的功能就是代替单片机运行程序。本实验中使用的是MICETEK公司的高性能的EASYPACK仿真器。在使用仿真器之前,请确保仿真器电源正确连接,仿真器与PC机的数据电缆连接真确。启动仿真程序:在开始/程序/CodeCruiserFor51系列中文版中点击CodeCruiserFor51,即进入仿真程序主界面。其界面与实验部分的软件仿真是相同的,基本操作也是相同的。将仿真器的仿真头插在实验电路主板上就可以进行仿真实验了。二、实验电路在单片机系统设计时,经常需要按照某一个控制逻辑,在某一个输出口上输出0或者1的开关量。在实验中,采用一个发光二极管来演示输出状态,如下图所示。图1当左侧由单
38、片机的输出的信号为1时,LED导通,发光,当由单片机输出的信号为0时,LED截止,不发光。实验中要求利用单片机的P1口的8条口线控制8个LED,根据程序实现对每一个LED的点亮或熄灭控制。实验电路如下:单片机原理与接口技术实验实训指导书*:其中黑色粗线就是实验中用到的软连接线三、练习内容:1、建立新的项目,编写程序,将第1、3、5、7号LED灯点亮,将2、4、6、8号等熄灭。2、修改程序,将将2、4、6、8号LED灯点亮,将第1、3、5、7号LED灯熄灭3、将1、2两部分联合起来。首先单号灯亮双号灯灭,延时一段时间以后单号灯灭双号灯亮,构成循环,连续执行上述状态。观察实验效果。并写出调试好的程
39、序:单片机原理与接口技术实验实训指导书4、建立新的项目、编写程序,使8个LED灯轮流依次点亮,其它灯熄灭,产生流水灯效果。请写出程序清单:5、建立新项目,编写程序,轮流一次点亮8个LED灯,等8个灯全亮以后,再依次将8个LED灯熄灭,并构成循环重复上面的过程,产生霓虹灯效果。程序清单:单片机原理与接口技术实验实训指导书实训项目二、基本逻辑输入接口,键盘接口和键盘扫描程序所需器材:仿真器、试验主板、综合I/O板实训内容:一、键盘与开关电路1、轻触无自锁按键与单片机的接口电路如下图所示,按键经电阻与VCC相连,另一端接地,当有按键按下时,P1.X为低电平,否则为高电平。试验板中一共设计了8个这样的
40、按键。2、双掷拨动开关与单片机的接口电路如下图所示,中间是一双掷拨动开关,一端通过电阻和VCC相连,另一端接地,当开关打到下档,P1.X为低电平,当开关打到上面,P1.X为高电平。二、开关控制LED灯实训按照下面的电路图,连接好实验电路,用4个开关,控制4个LED灯,输入输出均通过P1口进行,P1.0-P1.3用于输入开关状态,P1.4-P1.7用于单片机原理与接口技术实验实训指导书控制LED灯。建立新项目,编写程序,仿真运行。完成上述功能。将程序清单写在下面:单片机原理与接口技术实验实训指导书三、按键控制LED灯训练要求,用8个无自锁按键控制8个LED灯,当按键按下时,LED灯亮,按键释放时
41、,LED灯熄灭。按键状态,由P0口输入,LED控制信号由P1口输出。连接电路,建立新项目,编写程序完成上述功能。程序清单:四、按键控制LED灯训练2(键盘扫描程序)用8个无自锁按键控制8个LED灯,按键状态,由P0口输入,LED控制信号由P1口输出。要求每发现一次确认的完整的按键操作,即:按下-确认按下-按键释放以后,相对应的LED状态翻转一次,由亮变灭,或由灭变亮,连接电路,建立新项目,编写程序完成上述功能。程序流程:单片机原理与接口技术实验实训指导书开始读取按键N按下?Y延时20msN按下?NN释放?YLED翻转下一个按键扫描单片机原理与接口技术实验实训指导书实训项目三数码管显示器接口技术
42、所需器材:仿真器主板数码管和交通灯试验板实训内容:一、数码管简介数码管是单片机系统中最常见的显示装置,通常称为7段数码管,或则是8段数码管(带小数点),根据结构分为共阴极和共阳极两种,本实验中用到的是共阴极数码管。原理图如图所示对于共阴极数码管,管脚A-DP,出现高电平的1信号,相对应的码段发光,通过控制A-DP上的信号,控制不同的段吗发光,显示不同的数字,如0-9,A-F。这就是数码管显示的原理。二、数码管及单片机的接口电路数码管与单片机的接口连线图如下所示,共阴极代码,由P1口输出。P1.X连接到数码管的A-DP,根据P1口输出的数值不同,可以在数码管上显示出不同的数字。注意,P1口送出的
43、一定是共阴极代码。单片机原理与接口技术实验实训指导书三、数码管显示驱动程序训练项目一、建立新的项目,编写程序,在数码管上显示一个数字“5”程序清单:训练项目二、在上面程序上加以修改,在数码管上显示一个闪烁的数字“5”程序清单单片机原理与接口技术实验实训指导书训练项目三、利用伪指令将共阴极代码编制成数据表,存放于程序存储器中。建立新的项目编写程序,利用查表指令,在数码管上显示连续变化的0-9十个数字。参考程序流程:程序清单:开始R0=0A=R0查表输出显示/延时R0=R0+1YR0单片机原理与接口技术实验实训指导书实训项目四交通灯模拟实验实验器材:仿真器主板交通等模拟板综合逻辑板实训内容:一、模
44、拟交通灯电路图中利用12个LED来模拟路口交通灯信号。东西两组,南北两组,同一个方向的两组,控制逻辑应该是相同的。12个LED接成共阴极接法,在相应的控制线上施加一高电平,则相应的LED发光,实现交通控制。二、交通控制逻辑简单的交通信号灯控制逻辑共有四个状态如下:单片机原理与接口技术实验实训指导书1、南北绿灯通行,东西红等禁止2、南北黄灯限制,东西红灯禁止3、南北红等禁止,东西绿灯通行4、南北红等禁止,东西黄灯限制三、连线表和控制字按照控制要求补全下表,并求出四种状态对应的控制字南北方向东西方向控制字口线P1.5P1.4P1.3P1.2P1.1P1.0LED红黄绿红黄绿状态一00110状态二状
45、态三状态四按照上表的对应关系,连接好实验电路。*注意:由于仿真器驱动能力有限,绿色LED驱动电流比较大,可能会出现率灯不亮的情况,可以在电路上作以下改进,由单片机P1.0P1.3送出的绿灯信号,不直接送LED,而是经过一个与门,来提高驱动能力,与门的另一个输入端接高电平。连线图如下所示单片机原理与接口技术实验实训指导书四、编程调试建立新的项目,编写程序,在交通灯模拟板上输出交通灯信号。程序清单:实训项目五:中断与定时程序实验器材:仿真器主板综合I/O版实训内容:一、编写一定时程序,利用8051定时器,实现10S的定时,要求采用程序查询方式。时间到后,经P1.0输出高电平,驱动发光二极管发光。程
46、序清单:单片机原理与接口技术实验实训指导书二、上题中,采用中断方式结合程序查询,实现一个长定时20S,20S后驱动发光二极管发光,程序应该如何编写。写出程序清单,仿真运行。三、写一计数程序,实现计数10个,要求采用中断方式。计数到后经P1.1输出高电平,驱动发光二极管发光。计数脉冲由按键产生。画出连线图,写出程序,编程调试。四、8051外部中断INT0接收外部中断信号,当有中断请求时,响应中断,在中断服务程序中将P1.2置1,驱动发光二极管发光。外部中断信号由按键模拟,采用边沿触发。画出连线图,连接电路,编程调试程序清单:单片机原理与接口技术实验实训指导书实训项目六:基本I/O扩展电路实验器材
47、:仿真器主板综合I/O版综合逻辑板实训内容:一、用74LS273和74LS244扩展并行I/O电路,连接好线路,编写程序,利用244输入键盘状态,经273输出,达到一个按键控制一个LED灯的效果。(电路参考教材P128)单片机原理与接口技术实验实训指导书二、利用串行口扩展并行口,利用74LS164扩展并行口,驱动数码管显示连续变化的0-9数字。画出电路图,连接线路,编写程序,仿真运行。电路图参考教材P156,P189。程序清单:实训项目七:8255I/O扩展电路实验器材:仿真器主板综合I/O版8255板实训内容一、利用8255,扩展并行口,讲PA口设为输入口,PB口设为输出口,PA口采集开关的
48、状态,经PB口输出,驱动LED发光,每一个开关驱动一个对应的LED。画出电路图,连接线路,编写程序,仿真运行。电路与程序清单:(电路图参考教材P137)单片机原理与接口技术实验实训指导书二、如果上题中,开关换成无自锁按键,每一个按键控制一个LED发光,程序应该如何修改。三、在上题中,讲LED灯换成LED数码管,连接线路,对应八个按键,在LED数码管上分别显示1-8数字上。编写程序,仿真运行。单片机原理与接口技术实验实训指导书实训项目八蜂鸣器驱动实验实训器材:仿真器实验主板综合I/O板实训目的:掌握短鸣型蜂鸣器的与单片机系统的应用实训内容:蜂鸣器分为短鸣型和长鸣型两种,长鸣型蜂鸣器使用起来比较简
49、单,只要加上5V电压便可实现蜂鸣,但是长鸣型蜂鸣器音调单一不可改变。短鸣型蜂鸣器如果单一的加上+5V,是不产生蜂鸣信号的,只有给蜂鸣器加上脉冲信号,并且脉冲信号的频率和蜂鸣器的固有频率相近时,蜂鸣器才发出明显的声音信号。在一定范围内改变蜂鸣器的控制脉冲频率,可以改变蜂鸣器的音调。实验电路如下连接好电路以后,利用定时器编写一方波发生器,在P1.X输出,方波频率可调。参考程序:org0000hsjmp0030hSTART:MOVR7,#08HT0INI:MOVTMOD,#01HMOVTH0,#00H,MOVTL0,#00HSETBTR0JNBTF0,$CLRTF0DJNZR7T0INI单片机原理与接口技术实验实训指导书CPLP1.XSJMPSTART编好程序以后,编译运行,观察实验结果。蜂鸣器是否出现响声。如果蜂鸣器声音太小,或者没有声音。可以调整R7的值,通过多次增加或者减小R7的值,寻找到使蜂鸣器声音最大的R7值。注意每次改变程序后都要重新编译。声调调整:改变TH0,TL0的初值,运行程序。蜂鸣器的音调是否有变化。TH0、TL0的变大的时候,声调是变高还是变低。第 26 页 共 26 页
限制150内