单片机软件实验部分

上传人:第*** 文档编号:32747481 上传时间:2018-02-12 格式:DOC 页数:19 大小:869.50KB
返回 下载 相关 举报
单片机软件实验部分_第1页
第1页 / 共19页
单片机软件实验部分_第2页
第2页 / 共19页
单片机软件实验部分_第3页
第3页 / 共19页
单片机软件实验部分_第4页
第4页 / 共19页
单片机软件实验部分_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机软件实验部分》由会员分享,可在线阅读,更多相关《单片机软件实验部分(19页珍藏版)》请在金锄头文库上搜索。

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

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

3、文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,则扩展名为(.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 语言源程序: #inc

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

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

6、put”中单击“Create HEX File” 选项,使程序编译后产生 HEX 代码,供下载器软件使用。把程序下载到 AT89S51 单片机中。实验二 储存器块清零一实验目的1通过实验了解单片机的数据存储器写入与擦除的方法。2学习使用伟福软件。二实验内容编程实现 0030H0039H RAM 的内容清零。三实验步骤1运行 Keil C51 软件,新建一个工程(如 clr) ,新建一个文件 CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功,如有错,请更改直到编译成功。2点击 按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session

7、”(或者使用快捷键 Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口。3在存储器窗口中输入 D:30H,然后单步执行,查看 30H39H 单元值的变化。四实验参考程序ORG 0000HLJMP STARTORG 0030HSTART: MOV 30H,#10HMOV 31H,#11HMOV 32H,#12HMOV 33H,#13HMOV 34H,#14HMOV 35H,#15HMOV 36H,#16HMOV 37H,#17HMOV 38H,#18HMOV 39H,#19HMOV R0,#30HLOOP1: CLR A MOV R0,AINC R0CJNE

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

9、在存储器窗口中输入 D:30H,然后单步执行,查看 30H32H 单元值的变化内容的变化。四实验参考程序RESULT EQU 30HORG 00HLJMP STARTSTART:MOV SP,#40HMOV A,#123LCALL BINTOBACSJMP $BINTOBAC:MOV B,#100DIV AB ;除以 100 得百位数MOV RESULT,A MOV A,BMOV B,#10DIV AB ;余数除以 10 得十位数 MOV RESULT+1,AMOV RESULT+2,B ;余数为个位数RETEND实验四 二进制 ASCII 码转换一实验目的1通过实验了解数值转二进制 ASCI

10、I 码的方法。2学习使用伟福软件。二实验内容把 1AH 转换成二进制 ASCII 码再存于 30H31H 中。常用 ASCII 码代码 字符 代码 字符 代码 字符 代码 字符 代码 字符32 52 4 72 H 92 112 p33 ! 53 5 73 I 93 113 q34 54 6 74 J 94 114 r35 # 55 7 75 K 95 _ 115 s36 $ 56 8 76 L 96 116 t37 % 57 9 77 M 97 a 117 u38 & 58 : 78 N 98 b 118 v39 59 ; 79 O 99 c 119 w40 ( 60 82 R 102 f 1

11、22 z43 + 63 ? 83 S 103 g 123 44 , 64 84 T 104 h 124 |48 - 65 A 85 U 105 i 125 46 . 66 B 86 V 106 j 126 47 / 67 C 87 W 107 k48 0 68 D 88 X 108 l49 1 69 E 89 Y 109 m50 2 70 F 90 Z 110 n51 3 71 G 91 111 o三实验步骤1 运行 Keil C51 软件,新建一个工程(如 clr) ,新建一个文件 CLR.asm。 将文件添加到工程中并编译,如有错,请更改直到编译成功2 点击 按钮或单击“Project”菜

12、单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键 Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口。3 在存储器窗口中输入 D:30H,然后单步执行,查看 30H31H 单元值的变化。四实验参考程序RESULT EQU 30HORG 00HSTART:MOV A,#1AHCALL BINTOHEXLJMP $BINTOHEX:MOV DPTR,#ASCIITABMOV B,A ;暂存 ASWAP AANL A,#0FH ;取高四位MOVC A,A+DPTR ;查 ASCII 表MOV RESULT, AMOV A,B

13、 ;恢复 AANL A,#0FH ;取低四位MOVC A,A+DPTR ;查 ASCII 表MOV RESULT+1,ARETASCIITAB:DB 48,49,50,51,52,53,54,55DB 56,57,65,66,67,68,69,70 ;定义数字对应的 ASCII 表END实验五 程序跳转表一实验目的1通过实验理解地址偏移量的概念和程序跳转表的使用方法。2学习使用伟福软件。二实验内容以查表的方式执行跳转指令使 30H33H 显示不同的值。三实验步骤1运行 Keil C51 软件,新建一个工程(如 clr) ,新建一个文件 CLR.asm。 将文件添加到工程中并编译,如有错,请更改

14、直到编译成功2点击 按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键 Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口。3在存储器窗口中输入 D:30H,然后单步执行,查看 30H33H 单元值的变化。四实验参考程序ORG 0000HSTART:MOV A,#0 ;设置地址偏移量CALL FUNCENTERMOV A,#1 ;设置地址偏移量CALL FUNCENTERMOV A,#2 ;设置地址偏移量CALL FUNCENTERMOV A,#3 ;设置地址偏移量CALL FUNCENTE

15、RLJMP $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实验六 内存块移动一实验目的1通过实验学习对存储器的操作。2学习使用伟福软件。二实验内容把内部 RAM 50H59H 中的数据移到 60H69H 中。三实验步骤1运行 Keil C51 软件,新建一个工程(如 clr) ,新建一个文件 CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功2点击 按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号