ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:689.22KB ,
资源ID:14422637      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14422637.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(10机械《89C51单片机实验指导书》修改后.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

10机械《89C51单片机实验指导书》修改后.docx

1、10机械89C51单片机实验指导书修改后89C51单片机实验指导书河海大学文天学院2012.9目录软件部分 2KEIL uVision软件的使用 2实验1 存储区数据设置 10一实验目的 10二实验内容 10三实验步骤 10四实验参考程序 10实验2 二进制BCD码转换 12一实验目的 12二实验内容 12三实验步骤 12四实验参考程序 12实验3 程序跳转表 14一实验目的 14二实验内容 14三实验步骤 14四实验参考程序 14实验4 内存块移动 16一实验目的 16二实验内容 16三实验步骤 16四实验参考程序 16实验5 数据排序 18一实验目的 18二实验内容 18三实验步骤 18四

2、实验参考程序 18硬件部分 20实验一仿真器的使用 20一实验目的 20二实验内容 20实验1 I/0口输入输出实验 21一实验目的 21二实验内容 21三实验原理图 21四实验步骤 21实验2 广告灯实验 22一实验目的 22二实验内容 22三实验原理图 22四实验步骤 22实验3 定时器实验 23一实验目的 23二实验内容 23三实验原理图 23四实验步骤 23实验4 外中断实验 24一实验目的 24二实验内容 24三实验原理图 24四实验步骤 24实验5 动态扫描显示实验 25一实验目的 25二实验内容 25三实验原理图 25四实验步骤 25软件部分 KEIL uVision软件的使用K

3、eil uVision软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。下面介绍Keil uVision软件的使用方法进入Keil uVision后,屏幕如下图所示。几秒钟后出现编辑界启动Keil uVision时的屏幕进入Keil uVision后的编辑界面,简单程序的调试1建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项2然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51,如下图所示,然后点击保存。3这时会弹出一个对话框,要求你选

4、择单片机的型号,你可以根据你使用的单片机来选择,Keil uVision几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。4完成上一步骤后,屏幕如下图所示5在下图中单击“File”菜单,再在下拉菜单中单击“New”选项新建文件后屏幕如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正

5、确的扩展名。注意,如果用语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。6)回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,弹出如下菜单然后单击“Add File to Group Source Group 1” 屏幕如下图所示选中Test.c,然后单击“Add”屏幕如下图所示注意到“Source Group 1”文件夹中多了一个子项“Text1.c”了吗?子项的多少与所增加的源程序的多少相同7)现在,请输入如下的C语言源程序: #include /包含文件#include v

6、oid main(void) /主函数 P0=0x00; P1=0xff; P2=0xf0; P3=0x0f;while(1) 在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil uVision会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5),屏幕

7、如下所示9)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果其结果如下图所示至此,我们在Keil uVision上做了一个完整工程的全过程。但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?10)单击“Project”菜单,再在下拉菜单中单击“”在下图中,单击“Output”中单击“Create HEX File”

8、选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89S51单片机中。实验1 存储区数据设置一实验目的通过实验了解单片机的数据存储器写入与擦除的方法;学习使用伟福软件。二实验内容编程实现0030H0039H RAM的内容清零。三实验步骤运行Keil uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功,如有错,请更改直到编译成功。点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下

9、窗口,其中中间的窗口为存储器窗口。在存储器窗口中输入D:30H,然后单步执行,查看30H39H单元值的变化四实验参考程序ORG 0000HLJMP START ORG 0030HSTART: MOV 30H,#10HMOV 31H,#11HMOV 32H,#12H MOV 33H,#13H MOV 34H,#14H MOV 35H,#15H MOV 36H,#16H MOV 37H,#17H MOV 38H,#18H MOV 39H,#19H MOV R0,#30HLOOP1: CLR AMOV R0,AINC R0 CJNE R0,#3AH,LOOP1 END实验2 二进制BCD码转换一实验

10、目的通过实验了解十进制转二进制BCD码的方法;学习使用伟福软件。二实验内容把123转换成二进制BCD码再以16进制存于30H32H中。三实验步骤运行Keil uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口3在存储器窗口中输入D:30H,然后单步执行,查看30H32H单元值的变化内容的变化。四实验参考程序RESU

11、LT EQU 30HORG 00HLJMP STARTSTART:MOV SP,#40HMOV A,#123LCALL BINTOBAC SJMP $BINTOBAC:MOV B,#100 DIV AB ;除以100得百位数 MOV RESULT,A MOV A,B MOV B,#10 DIV AB ;余数除以10得十位数 MOV RESULT+1,A MOV RESULT+2,B ;余数为个位数 RET END实验3 程序跳转表一实验目的通过实验理解地址偏移量的概念和程序跳转表的使用方法;学习使用伟福软件。二实验内容以查表的方式执行跳转指令使30H33H显示不同的值。三实验步骤运行Keil

12、uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口在存储器窗口中输入D:30H,然后单步执行,查看30H33H单元值的变化四实验参考程序ORG 0000HSTART:MOV A,#0 ;设置地址偏移量CALL FUNCENTERMOV A,#1 ;设置地址偏移量CALL FUNCENTERMOV A,#2 ;设置地

