Star ES8688使用说明 - 图文

更新时间:2023-12-23 23:03:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

0

目录

第一章 简介 .................................................................... 1

1.1 实验仪介绍 .............................................................. 1 1.2 实验仪配置方案 .......................................................... 1 1.3 功能特点 ................................................................ 1

1.3.1 软件 .............................................................. 1 1.3.2 硬件 .............................................................. 2

第二章 硬件结构 ................................................................ 4

2.1 电路外观 .............................................................. 4 2.2 A1区:12864液晶显示模块电路 .......................................... 5 2.3 A2区:16×16 LED实验电路 ............................................. 6 2.4 A3区:CPU总线、片选区 ................................................ 6 2.5 A4区:控制区 ......................................................... 6 2.6 B1区:语音模块ISD1420电路 ........................................... 7 2.7 B2区:逻辑笔、单脉冲、频率发生器 ..................................... 7 2.8 B3区:8259电路 ....................................................... 8 2.9 B4区:8155、8255电路 ................................................. 8 2.10 B5、C6区:扩展区 .................................................... 9 2.11 C1区:电源区 ....................................................... 10 2.12 C2区:93C46 ........................................................ 10 2.13 C3区:138译码器 .................................................... 10 2.14 C4区:X5045 ........................................................ 10 2.15 C5区:8253、8251 ................................................... 11 2.16 D1区:蜂鸣器 ....................................................... 11 2.17 D2区:0~5V电压输出 ................................................ 11 2.18 D3区:光敏电阻、压力测量 ........................................... 12 2.19 D4区:并串转换 ..................................................... 13 2.20 D5区:串并转换 ..................................................... 13 2.21 E1区:步进电机 ..................................................... 13 2.22 E2区:PWM电压转换 .................................................. 13 2.23 E3区:继电器 ....................................................... 14

2

2.24 E4区:IC总线(包括24C02A,PCF8563P,ZLG7290) ....................... 14 2.25 E5区:8279键盘/LED控制器 .......................................... 15 2.26 E6区:8250 ......................................................... 16 2.27 E7区:RS232 ........................................................ 16 2.28 E8区:RS485 ........................................................ 16 2.29 F1区:直流电机转速测量/控制 ........................................ 17 2.30 F2区:串行AD ....................................................... 17 2.31 F3区:DAC0832数模转换 .............................................. 18 2.32 G1区:温度测量/控制 ................................................ 18

1

2.33 G2区:红外通讯 ..................................................... 18 2.34 G3区:串行DA ....................................................... 19 2.35 G4区:ADC0809模数转换 .............................................. 19 2.36 G5区:键盘&LED ..................................................... 20 2.37 G6区:发光管、按键、开关 ........................................... 20 2.38 G7区:接触式IC卡 .................................................. 21

第三章 星研集成环境软件 ....................................................... 22

3.1 软件安装 ............................................................. 22

3.1.1 安装星研集成环境软件 .......................................... 22 3.1.2 软件卸载 ...................................................... 22 3.1.3 USB驱动程序 .................................................. 22 3.1.4 软件启动 ...................................................... 23 3.1.5 编译器 ........................................................ 24 3.1.6 README文件 ................................................... 24 3.2 如何使用星研集成环境软件 ............................................. 25

3.2.1 数据传送程序(ASM) ........................................... 25 3.2.2 数据传送程序(C) ............................................. 38

第四章 软件实验 ............................................................... 44

实验一 数据传送 ........................................................... 44 实验二 双字节BCD码(十进制数)加法 ......................................... 46 实验三 双字节BCD码(十进制数)减法 ......................................... 49 实验四 四字节十六进制数转十进制数 ......................................... 52 实验五 散转 ............................................................... 55 实验六 冒泡排序 ........................................................... 57 实验七 二分查找法 ......................................................... 59

第五章 基础硬件实验 ........................................................... 61

实验一 8255控制交通灯实验 ................................................ 62 实验二 74HC138译码器实验 ................................................. 65 实验三 8155输入、输出、SRAM实验 .......................................... 67 实验四 8253方波实验 ...................................................... 69 实验五 8259A中断控制器实验 ............................................... 71 实验六 8251可编程通信实验(与微机) ........................................ 74 实验七 8250可编程通信实验(与微机) ........................................ 78 实验八 8279键盘显示实验 .................................................. 82 实验九 并行DA实验 ........................................................ 85 实验十 并行AD实验(数字电压表实验) ........................................ 87 实验十一 红外通信实验 ..................................................... 90 实验十二 图形点阵显示实验 ................................................. 94 实验十三 8237 DMA传输实验 ............................................... 103

第六章 综合实验 .............................................................. 106

2

实验一 简易电子琴实验 .................................................... 106 实验二 LED16 * 16点阵实验 ............................................... 114 实验三 数字式温度计实验(18B20) ........................................... 119 实验四 步进电机实验 ...................................................... 125 实验五 直流电机测速实验 .................................................. 132 实验六 旋转图形实验 ...................................................... 138 实验七 ISD1420语音模块实验 .............................................. 142 实验九 电子钟(CLOCK) ..................................................... 152 实验十 光敏电阻测量光照强度实验 .......................................... 158 USB1.1、USB2.0、CAN、GPS、GPRS等模块说明请参阅光盘中说明

3

以太网、4

1简介

1.1 实验仪介绍

STAR ES598PCI实验仪提供了几乎所有最实用、新颖的接口实验,提供详尽的C、汇编例子程序、使用说明,不但可以满足各大专院校进行单片机、微机原理课程的开放式实验教学,也可以让参加电子竞赛的学生熟悉各种类型的接口芯片,做各种实时控制实验,轻松面对电子竞赛;也可以让刚参加工作的电子工程师迅速成为高手。

STAR ES598PCI提供实验仪与微机同步演示功能,方便实验室老师的教学、演示。提供一个库文件,如果学生上机时间有限,只需编写最主要的程序,其它调用库文件即可。它布局合理,清晰明了;模块化设计,可以无限升级,让您的选择永不落伍;兼容性强,可以轻松升级,减少设备投资;使用方便,易于维护。

1.2 实验仪配置方案

STAR ES8688有二种配置方案:

1、实验仪主机、ES8688模块、仿真模块(不含逻辑分析功能仪、实时跟踪仪功能)。 2、实验仪主机、ES8688模块、仿真模块(带有逻辑分析功能仪、实时跟踪仪功能)。 逻辑分析功能:通过观察采样到的波形,可以让学生了解CPU执行指令的完整过程,加深对教科书上波形图的认识。

实时跟踪仪: 记录程序运行轨迹。

1.3 功能特点 1.3.1 软件

1、提供我公司自主版权的星研集成环境软件,2004年它已被认定为上海市高新技术成果转化项目

◇ 集编辑器、项目管理、启动编译、连接、错误定位、下载、调试于一体,多种实验仪、仿真器、多类型CPU仿真全部集成在一个环境下,操作方法完全一样。

◇ 完全VC++风格。支持C、PL/M、宏汇编:同时支持Keil公司C51、Franklin公司C51、IAR/Archimedes公司的C51、Intel C96、Tasking的C196、Borland公司的TASM、Turbo C。

◇ 支持ASM(汇编)、C、PLM语言,多种语言多模块混合调试,文件长度无限制。 ◇ 支持BIN、HEX、OMF、AUBROF等文件格式。可以直接转载ABS、OMF文件。

◇ 支持所有数据类型观察和修改。自动收集变量于变量窗(自动、局部、模块、全局)。 ◇ 无须点击的感应式鼠标提示功能。

