单片机导论实验讲义章专.docx
- 文档编号:29830925
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:18
- 大小:116.97KB
单片机导论实验讲义章专.docx
《单片机导论实验讲义章专.docx》由会员分享,可在线阅读,更多相关《单片机导论实验讲义章专.docx(18页珍藏版)》请在冰豆网上搜索。
单片机导论实验讲义章专
第一章单片机软件实验
实验一内存操作
1.实验目的
1掌握数据传送指令;
2掌握各种数据传送指令的寻址方式;
3熟练运用keil环境对汇编程序进行调试;
4掌握数据传送、复制等程序的设计与调试方法。
2.预习要求
1理解数据传送指令和循环指令的使用;
2理解如何对内部寄存器、内部RAM、外部RAM的读写;
3理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式;
4认真预习本实验内容,自行编写程序,填写实验报告。
3.实验设备
计算机1台;
4.基础型实验内容
1
下列程序的功能是给外部RAM8000~80FFH的256个单元的内容赋值,赋值的内容取决于程序中A的赋值。
在Keil环境运行该程序,并观察寄存器及内存单元的变化。
ORG0000H
STARTEQU8000H
MAIN:
MOVDPTR,#START;起始地址
MOVR0,#0;设置256字节计数值
MOVA,#1H
Loop:
MOVX@DPTR,A
INCDPTR;指向下一个地址
DJNZR0,Loop;计数值减1
NOP
SJMP$
END
2下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块,在Keil环境运行如下程序,观察寄存器及存储单元的变化。
ORG0000H
MOVDPTR,#3000H
MOVA,#01H
MOVR5,#O
LOOP:
MOVX@DPTR,A
INCDPTR
DJNZR5,LOOP
MOVR0,#30H
MOVR1,#00H
MOVR2,#40H
MOVR3,#00H
MOVR7,#0
LOOP1:
MOVDPH,R0
MOVDPL,R1
MOVXA,@DPTR
MOVDPH,R2
MOVDPL,R3
MOVX@DPTR,A
INCR1
INCR3
DJNZR7,LOOP1
SJMP$
END
5.设计型实验内容
1在keil环境修改内部RAM30H~3FH的内容分别为#00H-#0FH,设计程序实现将内部RAM30H-3FH到40H-4FH的数据块拷贝。
2在keil环境修改内部RAM30H~3FH的内容分别为#00H-#0FH,设计程序实现将片内30H~3FH单元的内容复制到片外1030H~103FH中。
3在keil环境修改内部RAM30H~3FH的内容分别为#00H-#0FH,设计程序实现将内部RAM30H~3FH内容逆序拷贝到外部数据XRAM:
0000H~000FH中。
使用单步、断点方式调试程序,查看特殊功能寄存器、内部数据RAM、外部数据空间的变化。
实验二数制及代码转换
1.实验目的
1了解微机系统中的数制与代码表示方法;
2掌握计算机中使用的各种代码转换方法;
3掌握实现分支、循环的指令及其程序的编写方法;
2.预习要求
1理解十进制数、十六进制数的数制表示方法;
2理解BCD码、ASCII码编码方式;
3如何实现十六进制数与BCD码之间的转换;
4如何实现ASCII码与BCD码之间的转换。
3.实验设备
计算机1台。
4.基础型实验内容
1以下程序完成单字节的ASCII码到十六进制数转换,完成空白处程序填写,并在Keil环境运行程序,观察寄存器及内存单元的变化。
RESULTEQU30H
ORG0000H
MOVA,#41H;“A”的ASCII码
CLRC
SUBBA,31H;转换为十六进制值A
MOVRESULT,A
LJMP$
END
2以下程序完成单字节的BCD码到十六进制数转换,,在Keil环境运行程序,观察寄存器及内存单元的变化。
RESULTEQU30H
ORG0000H
MOVA,#23H(把16进制的数23放到A累加器中。
00100011H)
MOVR0,A(把A中的数传到寄存器R0中,R0=00100011H)
ANLA,#0F0H(字母开头的16进制数前面要加一个0,00100011与11110000按位与,得到A:
00100000H,20H)
SWAPA(半交换得到A:
02H)
MOVB,#0AH(B=A=02H)
MULAB(A与B逐位相乘,得到00000100H,即是B是0H,A是4H)
MOVRESULT,A;转换高位(RESULT=4H)
MOVA,R0
MOVB,#0FH
ADDA,RESULT
MOVRESULT,A;转换低位?
SJMP$
END
3以下程序将单字节十六进制数A的值转换为十进制数,存放在30H~32H中,完成空白处程序填写,并在Keil环境运行程序,观察寄存器及内存单元的变化。
RESULTEQU30H
ORG0000H
MOVA,#7BH
MOVB,#64H
DIVAB
MOVRESULT,A;除以100得百位数
MOVA,B
MOVB,#0AH
DIVAB
MOVRESULT+1,A;除以10得十位数
MOVRESULT+2,B;余数为个位数
SJMP$
END
5.设计型实验内容
1设一串字母的ASCII存于30H起始的单元中,设计程序判断字母是否为大写字母,是则将大写字母的ASCII字符转换成小写字母的ASCII字符,为小写则不转换。
2将单字节十六进制数D8H转换为十进制数,存放在30H~33H中。
,
3设计程序,将十六进制数614EH转换成ASCII码,使用单步、断点方式调试程序,查看结果。
实验三算术运算
1.实验目的
1掌握算术运算类、逻辑运算类指令的使用方法;
2掌握BCD码、补码数制表示方法;
3掌握运算程序及循环程序的编写和调试方法。
2.预习要求
1理解8051单片机的算术运算指令;
2理解补码表示数值的方法;
3理解压缩、非压缩BCD码表示数值的方法;
4如何实现多位数的BCD码加、乘、除运算;
5如何实现多位数的BCD码减法运算;
6预习本实验内容,以及相关课程内容。
3.实验设备
计算机1台。
4.基础型实验内容
1以下程序完成单字节的BCD码加法功能,完成空白处程序填写,并在Keil环境运行程序,观察寄存器及内存单元的变化。
RESULTEQU30H
ORG0000H
MOVA,#99H
MOVB,#99H
ADDA,B
DAA;BCD码相加并得到BCD码结果
MOVRESULT,A
MOVA,#00H
A,#00H
MOVRESULT+1,A;高位处理
LJMP$
END
2下列程序完成多字节BCD码加法运算。
内部RAM30H开始的4字节长的BCD码和外部RAM1000H开始的4字节长的BCD码相加,结果放在1100H开始的单元中(从低字节到高字节)。
ORG0000H
CLRC
MOVR5,#04H
MOVR0,#30H
MOVR1,#10H
MOVR2,#00H
MOVR3,#11H
MOVR4,#00H
L1:
MOVDPH,R1
MOVDPL,R2
MOVXA,@DPTR
ADDCA,@R0
DAA;十进制调整
MOVDPH,R3
MOVDPL,R4
MOVX@DPTR,A
INCR2
INCR4
INCR0
L2:
DJNZR5,L1
JNCL3
MOVDPTR,#1104H;有进位则结果的第五个字节置1
MOVA,#01H
MOVX@DPTR,A
L3:
NOP
END
5.设计型实验内容
1设计程序,实现任意字节压缩BCD码的相加,使用单步、断点方式调试程序,查看结果。
2设计程序,实现多字节十六进制数的减法123456H-005634H,使用单步、断点方式调试程序,查看结果。
3在内部RAM的30H单元开始,有一串带符号数据块,其长度在10H单元中。
编程求其中正数与负数的和,并分别存入2CH与2EH开始的2个单元中。
(负数存放形式为补码)。
请分别在30H单元开始写入5个正数、11个负数和9个正数、7个负数的情况,记录程序运行结果。
例如:
输入-69H,65H,-7H,-25H,-47H,56H,-3H,17H,6H,-5H,-45H,-1H,-57H,23H,-5H,-13H则正数的和89,负数的和-199H。
实验四比较和查表
1.实验目的
1掌握比较指令的使用及循环程序的编写方法;
2掌握字符查找的思路和算法;
3理解并能运用查表和散转指令。
2.预习要求
1理解掌握比较程序的设计思路;
2理解多分支结构程序的编程方法;
3预习本节实验内容,编写程序及实验预习报告。
3.实验设备计算机1台。
4.基础型实验内容
1以下子程序完成一个两位十六进制数到ASCII码的转换,数值存放在R2中,转换结果地位存于R2,高位存于R3。
用PC做基址实现。
ORG0000H
HEXA:
MOVR2,#1BH
MOVA,R2
ANLA,#0FH
ADDA,#09H
MOVCA,@A+PC
XCHA,R2
ANLA,#0F0H
SWAPA
ADDA,#02H
MOVCA,@A+PC
MOVR3,A
RET
TAB:
DB'0','1','2','3','4'
DB'5','6','7','8','9'
DB'A','B','C','D','E','F'
END
5.设计型实验内容
1分别用近程查表指令和远程查表指令,查找R3内容的平方值。
R3内容小于等于0FH,即平方值为单字节数据。
2在外部RAM1000H开始处有10H个带符号数,请找出其中的最大值和最小值,分别存入内部RAM的MAX、MIN单元。
3分别用近程查表指令和远程查表指令,查找R3内容的平方值。
平方值为两个字节数据。
第二章单片机硬件实验
硬件实验需要连接计算机与80C51的仿真器,在实验前要理解相关的硬件电路,按实验指导书中的硬件连接方法正确连线,才能保证实验的正常进行,得到正确结果。
硬件实验时要注意以下几点:
1、根据实验指导书正确进行模块与模块之间接口的连接;注意一定要在实验系统上电前进行接口的连接,千万不能带电操作。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
(断电时进行)
3、进行KEIL软件的设置(KEIL软件使用见附录一),编辑汇编源程序,编译,直至编译无误。
4、打开80C51模块电源和总电源,可以单步或跟踪或全速方式运行程序,同时观察运行结果(注意:
要停止调试,按THKL-C51仿真器上的Reset按键)。
5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行(注意:
芯片缺口朝上;不建议使用)。
(ISP烧录器的使用查看附录二)
注:
1、在做完实验时记得养成一个好习惯:
把相应单元的短路帽和电源开关还原到原来的位置!
以下将不再重述。
2、不要插拔实验系统上的模块和芯片,不要打开与本实验不相关模块的电源。
注意
不能带电进行模块之间导线的连接!
!
实验一I/O控制实验
1.实验目的
1掌握基本IO输入输出操作指令;
2熟练运用keil环境对硬件接口进行调试。
2.预习要求
1理解51单片机IO的输入、输出控制方式;理解P0、P1、P2、P3口做为普通的IO口有何区别。
2理解实现软件延时程序设计的延时时间估算;
3认真预习本节实验内容,设计出器件之间的实验连接线,自行编写程序,填写实验报告。
3.实验设备
计算机1台;
ZDGDTH-1型80C51实验开发系统1套;
2号导线4条;
8P数据线1条。
4.基础型实验内容
18位逻辑电平显示的接口电路设计如图1-1所示,用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
用8P数据线将D2区80C51/C8051F020MCU模块的JD1(P1口)与A5区8位逻辑电平显示模块JD1A5相连。
在Keil环境运行该程序,观察发光二极管显示情况。
图1-18位八位逻辑电平显示接口电路
ORG0
Loop:
mova,#0FEh
movr2,#8
Output:
movP1,a
rla
AcallDelay
djnzr2,Output
LjmpLoop
Delay:
movr6,#0;延时程序
movr7,#0
DelayLoop:
djnzr6,DelayLoop
djnzr7,DelayLoop
ret
end
28位拨动开关的接口电路设计如图1-2所示,假设采用P1口控制LED显示,P2口接收拨码开关的输入值,用8P数据线将D2区80C51/C8051F020MCU模块的JD1(P1口)、JD1(P2口)分别与A5区八位逻辑电平显示模块JD1A5、C6区8位拨动开关模块JD1C6相连。
在Keil环境运行该程序,使用单步、断点、连续运行调试程序,查看结果。
图1-2拨码开关接口电路
ORG0000H
LL:
MOVP2,#0FFH
NOP
MOVA,P2
NOP
MOVP1,A
LJMPLL
END
3如图1-3所示,假设采用P1.0口控制外部LED,拨动开关控制外部中断,用二号导线将D2区80C51/C8051F020MCU模块的P1.0、P3.2口分别与A5区八位逻辑电平显示模块的L0、C8区单次脉冲输出相连。
并在Keil环境运行程序,观察实验现象。
图1-3外部中断及LED显示电路
流程图为:
主程序框图
外部中断子程序框图
源程序:
ORG0000H
LJMPMAIN
ORG0003H
LJMPINTERRUPT
ORG0030H
MAIN:
CLRP1.0
MOVTCON,#01H
MOVIE,#81H
SJMP$
INTERRUPT:
PUSHPSW;保护现场
CPLP1.0
POPPSW;恢复现场
RETI
END
4在上述步骤中,如果改变中断的触发方式为电平触发方式,试改动程序,并在Keil环境运行程序,观察实验现象,说明实验结果。
5.设计型实验内容
1画出流程并设计程序实现8位逻辑电平显示模块的奇偶位的亮灭闪烁显示,闪烁间隔为1S。
2画出流程并设计程序实现8位逻辑电平显示模块的LED轮流点亮,间隔为1S。
3设计硬件连接图,画出流程并设计程序实现当拨码开关K0往上拨时,实现设计型实验内容步骤①,否则LED全灭;当开关K1往上拨时,实现设计型实验内容步骤②,否则LED全灭;当K0、K1同时往上拨的时候,LED全亮。
4累计INT0按键的中断次数,保存到内部RAM的30H单元。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 导论 实验 讲义