实验1 单片机开发系统的使用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、实验原理:
51单片机开发系统的结构
电 源 RS232
40 芯 扁 平电缆
仿真器 C51实验开发板 (目标板)
PC机
几个SFR的地址: A:0E0H B:0F0H
PSW:0D0H
PSW各位的意义:
CY AC F0 RS1 RS0 OV — P
四、实验内容:
1、认识51单片机开发系统的结构。 2、初步认识仿真器软件和Keil C51软件界面 。
(2) 运算指令 ①单步执行: MOV A, #0BFH MOV 20H, #85H SETB C ADD A, 20H SJMP $ 检查:A= ,CY= ,AC=
,OV=
,P=
。
②单步执行: 前面程序段,把第四句改为:ADDC A,20H 检查:A= ,CY= ,AC= ,OV= ,P= 。 ③单步执行: 前面程序段,把第四句改为: SUBB A,20H 检查:A= ,CY= ,AC= ,OV= ,P= 。
多字节十进制数加法子程序 入口: R0、R1为被加数和加数的首地址,按低位到高位存放 出口: R0为运算结果的首地址,也按低位到高位存放 ADD_BCD:CLR C ;进位清零 LOOP: MOV A, @R0 ;一字节的被加数→A ADDC A, @R1 ;一字节加 DA A ;十进制数调整 MOV @R0, A ;存一字节的运算结果 INC R0 ;被加数指向下一字节 INC R1 ;加数指向下一字节 DJNZ R2, LOOP ;循环控制 RET ;子程序返回 END
实验一 单片机开发系统的使用
一、 实验目的:
1.了解单片机开发系统各主要组成部分; 2.熟悉掌握仿真器及其软件的功能与使用方法; 3.学会输入、修改、运行程序的方法; 4.熟悉51单片机的指令系统 。
二、实验仪器:
1、自制的C51实验开发板 一台。 2、稳压电源一台。 3、仿真器(EASYPROBE)一只 4、PC机一台
④单步执行: 前面程序段,把第四句改为:CJNE A,20H,Q1 检查:A= ,CY= ,AC= ,OV= ,P= 。 ⑤单步执行: MOV A, #0BFH MOV B, #85H MUL AB SJMP $ 检查:A= ,B= ,CY=
,AC=
,OV= ,P=
。
⑥单步执行: MOV A, #0BFH MOV B, #85H DIV AB SJMP $ 检查:A= ,B= ,CY= ,AC= ,OV= ,P= 。
(3) 十进制调整指令
MOV A, #37H MOV 20H, #85H CLR C ADD A, 20H DA A SJMP $ DA A指令前后分别检查:A=
,CY=
,AC=
,OV=
,P=
。
(4) 堆栈操作指令
MOV SP,#30H M百度文库V A, #0FH MOV B, #80H PUSH ACC PUSH B POP ACC POP B SJMP $ 运行后检查:A= ,B=
3、简单程序调试 。 (1) 传送指令: 设置内部RAM的值,(30H)=40H, (40H)=10H,单步执 行下列程序,检查结果。 MOV R0,#30H MOV A,@R0 MOV R1, A MOV B, @R1 SJMP $ 执行后:(R0)= ,(R1)= , (A)= ,(B)= , (30H)= ,(40H)= 。
,30H= ,31H= 。
4、多字节十进制数加法程序调试: 两个4字节十进制数1234567和89987265相加,将其8421BCD 码按低位到高位存放在地址为20-23H、30-33H的RAM中,运算 结果存放在20-23H的地址中。 分别按“跟踪”、“单步”和“全速”方式调试程序。检 查运算结果,区别“跟踪”、“单步”调试方式的不同。在 “ADD_BCD子程序”的指令“DA A”处设置断点,再用“全速” 方式运行,到达断点后,观察“A”的值,然后用“单步”运行, 观察指令“DA A”的功能。同时理解“断点” 方式调试程序的 特点。 主程序 MOV R0, #20H ;置被加数首地址 MOV R1, #30H ;置加数首地址 MOV R2, #04H ;置被加数和加数的长度(字节数) ACALL ADD_BCD ;调用多字节十进制数加法子程序ADD_BCD SJMP $ ;停止