◇ 功能强大的项目管理功能,含有调试该项目有关的仿真器、所有相关文件、编译软件、编译连接控制项等所有的硬软件信息,下次打开该项目,无须设置,即可调试

1

◇ 支持USB、并口、串口通信。 ◇ 提供模拟调试器。

◇ 符合编程语言语法的彩色文本显示,所有窗口的字体、大小、颜色可以随意设置。 3、提供几十个实验的汇编、C版本的源文件。提供一个库文件,如果学生上机时间有限,只需编写最主要的程序,其它调用库文件即可。

实验仪可提供以下软件实验:十进制数加法,十进制数减法,四字节二进制数转十进制数,数据传送,冒泡排序,二分查找法,散转等。

逻辑分析图

实时跟踪图

1.3.2 硬件

1、传统实验

74HC244 、74HC273扩展简单的I/O口;蜂鸣器驱动电路;74HC138译码;8250串行通讯实验;8251串行通讯实验;RS232和RS485接口电路;8155、8255扩展实验;8253定时、分频实验;128*64液晶点阵显示模块;16X16LED点阵显示模块;键盘LED控制器8279,并配置了8位LED、4 * 4键盘;32K数据RAM读写,使用C编制较大实验成为可能;并行AD实验;并行DA实验;光电耦合实验;直流电机控制;步进电机控制;继电器控制实验;逻辑笔;打印机实验;电子琴实验;74HC4040分频得到十多种频率;另外提供8个拨码盘、8个发光二极管、8个独立按键;单脉冲输出。

2、新颖实验

录音、放音模块实验;光敏电阻、压力传感器实验; 串行接口实验

1)一线 DALLAS公司的DS18B20测温实验

2

2)红外通信实验 3)CAN CAN2.0(扩展模块) 4)USB USB1.1、USB2.0(扩展模块)

5)以太网 10M以太网模块(扩展模块) 6)蓝牙 (扩展模块) 3、闭环控制

1)门禁系统实验 2)光敏电阻、压力传感器实验 3)旋转图形展现实验

4)直流电机转速测量,使用光电开关测量电机转速 5)直流电机转速测量,使用霍尔器件测量电机转速

6)直流电机转速控制,使用霍尔器件、光电开关精确控制电机转速 7)数字式温度控制,通过该实验可较好认识控制在实际中的应用 4、实验扩展区,提供扩展实验接口,用户可自行设计实验

可以提供USB1.1、USB2.0、USB主控、10M以太网接口的TCP/IP实验模块、CAN总线、NAND FLASH模块、FV_VF模块、触摸屏、非接触式IC卡、双通道虚拟示波器、虚拟仪器、读写优盘、CPLD、FPGA模块。其它模块正在陆续推出中,例如:超声波测距、测速;GPS;GPRS;蓝牙。 5、EDA —— CPLD、FPGA可编程逻辑实验

逻辑门电路:与门、或门、非门、异或门、锁存器、触发器、缓冲器等;半加器、全加器、比较器、二、十进制计数器、分频器、移位寄存器、译码器;常用的74 系列芯片、接口芯片

2

实验;8段数码块显示实验;16x16 点阵式LED显示实验;串行通信收发;IC 总线等

提供ABEL、VHDL 语言编写的实验范例

3

2硬件结构

2.1 电路外观

本章将逐一介绍实验仪的各个功能模块、相应的结构,读者在编写程序前,首先熟悉相应的硬件电路。

4

123452.2 A1区:12864液晶显示模块电路 DS1VCCJP612W210K4U5ACSRSBRW6U3BD0D1D2D3D4D5D6D778910111213141516171819203456VSSVDDV0RSRWEDB0DB1DB2DB3DB4DB5DB6DB7CS1CS2RSTVOUTLED+LED-12864JCAR31WRRD13210K5R4470CS1/2213U3AJP921 CS:片选信号,低有效。CS1/2:左右半屏使能选择,H:左半屏,L:右半屏。RS:选择读写的是指令或数据,L:指令,H:为数据。RW:读写控制端,L:写操作,H:读操作。 TitleDSizeA4Date:File:12NumberRevision2006-4-11Sheet1.SchDoc34Sheet of Drawn By:5 5

2.3 A2区:16×16 LED实验电路 JP33JP341017151311864219110171513118642A8A7A6A5A4A3A2A1U48SN74LS240NR9R10R11R12R13R14R15R16OE2OE1VCCGNDOE2OE120VCCVCCLED387314212115R1R2R3R4R5R6R7R8LED487314212115R1R2R3R4R5R6R7R8R1R2R3R4R5R6R7R8DS19R61470U12119JP23L1L2L3L4L5L6L7L824681113151710VCCJP2212VCC20GNDY8Y7Y6Y5Y4Y3Y2Y1A8A7A6A5A4A3A2A1U48SN74LS240N8255357912141618161649151013OE1OE2A1A2A3A4A5A6A7A8GNDU13VCCLED1C1C2C3C4C5C6C7C8Y1Y2Y3Y4Y5Y6Y7Y818161412975387314212115R1R2R3R4R5R6R7R8LG7088BHSN74LS244NVCC20119JP24L9L10L11L12L13L14L15L1624681113151710161649151013OE1OE2A1A2A3A4A5A6A7A8GNDVCCLED2C1C2C3C4C5C6C7C8Y1Y2Y3Y4Y5Y6Y7Y818161412975387314212115R1R2R3R4R5R6R7R8LG7088BHSN74LS244NC1C2C3C4C5C6C7C8LG7088BH161649151013C1C2C3C4C5C6C7C8LG7088BH161649151013VCC35791214161820Y8Y7Y6Y5Y4Y3Y2Y1191 JP23、JP24组成16根行扫描线;JP33、JP34组成16根列扫描线。 2.4 A3区:CPU总线、片选区 JP45:地址线A0..A7; JP48、JP50:低位地址/数据总线; JP51、JP55:MCS51的P1口; JP59:高位地址线A8..A15;

JP61、JP64:MCS51的P3口,P3.7、P3.6作读、写信号线用;

JP66:相当于一个MCS51类CPU座,使用40芯扁线与用户板相连,可仿真P0、P2口作地址/数据使用的MCS51类CPU。

片选区 片选 CS1 CS2 CS3 CS4 地址范围 0F000H~0FFFFH 0E000H~0EFFFH 0D000H~0DFFFH 0C000H~0CFFFH 片选 CS5 CS6 CS7 CS8 地址范围 0B000H~0BFFFH 0A000H~0AFFFH 09000H~09FFFH 08000H~08FFFH 13142.5 A4区:控制区

主控部分。

6

