收藏 分享(赏)

实验一 EL-8051-III单片机实验系统的键盘操作.doc

上传人:yjrm16270 文档编号:6571802 上传时间:2019-04-17 格式:DOC 页数:8 大小:105KB
下载 相关 举报
实验一 EL-8051-III单片机实验系统的键盘操作.doc_第1页
第1页 / 共8页
实验一 EL-8051-III单片机实验系统的键盘操作.doc_第2页
第2页 / 共8页
实验一 EL-8051-III单片机实验系统的键盘操作.doc_第3页
第3页 / 共8页
实验一 EL-8051-III单片机实验系统的键盘操作.doc_第4页
第4页 / 共8页
实验一 EL-8051-III单片机实验系统的键盘操作.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、EL-8051-III 单片机实验系统的键盘操作【实验原理】1、键盘使用1、键盘布局和定义8051 教学实验键盘共有 24 个键,包括数字键 0F 共 16 个,功能键 8 个,以及外加功能键(SHIFT 和 CTRL)2 个。其中 8 个功能键中有 5 个双功能键,按下 SHIFT 键的同时按下功能键可实现第二键功能。键盘布局图如下:0 1 2 3 MEM/SBRK ESC/CBRK4 5 6 7 REG/BMOV EXEC8 9 A B LAST/BFIL STEPC D E F NEXT/BCPY ENTERPULSE RESET CTRL SHIFT2、键盘功能和操作、存储器浏览修改功

2、能功能代号:1功能名称:MEM功能键名:MEM操作:按下 MEM 键后,LED 显示“_1_”。输入 4 位 16 位地址,按 ENTER 结束即可浏览相应地址内容。输入要修改的内容,按 ENTER 结束可修改地址内容。修改后 LED 显示下一个单元的地址和内容。按 NEXT 和 LAST 可分别浏览下一地址和上一地址的内容。、寄存器浏览修改功能功能代号:2功能名称:REG功能键名:REG操作:按下 REG 键后,LED 显示“ 2 ”。按下寄存器查看的相应的组合键可查看寄存器内容。组合热键与寄存器的对应关系如下表:寄存器名 组合热键 寄存器名 组合热键RO CTRL+0 PSW SHIFT+

3、0R1 CTRL+1 SP SHIFT+1R2 CTRL+2 DPL SHIFT+2R3 CTRL+3 DPH SHIFT+3R4 CTRL+4 PCL SHIFT+4R5 CTRL+5 PCH SHIFT+5R6 CTRL+6 TCON SHIFT+6R7 CTRL+7 TMOD SHIFT+7A CTRL+A SCON SHIFT+8B CTRL+B SBUF SHIFT+9IEC SHIFT+AIPC SHIFT+B、存储器块移动功能功能代号:3功能名称:BMOV功能键名:SHIFT+BMOV操作:同时按下 SHIFT 和 BMOV 键后,LED 显示“_3_”。输入块地址,按ENTER

4、 结束,输入块长度,按 ENTER 结束,再输入目标地址,按 ENTER 结束即可实现块移动。执行结果:输入的地址小于 4000H,显示“Error”。、存储器块拷贝功能功能代号:4功能名称:BCPY功能键名:SHIFT+BCPY操作:同时按下 SHIFT 和 BCPY 键后,LED 显示“_3_”。输入块地址,按ENTER 结束,输入块长度,按 ENTER 结束,再输入目标地址,按 ENTER 结束即可实现块拷贝。执行结果:输入的地址小于 4000H,显示“Error”。、存储器块填充功能功能代号:5功能名称:BFIL功能键名:SHIFT+BFIL操作:同时按下 SHIFT 和 BFIL 键

5、后,LED 显示“_5_”。输入块地址,按ENTER 结束,输入块长度,按 ENTER 结束,再输入填充数据,按 ENTER 结束即可填充数据执行结果:输入的地址小于 4000H,显示“Error”。执行正确,显示“Hello”。、设置断点功能功能代号:6功能名称:SBRK功能键名:SHIFT+SBRK操作:同时按下 SHIFT 和 SBRK 键后,LED 显示“_6_”。输入断点 PC 值,按ENTER 结束即可设置断点。执行结果:输入的地址小于 4000H 或者断点超过 5 个,显示“Error”,执行正确显示“Hello”。、清除断点功能功能代号:7功能名称:CBRK功能键名:SHIFT

