单片机导论实验讲义_第1页
单片机导论实验讲义_第2页
单片机导论实验讲义_第3页
单片机导论实验讲义_第4页
单片机导论实验讲义_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章第一章 单片机软件实验单片机软件实验实验一实验一 内存操作内存操作1.实验目的实验目的掌握数据传送指令;掌握各种数据传送指令的寻址方式;熟练运用 keil 环境对汇编程序进行调试;掌握数据传送、复制等程序的设计与调试方法。2.预习要求预习要求理解数据传送指令和循环指令的使用;理解如何对内部寄存器、内部 RAM、外部 RAM 的读写;理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式;认真预习本实验内容,自行编写程序,填写实验报告。3.实验设备实验设备计算机 1 台; 4.基础型实验内容基础型实验内容下列程序的功能是给外部 RAM800080FFH 的 256 个单元的内容赋值,赋

2、值的内容取决于程序中 A 的赋值。在 Keil 环境运行该程序,并观察寄存器及内存单元的变化。 ORG 0000HSTART EQU 8000HMAIN: MOV DPTR, #START ;起始地址 MOV R0,#0 ;设置 256 字节计数值 MOV A,#1H是设置块长度地址加 1当前地址内容清零是否清除完? 否结束设置块起始地址Loop: MOVX DPTR,A INC DPTR ;指向下一个地址 DJNZ R0,Loop ;计数值减 1 NOP SJMP $ END下列程序将 3000H 起始的 256 个字节存储块移动到 4000H 起始的 256 个字节存储块,在 Keil 环

3、境运行如下程序,观察寄存器及存储单元的变化。ORG 0000H MOV DPTR,#3000HMOV A,#01HMOV R5,#OLOOP: MOVX DPTR,AINC DPTRDJNZ R5,LOOP MOV R0,#30H MOV R1,#00H MOV R2,#40H MOV R3,#00H MOV R7,#0LOOP1: MOV DPH,R0 MOV DPL,R1 MOVX A,DPTR MOV DPH,R2设置块的目标地址设置移动长度从源地址取数是否移动完?保存到目标地址中源地址加 1目标地址加 1结束设置块的源地址 MOV DPL,R3 MOVX DPTR,AINC R1INC

4、 R3 DJNZ R7,LOOP1 SJMP $ END5.设计型实验内容设计型实验内容在 keil 环境修改内部 RAM 30H 3FH 的内容分别为#00H-#0FH,设计程序实现将内部 RAM30H-3FH 到 40H-4FH 的数据块拷贝。在 keil 环境修改内部 RAM 30H 3FH 的内容分别为#00H-#0FH,设计程序实现将片内 30H3FH 单元的内容复制到片外 1030H103FH 中。在 keil 环境修改内部 RAM 30H 3FH 的内容分别为#00H-#0FH,设计程序实现将内部 RAM30H 3FH 内容逆序拷贝到外部数据 XRAM:0000H 000FH 中

5、。使用单步、断点方式调试程序,查看特殊功能寄存器、内部数据 RAM、外部数据空间的变化。实验二实验二 数制及代码转换数制及代码转换1.实验目的实验目的了解微机系统中的数制与代码表示方法;掌握计算机中使用的各种代码转换方法;掌握实现分支、循环的指令及其程序的编写方法;2.预习要求预习要求理解十进制数、十六进制数的数制表示方法;理解 BCD 码、ASCII 码编码方式;如何实现十六进制数与 BCD 码之间的转换;如何实现 ASCII 码与 BCD 码之间的转换。3.实验设备实验设备计算机 1 台。 4.基础型实验内容基础型实验内容以下程序完成单字节的 ASCII 码到十六进制数转换,完成空白处程序

6、填写,并在Keil 环境运行程序,观察寄存器及内存单元的变化。RESULT EQU 30H ORG 0000H MOV A,#41H;“A”的 ASCII 码 CLR C SUBB A, ; 转换为十六进制值 AMOV RESULT,A LJMP $END 以下程序完成单字节的 BCD 码到十六进制数转换,,在 Keil 环境运行程序,观察寄存器及内存单元的变化。RESULT EQU 30H ORG 0000H MOV A,#23HMOV R0,AANL A,#0F0HSWAP A MOV B,#0AH MUL AB MOV RESULT,A ;转换高位 MOV A,R0 MOV B,#0FH