2.6 B1区:语音模块ISD1420电路 JP142DS2R5470U4DS7R10470R271KR3410KMicC13220uFR3510KC12R264.7uF470KR255.1KC100.1uFC7C80.1uF0.1uFC40.1uF267811222519202118171415C50.1uF1213XCLKNCNCNCNCRECLEDAGCANA INANA OUTMIC REFMICSP+SP-VSSDVSSAISD1420VCCDVCCARECPLAYEPLAYL2816C9VCCJP112R22R23R24JP132JP1521PLAYLVCCU220VCCRSTCLKD0D1D2D3D4D5D6D7GNDSN74LS273N11134781314171810D0D1D2D3D4D5D6D713PLAYEPLAYL13RECPLAYE3REC100K100K0.001uF272423100KA0A1A2A3A4A5A6A712345691025691215161913U3DQ0Q1Q2Q3Q4Q5Q6Q711WRCPSpeaker12SN74S02N JP13、JP14、JP15:设置操作模式,MCU:CPU控制方式;MANUAL:手动(REC、PLAYL、PLAYE)控制方式。 REC: 录音按键,低电平有效; PLAYE: 电平放音按键,低电平有效,直到放音内容结束停止放音 PLAYL: 边沿放音按键,下降沿有效,并在下一个上升沿停止放音 D12.7 B2区:逻辑笔、单脉冲、频率发生器 2VCCR77C32A470pFR764.7KR66C28470pFR674.7KSN74HC04NDS132KU19C56R39VCC330U19D2K98R40470SN74HC04NDS14逻辑笔 逻辑笔: 测试接口,输入 测量信号 绿灯(DS13):高电平点亮 红灯(DS14):低电平点亮 两灯同时亮:频率信号 B逻辑笔电路原理图 12 7 VCCR624.7K32S412U17A3SN74HC00NU17B613U19B4SN74LS04NU19A2SN74LS04ND14R634.7K5SN74HC00N 单脉冲电路原理图 S4: 脉冲发生开关 正脉冲:上凸符号端口输出正脉冲 负脉冲:下凹符号端口输出负脉冲 U25U19F1312SN74HC04NR74R7351C3730pF21M8MHZ1R7551C3630pF8GNDSN74HC4040N11U19E10SN74HC04N1110CLRCLKVCCQAQBQCQDQEQFQGQHQIQJQKQLVCC1697653241312141514M2M1M500K250K125K62.5K3125015625781239061953XTAL1 频率发生器电路原理图 4M: 输出4MHZ频率信号 其他端口输出的信号频率与端口下标识的数值一致 112232.8 B3区:8259电路 CS: 片选信号,低电平有效; A0: 地址信号 INR0..INR7:中断输入 INTA: 中断响应 3U28CSWRRDD7D6D5D4D3D2D1D01234567891011121314CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GND8259VCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2VCC2827A02625242322212019181716SP/EN155INTAIR7IR2IR1IR0INT 45678R961K2.9 B4区:8155、8255电路 8 4321123U36D0D1D2D3D4D5D6D7RDWRA0A1CS343332313029282753698356D0D1D2D3D4D5D6D7RDWRA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC78255JP79TMROUTTMRINPC55PC42PC31PC239PC138PC037PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA036353433323130292827262524232221 43214039383718192021222324251415161713121110PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7123456781234567812345678JP56 AJP53RSTJP52B876543218765432187654321U41PC5PC4PC3PC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155RESET4RSTTMRIN3TMRIN CS: 片选信号,低电平有效; A0、A1:地址信号。 JP52: PC口; JP53: PB口; JP56: PA口。 CS: 片选信号,低电平有效。 IO/M: 高电平,选择I/O口; 低电平,选择数据RAM。 JP75: PB口; JP76: PA口; JP79: PC口。 JP69GND1357911132468101214TitleTMRINJP75TMROUT6TMROUTTMROUTCALEIO/MWRRDCE1171098ALEWRRD8155IO/MCSJP76AD7AD6AD5AD4AD3AD2AD1AD01918171615141312D7D6D5D4D3D2D1D0 D 打印口 12PC0PA7PA5PA3PA1PB7PA6PA4PA2PA0SizeADate:File:3Number2006-4-11Sheet1.SchDo2.10 B5、C6区:扩展区 实验仪提供了二个扩展区,用来扩展USB1.1、USB2.0、以太网、CAN总线、非接触式IC卡、双通道虚拟示波器、CPLD、FPGA等扩展模块,其它模块正在陆续推出中。 如果扩展模块较大,可以同时使用二个扩展区。 9 D2.11 C1区:电源区 C1区为用户提供了5V(2A)、+12V(300mA)、-12V(300mA)等几种电源接口。 2.12 C2区:93C46 DS17CSR42470R5510KDISCLR5410KU1416325CSNCDISCLGND93C46PVCCDONC847R5110KDOVCCJP1712 CS: SCL: DI: DO: 片选,高有效 时钟 数据输入 数据输出 2.13 C3区:138译码器 1R68JP3212345678ABCG2BG2ADS20470VCCJP2812ABCG1G2AG2B123645U21ABCG1G2AG2BVCCY0Y1Y2Y3Y4Y5Y6Y716JP351514131211109712345678 2 A、B、C:3位数据输入口 Y0~Y7: 8位译码数据输出口 G1、G2A、G2B:译码控制口 5G18GNDSN74LS138N3 4CSR86C430.1uFU29R8910KSO1234CS/WDISOWPVssVcc8765470VCCDS28JP38122.14 C4区:X5045 CS: 片选,低有效 SCK: 时钟 SI: 数据输入 SO: 数据输出 RESET:复位信号输出 端,高电平有效 R91R9010K10KR9210KRESETX5045SCKSISCKSIRESETC4430pF10 2.15 C5区:8253、8251 BU35D0D1D2D3D487654D0D1D2D3D4 OUT0GATE0CLK010119OUT0GATE0CLK0 CS: 片选信号,低电平有效; A0、A1:地址信号; D53D62D5D71D6OUT113OUT1 D7GATE114GATE1CLK115CLK1 CS825321RD22CS WR23RDWR 19OUT217A020A0GATE216OUT2 A1A1CLK218GATE2CLK2 8253 U38D21 D32D2D128D1D3D027D0RXD3 4RxDVCC26D45GNDRxC25VCCCS: D56D4DTR24RxCRxC、TxC:D67D5RTS23D78D6DSR22D7RESET21RSTC/D: TxC9WR10TxCCLK20CLKWRTxD19TXDRXD、TXD:CS11CSTxEMPTY18CLK: C/D12RD13C/DCTS17RDSYNDET16 RxRDY14RxRDYTxRDY15TxRDY8251 2.16 D1区:蜂鸣器 Vcc8550R111007LS1Q6R25.1KC400.01uFR1BuzzerCtrl2K Ctrl:控制接口,10-蜂鸣 2.17 D2区:0~5V电压输出 VCC W1 0-5V 10K0-5V: 电压输出端 7片选信号,低电平有效;收发时钟; 命令/数据; 串行收发。 时钟。 211 68A68