6、+CBRK操作:同时按下 SHIFT 和 CBRK 键后,LED 显示“_7_”。输入断点 PC 值,按ENTER 结束即可设置断点。执行结果:输入的地址小于 4000H 或者输入的 PC 值不是断点,显示“Error”,执行正确显示“Hello ”。、全速执行功能功能代号:8功能名称:EXEC功能键名:EXEC操作:按下 EXEC 键后,LED 显示“_8_”。输入起始 PC 值,按 ENTER 结束后全速执行。执行结果:用户无法控制,按下复位按钮复位系统后才可以继续进行键盘操作。、单步调试功能功能代号:9功能名称:STEP功能键名:STEP操作:按下 STEP 即可从当前 PC 值处执行一

7、条命令执行结果:执行结束后,LED 显示下一跳待执行指令的第一字节的地址和内容。按 ESC可推出单步调试。【实验内容】先将 8279 的 RL0RL7 分别与键盘的 RL10RL17 相连;8279 的 KA0KA2 分别与键盘的 KA10KA12 相连,8279 的 SHIFT 与键盘的 SHIFT1 相连; 8279 的 CTRL 与实验箱的CTRL1 相连。用实验箱中的小键盘将机器代码输入存储器,验证程序运行结果。【程序一】:程序代码:LOC OBJ LINE SOURCE4000 1 ORG 4000H4000 7860 2 START:MOV R0,#60H4002 790A 3 M

8、OV R1,#0AH4004 74E0 4 MOV A,#0E0H4006 F6 5 M1: MOV R0,A4007 08 6 INC R04008 04 7 INC A4009 D9FB 8 DJNZ R1,M19 ;400B 7860 10 MOV R0,#60H400D 905000 11 MOV DPTR,#5000H4010 790A 12 MOV R1,#0AH4012 E6 13 M2: MOV A,R04013 F0 14 MOVX DPTR ,A4014 08 15 INC R04015 A3 16 INC DPTR4016 D9FA 17 DJNZ R1,M24018 8

9、0FE 18 ST: SJMP ST19 END实验步骤:1.连线并启动将 8279 的 RL0-RL7 分别与键盘的 RL10-RL17 分别联线;将 8279 的 KA0-KA2分别与键盘的 KA10-KA12 分别联线;将 8279 的 SHIFT,CTRL 分别与键盘的SHIFT1,CTRL1 分别联线。打开电源开关,进入系统初始化状态。2.设置断点按下 SHIFT+SBRK,显示_6_ 的状态下输入断点值 4018 后键入 ENTER。显示Hello,表示断点设置成功。3.检查初始原始存储单元内部数据按下 MEM,显示_1_的状态下键入 0060H,依次按下 NEXT 并记录 60H

10、-69H 存储单元的数值。重复以上操作,记下 5000H 到 5009H 的数据。4.输入程序按下 MEM,显示_1_的状态下键入 4000H,依次键入程序机器码,按 ENTER 确定。5、按下 EXEC 执行6、检查程序运行后存储单元内部数据按下 MEM,显示_1_的状态下键入 0060H,依次按下 NEXT 并记录 60H-69H 存储单元的数值。重复以上操作,记下 5000H 到 5009H 的数据。程序分析:该程序首先在片内 60H69H 单元存入 E0HE9H 各数,再把这些数传送到片外RAM 的 5000H50009H 单元。理论分析:60H69H 单元分别存有 E0HE9H 各数

11、,5000H5009H 单元分别存有 E0HE9H各数。理论分析与结果比较:理论分析与结果比较如下表实验结果 理论分析地址程序执行前 程序执行后 程序执行后60H 00H E0H E0H61H 00H EDH E1H62H 00H 02H E2H63H 00H 48H E3H64H 00H E4H E4H65H 00H E5H E5H66H 00H E6H E6H67H 00H E7H E7H68H 00H E8H E8H69H 00H E9H E9H5000H FFH E0H E0H5001H DFH E1H E1H5002H 3FH E2H E2H5003H DFH E3H E3H5004

12、H FFH E4H E4H5005H EFH E5H E5H5006H FCH E6H E6H5007H BFH E7H E7H5008H A5H E8H E8H5009H CFH E9H E9H对比程序执行后实验结果与理论分析结果,可知 60H、64H69H、5000H5009H的单元与理论相符。61H、62H、63H 与理论分析不同。单步执行程序,不设置断点,发现 61H、62H 、63H 与理论分析相同同。由此可推断原因为堆栈起始值为 60H,程序运行到断点处保护现场,向堆栈中存值。【程序二】:程序代码:LOC OBJ LINE SOURCE4000 1 ORG 4000H4000 75

