一、实验目的和要求1、掌握单片机的汇编指令系统及汇编语言程序设计方法。2、掌握单片机的存储器体系结构。3、熟悉Keil软件的功能和使用方法。4、掌握单片机应用程序的调试方法。二、设计要求1、编写程序将00H~0FH16个数据分别送到片内部RAM30H~3FH单元中。2、编写程序将片内RAM30H~3FH的内容传送至片内RAM40~4FH单元中。3、编写程序将片内RAM40H~4FH中的内容传送到外部RAM4800H~480FH单元中。4、编写程序将4800H~480FH单元内容送到外部RAM5800H~580FH单元中。5、编写程序将片外RAM5800H~580FH单元内容传送回片内RAM50H~5FH单元中。
f三、实验流程框图及程序内容
实验程序内容如下:ORG0000HSJMPMAIN1MOVMOVCLRLOOP1MOVMOVINCINC
MAIN1R0R7AAR0R0R7
30H00HR7A
00H~0FH到内部RAM30H~3FH单元中
fCJNEMAIN2MOVMOVMOVLOOP2MOVMOVINCINCINCDJNZMAIN3MOVMOVMOVLOOP3MOVMOVXINCINCDJNZMAIN4MOVMOVMOVMOVLOOP41MOVXMOVINCINCDJNZMOVMOVLOOP42MOVMOVXINCDECDJNZMAIN5MOVMOVMOVCLRLOOP5MOVXMOVINCINCDJNZEND
R7R0R1R7AR1R0R1AR7R0DPTRR7ADPTRR0DPTRR7DPTRR0DPTRR7AR0R0DPTRR7DPTRR7ADPTRDPTRR0R7R0DPTRR1AAR0R0DPTRR1
10HLOOP130H内RAM30H~3FH的送至内RAM40~4FH单元40H10HR0A
LOOP240H4800H10HR0A
内RAM40H~4FH到外部RAM4800H~480FH
LOOP34800H60H04800H10HDPTRA
4800H~480FH到外部RAM5800H~580FH中。
LOOP415800H10HR0A
LOOP4250H5800H10HDPTRA
外RAM5800H~580FH送片内RAM50H~5FH
LOOP5
f实验数据结果1、从00H~0FH的数据传至30H~3FH
2、从30H~3FH到40H~4F
3、从内部40H~4FH到外部4800H~480FH
4、从外部4800H~480FH到外部5800H~580FH
5、从外部5800H~580FH到内部50H~50F
四、实验总结在本实验的编程过程中,学会了如何检查程序错误,熟悉了各项指令,初步掌握了汇编语言程序的调试和编写。五、思考题1、说明MCS51系列单片机对片内RAM和片外RAM各有哪些寻址方式?答:片内寻址方式:直接寻址、寄存器寻址、寄存器间接寻址、位寻址片外寻址方式:间接寻址2、说明指令MOV答:a、MOVMOVA,20H和MOVC,20H中的20H含义有什么不同?传送指
令中的助记符MOV,MOVX,MOVC各适用于访问哪个存储器空间?A20H中20H是字节地址C20H中20H是位地址
b、MOV访问片内数据,Ri,R
,累加器;MOVX,访问片外数据(片外与A之间吧);MOVC主要用于访问程序存储空间。
fr