2.18 D3区:光敏电阻、压力测量 光敏电路 VCC12R137100K4U15A2W4100KR581K1K3R48AA1R13310KR134U15C910U15D138R13610K1244D14OUTCR49LM324N11LM324ND2R562.5V1KR41R501KR135R5710KR6410K11C831000pFR13910KW3100KC211000P100KR138U15B65LM324NBR14071K114B111KLM324N R41、R57是光敏电阻;OUT:模拟电压信号输出端。 测压电路 R137100K4W4100KR48R581K3LM324NA1R13310KR134U15C910C8R20310KU26D1312U15D1314R20410K1244VCCU15A24R205100KD14OUTR491KD2R41R562.5V1KR501K1KR571K111KDLM324N1111LM324N11C831000pFLM324NR20610KC921000pFR13910KC21W3100K1000PR13510K100KU15B65LM324NR14071KR64R13810K4CB11 D压力测量: R41: 电阻应变片,阻值1K ; OUT: 压力模拟电压信号输出端; 1212 2.19 D4区:并串转换 2.20 D5区:串并转换 VCCR69470U22SH/LDCLKSER12345678JP361152101112131434568SH/LDVCCCLK INHCLKSERABCDEFGHGNDSN74HC165N16R87470U30VCCQH9QHQH7QHCLKAB1298ABCLRCLKQAQBQCQDQEQFQGQH14JP4934561011121312345678DS21JP2912VCCDS25JP39127GNDSN74HC164N 2.21 E1区:步进电机 1DS3R7U68ADA1234567GNDI1I2I3I4I5I6I7ULN2003A470VCCO1O2O3O4O5O6O7916151413121110Motor StepVCCJP3122MBC 2.22 E2区:PWM电压转换 R4310KINU8325641IN+1IN-2IN+2IN-GNDLM358PVCC8C18170.1uFOUT+12VBC17470PFR522K1OUT2OUT PWM电压转换电路 IN: 信号输入 OUT: PWM转换电压输出 C 13 12R145VCCAR143R146IN1U26C910LM324N功率放大电路 IN1: 信号输入 OUT1:信号输出 R144OUT14C8Q68550 2.23 E3区:继电器 D4DS22R7087R8118Q5R82855045312K1COM12KCOM25.1KR83CTRL470VCCJP301211BCUT1CLOSE1CUT2CLOSE26 CTRL: 继电器开闭控制端 COM1、COM2:公共端1、2 CLOSE1、CLOSE2:常闭端1、2 CUT1、2: 常开端1、2 2.24 E4区:I2C总线(包括24C02A,PCF8563P,ZLG7290) JP84DJP58AR951K87658765R96U3112374A0VCCA1A224C02CPSDAWCSCLGND88123412341KJP57CU33131221223456201914R94R93ZLG7290VCCJP4012R97560KDig7Dig6Dig5Dig4Dig3Dig2Dig1Dig0SDASCLINTSegASegBSegCSegDSegESegFSegGSegHOSC2OSC1RES4148232412789101817158765432187654321DIG7DIG6DIG5DIG4DIG3DIG2DIG1DIG0KR8KR7KR6KR5KR4KR3KR2KR1D6KL11KL22345678D74148R10012341234R101C5122pF22087658765220SEGASEGBSEGCSEGDSEGESEGFSEGGSEGH1JP542345678CB21XTAL38MHZ22pF4.7K564.7KC77C52470pF32.768KHZ1C4215pFXTAL2212374OSCIOSCOINTCLKOUTVSSU32VDDDS2656R88SDASCLDINTPCF8563PSDASCLKEYCLKOUT 1214 SDA: KEY: CLKOUT: A: C: 数据线 按键中断,低有效 PCF8563频率输出 接按键的列线 接数码管选择脚 SCL: INT: B: D: 时钟 PCF8563P中断输出 接数码管段码 接按键的行线 3122.25 E5区:8279键盘/LED控制器 JP93DU40SN74LS240P11924681113151710VCC20OE1OE2A1A2A3A4A5A6A7A8GNDVCCVCC20AefgdpD0D1D2D3D4D5D6D7INT8279RDWR27262524121314151617181942210112139U39U37OUTA0OUTA1OUTA2OUTA3DB0DB1DB2DB3DB4DB5DB6DB7IRQCSRDWRA0CLKRESET8279OUTB0OUTB1OUTB2OUTB3BDSL0SL1SL2SL3RL0RL1RL2RL3RL4RL5RL6RL7SHIFTCNTL/S3130292823323334353839125678363712345678JP62119abcdefgdp24681113151710abcd123VCC645ABCOE1OE2AOE2BVCCY0Y1Y2Y3Y4Y5Y6Y7VCC1615141312111097123456788GNDSN74LS138NY1Y2Y3Y4Y5Y6Y7Y818161412975312345678JP77CU40SN74LS240POE1OE2A1A2A3A4A5A6A7A8GNDR12310KVCCABCSA0CLKRSTY1Y2Y3Y4Y5Y6Y7Y8181614129753VCC1JP782345678B987654321 CCS: CLK: A: C: 片选信号,低电平有效 时钟 接按键的列线 接数码管选择脚 A0: B: D: 地址信号 接数码管段码 接按键的行线 DTitleSizeADate:File:123Number2006-4-11Sheet1.SchDocSheet ofDrawn By 15

2.26 E6区:8250 U43D0D1D2D3D4D5D6D7SINSOUTVCCR133CS21WR10K1234567891011121314151617181920D0VDDD1RID2DCDD3DSRD4CTSD5MRD6OUT1D7DTRRCLKRTSSINOUT2SOUTINTRCS0NCCS1A0CS2A1BAUDOUTA2XINADSXOUTCSOUTWRDDISWRRDVSSRDPC164503.072MHZR12730PFC651M50PFC66VCC4039383736353433323130292827262524232221RDJP88RIDCDDSRCTSRSTDTRRTSDCDSINSOUTDTRRIDSRRTSCTSGND123456789A0A1A216C550 CS: SIN : 片选信号,低电平有效; 串行输入 A0、A1、A2: 地址信号; SOUT: 串行输出 2.27 E7区:RS232 VCC0.1uFC75C76J1C72U461381110130.1uF26160.1uF12914745TXDC700.1uFGNDR1 INR2 INT1 INMAX202CPET2 INC1+C1 -15R1 OUTR2 OUTT1 OUTT2 OUTC2+C2 -RXD1627384951110V+V-VCCC710.1uF 2.28 E8区:RS485 U47RE/DERO21RBVCCVCCA867R119120BADI345GNDDMAX485CPA 16

