单片机实验程序可直接复制课件.ppt
《单片机实验程序可直接复制课件.ppt》由会员分享,可在线阅读,更多相关《单片机实验程序可直接复制课件.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 MCS-51MCS-51系列单片机指令学习系列单片机指令学习 一、实验目的一、实验目的 MCS-51MCS-51系列单片机指令系统共有系列单片机指令系统共有111111条汇编语言指令条汇编语言指令,这些这些指令按功能的不同可分为五类指令按功能的不同可分为五类:29:29条数据传送类指令条数据传送类指令,24,24条算术条算术运算类指令运算类指令,24,24条逻辑运算类指令条逻辑运算类指令,17,17条控制转移类指令和条控制转移类指令和1717条条位操作类指令。位操作类指令。本实验通过单步
2、执行程序中各类指令本实验通过单步执行程序中各类指令,来进一步学习和理解来进一步学习和理解各类主要指令的功能各类主要指令的功能,掌握指令的用法。掌握指令的用法。通过实验掌握通过实验掌握KeilKeil软件的使用方法。软件的使用方法。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书二、实验准备二、实验准备 1 1、启动稳压电源、启动稳压电源,确认输出电压正常。确认输出电压正常。2 2、将微机实验开发系统与直流稳压电源连接好。、将微机实验开发系统与直流稳压电源连接好。三、实验内容三、实验内容 将以下各部分实验中所给出的程序的指令机器代码查出将
3、以下各部分实验中所给出的程序的指令机器代码查出,并并输入到单片机系统中输入到单片机系统中,然后从程序给定地址开始单步执行然后从程序给定地址开始单步执行,观察观察并记录程序所指定的内容。并记录程序所指定的内容。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书(一)、数据传送与算术运算(一)、数据传送与算术运算 1 1、体体 会会 MOV MOV RnRn,directdirect指指 令令 的的 功功 能能 和和 用用 法法,取取n=0,direct=40Hn=0,direct=40H。程序如下程序如下:ORG 1000HORG 1000
4、HSUBROUT:MOV 40H,#0FH;0FHSUBROUT:MOV 40H,#0FH;0FH送入送入RAM 40HRAM 40H单元中单元中 MOV R0,40H;40HMOV R0,40H;40H单元内容送单元内容送R0R0 MOV A,R0;R0 MOV A,R0;R0内容送累加器内容送累加器A A HERE:SJMP HERE;HERE:SJMP HERE;ENDENDA=A=(40H 40H ),40H=,40H=(0FH 0FH ),R0=,R0=(40H 40H )课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 2
5、2、体体会会MOV MOV Ri,#DATARi,#DATA指指令令的的功功能能和和用用法法,选选择择DATA=0FH,i=0DATA=0FH,i=0。程序如下程序如下:ORG 1010HORG 1010H SUBR:MOV R0,#50H;R050H SUBR:MOV R0,#50H;R050H MOV R0,#0FH;(R0)0FH MOV R0,#0FH;(R0)0FH MOV A,50H;A MOV A,50H;A(50H50H)HERE:SJMP HERE;HERE:SJMP HERE;ENDENDR0=R0=(),50H=,50H=(),A=,A=()课程课程:单片机技术实验单片机
6、技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 3 3、体体会会查查表表指指令令MOVC MOVC A,A+DPTR,MOVC A,A+DPTR,MOVC A,A+PCA,A+PC的的功功能能和和用法。用法。设设定定40H40H单单元元中中的的内内容容为为0 09 9之之间间的的一一个个整整数数,用用查查表表的的方方法求出它的平方值(法求出它的平方值(BCDBCD码)码),结果存入结果存入41H41H单元。单元。(1 1)、利用)、利用MOVC A,A+DPTRMOVC A,A+DPTR指令查表指令查表 程序如下程序如下:ORG 1020HORG 1020H ST
7、ART:MOV DPTR,#SQR;START:MOV DPTR,#SQR;MOV A,40H;MOV A,40H;MOVC A,A+DPTR;MOVC A,A+DPTR;MOV 41H,A;MOV 41H,A;HERE:SJMP HERE;HERE:SJMP HERE;SQR:DB 00H,01H,04H,09H,16HSQR:DB 00H,01H,04H,09H,16H DB 25H,36H,49H,64H,81H DB 25H,36H,49H,64H,81H END END课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 (2 2
8、)、)、利用利用 MOVC A,A+PC MOVC A,A+PC 指令查表指令查表 程序如下程序如下:ORG 1050HORG 1050H START:MOV A,40H;START:MOV A,40H;ADD A,#04H;ADD A,#04H;MOVC A,A+PC;MOVC A,A+PC;MOV 41H,A;MOV 41H,A;HERE:SJMP HERE;HERE:SJMP HERE;SQR:DB 00H,01H,04H,09H,16HSQR:DB 00H,01H,04H,09H,16H DB 25H,36H,49H,64H,81H DB 25H,36H,49H,64H,81H END
9、 END课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 步骤步骤:1:1)、仔细阅读程序并进行手工汇编。)、仔细阅读程序并进行手工汇编。2 2)、将程序输入单片机实验开发系统。)、将程序输入单片机实验开发系统。3 3)、建立平方值表。)、建立平方值表。4 4)、在在40H40H单单元元键键入入00000909之之间间的的随随机机整整数数,分分别别执执行行上述两个程序上述两个程序,检查检查41H41H单元的值。单元的值。41H=41H=(),41H=,41H=()4 4、用加法指令用加法指令ADD A,R0ADD A,R0实现两数相加实
10、现两数相加,如如52H+FCH52H+FCH。程序如下程序如下:ORG 1100HORG 1100HSUBROUT:MOV A,#52HSUBROUT:MOV A,#52H;A52H;A52H MOV R0,#0FCH;R00FCH MOV R0,#0FCH;R00FCH ADD A,R0;A ADD A,R0;A(A A)+(R0R0)课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 HERE:SJMP HERE:SJMP HERE;HERE;ENDENDA=A=(),PSW=,PSW=()用带进位加法指令用带进位加法指令 ADDC
11、A,R0ADDC A,R0实现实现52H52H与与0CH0CH之和。之和。程序如下程序如下:ORG 1150HORG 1150HSUBROUT:MOV A,#52H;SUBROUT:MOV A,#52H;MOV R0,#0CH;MOV R0,#0CH;SETB C;SETB C;ADDC A,R0;ADDC A,R0;HERE:SJMP HERE;HERE:SJMP HERE;ENDEND课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 执行后执行后 A=A=(),PSW=,PSW=()若将若将 SETB C SETB C 指令改为指令
12、改为 CLR CCLR C 执行后执行后 A=A=(),PSW=,PSW=()5 5、体会十进制调整指令体会十进制调整指令 DA A DA A 的功能和用法的功能和用法 程序如下程序如下:ORG 1200HORG 1200HSUBROUT:MOV A,#65H;SUBROUT:MOV A,#65H;ADD A,#58H;ADD A,#58H;DA A;DA A;HERE:SJMP HERE;HERE:SJMP HERE;ENDEND课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 执行后执行后 A=A=(),PSW=,PSW=()若将若
13、将 DA A DA A 指令用指令用NOPNOP代替代替,则执行后则执行后 A=A=(),PSW=,PSW=()6 6、用乘法指令用乘法指令 MUL AB MUL AB 进行进行 0FFH*03H0FFH*03H 程序如下程序如下:ORG 1250HORG 1250HSUBROUT:MOV A,#0FFH;SUBROUT:MOV A,#0FFH;MOV B,#03H;MOV B,#03H;MUL AB;MUL AB;NOP;NOP;NOP;NOP;HERE:SJMP HEREHERE:SJMP HERE END END课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与
14、单片机技术实验指导书实验指导书 执执行行后后 A=A=(),B=,B=(),将将2 2个个空空操操作作指指令令换换成成MOV MOV A,BA,B执执行行后后A=A=(),B=,B=(),最最后后0FFH*03H=0FFH*03H=(),是否等于是否等于B B与与A A的内容的积(的内容的积()。)。(二)、逻辑运算和循环指令(二)、逻辑运算和循环指令 1 1、逻辑、逻辑“与与”指令实验。指令实验。程序如下程序如下:ORG 1300HORG 1300HSUBROUT:MOV A,SUBROUT:MOV A,#0FBH;#0FBH;ANL A,#0FH;ANL A,#0FH;HERE:SJMP
15、HERE;HERE:SJMP HERE;ENDEND 执行后执行后 A=0BH,A=0BH,实验结果是否正确?实验结果是否正确?“与与”指令有何作用?指令有何作用?课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 2 2、逻辑、逻辑“或或”指令实验。指令实验。程序如下程序如下:ORG 1400HORG 1400H SUBROUT:MOV R1,#0FH;SUBROUT:MOV R1,#0FH;MOV A,#33H;MOV A,#33H;ORL A,R1;ORL A,R1;HERE:SJMP HERE;HERE:SJMP HERE;END
16、END 执行后执行后 A=A=(),“,“或或”指令有何作用?指令有何作用?课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 3 3、逻辑、逻辑“异或异或”指令实验。指令实验。程序如下程序如下:ORG 1500HORG 1500H SUBROUT:MOV A,#55H;SUBROUT:MOV A,#55H;MOV 40H,#00H;MOV 40H,#00H;XRL A,40H;XRL A,40H;HERE:SJMP HERE;HERE:SJMP HERE;ENDEND 执行后执行后 A=A=(),将将MOV 40H,#00H MOV 4
17、0H,#00H 改为改为MOV 40H,#55H,MOV 40H,#55H,执行后执行后A=A=()。)。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 4 4、利用左移指令实现乘、利用左移指令实现乘2 2运算。运算。程序如下程序如下:ORG 1600HORG 1600H SUBROUT:MOV A,#29H;SUBROUT:MOV A,#29H;RLC A;RLC A;HERE:SJMP HERE;HERE:SJMP HERE;ENDEND 执行后执行后 A=A=()课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单
18、片机技术与单片机技术实验指导书实验指导书 5 5、利利用用循循环环移移位位指指令令实实现现累累加加器器A A中中内内容容高高半半字字节节与与低低半半字字节互换。节互换。程序如下程序如下:ORG 1700HORG 1700H SUBROUT:MOV A,#38H;SUBROUT:MOV A,#38H;RL A;RL A;RL A;RL A;RL A;RL A;RL A;RL A;HERE:SJMP HERE;HERE:SJMP HERE;ENDEND 执行后执行后 A=A=(),改用改用 RR ARR A指令重新实验指令重新实验,执行后执行后 A=A=(),改用改用SWAP ASWAP A指令重
19、新执行指令重新执行,则则A=A=()。)。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书(三)、位操作指令的功能和用法。(三)、位操作指令的功能和用法。利用位条件转移指令实现两个无符号数比较大小。利用位条件转移指令实现两个无符号数比较大小。程序如下程序如下:ORG 1800HORG 1800H SUBROUT:MOV 30H,#80H;SUBROUT:MOV 30H,#80H;MOV 31H,#7FH;MOV 31H,#7FH;MOV A,30H;MOV A,30H;CJNE A,31H,BIG;CJNE A,31H,BIG;MOV
20、A,#0DDH;MOV A,#0DDH;SJMP HERE;SJMP HERE;BIG:JC SMALL;BIG:JC SMALL;课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 MOV A,#0F0H;MOV A,#0F0H;SJMP HERE;SJMP HERE;SMALL:MOV A,#0FH;SMALL:MOV A,#0FH;HERE:SJMP HERE;HERE:SJMP HERE;ENDEND 执执行行后后 A=A=(),修修改改(30H30H)=7FH,=7FH,(31H31H)=80H,=80H,执执行行后后 A=A=
21、(),再再修修改改(30H30H)=80H,=80H,(31H31H)=80H,=80H,执执行行后后A=A=()。)。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书四、实验报告要求四、实验报告要求 1 1、整理好记录的数据、整理好记录的数据,与理论分析的结果相比较。与理论分析的结果相比较。2 2、归归纳纳MCS-51 MCS-51 系系列列单单片片机机各各类类主主要要指指令令的的功功能能,熟熟悉悉指指令令寻址方式。寻址方式。3 3、位操作指令、位操作指令JCJC是根据什么条件实现转换的。是根据什么条件实现转换的。4 4、实验报告格式
22、参照实验报告说明、实验报告格式参照实验报告说明五、预习报告要求五、预习报告要求 1 1、认真阅读实验要求。、认真阅读实验要求。2 2、汇编所有实验程序。、汇编所有实验程序。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 数据传送数据传送 一、实验目的一、实验目的 1 1、进一步熟悉、进一步熟悉KeilKeil软件的使用方法。软件的使用方法。2 2、练习设计简单的程序。、练习设计简单的程序。3 3、掌掌握握MCS-51 MCS-51 系系列列单单片片机机内内部部RAMRAM之之间间,外外部部RAMRAM之之间间以以及及内内部部RAMRA
23、M与与外外部部RAMRAM之之间间的的数数据据传传送送方方法法,从从而而了了解解这这两两部部分分数数据据存贮器的特点。存贮器的特点。4 4、掌握、掌握MCS-51MCS-51系列单片机堆栈的使用方法。系列单片机堆栈的使用方法。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书二、设计要求二、设计要求 1 1、先先将将MCS-51MCS-51系系列列单单片片机机内内部部RAM RAM 30H30H3FH3FH单单元元分分别别置置初初值值,初初值值为为00H00H0FH,0FH,然然后后将将片片内内RAM RAM 30H30H3FH3FH的的
24、内内容容传传送送至至片片内内RAM RAM 40404FH4FH单单元元中中,再再将将片片内内RAM RAM 40H40H4FH4FH单单元元中中的的内内容容传传送送到到外外部部RAM RAM 4800H4800H480FH480FH单单元元中中,之之后后又又将将4800H4800H480FH480FH单单元元内内容容送送到到外外部部RAM RAM 5800H5800H580FH580FH单单元元中中,最最后后将将片片外外RAM RAM 5800H5800H580FH580FH单元内容传送回片内单元内容传送回片内RAM 50HRAM 50H5FH5FH单元中。单元中。2 2、设设 置置 五五
25、个个 断断 点点,断断 点点 地地 址址 分分 别别 为为404AH,4056H,4063H,408CH,4099H,404AH,4056H,4063H,408CH,4099H,每每运运行行到到断断点点时时,检检查查相相应应的的CPUCPU现场及存贮器单元的内容。现场及存贮器单元的内容。课程课程:单片机技术实验单片机技术实验 教材教材:EDAEDA与单片机技术与单片机技术实验指导书实验指导书 3 3、另另 设设 置置 七七 个个 断断 点点,断断 点点 地地 址址 分分 别别 为为4063H,4066H,406DH,406FH,4072H,4078H,407AH,4063H,4066H,406
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 程序 直接 复制 课件
限制150内