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

下载本文档

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

文档简介

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

2、块起始地址设置块长度当前地址内容清零地址加1ORG 0000HSTART EQU 8000HMAIN:MOVDPTR, SSTARTMOV RO, #Offh;:起始地址;:设置256字节计数值MOV A, #1HLoop: MOVXDPTR, AINCDPTR;;指向下一个地址DJNZ RO, loop;:计数值减 1SJMP $ END下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块,在Keil环境运行如下程序,观察寄存器及存储单元的变化匚LOOP:ORG0000HMOVDPTR, #3000HMOVA,#01HMOVR5, #0MOVXDPTR, AI

3、NCDPTRDJNZR5, LOOPMOVRO, #30HMOVRb #00HMOVR2, #40HMOVR3, #00HMOVR7, #0MOVDPH, ROMOVDPL, R1MOVXA, DPTRMOVDPH, R2MOVDPL, R3MOVXDPTR, ALOOP1:INC R1INC R3DJNZ R7, L00P1SJMP $END5. 设计型实验内容 在kcil环境修改内部RAH 30H3FH的内容分别为hOOHYOFH,设计程序实现将内 部RAH30H-3FH到40H-4FH的数据块拷贝。 在kcil环境修改内部RAH 30H3FH的内容分别为#OOH-#OFH,设计程序实现将

4、片 内30H3FH单元的内容复制到片外1030H103FH中。 在kcil环境修改内部RAM 30H3FH的内容分别为#OOH-#OFH,设计程序实现将内 部RAM3OH3FH内容逆序拷贝到外部数XRAM: 0000HOOOFH中。使用单步. 断点方式调试程序,查看特殊功能寄存器、内部数据RAM、外部数据空间的变化。实验二数制及代码转换1. 实验目的 了解微机系统中的数制与代码表示方法; 掌握计算机中使用的各种代码转换方法; 掌握实现分支、循环的指令及其程序的编写方法;2. 预习要求 理解十进制数、十六进制数的数制表示方法; 理解BCD码.ASCII码编码方式; 如何实现十六进制数与BCD码之

5、间的转换: 如何实现ASCII码与BCD码之间的转换。3. 实验设备计算机1台。4基础型实验内容 以下程序完成单字节的ASCII码到十六进制数转换,完成空白处程序填写,并在 Keil环境运行程序,观察寄存器及内存单元的变化。LMuMoyMOVABRESULT, AA, RO;转换高位RESULT EQU 30HORG0000HMOVA, #41H;“A” 的 ASCII 码CLRCSUBBA,;转换为十六进制值AMOVRESULT, ALJMP$END 以下程序完成单字节的BCD码到十六进制数转换,在Keil环境运行程序,观察寄 存器及内存单元的变化。RESULT EQU 30HORG 000

6、0HMOV A,#23HMOV RO, AANL A, #OFOHSWAP AMOV B, #0AHMOV B, #OFHADD A, RESULTMOV RESULT, A ;转换低位SJMP $END 以下程序将单字节十六进制数A的值转换为十进制数,存放在30H32H中,完成 空白处程序填写,并在Keil环境运行程序,观察寄存器及内存单元的变化。RESULT EQU 30HORG0000HMOVA, #7BHMOVB, #DIVABMOVRESULT, A;除以100得百位数MOVA, BMOVB, #MOVRESULT+b A;除以10得十位数MOVRESULT+2, B;余数为个位数S

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

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

9、M30H开始的4字节长的BCD码 和外部RAM 1000H开始的4字廿长的BCD码相加,结果放在1100H开始的单元 中(从低字节到高字节)。ORG0000HCLRcMOVR5, #04HMOVR0.#30HMOVRl.#10HMOVR2.#00HMOV R3、#11HMOV R4.#00HL1:MOV DPH.R1MOV DPL.R2MOVX A,DPTRADDC A, R0DA A;十进制调整MOV DPH.R3MOV DPL.R4MOVX DPTR.AINC R2INC R4INC ROL2:DJNZ R5,L1JNC L3MOV DPTR.#1104H ;有进位则结果的第五个字节置1M

10、OV A.#01HMOVX DPTR,AL3:NOPEND5. 设计型实验内容 设计程序,实现任意字节压缩BCD码的相加,使用单步、断点方式调试程序,查 看结果。 设il程序,实现多字节十六进制数的减法123456HOO5634H,使用单步、断点方 式调试程序,査看结果。 在内部RAM的30H单元开始,有一串带符号数据块,其长度在10H单元中。编 程求英中正数与负数的和,并分别存入2CH与2EH开始的2个单元中。(负数存 放形式为补码)。请分別在30H单元开始写入5个正数、11个负数和9个正数、7 个负数的情况,记录程序运行结果。例如:输入69H,65Hr7H, -25H ,47H.56H,