2.29 F1区:直流电机转速测量/控制 使用光电开关测速 VCCCTRLR8VCCR16470R204.7K34GP2S05R284.7KSN74LS14NSN74LS14NQ485501U7A23DS4JP412R18DS10330R17330R19330U7B4REVDS9DS8LIGHTM直流电机330OP11212 使用霍尔器件测速 VCCCTRLAR8470R18DS10DS4JP412MR16330U1VCC3REVOUT3020GND12330R17330R19330DS9DS8直流电机LIGHT CTRL:控制电压(DAC0832经功放电路提供)输入;REV:光电开关或霍尔器件脉冲输出(用于转速测量);LIGHT:低电平点亮发光管。 2.30 F2区:串行AD BVCCR44R5310KCLKU971324I/O CLKREF+REF-ANLG INGNDTLC549CP470VCCDS15JP1812 CS: CLK: AIN: DO: VCC8R6010KDOCSAINDOCS65片选,低电平有效; 时钟输入端; 模拟量输入端; 数字量输出端。 C 17 782.31 F3区:DAC0832数模转换 DS23VCCR71470U20CSWR12181917765416151413310CSWR1WR2ILEXFERDI0DI1DI2DI3DI4DI5DI6DI7AGNDDGNDDAC0832LCNVDD20W51KR78JP31510D5C330.1uF+12V7-12VU261234567OUTPUT1OUTPUT4-INPUT1-INPUT4+INPUT1+INPUT4V+GND14131211109812OUTD0D1D2D3D4D5D6D7VREFRFBIOUT1IOUT2891112U2323LM741CN5861W6-12V10K+INPUT2+INPUT3-INPUT2-INPUT3OUTPUT2OUTPUT3LM324N4R794.7K-12VC320.1uF CS:片选,低有效;OUT:转换电压输出;电位器W5:调整基准电压。 2.32 G1区:温度测量/控制 VCCR9470R310KU12DQ1338TCtrlDS5JP512TOUTVCCDS18B20GND热源RT1 TOUT: 数据线 TCtrl: 温度控制端,向发热电阻 RT1供电 2.33 G2区:红外通讯 VCCDS11R29470R37100C12R3810KOUT4.7uF2Q538550JP1112R21100Q3t R33CLK1KR3610KR30IN1KR3210K1DS12TSAL6200Q21HS0038B28550VCC IN: CLK: 串行数据输入 OUT: 串行数据输出 载波输入,可接31250(B2区)频率输出 18 2.34 G3区:串行DA VCCJP1912R4710KDINSCLKCSR4610K1234U10R45470DS16C19VDDOUTREFINAGND2678876520.1uF3A+12VC250.1uF8U16ADINSCLKCSDOUTU11TLC56151OUTTL072CP40.1uFC261453VINNCNCGNDVOUTNCNCNC-12VMC1403U DIN: OUT: 数字量输入端 模拟量输出端 CS: 片选,低有效 SCLK: 时钟 2.35 G4区:ADC0809模数转换 DS24VCC12VCCEOCOED0D1D2D3D4D5D6D71179171415818192021D0D1D2D3D4D5D6D7EOCSN74LS02NU24B45SN74LS02NR72470U18CLK106262728123452524232213CLKSTARTIN0IN1IN2IN3IN4IN5IN6IN7ADD AADD BADD CALEGNDU24A3CSWR6RDIN0IN5IN7ADDAADDBADDCADC0809CCNIN3VREF+VREF-1216 CS: CLK: ADDA,ADDB,ADDC: EOC: IN0、IN3、IN5、IN7: 片选,低有效; 输入时钟(10k-1280kHZ); 通道地址输入口; 转换结束标志,高有效。 模拟量输入 19 2.36 G5区:键盘&LED DS2912345678SEGASEGBSEGCSEGDSEGESEGFSEGGSEGH1174211053abcdefgdpagdbcdpGND4GND3feagdbcdpGND2feagdbcdpGND1feLG4041AHagdbcdpDS30SEGASEGBSEGCSEGDSEGESEGFSEGGSEGH1174211053abcdefgdpagdbcdpGND4GND3feagdbcdpGND2feagdbcdpfeLG4041AHagdbcdpGND1BJP42121289JP4112345678986986CJP92112131415161718112223242526272821234567812345678DJP47A A: C: 按键的列线 数码管选择脚 B: D: 数码管段码 按键的行线 2.37 G6区:发光管、按键、开关 JP65R107VCCJP6312DS3212345678470DS35DS36DS37DS38DS39DS40DS41DS42510510510510510510510510R111R112R113R114R115R116R117R118 发光管电路原理图 JP65:发光管控制接口,0-灯亮,1-灯灭 20 JP74VCC12345678 JP80R11912345678910KVCC12345678R12412345678910KS29S30S31S32S33S34S35S36S21S22S23S24S25S26S27S2812 按键电路原理图 开关电路原理图 JP74:按键控制接口;按下-0信号,松开-1信号 JP80:开关控制接口;闭合-0信号,断开-1信号 A2.38 G7区:接触式IC卡 VCC15RESET273468910U45VCCGNDRESETIOCLKNCNCNCKAKBIOCLKIC CARDKABR12912348765VCC C 21

3星研集成环境软件

USB接口的仿真器、实验仪客户:USB设备是即插即用的设备,在第一次安装时,Windows将调用“添加新设备向导”扫描所有可用的INF文件,试图找到合适的驱动程序。为了避免USB设备安装可能造成的麻烦,我们强烈的建议您先安装星研集成环境软件,安装程序将自动处理USB设备安装所需的INF文件和驱动程序。

3.1 软件安装

3.1.1 安装星研集成环境软件

一. 新用户安装步骤

使用光盘安装:

1.将仿真器、实验仪所配CD插入CD-ROM驱动器。

2.在“我的电脑”或“资源管理器”中选择CD-ROM驱动器\\ WIN32\\星研,然后运行SETUP.EXE文件即可进入安装界面。

3. 中文界面,用户只需按程序提示一步一步进行安装即可。

使用Internet下载文件的用户 1.运行下载文件(XingYan.exe),软件自动执行安装程序。

2.安装程序为中文显示,用户只需按程序提示一步一步进行安装即可。

二. 已安装过低版本星研集成环境软件的用户的安装步骤:

1.首先将原来的低版本软件进行卸载,具体步骤请参考“软件卸载”部分的内容。 2.以后按新用户的安装步骤进行安装。

在安装过程中,如果用户没有指定安装目录,安装完成后会在C:盘建立一个C:\\XINGYAN目录(文件夹),结构如下:

XingYan 可执行文件、DLL文件、寄存器文件

EXAMPLES 例子程序

3.1.2 软件卸载

1.进入控制面板,运行“添加/删除程序”。

2.进入“添加/删除程序”窗口,在“安装/卸载”页面上的列表中选择“星研集成环境软件”,按“删除”按钮,之后按自动卸载程序的说明一步一步地操作即可。

3.1.3 USB驱动程序

1、USB驱动程序的安装

通过USB(通用串口总线)接口将微机与仿真器、实验仪相连,打开仿真器、实验仪电源。仿真器、实验仪与微机的第一次连接引起驱动程序的安装会变得很简单,您只需等待安装过程

22

的结束或按驱动程序的安装向导执行完即可。驱动程序的安装会出现如下界面:

实际的界面可能有些差别,请等待该过程的结束。驱动程序的安装过程中,请勿执行其它应用程序。

2、 如何解决连接不上的情况

如果仿真器、实验仪与微机连接不上是由于未按正确步骤造成的,可根据以下步骤解决:

Window98/Window Me:重新安装星研集成环境软件,关闭仿真器电源,稍等几秒钟,再打开电源,等待操作系统安装新的驱动程序结束后,运行星研软件即可。

Windows2000/WinXP:在仿真器电源打开的情况下,使用控制面板中的“设备管理器”,可以看到一个未安装好的USB设备:

上图中的“通用串行总线控制器”下有一个打问号的USB设备,选中后按鼠标右键,选择菜单中的“卸载”项。重新安装星研集成环境软件,关闭仿真器、实验仪电源,稍等几秒钟,再打开电源,等待操作系统安装新的驱动程序结束后,运行星研软件即可。

注意:必须先安装星研集成环境软件;在WinXP中,驱动程序的安装会有选项,按缺省的值选

择即可。

3.1.4 软件启动

运行Windows,进入桌面窗口。

鼠标单击“开始”按钮,在“程序”栏中打开“星研集成环境软件”菜单栏,在其中选择“星研(SUPER、STAR系列仿真器)”,开始启动星研集成环境软件。

23

注意:当您使用低配置机器时,从星研集成环境软件退出后必须等待足够的时间,让系统完全退出(硬盘停止工作)后,方可再次启动星研集成环境软件。

3.1.5 编译器

星研集成环境软件支持的编译器

MCS51 MCS96、MCS196 80X86 Keil A51、C51 Intel ASM96、PLM96、C96 TC、TASM Franklin A51、C51 Tasking ASM196、C196 Intel ASM51、PL/M51 Archimedes A8051、C-51 编译器请用户自备。 设置工作环境

您的编译器正确安装后,请设置星研集成环境软件的编译器工作环境。 打开[主菜单 ? 项目 ? 设置工作环境]:

例如:您使用的编译器是TASM、TC,安装在C:\\xingyan\\TASM,C:\\xingyan\\TC,

TASM宏汇编路径: C:\\xingyan\\TASM; Turbo C路径: C:\\xingyan\\TC;

3.1.6 README文件

