本实验仪上有三排总线插座,用于引出各种总线信号,其中D0~D7为8根数据总线,A0~A15为16根地址总线,CSO~CS3为4根地址选通线,对应的选通地址如下:均为低电平有效。
CSO 08000H---09FFFH CS1 0A000H---0BFFFH CS2 0C000H---0CFFFH CS3 0D000H---0DFFFH
另外ALE,RD,WD,BHE为控制总线。
第三排总线插孔的定义为上下两档,如果仿8051,定义看上一行,如果仿80C196,则看下面一行。
2.1.19 串口通信程序实验插孔
本实验仪在使用外接仿真器或使用板上仿真器时,可以用这两个插孔进行RS232通信程序实验,通过实验仪的通信电缆可以实现实验仪数据和系统机数据互传。
2.1.20 串口通信选择
选择USER 调试用户串口通信程序,将用户的TXD/RXD信号接到相应插
孔上,就可以将串口信号接到PC机上。
选择EMU 用WAVE仿真环境驱动实验仪时,要将跳线设置在EMU端,这
样就可以将编译好的程序代码下传到实验上。也可以用WAVE仿真的控制指令控制实验仪的运行。
2.1.21 CPU选择
在实验仪的右上角有两个跳线器,其中跳线器JP2用于CPU种类的选择
选择1 8051 本实验仪对8051单片机进行仿真。 选择0 80C196本实验仪对80C196单片机进行仿真。
本实验仪上有两个CPU插座,一个为8031,一个为80C196KC。仿真哪一种CPU,就插哪一种CPU芯片,两种CPU芯片不能同时插。所插CPU的种类应和跳线器的选择相同。
2.1.22 仿真方式选择
跳线器JP1用于仿真方式的选择。
选择1 LOCAL CTRL 不用系统机仿真,仿真仪上的键盘和LED显示器既
可作为监控系统用,也可以作为用户资源,软件断点。
选择0 EXT CTRL 用系统机和仿真器进行仿真,断点空间为64K,键盘
和LED显示器都作为用户资源,硬件断点。
9
2.2 伟福实验系统的支持软件
2.2.1 板上单片机仿真部分(使用WAVE集成调试软件)。
● 支持DOS、Windows95/98双平台。
● 具有编辑、汇编、编译、调试和软件模拟等功能,所有操作均可通
过窗口和菜单的选择来完成。方便用户编写和调试软件、直观反映程序运行情况,提高软件开发效率。
● 支持汇编语言,C,PLM高级语言源程序调试。 ● 可观察数组,记录等各种复杂变量。
● 可脱开实验系统单独进行软件模拟,这种方式尤其适用于软件实验。
2.2.2 在没有系统机的WAVE集成调试环境时,若使用板上单片机仿真,请参
见“第三章 板上仿真器使用方法”
2.3 外接单片机仿真功能
除具有板上仿真器所有功能外,还具有以下特点:
● 不占用任何用户资源; ● 硬件断点;
● 仿真系统可分段或全区域提供仿真空间,最大0000H-0FFFFH; ● 可分段或全区域出借RAM给用户作数据存储器使用; ● 提供硬件诊断、测试功能。
10
第三章 板上仿真器使用方法
3.1 显示功能说明
本实验仪共有6 位LED 发光数码管,左4位为地址位,右2位为数据位。当地址位4位数均有数值时,表示地址是程序存储器的地址或数据存储器的地址。当地址数码管只有右边2位时,表示内部寄存器地址。当地址数码管只有右边3位时( 最左面1 位暗,第二位显示“0”,第3和4位为数字),表示是内部特殊寄存器(SFR)的地址。最右边的两位是数据位,表示左边4位显示的地址单元中的数据。
3.2 键盘功能说明
[RST]键: 整机复位键。复位后数码管的地址位显示“8051”字样,表示复位操作
完成。复位后程序存储器和外部数据存储器中的内容不变,程序指针回到0000处。CPU内部寄存器复位后为单片机复位操作规定的值,即有的寄存器中的数据不变,有的寄存器中的数据被复位。
[0]到[F]键:数字输入键。用于输入16进制数。 [MON]键: 监控键。表示某些操作已结束。某些操作的所有步骤完成后,按[MON]
键表示操作结束。
[Trace]键:跟踪执行键。在调试程序时先按[MON]键,最左侧一只LED数码管现
示“P”,这时每按一次[Trace]键执行一条用户编写的单片机指令,如过遇到调用指令,跟踪到调用内部,可逐条检查用户程序的执行情况。
[Step]键: 单步执行键。与[Trace]键不同的地方是执行到调用语句时,按一次此
键将执行调用所含的所有语句。
[Last]键: 地址减1键。有两个作用:
1触发显示寄存器和存储器中的数据。在地址位上输入了寄存器或存○
储器中的地址时,按第一次[Last]键,数据显示数码管开始显示数据。
11
○2 地址减1。在仿真器上输入地址后,在第二次以及之后的各次按键时,每按一次[Last]键,地址值自动减一,地址值所对应的数据同时更换。
[Next]键: 地址加1键。两项功能与[Last]键类似,区别是[Next]键进行地址加1
操作。
[Here]键: 断点运行键。设置中断程序运行的地址,使程序执行到中断地址处停
止执行,在中断地址处等待新的命令。设置中断的情况有两种: ○1程序从0000地址处执行的中断点:
A.按[RST]键复位,再按[MON]键,数码管显示“P”; B.输入4位中断地址;
C.按[Here]键。按[Here]键后,中断地址确定,同时启动程序,程序自动执行到中断点停止,等待用户命令,此时显示中断点的地址和A寄存器中的内容。 ○2先使程序执行到某处,再设置中断点:
A.先用单步、跟踪、中断等运行方式使程序执行到某处停止; B.按[MON]键,使地址数码管显示“P”; C.输入中断地址;
D.按[Here]键。按键后,程序自动从设置前的停止处执行到所设的中断地址处。
[Exec]键: 全速执行键。调试程序时,设置好执行的初始地址后,按[Exec]键可自
动执行程序。
3.3 脱机仿真
下面根据仿真时的各类需要,逐一介绍有关的操作方法: 3.3.1 将汇编源程序转换为机器码
在仿真工作之前,应把汇编源程序转换为机器码。可用人工查手册的方法逐条翻译成机器码,在翻译成机器码的同时还要为各条机器码安排地址。也可用计算机自动汇编井生成列表文件,列表文件是指同时含有源程序、机器码和机器码地址的文件。用计算机生成机器码可避免人工翻译造成的人为错误,汇编的效率也远高于人工翻译。 3.3.2 输入程序的机器码
3.3.2.1 由计算机输入程序机器码
为了节省输入机器码的时间,可先由计算机向仿真器输入机器码,然后再脱离计算机独自仿真。用计算机输入程序时先用:MCS51/S1命令启动软件,调入用户的汇编源文件,选择仿真模式,执行汇编命令,汇编结束后机器码自动装入仿真器中。然后,关断计算机和仿真器的电源,拔出RS232接口插头。
3.3.2.2 人工输入程序机器码
如果没有计算机时,则用人工方法输入。人工输入的方法是: (1) 按[RST]键,整机复位。
(2) 按[MON]键,使地址数码管出现“P”字符。
12
(3) 输入4位地址码,此时地址位上显示的是输入的地址数,数据位上的数码管不亮。
(4) 先按[Next]或[Last]键,数据位上的数码管闪烁,此时,再输入2位数据。 (5) 程序输入完毕,可依次按[RST]、[MON]、4位地址数、[Next]键,检查输入的机器码,不断地按[Next]或[Last]键,可依次逐个检查各个地址中的数据,数据形式是16进制。 3.3.3 执行程序
3.3.3.1 跟踪执行程序
当需要由用户通过键盘控制,逐条执行程序,以便检查单片机内部和外部电路时,可采用跟踪执行的方式。跟踪执行时如果遇到调用指令,仿真器将使程序的指针进入被调用的程序段内部。跟踪执行键[Trace],以跟踪方式执行程序的操作方法是:
(1) 按[RST]键整机复位。
(2) 按[MON]键使地址数码管出现字符“P”。
(3) 输入程序执行的起始地址,此时,4位地址数码管显示地址值,数据数码管暗。
(4) 按[Trace]键,数据数码管亮,此后每按一次[Trace]键,执行一条指令。 3.3.3.2单步执行程序
单步执行程序的作用与跟踪执行相仿,区别是单步执行遇到调用时,将自动连续地执行调用内部的所有指令,然后停在调用执行后的第一条指令上,可继续单步执行。以单步方式执行程序的操作方法是:
(1) 按CRST]键整机复位。
(2) 按[MON]键使地址数码管出现字符“P”。
(3) 输入程序执行的起始地址,此时,4位地址数码管显示地址值,数据数码管暗。
(4) 按[Step]键,数据数码管亮,此后每按一次[Step]键,执行一条指令。 3.3.3.3全速执行程序
当需从用户指定的程序地址处开始全速运行整个程序,或全速运行到断点处时,可采用全速执行方式。全速执行的操作方法是:
(1) 按CRST]键,整机复位。
(2) 按[MON]键使地址数码管出现字符“P”。
(3) 输入程序执行的起始地址,此时,4位地址数码管显示地址值,数据数码管暗。
(4) 如果需要设置断点,可按上面介绍的[Here]命令。
(5) 按[Exec]键,全速执行。程序运行时地址数码管数据数码管均暗。 (6) 按[RST]中断运行。 3.3.3.4检查执行结果
当运用上述的各种执行方式运行程序时,需要及时地了解程序执行的结果,而运行结果很大程度上是由单片机内部各个部分的当前值来反映的。仿真器提供了查看单片机(由仿真器模仿)内部各个部分情况的功能,检查执行结果的主要任务就是查看单片机内部的情况。
检查单片机内部各个寄存器、累加器、接口电路的方法在下面讲述:
13