7、ADD A,RESULT MOV RESULT,A ; 转换低位 SJMP $END 以下程序将单字节十六进制数 A 的值转换为十进制数,存放在 30H32H 中,完成空白处程序填写,并在 Keil 环境运行程序,观察寄存器及内存单元的变化。RESULT EQU 30H ORG 0000H MOV A,#7BH MOV B,# DIV AB MOV RESULT,A ;除以 100 得百位数 MOV A,B MOV B,# MOV RESULT+1,A ;除以 10 得十位数 MOV RESULT+2,B ;余数为个位数 SJMP $END 5.设计型实验内容设计型实验内容设一串字母的 ASC

8、II 存于 30H 起始的单元中,设计程序判断字母是否为大写字母,是则将大写字母的 ASCII 字符转换成小写字母的 ASCII 字符,为小写则不转换。将单字节十六进制数 D8H 转换为十进制数,存放在 30H33H 中。 ,设计程序,将十六进制数 614EH 转换成 ASCII 码,使用单步、断点方式调试程序,查看结果。实验三实验三 算术运算算术运算1.实验目的实验目的掌握算术运算类、逻辑运算类指令的使用方法;掌握 BCD 码、补码数制表示方法;掌握运算程序及循环程序的编写和调试方法。2.预习要求预习要求理解 8051 单片机的算术运算指令;理解补码表示数值的方法;理解压缩、非压缩 BCD

9、码表示数值的方法;如何实现多位数的 BCD 码加、乘、除运算;如何实现多位数的 BCD 码减法运算;预习本实验内容,以及相关课程内容。3.实验设备实验设备计算机 1 台。4.基础型实验内容基础型实验内容以下程序完成单字节的 BCD 码加法功能,完成空白处程序填写,并在 Keil 环境运行程序,观察寄存器及内存单元的变化。RESULT EQU 30H ORG 0000H MOV A,#99HMOV B,#99HADD , ; BCD 码相加并得到 BCD 码结果 MOV RESULT,A MOV A,#00H A,#00HMOV RESULT+1,A;高位处理 LJMP $END下列程序完成多字

10、节 BCD 码加法运算。内部 RAM30H 开始的 4 字节长的 BCD码和外部 RAM 1000H 开始的 4 字节长的 BCD 码相加,结果放在 1100H 开始的单元中(从低字节到高字节) 。 ORG 0000H CLR C MOV R5, #04H MOV R0,#30H MOV R1,#10H MOV R2,#00H MOV R3,#11H MOV R4,#00HL1:MOV DPH,R1 MOV DPL,R2 MOVX A,DPTR ADDC A, R0 DA A ;十进制调整 MOV DPH,R3 MOV DPL,R4 MOVX DPTR,A INC R2 INC R4 INC

11、R0L2:DJNZ R5, L1 JNC L3 MOV DPTR,#1104H ;有进位则结果的第五个字节置 1 MOV A,#01H MOVX DPTR,AL3:NOP END5.设计型实验内容设计型实验内容设计程序,实现任意字节压缩 BCD 码的相加,使用单步、断点方式调试程序,查看结果。设计程序,实现多字节十六进制数的减法 123456H005634H,使用单步、断点方式调试程序,查看结果。在内部 RAM 的 30H 单元开始,有一串带符号数据块,其长度在 10H 单元中。编程求其中正数与负数的和,并分别存入 2CH 与 2EH 开始的 2 个单元中。 (负数存放形式为补码) 。请分别在

12、 30H 单元开始写入 5 个正数、11 个负数和 9 个正数、7 个负数的情况,记录程序运行结果。例如:输入-69H,65H,-7H, -25H ,-47H,56H, -3H,17H,6H,-5H,-45H, -1H, -57H, 23H ,-5H,-13H 则正数的和 89,负数的和-199H。实验四实验四 比较和比较和查表查表1.实验目的实验目的掌握比较指令的使用及循环程序的编写方法;掌握字符查找的思路和算法;理解并能运用查表和散转指令。2.预习要求预习要求理解掌握比较程序的设计思路;理解多分支结构程序的编程方法;预习本节实验内容,编写程序及实验预习报告。3.实验设备实验设备 计算机 1