13、3038 2 MOV 30H,#38H4003 753840 3 MOV 38H,#40H4006 754048 4 MOV 40H,#48H4009 754890 5 MOV 48H,#90H400C E540 6 MOV A,#40H400E F8 7 MOV R0,A400F 79F0 8 MOV R1,#0F0H4011 A630 9 MOV R0,30H4013 906200 10 MOV DPTR,#6200H4016 8553840 11 MOV 40H,38H4019 A830 12 MOV R0,30H401B 755030 13 MOV 50H,#30H401E E6 14

14、 MOV A,R0401F 8938 15 MOV 38H,R14021 F0 16 MOVX DPTR,A4022 80FE 17 ST: SJMP ST19 END实验步骤:1.清除断点按下 SHIFT+CBRK,显示_7_的状态下输入断点值 4018 后键入 ENTER。显示Hello,表示断点清除成功。2.设置断点按下 SHIFT+SBRK,显示_6_ 的状态下输入断点值 4022 后键入 ENTER。显示Hello,表示断点设置成功。3.输入程序按下 MEM,显示_1_的状态下键入 4000H,依次键入程序机器码,按 ENTER 确定。4.执行程序按 EXEC,显示_8_的状态下键入

15、 4000H,并按 ENTER 确认。然后显示 402212,表示运行成功。5.记录运行后数据按下 MEM,显示_1_的状态下键入 0030,记录 30H 存储单元的数值。同理重复以上操作,记下 38H,40H,48H,50H,6200H 的数据。按下 REG,显示 2 的状态下,按 CRTL+0,CRTL+1,CRTL+A ,分别记下R0,R1,A 三个寄存器的值。程序分析:SOURCEORG 4000HMOV 30H,#38H ;(30H)38H,(30H)=38H ,30H 为直接寻址,#38H 为立即数寻址MOV 38H,#40H ;(38H)40H,(38H)=40H,38H 为直接

16、寻址,#40H 为立即数寻址MOV 40H,#48H ;(40H)48H,(40H)=48H,40H 为直接寻址,#48H 为立即数寻址MOV 48H,#90H ;(48H)90H,(48H)=90H,48H 为直接寻址,#90H 为立即数寻址MOV A,#40H ;A40H,A=(40H)=48H,A 为直接寻址,#40H 为立即数寻址MOV R0,A ;R0A,R0=A=48H,R0 为寄存器寻址,A 为直接寻址MOV R1,#0F0H ;R1F0H,R1=0F0H,R1 为寄存器寻址, #0F0H 为立即数寻址MOV R0,30H ;(R0)(30H),(48H)=38H,R0 为寄存器

17、间接寻址,30H 为直接寻址MOV DPTR,#6200H ;DPTR6200H,DPTR 为直接寻址,#6200H 为立即数寻址MOV 40H,38H ;(40H)(38H),(40H)=(38H)=40H,40H 为直接寻址,38H 为直接寻址MOV R0,30H ;R0(30H),R0=(30H)=38H,R0 为寄存器寻址,30H 为直接寻址MOV 50H,#30H ;(50H)30H,(50H)=30H,50H 为直接寻址,#30H 为立即数寻址MOV A,R0 ;A(R0),A=(R0)=(38H)=40H,A 直接寻址,R0 寄存器间接寻址MOV 38H,R1 ;(38H)R1,

18、(38H)=R1=0F0H,38H 为直接寻址,R1 为寄存器寻址MOVX DPTR,A ;(DPTR)A,(6200H)=40HDPTR 为寄存器间接寻址,A 直接寻址ST: SJMP ST ;程序停留在此处END ;程序结束由程序分析可得各个存储单元理论值,理论值同实验表整理如下表地址 实验结果 理论分析30H 38H 38H38H 07H F0H40H 40H 40H48H 38H 38H50H 30H 30H6200H 40H 40HA 40H 40HR0 38H 38HR1 38H 38H结果分析:除 38H 单元外,其他地址都与理论分析相同。 0038H 属于监控程序存储区。在程序

