单片机实验
- 格式:doc
- 大小:322.50 KB
- 文档页数:9
实验一数据传送(RAM–>XRAM)
一、实验目的熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。
熟悉MCS51汇编指令,能自己编写简单的程序,掌握数据传输的方法。
二、实验内容1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。
2、编写程序,实现内外部数据段的传送、校验。
三、程序框图
数据传送程序框图
四、实验步骤在内部RAM 30H ~3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM的1000H ~100FH中的内容。熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
五、程序清单
;将内部RAM Address1 开始的16个字节送到外部RAM从Address2开
始的单元里,再作比较。
Address1 DATA 30H
Address2 XDATA 1000H
ORG 0000H
LJMP STAR
ORG 0100H
STAR: MOV SP,#60H
MOV R0,#Address1
MOV DPTR,#Address2
MOV R7,#10H
STAR1: MOV A,@R0 ;传送
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7,STAR1
MOV R0,#Address1
MOV DPTR,#Address2
MOV R7,#10H
STAR2: MOV B,@R0 ;比较
MOVX A,@DPTR
CJNE A,B,STAR3
INC R0
INC DPTR
DJNZ R7,STAR2
SJMP $ ;传送正确
STAR3: SJMP $ ;传送错误
END
如果读者使用星研集成环境软件,请考虑以下问题:
1、运行程序前,打开变量窗、二个存贮器窗(一个选择片内数据;一个选择片外数据,起始地址选择1000H),每个存贮器窗有四个标签,有何好处?;
2、使用单步进入命令,运行到第十四行后,运行过程中变量窗有何变化?将鼠标停留在A、SP、@R0、@DPTR上一秒后,出现什么?,它与变量窗使用场合的区别?
3、将光标移到第十四行上,使用运行到光标处命令,观察运行结果,体会它与单步进入命令的不同处。
4、在二十行上,设置一个断点,使用全速断点命令运行几次,观察运行结果,它与运行到光标处命令有何区别?
5、使用全速运行命令,稍后,点击工具条上停止运行命令按钮,当前执行箭头停在哪一行?运行结果是否正确?它与全速断点运行命令有何区别?
6、观察寄存器,有哪几种方法?1)在工作区窗的通用寄存器标签视中;2)变量窗
3)鼠标停留在寄存器上4)观察窗5)寄存器窗
7、查看CPU内部数据RAM、CPU片外数据RAM:1)存贮器窗 2)变量窗 3)鼠标停留在CPU内部数据RAM、CPU片外数据RAM的地址、@R0、@DPTR上
六、思考题编写一个程序,将外部数据RAM中的数据传送到内部数据RAM中。
实验八冒泡排序
一、实验目的
熟悉使用MCS51指令,掌握汇编语言的设计和调试方法,了解如何使用高效方法对数据排序。
二、实验内容编写并调试一个排序程序,要求使用冒泡法将一组数据从小到大重新排列。
三、程序框图
冒泡排序程序框图
四、实验步骤
使用断点方式调试程序,检查内部RAM 30H~3FH中数据是否按从小到大的顺序排列。
五、程序清单
bSort BIT F0
ORG 0000H
LJMP STAR
ORG 0100H
STAR: MOV SP,#60H ;堆栈
MOV R0,#30H ;存放待排序数据的首地址
MOV R7,#16 ;数据个数
MOV DPTR,#TAB_1
STAR1: CLR A
MOVC A,@A+DPTR
MOV @R0,A ;将数据移入内部RAM中
INC R0
INC DPTR
DJNZ R7,STAR1
MOV R7,#16-1 ;存放比较次数
STAR2: PUSH 07H
MOV R0,#30H ;存放启始地址
CLR bSort
MOV R1,00H
INC R1
MOV A,@R0
STAR3: MOV B,A
MOV A,@R1
CJNE A,B,$+3
JNC STAR5
XCH A,@R0
MOV @R1,A
SETB bSort
STAR5: INC R0
INC R1
DJNZ R7,STAR3
POP 07H
JNB bSort,Exit
DEC R7
SJMP STAR2
Exit: SJMP $
TAB_1: DB 0H,5H,6H,3H,8H,92H,04H,57H,46H,01H,0FFH,0A0H,45H,99H,55H,66H
END
六、思考题
P1.01P1.12P1.23P1.34P1.45P1.56P2.1(A9)22P2.2(A10)23P2.3(A11)24P2.4(A12)25P2.5(A13)26P2.6(A14)27P2.7(A15)28PSEN 29ALE/PROG
30EA/Vpp 31P0.7(AD7)32P0.6(AD6)33P0.5(AD5)34P0.4(AD4)35P0.3(AD3)36P0.2(AD2)37P0.1(AD1)38P0.0(AD0)39Vcc
40P1.67P1.78RST
9(RXD)P3.010
(TXD)P3.111(INT0)P3.212(INT1)P3.313(T0)P3.414(T1)P3.515(WR)P3.616(RD)P3.717
XTAL218XTAL119P2.0(A8)
21
GND 20
89C52
U42DS35DS36DS37DS38DS39DS40DS41VCC
DS4212
3
4
5
6
7
8
510
R111
510
R112
510
R113
510
R114
510
R115
510
R116
510
R117
510
R118