13、 台。4.基础型实验内容基础型实验内容以下子程序完成一个两位十六进制数到 ASCII 码的转换,数值存放在 R2 中,转换结果地位存于 R2,高位存于 R3。用 PC 做基址实现。 ORG 0000HHEXA: MOV R2,#1BH MOV A,R2 ANL A,#0FH ADD A,#09H MOVC A,A+PC XCH A,R2 ANL A,#0F0H SWAP A ADD A,#02H MOVC A,A+PC MOV R3,A RETTAB: DB 0,1,2,3,4 DB 5,6,7,8,9 DB A,B,C,D,E,F END5.设计型实验内容设计型实验内容分别用近程查表指令和远

14、程查表指令,查找 R3 内容的平方值。R3 内容小于等于0FH,即平方值为单字节数据。在外部 RAM 1000H 开始处有 10H 个带符号数,请找出其中的最大值和最小值,分别存入内部 RAM 的 MAX、MIN 单元。分别用近程查表指令和远程查表指令,查找 R3 内容的平方值。平方值为两个字节数据。第二章第二章单片机硬件实验单片机硬件实验硬件实验需要连接计算机与 80C51 的仿真器,在实验前要理解相关的硬件电路,按实验指导书中的硬件连接方法正确连线,才能保证实验的正常进行,得到正确结果。硬件实验时要注意以下几点:1、根据实验指导书正确进行模块与模块之间接口的连接;注意一定要在实验系注意一定

15、要在实验系统上电前进行接口的连接,千万不能带电操作。统上电前进行接口的连接,千万不能带电操作。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。请注意仿真器的方向:缺口朝上。 (断电时进行)3、进行 KEIL 软件的设置(KEIL 软件使用见附录一) ,编辑汇编源程序,编译,直至编译无误。4、打开 80C51 模块电源和总电源,可以单步或跟踪或全速方式运行程序,同时观察运行结果(注意:要停止调试,按注意:要停止调试,按 THKLTHKLC51C51 仿真器上的仿真器上的 ResetReset 按键按键) 。5、也可以把源程序编译成可执行文件,把

16、可执行文件用 ISP 烧录器烧录到89S52/89S51 芯片中运行(注意:芯片缺口朝上;不建议使用) 。 (ISP 烧录器的使用查看附录二)注:1、在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原来的位置!以下将不再重述。2、不要插拔实验系统上的模块和芯片,不要打开与本实验不相关模块的电源。注意注意不能带电进行模块之间导线的连接!不能带电进行模块之间导线的连接!实验一实验一I/O 控制实验控制实验1.实验目的实验目的掌握基本 IO 输入输出操作指令;熟练运用 keil 环境对硬件接口进行调试。2.预习要求预习要求理解 51 单片机 IO 的输入、输出控制方式;理解 P0、

17、P1、P2、P3 口做为普通的IO 口有何区别。理解实现软件延时程序设计的延时时间估算;认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实验报告。3.实验设备实验设备计算机 1 台; ZDGDTH-1 型 80C51 实验开发系统 1 套;2 号导线 4 条;8P 数据线 1 条。4.基础型实验内容基础型实验内容8 位逻辑电平显示的接口电路设计如图 1-1 所示,用 P1 口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。用 8P 数据线将 D2 区 80C51/C8051F020MCU 模块的 JD1(P1 口)与 A5 区 8 位逻辑电平显示模块

18、 JD1A5 相连。在 Keil 环境运行该程序,观察发光二极管显示情况。图 1-1 8 位八位逻辑电平显示接口电路 ORG 0LOOP: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP LOOPDELAY: MOV R6,#0 ;延时程序MOV R7,#0DELAYLOOP: DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND8 位拨动开关的接口电路设计如图 1-2 所示,假设采用 P1 口控制 LED 显示,P2口接收拨码开关的输入值,用 8P 数据线将 D2 区 8

19、0C51/C8051F020MCU 模块的 JD1(P1 口) 、JD1(P2 口)分别与 A5 区八位逻辑电平显示模块 JD1A5、C6 区 8 位拨动开关模块 JD1 C6 相连。在 Keil 环境运行该程序,使用单步、断点、连续运行调试程序,查看结果。开始设置初始值设移位次数数据输出左一位延时移位次数完成?是否P1 口循环点灯程序框图图 1-2 拨码开关接口电路ORG0000HLL: MOVP2,#0FFH NOP MOVA, P2NOP MOVP1,ALJMPLLEND如图 1-3 所示,假设采用 P1.0 口控制外部 LED,拨动开关控制外部中断,用二号导线将 D2 区 80C51/C8051F020MCU 模块的 P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论