单片机实验指导书Word格式文档下载.docx
- 文档编号:16480523
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:96
- 大小:914.15KB
单片机实验指导书Word格式文档下载.docx
《单片机实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书Word格式文档下载.docx(96页珍藏版)》请在冰豆网上搜索。
无片内存储器的拨向右边。
2、KEIL仿真器与实验箱的连接:
将KEIL仿真器40芯的排线连到51CPU板的40芯插座上,串口线连到微机的串口。
3、八段数码管右上角的两个拨码小开关是用来设置工作模式的,将两个拨码小开关同时拨向右边是选择51单片机工作模式,此时应拨向右边。
四、如何利用KeilC超级仿真器调试用户的程序
1、新建一个项目文件。
首先点击KeiluVision2,进入uVision2界面。
点击工具栏Project选项中的NewProject,准备开始建立自己的项目(如图1)。
输入工程文件名称,并选择保存工程文件的目录(如图2)。
图1
图2
2、为工程选择一个目标器件(如ATMEL89C52),如图3。
图3
3、创建源程序文件并输入程序代码。
(如图4、图5、图6)
图4
图5
图6
4、源文件添加到项目中。
(如图7,图8)
图7
图8
(如图9、图10)
图9
图10
6、编译项目文件(如图11)。
图11
7、硬件或者软件调试(如图12、图13)。
图12
图13
注:
仿真器使用者使用时应注意:
KeilC仿真器用户程序在全速运行时,如果需暂停运行,请按实验仪键盘“RST”,此时仿真器存储器数据清零。
如果您要再次运行您所编写的程序,就必须重新装载运行。
综合实验仪
传统的单片机实验仪,是把实验模块作为仿真器的一个部分进行一体化设计,即所谓的“单板式”设计方法。
其在实验过程中并不涉及“仿真状态”(或称工作模式)这个重要的概念,亦不能进行开发式实验,调试的程序不能进行脱机运行。
显然,这种实验仪的实验过程与实际的开发步骤存在较大的差距。
另外,由于此类实验仪的仿真器,大多为单CPU架构,其仿真RAM空间被实验模块占用,所以,其仿真性能也不适合作为仿真工具所用。
超想-3000TB综合实验仪采用“仿真式”设计方法,仿真器与实验平台分离,采用“仿真”方式进行实验,同时,允许进行脱机运行工作,所以,实验过程是与实际开发过程完全一致。
KeilC超级仿真器可满足学生毕业设计,参加电子竞争,教师科研所需。
超想-3000TB综合实验仪可根据教学实践的需要实现MCS51/8088单片机、微机原理与接口实验,并在硬件上预留了自主开发实验的空间。
该实验仪对基本实验仅需少量连线就可进行,以减少学员工作量,同时也提供了一些需较多连线的扩展性实验以进一步锻炼学员的动手能力。
模块自检接口:
“实验连线”对于学生理解实验内容的本质,提高动手能力的培养十分必要。
然而,对实验室管理员而言,却是工作量倍增。
试想,若对所有设备的所有实验模块进行一次全面的检测,将需连多少根线?
工作量有多大?
很显然,“模块自检接口”的自检功能十分必要。
本产品的自检监控能对所有模块进行检测,管理员仅需在键盘上输入各自检程序的代码即可。
1.1实验模块
超想-3000TB综合实验仪有丰富的实验电路和灵活的组成方法。
这些电路即可以和51CPU适配板(KeilC超级仿真器)组合,以完成MCS51系列实验;
也可和8086CPU适配板相连,以完成8086系列实验(此项为选配件)。
为了描述清楚,在此作统一的介绍。
1.1.0模拟信号发生器
电位器电路用于产生可变的模拟量。
顺时钟旋转,电压值加大;
反之,减小。
减小
加大
1.1.1138译码器
为了使得MCS51、8086兼容实验,所以ROM、RAM同64K空间统一分配地址,程序空间占用前32K(0000—7FFFH),数据空间占用后32K(8000H-0FFFFH),使用两片74LS138译码器对后32K空间进行译码。
其中:
EPROM27C256:
(0000H-7FFFH)
YC0-YC1(8000H-9FFFH):
6264RAM
YC7(0F000H-0FFFFH):
U17号74LS138选通
YC6(0E000H-0EFFFH):
8155
YC2(0A000H-0AFFFH):
备用
YC3(0B000H-0BFFFH):
YS7(0FE00H-0FFFFH):
DALLAS12887
YS6(0FC00H-0FDFFH):
自检时的点阵LED
YS5(0FA00H-0FBFFH):
LCD液晶显示
YS4(0F800H-0F9FFH):
YS2(0F400H-0F5FFH):
LED发光二极管
YS1(0F200H-0F3FFH):
自检时的DA0832
YS0(0F000H-0F1FFH):
自检时的AD0809
1.1.2开关量发生器
实验平台上有8只拨动开关K0-K7及相应的驱动电路,以产生“1”、“0”的逻辑电平。
开关向上拨相应插孔输出高电平为“1”,反之,输出低电平为“0”。
向上:
1
向下:
1.1.3信号发生器
由U3的74LS04、U43的74LS00组成,每按一次带锁开关即产生一个单脉冲。
1.1.4发光二极管组
实验平台上有8只发光二极管,由U33的74HC245驱动,以显示电平状态。
高电平“1”点亮发光二极管。
高电平“1”点亮
1.1.5步进电机实验电路
超想-3000TB综合实验仪选用的是四相步进电机,由U25的74LS04和U21、U23的75452驱动。
1.1.6D/A0832模块
1.1.7音响实验:
喇叭由U16的LM386驱动。
1.1.8AD0809模块
1.1.9RS232通讯模块
TDI
1.1.10PWM模块
1.1.11分频器模块
由74LS74的一组锁存器组成二分频的分频器,另一组的引脚均以插孔方式引出。
如把2D孔与2/Q孔相连还可产生另一个二分频的分频器。
1.1.12EPROM27256扩展模块
1.1.13V/F压频转换
1.1.14RAM6264扩展模块
1.1.158155键显模块
1.1.16DALLAS12887时钟模块
1.1.17霍尔传感器
1.1.18直流电机
1.1.19122X32LCD液晶显示模块
1.1.20点阵LED模块
1.1.21压力传感器
1.1.22温度传感器
1.1.23微型打印机接口
1.1.24逻辑笔电路
超想-3000TB综合实验仪上有逻辑测量电路,用于测量各种电平,其中红灯亮表示高电平,绿灯亮表示低电平。
如果两灯同时闪动,表示有脉冲信号;
两灯都亮时,表示浮空(高阻态)。
1.1.25复位电路
1.1.26红外线发送/接收
1.1.27LED发光二极管总线驱动
1.2常用逻辑门电路
1.3自由实验插座
超想-3000TB综合实验仪设计了一个锁紧插座,以供自开发实验用,插座全部引脚都被引出到相应的插孔,40芯、32芯、28芯、24芯、20芯、16芯、14芯、8芯通用,并按照各自的封装标明引脚号。
利用这些插座,可对双列直插式的各种微机芯片进行实验。
1.4直流电源外引插座
红色:
+5V
黑色:
地
1.5总线插孔
超想-3000TB综合实验仪的所有总线及控制信号均以插孔方式引出,以便进行开放式实验。
1.6空间分配
扩展模块
资源分配(138译码)
27C256
0000H-7FFFH
6264
(YC0,YC1)8000H-9FFFH
(YC6)0E000H-0EFFFH
(YS4-YS5)0F800H-0FBFFH
DS12887
(YS7)0FE00H-0FFFFH
LED二极管总线驱动
(YS2)0F400H-0F5FFH
自检时AD0809
(YS0)0F000H-0F1FFH
自检时DA0832
(YS1)0F200H-0F3FFH
自检时点阵LED
(YS6)0FC00H-0FDFFH
自检时微型打印机
YC2(0A000H-0AFFFH)
备用
(YC2)0A000H-0AFFFH
(YC3)0B000H-0BFFFH
实验例程
(MCS51)
第节
软件实验
实验一拆字程序实验
一、实验目的:
掌握汇编语言设计方法。
二、实验内容:
把8000H地址上的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清零.本程序通常在把数据送显示缓冲区时使用。
三、实验器材:
计算机1台
四、实验步骤:
1、按流程图编写程序,以下是通过计算机交叉汇编得到的.LST文件清单,供参考。
2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;
若无错误,点击[调试/启动/停止调试]后进入调试状态。
3、设置观察窗口:
(1)用鼠标点击[视图/存储器窗口],在地址栏中输入[0X8000];
(2)在8000H中写入数据(任意);
(3)单步执行观察寄存器和8000H—8002H的变化。
结束
五、程序框图:
七、实验程序(51asm\A8051.ASM)
;
把指定字节的高低位拆开分别存放,多用于显示子程序
ORG0000H
MOVDPTR,#8000H;
指定的字节
MOVXA,@DPTR
MOVB,A;
暂存
SWAPA;
交换
ANLA,#0FH;
屏敝高位
INCDPTR
MOVX@DPTR,A
MOVA,B
指定字节的内容屏敝高位
LOOP:
SJMPLOOP
END
实验二拼字程序实验
1、进一步掌握汇编语言设计;
2、熟悉软件调试方法。
把8000H、8001H两个字节的低位分别送入8002H的高位和低位。
本程序一般用于把显示缓冲区数据取出拼装成一个字节。
1、编写程序并编译成机器代码。
2、用断点或单步方式运行程序,检查8000H-8002H,A,B中內容变化情况。
查看内部RAM、外部RAM、断点运行方式、单步操作等请参阅有关章节。
3、打开AP6264.asm程序
(1)文件、编译、连接、装载:
点击[项目/重建所有目标文件],系统进行自动编译,并弹出信息窗口,点击[调试/启动/停止调试]进入调试状态。
(2)用鼠标点击[视图/存储器窗口],在地址栏中输入[0X8000],将地址定位于8000H。
(3)在8000H中写入任意数据,单步执行观察寄存器和数据存储区的变化。
六、思考问题:
修改8000H、8001H内容重复上述实验。
七、实验程序:
(51asm\Ap6264.ASM)
把两字节的低位合拼成一个字节,多用于显示子程序
ORG0000h
MOVDPTR,#8000H
SWAPA
MOVB,A;
保存
ANLA,#0FH
ORLA,B;
合拼
MOVX@DPTR,A;
送8002H存放
实验三数据区传送子程序实验
学习Windows平台下的编辑、编译、排错调试方法。
把外部扩展RAM(6264)的8000H-807FH中的内容传送到8080H开始的空间中去。
R2.R3存放源RAM区首址,R6.R7存放需传送的字节数,R4.R5存放目的RAM区首址。
计算机1台
四、程序框图:
N
五、实验程序:
(51asm\AS6264.ASM)
数据传送子程序
LOOP0:
MOVDPL,R3
MOVDPH,R2;
建立源程序首地址
MOVXA,@DPTR;
取数
MOVDPL,R5
MOVDPH,R4;
目标首地址
MOVX@DPTR,A;
传送
CJNER3,#0FFH,LOOPA
INCR2
LOOPA:
INCR3;
源地址加1
CJNER5,#0FFH,LOOP1
INCR4
LOOP1:
INCR5;
目地址加1
CJNER7,#00H,LOOP2
CJNER6,#00H,LOOP3
LOOP4:
SJMPLOOP4
LOOP2:
DECR7;
字节数减1
SJMPLOOP0
LOOP3:
DECR7
DECR6
SJMPLOOP0;
未完继续
END
实验四数据排序实验
1、学习WINDOWS平台下的编辑、编译、排错、调试方法。
2、学习修改和观察变量的方法;
综合使用单步、断点调试的方法。
编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号正整数,按从小到大的次序重新排列。
1、参阅《硬件安装》把综合实验仪、仿真器与PC机串行口连起来,打开电源。
2、在PC机上用鼠标点击“KEILuvision2”图标,进入KEIL调试环境,选择串行口,点击“确认”。
3、打开“项目/新建项目”,输入项目名,选择目标MCU,如:
intel89C52。
4、编辑文件:
用鼠标点击[文件|新文件],在文本编辑器中输入以下程序:
ORG0000H
MOVR3,#50H
MOVA,R3
MOVR0,A;
指针送R0
MOVR7#0AH;
长度送R7
CLR00H;
标志位为0
MOVA,@R0
INCR0
MOVR2,A
CLRC
MOV22H,@R0
CJNEA,22H,LOOP2;
相等吗?
SETBC
MOVA,R2
JCLOOP3;
小于或等于不交换
SETB00H
XCHA,@R0
DECR0
INCR0;
大于交换位置
MOVA,@R0
DJNZR7,LOOP1
JB00H,LOOP0;
一次循环中有交换继续
SJMPLOOP;
无交换退出
5、文件保存:
用鼠标点击[文件|保存],在对话框中输入文件名。
6、为项目添加文件:
单击左边的[项目工作区/源代码组1]右键在出现菜单中选择[添加文件到组“源代码组1”],在弹出的对话框中选中您刚保存的文件,点击确认完成项目文件的添加。
7、为项目设置通讯口:
单击左边的[项目工作区/目标1]右键在出现的菜单中选择[为目标“目标1”设置选项],在弹出的菜单中选择[调试]。
在新窗口中选择使用Keilmonitor-51Driver。
单击设置在出现的窗口中设置串口和波特率(注:
波特率必须为38400)。
8、文件编译、连接、装载:
用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并出现信息窗口。
若有语法错误,则需重新修正,需再次执行重建所有目标文件;
若无语法错误,点击[调试/启动/停止调试]后,进入调试状态。
9、设置观察窗口:
用鼠标点击[视图/存储口窗口],在地址口输入CPU内部存贮区地址,回车之后出现地址为50H的数据显示于窗口中。
10、单步执行程序:
按F11键一条一条地执行下去,注意观察左边寄存器区中相应的寄存器或者CPU内部存贮区中相应的数据寄存器单元的数据变化。
11、连续运行:
用鼠标点击[外围设备/复位CPU],使PC指向0000H,点击[调试/运行]后,程序开始连续运行。
如需暂停,用鼠标点击[调试/停止运行]。
12、断点运行:
要使程序执行到某条指令处暂停,如希望程序执行到LOOP1处暂停,可按如下操作:
将光标移到LOOP1处双击鼠标左键,即可设置断点,用鼠标点击[调试/运行],程序将在LOOP行停止运行。
13、复位:
用鼠标点击[外围设备/复位CPU],强迫PC指向0000H。
五、实验框图:
Y
N
Y
编一程序把50H-5AH中内容按从大到小排列。
(51asm\APX.ASM)
用冒泡法进行数据排序
MOVR0,A;
MOVR7,#0AH;
MOVR2,A
JCLOOP3;
SETB00H
DJNZR7,LOOP1
实验五清零程序实验(模拟调试方法)
学习Windows软件的调试方法
把外部RAM的2000-20FFHRAM空间置零
计算机1台
四、准备工作:
时至今日,软件模拟功能已被作为评判仿真器性能高低的标准之一。
作为初学者来说可在无仿真器的情况下,即开始实验。
作为实验室来说,为达到一机多用之目的提供了条件。
而对于开发者而言,不仅可在无仿真器的情况下,即开始编程调试,而且,在查找问题时,可为判断是软件问题还是硬件故障提供捷径。
KEILC超级仿真器软件平台提供了强劲软件模拟功能,它可以模拟包括MCS515个中断源在内的所有CPU资源。
以下例子以Windows平台为调试环境。
KEIL软件仿真设置请参阅KEIL帮助。
修改程序把4000H-5000H中内容置55H。
(51asm\Aclear0.ASM)
ORG000H
MOVR0,#00H
MOVDPTR,#2000H;
空间首地址送DPTR
mova,#00h
MOVX@DPTR,A;
清零
INCDPTR;
DPTR加1
INCR0;
字节数加1
CJNER0,#00H,LOOP;
连续清256个字节
SJMPLOOP1
END
硬件基础性实验
实验一八段数码管显示实验
1、了解数码管动态显示的原理。
2、了解74LS164扩展端口的方法。
二、实验要求:
利用实验仪提供的显示电路,动态显示一行数据。
三、实验线路:
这里只是显示草图,详细原理参见第一章的1.1.15“8155键显模块”。
四、实验器材:
1、超想-3000TB综合实验仪1台2、KEIL仿真器1台
3、计算机1台
五、实验说明:
1、本实验仪提供了8段码数码管LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。
显示共有6位,采用动态方式显示。
8段数码管是由8155的PB0、PB1经74LS164“串转并”后输出得到。
6位位码由8155的PA0口输出,经uA2003反向驱动后,选择相应显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导书