19、运行过程中涉及调用。因此,理论分析与实验结果不同。【程序三】:LOC OBJ LINE SOURCE4000 1 ORG 4000H4000 7830 2 MOV R0,#30H4002 76C4 3 MOV R0,#0C4H; 4004 74B9 4 MOV A,#0B9H; 4006 26 5 ADD A,R0; 4007 38 6 ADDC A,R0; 4008 D4 7 DA A 4009 C3 8 CLR C 400A 9530 9 SUBB A,30H400C 00 10 NOP400D 75F003 11 MOV B,#03H 4010 84 12 DIV A,B 4011 A4

20、 13 MUL A,B 4012 F550 14 MOV 50H,A 4014 85F051 15 MOV 51H,B 4017 80FE 16 ST: SJMP ST17 END实验步骤:1.清除断点按下 SHIFT+CBRK,显示_7_的状态下输入断点值 4022 后键入 ENTER。显示Hello,表示断点清除成功。2.设置断点按下 SHIFT+SBRK,显示_6_ 的状态下输入断点值 4017 后键入 ENTER。显示Hello,表示断点设置成功。3.输入程序按下 MEM,显示_1_的状态下键入 4000H,依次键入程序机器码,按 ENTER 确定。4.执行程序按 STEP,显示 40

21、0212,表示一次运行成功。按 ESC 退出后,再按 REG 显示 2。分别按 CTRL+A 和 CTRL+B 记录 A,B 的值。按 ESC 退出后执行重复下一步,记下 A,B 的值直到程序运行完毕。程序分析:理论值与运行结果如下表程序 理论值 实验值A / 00HORG 4000HB / 00HA / 00HMOV R0,#30HB / 00HA / 00HMOV R0,#0C4HB / 00HA B9H B9HADD A,R0B / 00HA 7DH 7DHADDC A,R0B / 00HA AEH AEHDA AB / 00HA 14H 14HCLR CB / 00HA 50H 50H

22、SUBB A,30HB / 00HA 50H 50HNOPB / 00HA 50H 50HMOV B,#03HB 03H 03HA 1AH 1AHDIV ABB 02H 02HA 34H 34HMUL ABB 00H 00HA 34H 34HMOV 50H,AB 00H 00HA 34H 34HMOV 51H,BB 00H 00HA 34H 34HST:SJMP STB 00H 00H将表中理论值与实验值相比较,实验结果与理论分析想吻合。程序运行无差错。【实验四】:LINE LOC OBJ SOURCE1 4000 ORG 4000H ;程序开始运行地址2 4000 7520A4 MOV 20

23、H,#0A4H ;(20H)=0A4H3 4003 74D6 MOV A,#0D6H ;A=0D6H4 4005 7820 MOV R0,#20H ;R0=20H 5 4007 7A57 MOV R2,#57H ;R2=57H6 4009 5A ANL A,R2 ; HRA5627 400A 46 ORL A,R0 ; F)0(8 400B C4 SWAP A ;A=6FH9 400C F4 CPL A ;A=A=A0H10 400D 64FF XRL A,#0FFH; 11 400F 42200 ORL 20H,A ; 6)2(12 4011 80FE ST: SJMP ST13 END实验

24、步骤:1.清除断点按下 SHIFT+CBRK,显示_7_的状态下输入断点值 4022 后键入 ENTER。显示Hello,表示断点清除成功。2.设置断点按下 SHIFT+SBRK,显示_6_ 的状态下输入断点值 4011 后键入 ENTER。显示Hello,表示断点设置成功。3.输入程序按下 MEM,显示_1_的状态下键入 4000H,依次键入程序机器码,按 ENTER 确定。4.执行程序按 STEP,显示 400212,表示一次运行成功。按 ESC 退出后,再按 REG 显示 2,按CTRL+A 记录 A 的值。按 ESC 退出后执行重复下一步,记下 A 的值直到程序运行完毕。程序分析:程序

25、分析见注解。理论分析和实验结果如下表:理论值 实验值A 6FH 6FH(20H) 0EFH 0EFH将表中理论值与实验值相比较,实验结果与理论分析想吻合。程序运行无差错。【思考题】若要把 4000H4012H 的一段程序送到 6000H 开始的区域,应该如何操作。答:同时按下 SHIFT 和 BMOV 键,LED 显示提示“_3_”后,输入起始地址 4000H,按enter 结束输入块移动首地址。当 LED 再次显示提示“_3_ ”后,输入 0012H,按enter 结束输入块移动长度。LED 再次显示提示“_3_” 后,输入 6000H,按 enter 结束输入快移动目标地址。这样,4000H4012H 的一段程序就送到 6000H 开始的区域了。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报