使用通用的文本编辑器,打开星研集成环境软件安装目录下的README.DOC文件,可获得此版本软件新增功能及最新的仿真器、实验仪安装、新增功能和使用信息,这些信息往往未及写入本手册。

24

3.2 如何使用星研集成环境软件

下边几节,介绍如何使用星研集成环境软件:3.2.1 使用汇编语言,将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FF中;B4区的61C256IOW读写;在I/O设备区,使用IOR、再将它传送回数据段的6000H~60FFH中。3.2.2 使用Turbo

C,重新编写第一个实验。

3.2.1 数据传送程序(ASM)

星研集成环境软件推荐您使用项目为单位来管理您的程序。如果您做一个简单的实验,或

只希望看一个中间结果,您可以不建立项目文件,系统需要的各种设置,来源于“缺省项目”。本节不使用项目文件。

本例子旨在通过建立一个具体的程序来介绍星研集成软件的使用方法以及它的强大的调试功能。使用户很快的上手,体验到我们软件功能的强大和方便。

本实例是将数据段中3000H~30FFH单元的内容传送给实验仪B4区的61C256的2000H~20FFH中;B4区的61C256在I/O设备区,使用IOR、IOW读写;再将它传送回数据段的6000H~60FFH中,程序是用汇编语言来编写。下面介绍相应的操作步骤:

首先运行星研集成软件。启动画面如图:

25

1、设置缺省项目

执行 [主菜单 ? 辅助 ? 缺省项目],出现一个对话框:

选择“STAR ES8688仿真模块”。 点击进入下一步:“选择语言”

您可以根据自己的需要以及程序的类型作相应的选择,本实例选择Borland公司的Turbo C(3.0)、TASM(5.0) (请确定在选择语言之前已经安装好相应的编译软件)。然后再点击进入下一步:“编译、连接控制项”

26

然后再点击进入下一步:“存贮器出借方式”

实验仪提供64K memory空间,memory model请选择tiny,缩写为mt;如果需要源程序级别调试,必须使用-v –y控制项,为了支持多文件编译、连接,必须使用-c控制项。

一般不必改变Turbo C的编译控制项。

如果需要源程序级别调试,必须使用/zi /l控制项。

一般不必改变Tasm的编译控制项。

如果需要源程序级别调试,必须使用/m /l /v控制项。

一般不必改变TLINK的连接控制项。

27

仿真模块EMU598提供64K仿真RAM,作程序段(CS)、数据段(DS)、附加段(ES)、堆栈段(SS)使用。 2、建立源文件

下面我们建立源文件,执行 [主菜单 ? 文件 ? 新建],(或者点击图标)打开窗口如下:

首先选择存放源文件的目录,输入文件名,注意:一定要输入文件名后缀。对源文件编译、连接、生成代码文件时,系统会根据不同的扩展名启动相应的编译软件。比如:*.asm文件,使用TASM来对它编译。本实例文件名为move.asm。窗口如下:

28

按“确定”即可。然后出现文件编辑窗口:

输入源程序,本实例的源程序如下: .MODEL TINY ;memory mode : tiny .STACK 100 ;堆栈

.CODE ;开始程序段 START: MOV AX,@DATA MOV DS,AX MOV ES,AX NOP MOV CX,100H MOV SI,3000H MOV DX,2000H START1: MOV AL,[SI] OUT DX,AL INC SI INC DX LOOP START1 MOV DI,6000H MOV DX,2000H MOV CX,100H START2: IN DX,AL MOV [DI],AL INC DI INC DX LOOP START2 SJMP $ Move ENDP END START

输入源程序,如下图:

29

这样一个源文件就建立好了。 3.编译、连接文件

首先选择一个源文件,然后可以编译、连接文件了。对文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、EXE文件)。编译、连接文件的方法有如下二种:(1)使用[ 主菜单 ? 项目 ? 编译、连接 ]或[主菜单 ? 项目 ? 重新编译、连接 ]”。(2)点击图标或来“编译、连接”或“重新编译连接”。

“编译连接”与“重新编译、连接”区别:“重新编译、连接”不管源文件是否修改、编译软件是否变化、编译控制项有无修改,对源文件编译,如果没有错误,再与库文件连接,生成代码文件(DOB、EXE文件)。编译、连接过程中产生的信息显示在信息窗的“建立”视中。编译没有错误的信息如下:

若有错误则出现如下信息框:

30

有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。

这时用户可以作相应的修改,直到编译、连接文件通过。

4.调试

在进入调试状态以前,请正确设置通信口:执行[ 主菜单 ? 辅助 ? 通信 ],对话框如下:

仿真器、实验仪配套的通信线可以与微机USB口相连,即为USB通信线,请选择USB。 对于最下面一行的校验,通常您不必选中它,可以提高传送DOB、HEX、BIN文件时的速度。

在进入调试状态以前,你还必须确定仿真器、实验仪与微机的正确连接,如果使用仿真器,仿真头正确地连接在仿真器上。电源接通,开关打开。

在软件中选择对应的仿真器、实验仪型号,具体设置如下:执行[ 主菜单 ? 辅助 ? 仿真器、实验仪 ],对话框如下:

31

根据你所使用的机型作相应选择。

如果编译、连接正确后,可以开始调试程序。进入调试状态方法有: a) 执行[ 主菜单 ? 运行 ? 进入调试状态] b) 点击工具条的

c) 执行[ 主菜单 ? 运行 ? 装载DOB、HEX、BIN文件] 进入后的窗口如下:

在整个图片中我们可以看到相对应的窗口信息。在“工作区窗”的“CommonRegister”中我们可以了解通用寄存器的信息。中间的窗口为源程序窗口,用户可在此设置断点,设置光标的运行处,编辑程序等。寄存器窗我们可以看到一些常用的寄存器的数值。存贮窗1、存贮窗2显示相应的程序段(CS)、数据段(DS)、IO设备区的数据,还有变量窗,自动收集变量显示其中。反汇编窗显示对程序反汇编的信息代码、机器码、对应的源文件。在信息窗的“装载”视中,显示装载的代码文件,装载的字节数,装载完毕后,显示启始地址,结束地址。这种船坞

32

化的窗口比通常的窗口显示的内容更多,移动非常方便。用鼠标左键点住窗口左边或上方的标题条,移动鼠标,将窗口移到您认为合适的位置;将鼠标移到窗口的边上,鼠标的图标变成可变化窗口时的形状,用鼠标左键点住,移动鼠标,变化一个或一组窗口的大小。在调试过程中,可以根据您的需要,在[主菜单 ? 查看]中打开:寄存器窗、存贮器窗1、2、3、观察窗、变量窗、反汇编窗。您也可以通过[主菜单 ? 辅助 ? 设置 ? 格式],设置每一种窗口使用的字体、大小、颜色。移动窗口到您喜欢的位置、大小。

首先在“种类”中选择一个窗口,然后选择“字体”、“大小”,在“颜色”中选择某一类,在“前景”、“背景”中选择您喜欢的颜色。

对于高级语言,在您的程序前有一段库文件提供的初始化代码,(当前可执行标志)不会出现在您的文件行上,如果您使用C语言,可将光标移到main函数上,按F4功能键,让CPU全速运行到main行上后停下;如果您使用PL/M语言,按F7功能键,让CPU“单步进入”,运行到您的任何一个可执行行后停下。

您可以使用以下命令调试您的程序:

设置或清除断点(功能键为F2) 在当前光标行上设置或清除一个断点 单步进入(功能键F7)