13、址偏移量CALL FUNCENTERMOV A,#3 ;设置地址偏移量CALL FUNCENTERLJMP $FUNCENTER:ADD A,ACC ;AJMP为二字节指令,地址偏移量*2MOV DPTR,#FUNCTAB ;设置基址JMP A+DPTR ;跳转到目标地址FUNCTAB:AJMP FUNC0AJMP FUNC1AJMP FUNC2AJMP FUNC3FUNC0:MOV 30H,#0RETFUNC1:MOV 31H,#1RETFUNC2:MOV 32H,#2RETFUNC3:MOV 33H,#3RETEND实验4 内存块移动一实验目的通过实验学习对存储器的操作学习使用伟福软件。二

14、实验内容把内部RAM 50H59H中的数据移到60H69H中。三实验步骤运行Keil uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口在存储器窗口中输入D:50H,然后单步执行,查看50H59H和60H-69H单元值的变化四实验参考程序ORG 0000HAJMP STARTORG 0100HSTART: MOV

15、50H,#00HMOV 51H,#01H MOV 52H,#02H MOV 53H,#03H MOV 54H,#04H MOV 55H,#05H MOV 56H,#06H MOV 57H,#07H MOV 58H,#08H MOV 59H,#09H MOV R0,#50H ;源地址 MOV R1,#60H ;目的地址 MOV R2,#10LOOP: MOV A,R0MOV R1,AINC R0 INC R1 DJNZ R2,LOOP END实验5 数据排序一实验目的通过实验学习数据排序的编程方法;学习使用Keil软件;二实验内容把11个无序数据存于50H5AH中,然后以从小到大的顺序排列在50

16、H5AH中。三实验步骤运行Keil软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编写程序,然后编译,如有错,请更改直到编译成功点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口在存储器窗口中输入D:30H,然后单步执行,查看30H3AH单元值的变化四实验参考程序ORG 0000HLJMP STARTORG 0100HSTART: MOV 50H,#30HMOV 51H,#11HMOV 52H,#18HMO

17、V 53H,#09HMOV 54H,#01HMOV 55H,#2AHMOV 56H,#36HMOV 57H,#17HMOV 58H,#28HMOV 59H,#79HMOV 5AH,#0A9HMOV R3,#50HQUE1: MOV A,R3 ;指针送R0MOV R0,A MOV R7,#0AH ;长度送R7 CLR 00H ;清标志位MOV A,R0QL2 : INC R0 MOV R2,A ;备份A中的内容,因下面的CJNE中用到CLR CMOV 22H,R0 CJNE A,22H,QL3 ;相等吗?(A)(22)时CY置1.SETB CQL3: MOV A,R2 JC QL1 ;=则转QL

18、1,不用交换 SETB 00H ;00H位为1时,说明有数据交换,仍要进行下一整体循环XCH A,R0DEC R0XCH A,R0 INC R0 ;大于交换QL1: MOV A,R0 ;A中的内容总是和下一个数据比较DJNZ R7,QL2 JB 00H,QUE1 ;一次循环中有交换继续 END硬件部分实验一仿真器的使用一实验目的熟悉KEIL环境下仿真器的使用二实验内容掌握仿真器的使用方法。实验1 I/0口输入输出实验一实验目的通过实验学会使用51系列单片机I/O口的基本输入输出功能。二实验内容拨动数据开关向P0口送数据,单片机从P0口输入的状态数据后,再从P1口将该数据输出至发光二极管显示。三

19、实验原理图四实验步骤1.硬件连接:数据开关的8P插座与P0口的8P插座相连接,发光二极管的8P插座与P1相连接。2.实验现象:拨动数据开关为1时,对应的发光二极管亮;为0时,对应的发光二极管灭。注:在单片机最小系统面板上有SW2为EA与VCC短接块,一般STC单片机EA不接高电平也默认是片内程序存储器。实验2 广告灯实验一实验目的1以P1口为例,学会使用51系列单片机I/O口的基本输出功能;2学习循环指令的用法和软件延时的编程方法。二实验内容编写程序,使8个LED左循环闪亮,然后右循环闪亮。三实验原理图四实验步骤1.硬件连接:发光二极管的8P插座与P1相连接。2.实验现象:LED左移动,然后右

20、移动循环下去。实验3 定时器实验一实验目的通过实验学习单片机的定时器功能,学会编程实现单片机的定时功能;掌握中断处理程序的编程方法;掌握查表的编程方法。二实验内容由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟一时序控制装置。上电后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮.一直循环下去。三实验原理图

21、四实验步骤1.硬件连接:发光二极管的8P插座与P1相连接。2.实验现象:上电后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮.一直循环下去。实验4 外中断实验一实验目的通过实验掌握单片机外中断的原理及编程方法。二实验内容数码管循环显示0F,当int0端口即P3.2口有低电平时,数码管立即回到0重新循环显示。三实验原理图四实验步骤1.硬件连接:动态显示的段码a-h与 P0口连接,位选L1-L8与P1口边接。查询式键盘S0-S7接P3口。2.实验现象:数码管从0到F循环计数,按下键2后暂停计数。实验5 动态扫描显示实验一实验目的通过实验掌握动态扫描显示的原理和编程方法。二实验内容在多位LED显示时,为了简化硬件电路,通常将所有的段码线相应的段并联在一起,由一个8位IO口控制形成段码的多路复用,而各位的共阳极或共阴极分别由相应的IO线控制,形成分时选通。这是一个基本的实验,以后的很多实验都得用到。三实验原理图四实验步骤1.硬件连接:单片机最小系统的P0、P2口接动态显示的a-h、L1-L8。2.实验现象:数码管显示01234567

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1