11、3H,17H.6H5H.45H, -1H, 57H. 23H ,5H J3H则正数的和89,负数的和-199H.实验四比较和査表1. 实验目的 掌握比较指令的使用及循环程序的编写方法: 掌握字符查找的思路和算法; 理解并能运用査表和散转指令。2. 预习要求 理解掌握比较程序的设讣思路; 理解多分支结构程序的编程方法: 预习本节实验内容,编写程序及实验预习报告。3. 实验设备 计算机4. 基础型实验内容 以下子程序完成一个两位十六进制数到ASCII码的转换,数值存放在R2中,转换 结果地位存于R2髙位存于R3o用PC做基址实现。ORG 0000HHEXA: MOV R2.#1BHMOV A.R2

12、ANL A#0FHADD A,#09HMOVC AA+PCXCH A,R2ANL A#0F0HSWAP AADD AJ02HMOVC AA+PCMOV R3.ARETTAB:DB t0,;lV2,3l;4,DB ATBTCTDTETFEND5. 设计型实验内容 分别用近程査表指令和远程査表指令,査找R3内容的平方值。R3内容小于等于0FH,即平方值为单字节数据。 在外部RAM 1000H开始处有10H个带符号数,请找出英中的最大值和最小值,分别存入内部RAM的MAX、MIN单元。 分别用近程査表指令和远程查表指令,査找R3内容的平方值。平方值为两个字节数据。第二章单片机硬件实验硬件实验需要连接

13、讣算机与8OC51的仿真器,在实验询要理解相关的硬件 电路,按实验指导书中的硬件连接方法正确连线,才能保证实验的正常进行,得 到正确结果。硬件实验时要注意以下儿点:A根据实验指导书正确进行模块与模块之间接口的连接;注意一定要在实验系 统上电前进行接口的连接,千万不能带电操作。2、用吊行数据通信线连接汁算机与仿真器,把仿真器插到模块的锁紧插座中, 请注意仿真器的方向:缺口朝上。(断电时进行)3、进行KEIL软件的设置(KEIL软件使用见附录一),编辑汇编源程序,编译, 直至编译无误。4、打开80C51模块电源和总电源,可以单步或跟踪或全速方式运行程序,同时 观察运行结果(注意:要停止调试,按TH

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

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

16、C |23LED2C4LED3C5LED4C6LED5C7LED6C8LED7C9LEDBCVCCVCC U11BVCCLE 0EQLD1Q2D2Q3D3Q4D4Q5D5Q6D6Q?D7Q8D8GND74LS3731.0LIL2L3=3L4L5dl?LGL?VCCJD1A5图8位八位逻辑电平显示接口电路Pl 口循环点灯程序框图ORG0LOOP:MOVA, #OFEHMOVR2,#8OUTPUT:MOVPl, ARLAACALLDELAYDJNZR2,OUTPUTLJMPLOOPDELAY:MOVR6,#0:延时程序MOVR7, #0DELAYLOOP:DJNZR6, DELAYLOOPDJNZ

17、R7,DELAYLOOPRETEND 8位拨动开关的接口电路设计如图12所示,假设采用P1 口控制LED显示,P2 口 接收拨码开关的输入值,用8P数据线将D2区80C51/C8051F020MCU模块的JDKP1 口)、JD1 (P2 口)分别与A5区八位逻辑电平显示模块JD1A5. C6区8位拨动开关 模块JD1C6相连。在Keil环境运行该程序,使用单步、断点、连续运行调试程序, 査看结果。KOH n亠KL H n12门P9EK1_ 金K2H n丁P10E _OhK3H n12 K3P11ELS3E3KOLS4E3KILS5E3丄K2LS6E3一LK3K4K5S7ES8EP15EK7vc

18、c灿OE:L000000HP2,#OFFHA. P2Pl,ALLVCC卜RLLEDOVCCRBSE7hipR2FcjrKEYVCCC3A.22网HHr.ill払g 22 pFPl.0VCCPl .1P03Pl .2PO 1Pl.3PO.QPl”P0.3PISPO*Pl P0.5Pl JPO石RSIasesiP0JEbP3Z)rRXDP3.W7XDALEPROGPSJfUUOP3E14P33iUUlP2JP3.4f?0P2Z;P3.3f71P2.5P2AF3.7rRI?P2JX7AL2F2JX7AUP2 V3$P2.0U1F 20=jcnORGLL:MOVNOPMOVNOPMOVUMPEND 如图13所示,假设釆用Pl0 口控制外部LED,拨动开关控制外部中断,用二号导线将D2区8OC51/C8O51FO2OMCU模块的P1.0、P3.2 口分别与A 5区八位逻辑电平显示模块的LO. C8区单次脉冲输出相连。并在Keil坏境运行程序,观察实验现象。图1-3外部中断及LED显示电路流程图为:主程序框图外部中断子程序框图源程序:MAIN:ORG0000HUMPMAINORG0003HUMPINTERRUPTORG0030HCLRP1.0MOVTCON.#01HMOVIE.#81HSJMP$PUSHPSWCPLP1.0POPPSW;保护现场;恢复现场INT

温馨提示

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

评论

0/150

提交评论