单步执行当前行或当前指令,可进入函数或子程序。 连续单步进入(功能键Ctrl + F7) 连续执行“单步进入”,用鼠标点击或按任意键后,停止运行。 单步(功能键 F8)

单步执行当前行或当前指令,将函数或子程序作为一条指令来执行。如果当前行中含有函数、子程序或发生中断,CPU将执行完整个函数、子程序或中断,停止于当前行或当前指令的下一有代码的行上。

连续单步(功能键 Ctrl + F8) 连续执行“单步”,用鼠标点击或按任意键后,停止运行。 运行到光标行(功能键 F4)

从当前地址开始全速运行用户程序,碰到光标行、断点或用鼠标点击,停止运行。 全速断点(功能键 F9)

从当前地址开始全速运行用户程序,碰到断点或用鼠标点击,停止运行。 全速运行(功能键Ctrl + F10)

从当前地址开始全速运行用户程序,此时,按用户系统的复位键,CPU从头开始执行用户程序,用鼠标点击,停止运行。全速运行时,屏蔽了所有断点,即不会响应任何断点。

33

停止运行 终止微机与仿真器之间通信(功能键 ESC)。

注意:欲终止微机与仿真器之间通信,功能键ESC是一个很方便的键,它的效果比点击相应的图标的效果要好。建议用户多用ESC键。在系统运行“连续单步”或者“连续单步进入”时ESC键被禁止,这时用户可以按键盘的其他任意键停止其运行。

5.调试的方法及技巧

一般来说,用户的程序或多或少的会有一些逻辑错误,我们的仿真器、实验仪和星研集成软件可以帮助用户很快的定位,很快的查出相应的错误。

在调试状态的窗口中我们可以看到很多的窗口,用户只要熟练地应用这些窗口来观察、分析数据就会很快的调试好程序,达到事半功倍的效果。

进入调试界面后,由于我们本次操作需要观察三个数据块:数据段3000H~30FFH,数据段6000H~60FFH,I/O区2000H~20FFH,可以打开二到三个存贮器窗口,具体操作是:[主菜单?查看]

然后根据你的需要打开不同的窗口。调整后的调试界面为:

34

由于我们本次操作主要是观察存贮器窗口,所以我们拉大了这两个存贮器窗口的大小。每个窗口设置了4个分页项:,我们可以在不同的分页项设置不同的观察数据空间以及地址范围。在中可以选择CS:Memory,DS:Memory,I/O,根据需要可以做不同的选择。在中可以直接输入地址,然后按回车,就可以直接转到我们输入的地址的窗口上面观察数据。由于我们在此程序中的写入数据的RAM空间分别为DS:3000H~30FFH、DS:6000H~60FFH、I/O区2000H~20FFH,故我们建立的分页项如下: 存贮0分页项:

存贮1分页项:

35

存贮2分页项:

我们这样设置界面的目的就是当用户要观察不同地址段的数据时,只要切换一下分页项就行了。由于本次程序需要同时观察DS:3000~30FFH、I/O:2000~20FFH和I/O:2000H~20FFH、DS:6000H~60FFH,所以打开二个存贮器窗。如图:

软件中总共存在3个存贮器窗。可以同时观察三个不同的地址。

存贮器窗口支持数据的直接修改功能。本软件的所有窗口中的数据都支持直接修改功能。用户可以根据自己的需要在窗口中直接修改数据。比如:执行程序前,将DS:3000H~300FH中的数据改为11、22、33、44、55、66、77、88、99、AA、BB、CC、DD、EE、FF、00,在相对应的地址中直接输入数据即可。如图:

一般刚刚写好的程序,在进入调试状态后,执行“单步”或者“单步进入”,我们推荐您能记住这些操作的相对应的功能键,这样您就在调试程序的过程中很方便。

在刚才的调试程序中我们多次执行“单步(F8)”命令,在工作区窗口的CommonRegister

36

视中查看通用的寄存器:

我们可以观察到在本程序中所使用的一些寄存器的变化,比如AX、CX、DX、SI的数值的变化,每一次循环,CX减一,DX、SI加一,AX寄存器的低字节AL暂存从DS:[SI]取出的数值:11、22、33、44、55、66??。

我们可以看到存贮器窗口中的相对应的RAM的数据的变化。比如

其中右边为相应数据的ASCII码。切换分页项我们可以观察到其它地址的数据。

把光标移动到MOV DI,6000H行上,点击图标(功能键 F4),全速运行到光标行,检查IO:2000H~20FFH内容,是否与DS:3000H~30FFH相同,如果完全一样,说明以上程序没有任何问题。

切换分页项,存贮器窗显示DS:6000H开始的单元内容,将光标移到JMP $行的左边,鼠标变为,点击鼠标,在该行上设置了一个断点,也可以用鼠标点击该行,将光标移到鼠标处,点击图标(功能键为F2),设置断点,重复操作,清除断点。

点击图标(功能键 F9),CPU全速断点运行到光标处停下,检查DS:6000H~60FFH内容,与I/O:2000H~20FFH内容是否一样,相同表示程序没问题;如果不相同,将光标移到MOV DI,6000H行上(具体操作是:用鼠标点击该行,然后再点击图标),使用单步进入命令F7或连续单步进入命令Ctrl + F7,检查结果,判断程序出错原因。

37

3.2.2 数据传送程序(C)

本例子使用项目文件来管理,旨在通过建立一个具体的项目来介绍星研集成软件的使用方法。如果您的系统有几个文件组成,就必须使用项目文件。

1、建立项目文件

执行 [主菜单 ? 文件 ? 新建],(或者点击图标)打开窗口如下:

由于星研集成软件是以项目为单位来管理程序的。所以我们在建立文件之前先要建立项目文件。点击“创建项目文件”分页项,如图示:

我们可以输入项目文件名,以及选择目录,星研集成软件在您输入一个项目文件名时,就建立了以项目文件名为名的一个文件夹,以后您在编译、调试过程中生成的所有文件都在此文件夹里。这体现了星研集成软件的人性化设计。键入项目文件名“move”,如下:

然后按确定,进入“设置项目文件”部分。 2、设置项目文件

设置项目文件与设置缺省项目操作完全一样,请参阅上一节。 3、建立源文件

建立好项目文件的窗口如下图所示:

38

工作区窗的项目视中,包含“源文件”、“头文件”、“库文件”、“其它文件”,“其它文件”中通常包含对该项目用途作一些说明的文件。“库文件”通常包含编译软件自带的OBJ文件、LIB等库文件。

下面我们建立源文件,执行 [主菜单 ? 文件 ? 新建],(或者点击图标)打开窗口如下:

选定刚才建立的项目文件的文件夹,输入文件名,注意:一定要输入文件名后缀。系统会根据不同的后缀名给文件归类。比如:*.asm文件系统会自动归类为源文件。选中“添加到项目文件中”,系统自动将该模块文件加入到项目中。本实例文件名为move.c。

按“确定”即可。然后即出现文件编辑窗口:

39

程序清单:

#include \void main(void) {

unsigned char array1[0x100]; unsigned char array2[0x100]; int i;

for (i = 0; i < 0x100; i++) array1[i] = ~i;

for (i = 0; i < 0x100; i++)

outportb(i + 0x2000, array1[i]); for (i = 0; i < 0x100; i++)

array2[i] = inportb(i + 0x2000); while (1); }

建立好文件的窗口如下:

附:

注意:若在新建文件时不输入文件后缀,则其文件不会保存在源文件那一项,而是保存在其他文件的文件夹中。一般我们建立对项目说明的文件即可用此方法。如图建立一个本程序的说明文档“shuoming”

40

然后编辑文档,如下图:

然后保存,就可以了。

4、编译、连接文件

在建立好项目文件、源文件后,就可以编译、连接文件了。对工作区窗项目视的“源文件”中所有模块文件编译,如果没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB、EXE文件)。编译、连接文件的方法有如下三种:(1)在工作区窗的项目视中按鼠标右键,系统弹出快捷菜单,选择“编译、连接”或“重新编译连接”。(2)使用[ 主菜单 ? 项目 ? 编译、连接 ]或[主菜单 ? 项目 ? 重新编译、连接 ]”。(3)点击图标或来“编译、连接”或“重新编译连接”。

“编译连接”与“重新编译、连接”区别:“重新编译、连接”不管项目中有无添加、删除

41

模块文件、编译软件是否变化、编译控制项有无修改、模块文件有无修改,对“源文件”中所有模块文件编译,如果没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB、EXE文件)。编译、连接过程中产生的信息显示在信息窗的“建立”视中。

详细请参阅上一节。 5、调试项目文件

下面我们进入调试状态,调试C语言程序时,我们观察的比较多的是寄存器窗、观察窗和变量窗。所以我们把这些窗口放在前台,并调整至适当的大小。如图所示:

我们执行“单步”命令时就会在变量窗口中看到相应的变量的变化:

变量窗包含“自动”、“局部”、“模块”、“全局”四个标签视。

自动: 星研自动搜集当前行(PC指针对应的文件行)及前二行上的变量。通常这三行有您最关心的变量,也是星研集成环境的一大特色。

局部: 显示当前函数或当前过程中的所有变量。 模块: 显示当前模块文件中所有模块级变量。 全局: 显示所有全局变量。

经常查看的变量分别放入观察窗的4个标签视中,您会感觉非常方便、快捷。在观察窗口中我们可以随意的添加我们想要观察的变量,具体方法是:(1)在文件窗中,用鼠标左键双击

42

变量名,按住鼠标左键,将该变量名拖至观察窗中,释放鼠标左键,星研自动将该变量添至观察窗中。(推荐方法)(2)用鼠标左键双击观察窗中的虚线框,出现一个编辑框,在编辑框中输入一个变量名,输入回车即可。观察窗中的四个页面项的作用完全一样,当您要观察的变量很多时,用户可以在不同的页面项输入观察变量,这样观察时只要点击一下页面项就可以了。这也是星研软件的人性化设计的一个方面。比如;我们在观察窗中添加变量i,array1,array2观察,如图:

这也就方便了用户的调试和分析。

在第一个循环中,连续执行单步操作,我们可以看到i的值在递增,0FFH~00H赋给array1[0]~array1[255];第二个循环中,连续执行单步操作,我们可以看到数组array1复制给I/O:2000H~20FFH;第三个循环中,连续执行单步操作,我们可以看到I/O:2000H~20FFH单元数据复制给数组array2;比较数组array1、array2中数据,判断程序是否正确。

当然这些窗口中的数值也支持直接修改功能,双击要修改的数值,出现一个编辑框,在编辑框中输入数据,输入回车即可。用户在调试很长的程序时,为了分段检测,若前段程序有问题,我们可以在下一段程序前用修改变量的方法先使程序满足所需要运行的条件,这样就方便了下一段程序的检测。

另外一种查看变量方法:鼠标移到文件窗、反汇编窗口中的变量、寄存器上,半秒钟后,在它们的旁边,会显示相应的值。

所以说星研集成软件为用户提供了许多实用和方便的观察、调试、分析的功能,其他的一些功能我们会在后续的实例中作更详细的介绍。用户也可以依此类推,发掘出更多更好的为自己调试程序方便的功能。

43

4 软件实验

软件实验部分共有七个实验组成,通过对这些实验程序的编写、调试,使学生熟悉8086/8088的指令系统等,了解程序设计过程,掌握汇编程序、C程序设计方法以及如何使用实验系统提供的各种调试、分析手段来排除程序错误。

实验一 数据传送

一、实验目的

熟悉星研集成环境软件的使用方法。熟悉Borland公司的TASM编译器 熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。

二、实验内容

1、熟悉星研集成环境软件。

2、编写程序,实现数据段的传送、校验。

三、程序框图

开始循环次数-->CX,源首地址-->SI,目的首地址-->DI调用数据传送子程序循环次数-->CX,源首地址-->SI,目的首地址-->DICLD:执行字符串指令后,SI+1,DI+1串比较,CMPSBN相等?Y操作成功操作失败结束结束数据块传送比较程序框图数据传送子程序Y开始CLD:执行字符串指令后,SI+1,DI+1比较SI和DISI=DI?NSI>DI?N设定SI为源数据块末地址(SI=SI+CX-1)设定DI为目的数块末地址(DI=DI+CX-1)STD:执行字符串指令后,SI-1,DI-1数据串传送操作(MOVSB)Y

四、实验步骤

在DS段内3000H~30FFH中输入数据;使用单步、断点方式调试程序,检测DS段内6000H ~60FFH中的内容。熟悉查看特殊功能寄存器、CS段、DS段的各种方法。

44

五、程序清单 .MODEL TINY .STACK 100 .DATA .CODE START: MOV AX,@DATA MOV DS,AX MOV ES,AX NOP MOV CX,100H MOV SI,3000H MOV DI,6000H CALL Move MOV CX,100H MOV SI,3000H MOV DI,6000H CLD REPE CMPSB JNE ERROR TRUE: JMP $ ERROR: JMP $ Move PROC NEAR CLD CMP SI,DI JZ Return JNB Move1 ADD SI,CX DEC SI ADD DI,CX DEC DI STD Move1: REP MOVSB Return: RET Move ENDP END START

六、思考题

1、子程序Move中为什么比较SI、DI?

源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还

是从最后一个字节开始复制(倒序复制)。

2、编写一个程序,将DS段中的数据传送到实验仪B4区的61C256中。

说明:B4区的61C256在I/O设备区,使用IOR、IOW读写。

45

实验二 双字节BCD码(十进制数)加法

一、实验目的

熟悉8086汇编指令,学会使用星研集成环境软件,能自己编写简单的程序,熟悉BCD码,了解如何调用系统提供的子程序。

二、实验内容

从键盘上输入4位被加数、加数,实现双字节BCD码(四位数)的加法,结果显示在数码管上;熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、CS段、DS段存贮器的各种方法。

三、实验框图

开始设定\再接收键输入\通过键盘获得4位被加数(压缩BCD码)设定\后才清除LED\通过键盘获得4位加数(压缩BCD码)被加数与加数低位字节不带进位加法十进制调整被加数与加数的高位字节带进位加法十进制调整压缩BCD码转换为非压缩BCD码高位消隐显示结果双字节BCD码加法程序框图

四、实验步骤

1、连线说明: E5区 :CLK E5区 :CS E5区 :A0 E5区 :A、B、C、D —— B2区:2M —— A3区:CS5 —— A3区:A0 —— G5区:A、B、C、D 2、在G5区的键盘上输入4位被加数、加数 3、结果显示在G5区的数码管上

五、程序清单

EXTRN EXTRN

.MODEL TINY

Display8:NEAR,GetBCDKey:NEAR F1:BYTE .STACK 100 .DATA

46

本文来源:https://www.bwwdw.com/article/hd65.html

Top