实验1 存储区数据设置
一.实验目的
通过实验了解单片机的数据存储器写入与擦除的方法; 学习使用伟福软件。
二.实验内容
编程实现0030H~0039H RAM的内容清零。
三.实验步骤
运行Keil uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功,如有错,请更改直到编译成功。
点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口。
在存储器窗口中输入D:30H,然后单步执行,查看30H~39H单元值的变化
四.实验参考程序
ORG 0000H LJMP START
ORG 0030H START: MOV 30H,#10H MOV 31H,#11H MOV 32H,#12H
MOV 33H,#13H MOV 34H,#14H MOV 35H,#15H MOV 36H,#16H MOV 37H,#17H MOV 38H,#18H MOV 39H,#19H
11
MOV R0,#30H LOOP1: CLR A MOV @R0,A INC R0
CJNE R0,#3AH,LOOP1 END
12
实验2 二进制BCD码转换
一.实验目的
通过实验了解十进制转二进制BCD码的方法; 学习使用伟福软件。
二.实验内容
把123转换成二进制BCD码再以16进制存于30H~32H中。
三.实验步骤
运行Keil uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功
点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口
3.在存储器窗口中输入D:30H,然后单步执行,查看30H~32H单元值的变化内容的变化。
四.实验参考程序
RESULT EQU 30H ORG 00H LJMP START
START:MOV SP,#40H MOV A,#123 LCALL 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
14
实验3 程序跳转表
一.实验目的
通过实验理解地址偏移量的概念和程序跳转表的使用方法; 学习使用伟福软件。
二.实验内容
以查表的方式执行跳转指令使30H~33H显示不同的值。
三.实验步骤
运行Keil uVision软件,新建一个工程(如clr),新建一个文件CLR.asm。将文件添加到工程中并编译,如有错,请更改直到编译成功
点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口
在存储器窗口中输入D:30H,然后单步执行,查看30H~33H单元值的变化
四.实验参考程序
ORG 0000H START:
MOV A,#0 ;设置地址偏移量 CALL FUNCENTER MOV A,#1 ;设置地址偏移量 CALL FUNCENTER MOV A,#2 ;设置地址偏移量 CALL FUNCENTER MOV A,#3 ;设置地址偏移量 CALL FUNCENTER LJMP $
FUNCENTER:
ADD A,ACC ;AJMP为二字节指令,地址偏移量*2 MOV DPTR,#FUNCTAB ;设置基址 JMP @A+DPTR ;跳转到目标地址
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库10机械《89C51单片机实验指导书》-修改后 -(3)在线全文阅读。
相关推荐: