电气工程专业实训教材系列Word下载.docx
《电气工程专业实训教材系列Word下载.docx》由会员分享,可在线阅读,更多相关《电气工程专业实训教材系列Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
实训部分
实训项目一仿真器的认识与基本逻辑输出接口…………18
实训项目二基本逻辑输入接口---键盘接口………………21
实训项目三数码管显示器接口技术………………………24
实训项目四交通灯模拟实训………………………………27
实训项目五中断与定时程序………………………………30
实训项目六基本I/O扩展技术……………………………31
实训项目七8255I/O扩展电路…………………………32
实训项目八蜂鸣器驱动实验………………………………33
实验一仿真软件的使用及数据传送指令
实验目的:
1、熟悉仿真软件CodeCruiserfor51中文版的使用方法。
2、验证数据传送指令的操作。
预习内容:
数据传送指令
实验指导:
一、认识了解仿真软件:
1、进入仿真程序
启动电脑,点击开始—程序—找到仿真软件CodeCruiserfor51中文版,点击软件仿真进入软件仿真程序,如下图所示:
就会进入如下的窗口:
在初始页面上点取消进入软件仿真的主页面:
2、新建一个项目
在如上所示的窗口处点击项目菜单/新建,新建一个项目,项目的默认扩展名是.mpj,不需要作任何更改。
如果已经建立了项目,则采用项目菜单的打开命令,
新建一个项目以后会弹出一个新的窗口,如图
不需要加任何改变,直接点确认。
3、编辑源文件
按照如下所示,点文件菜单,点击新建命令,建立新的源文件
在弹出的编辑窗口中输入程序如下所示
输入程序时,所有标点符号,均应该在英文状态下输入。
在程序输入完毕以后,点击存盘图标或者文件菜单的保存命令。
特别注意:
在输入保存文件名的时候一定要输入扩展名即:
.asm
4、将源文件添加到项目中:
从项目菜单中选择添加源文件命令,从弹出的‘将源文件添加到项目中对话框’中选择刚刚保存过的的源文件然后单击打开按钮。
注意在找到源文件时候要事先确定文件类型,即将文件类型改变为.asm
5、项目的编译与下载
从项目菜单选择编译命令编译所在的项目,其结果显示在如下的输出窗口的编译面板中,如果编译过程出现了错误,将会以红色行表示出错的详细信息。
双击该行可以在源文件中快速定位。
以便于修改源程序。
每次程序修改后,都必须编译,然后点击重新下载快捷按钮,或者用项目菜单下的重新下载命令。
6、准备仿真运行程序
将程序跳转至当前需要运行的指令所在地:
在源程序窗口,将光标放至需要运行的程序处,点击鼠标右键,选择跳转至光标处,在程序首行,会出现程序指针,状态栏显示程序指针内容PC=XXXX,如下图:
7、查看汇编窗口
从查看菜单选择查看汇编窗口,就可以查看该程序的汇编结果,也就是可以看到汇编语言源程序和机器代码,以及机器代码所在地址。
如下图:
8、单步执行
通过工具条中的步入按钮,或者调试命令中的步入命令,单步执行程序,每按一下单步执行,执行一条指令,程序指针下移一行,PC值不断增加。
9、观察执行结果
程序执行为改变相关寄存器的结果,可以用查看菜单中的调试窗口观察相关存储器寄存器的状态,验证程序执行过程中的变化和执行结果。
如下图所示:
常见的是存储器窗口,用来观察内部RAM、外部RAM、和程序存储器ROM,还有寄存器窗窗口,用来观察特殊功能寄存器的状态。
10、窗口的平铺和层叠
在打开多个窗口时,如想同时观察多个窗口的信息,可以采用窗口菜单中的平铺窗口和层叠窗口命令,排列窗口。
11、传送指令验证试验
a)利用刚才学习的内容新建一个项目,输入以下源程序进行调试,观察程序执行过程中相关寄存器的变化。
MOV30H,#38H(30H)=
MOV38H,#40H(38H)=
MOV40H,#48H(40H)=
MOV48H,#90H(48H)=
MOVA,40H(A)=
MOVR0,A(R0)=
MOVP1,#0F0H(P1)=
MOV@R0,30H(R0)=(48H)=
MOVDPTR,#3848H(DPH)=(DPL)=
MOV40H,38H(40H)=
MOVR0,30H(R0)=
MOVP0,R0(P0)=
MOV18H,#30H(18H)=
MOVA,@R0(A)=
MOVP2,P1(P2)=
b)建立一个新的项目,编写程序,将外部RAM2000H单元内容传送一个数据#78H,并把这个数据传送到外部RAM3000H单元。
思考题:
1、寄存器寻址和寄存器间接寻址的区别是什么?
2、访问外部RAM应该采用什么寻址方式?
实验二算术传送指令
1、进一步了解仿真软件的使用方法
2、学习算术运算指令
预习复习内容:
1、复习实验一仿真软件的使用方法
2、复习算术运算指令相关知识
实验内容
一、仿真软件使用
1、将存储器、寄存器内容赋初值和改变寄存器内容。
在程序调试时,有时候需要给某些寄存器设置初始值,如将外部RAM2000H单元设为34H,将A的内容设为80H。
方法如下:
通过查看菜单打开寄存器窗口,将需要改变的专用寄存器后面的数值反亮,然后输入新的数值,点击窗口其他地方,寄存器内容得以改变。
如图所示:
SP内容被改变为47H,DPL内容被改变为44H。
通过查看菜单打开存储器窗口,选择片内数据存储器或者片外数据存储器,在旁边的地址栏输入要改变的单元地址值,点击GO,快速定位到对应的单元区域,将光标移到需要改变的单元前,输入新的数值,对应存储单元被改变为新的值。
外部数据存储器2000、2001、2002单元内容分别被改变为33H,44H,55H。
2、调试方法:
全速运行到光标处
除了单步执行以外,如果在调试中,想从一个程序段的开始运行到最后,或者靠后一点的位置,观察最终运行结果,可以执行以下操作:
将光标移动到需要执行的程序段的首行,点鼠标右键,选择跳转到光标位置,将程序指针设置到程序段的首行,然后,把光标移动到需要连续执行到的位置,点鼠标右键,选择运行到光标处命令。
程序就可以从程序段的首行,连续执行到光标处。
二、算术运算指令
建立一个新的项目,并输入以下源程序,运行程序,并观察运行结果。
双字节加法程序:
被加数,存放在内部RAM20H、21H单元(低位在前),加数存放在内部RAM30H、31H单元(低位在前),得到的和存放在40、41、42单元(低位在前)。
ORG1000H
MOVA,20H
ADDA,30H
MOV40H,A
MOVA,21H
ADDCA31H
MOV41H,A
MOVA,#00H
ADDCA,#00H
MOV42H,A
END
利用上面的方法,将加数、被加数分别设置为8B39H、97EAH,并运行程序,求出运行结果。
(42H41H40H)=
1、回答实验内容1中如下程序段的作用。
MOVA,#00H
ADDC A,#00H
MOV42H,A
2、编写一个三字节加法程序,加数在32H31H33H单元,被加数在42H41H40H单元,和放在53H52H51H50H单元。
3、编写一段双字节减法程序,求0D54CH—873AH,结果存放在30H,31H单元(低位在前)。
实验三:
控制转移和位操作指令
1、进一步熟悉软件使用方法
2、学习控制转移和位操作指令
实验内容:
一、建一个项目,编写程序,将内部RAM30H单元到3FH单元的数据传送到内部RAM40H-4FH单元。
编写好程序后将30-3FH单元设置一个任意的初始值,验证是否能完成传送功能。
二、新建一个项目,画出流程图,编写程序,将内部RAM30H单元开始存放20H个数据的内容传送至外部RAM4000FH单元开始的数据区。
编好程序后,在内部RAM设置一些数据,执行程序,验证程序结果。
三、建立新的项目,画出流程图,编写程序,判断内部RAM30H单元的有符号数是正数还是负数,如果是正数则将p1.0输出为1,如果是负数,则将P1.1输出1。
编写完毕后,在30H单元输入一个数据,执行程序,查看程序执行过程,体会有条件转移的功能。
如果想把实验中的第三题判断逻辑改为根据30H单元的奇偶性判断,程序应该如何改动。
实验四汇编语言程序设计
(一)
练习常见的简单的分支、转移、循环程序结构的设计方法。
练习常见的程序调试方法。
练习伪指令的使用。
一、下载目标文件
在进行项目编译的时候会产生二进制代码的目标文件,如果已经建立项目,并编译通过,下次再启动的时候想继续调试,可以用下载目标文件的方法。
在启动的时候仿真软件会自动弹出下载文件窗口。
如果想新建项目,就取消,如果想继续进行已编译的项目的调试,就找到该项目的目标文件,然后确定。
还可以通过项目菜单的重新下载,进入下载窗口。
二、复位、仿真、设置断点、停止
1、复位:
功能是将PC回到0000H,程序回到程序存储器的初始位置。
点击调试工具条上复位按钮,完成复位。
2、仿真:
点击调试工具条的仿真按钮,进入全速执行状态,直到点击停止按钮,或者遇到断点。
3、设置断点:
如果在程序调试过程中想在某个地方停止,可以在该处设置断点。
这样,在全速调试的时候,就可以在断点处停止。
4、停止:
在仿真开始后,想终止仿真,可以点击调试工具条的停止按钮。
三、建立新项目,编写程序进行程序调试练习
训练项目一:
编写程序,查找内部RAM的20H-50H单元中是否有0AAH这个数,如果有,将51H单元置为01H,如果没有,将51H单元置为00H。
输入程序完毕后,在20H-50H单元输入随意数据,可以安排一个单元内容为0AAH,或者都不为0AAH,进行仿真,观察结果。
训练项目二:
在内部RAM30-5FH单元存放着一组无符号数,编写程序查找出这些无符号数的最大值,将结果存放于60H单元。
编写完程序以后,在这些单元输入一些数据,运行程序,观察实验结果。
程序中用的伪指令在汇编窗口能不能找到相应的代码。
实验五:
汇编语言程序设计
(二)
学习汇编语言程序设计方法
熟悉程序调试技巧
伪指令
1、循环程序编写与调试
建立新项目,画出流程图,编写程序,查找内部RAM中的20H-50H单元中出现00H的次数,并将结果存入51H单元。
程序编写完毕后,在20H-50H随意输入一些数据,执行程序,观察程序执行过程和结果。
2、数值比较程序
比较两个ASCII码字符串的内容是否相等,字符串的长度存放