来源:蜘蛛抓取(WebSpider)
时间:2018-08-04 11:08
标签:
牛人自制4g信号接收器
STM32串口ISP 7F自动波特率应答后,发送其它命令返回非应答 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 1410|回复: 6
STM32串口ISP 7F自动波特率应答后,发送其它命令返回非应答
在线时间55 小时
该用户从未签到主题帖子精华
高级会员, 积分 931, 距离下一级还需 69 积分
本帖最后由
21:59 编辑
参考手册AN3155,这个文档是介绍STM32 串口ISP流程及命令。
根据手册上给的流程,设置BOOT0为高电平,通过串口助手在波特率9600下发送0X7F,请求单片机串口同步,手册指出,如果单片机返回0X79(ACK)表示应答成功。
具体操作流程如下:
1、设置单片机BOOT0引脚接高电平,接入ISP模式
2、通过串口助手,在9600波特率调节下给单片机串口1发送5个0X7F数据
3、串口助手显示单片机返回0X7F及0X1F,即0X7F表示应答,0X1F表示非应答
4、发送0X00 0XFF(Get command命令),单片机返回0X1F(非应答)
5、发送其它命令测试,都返回为非应答
我通过监视FlyMcu上位机发送给单片机的串口数据,发送我和这个上位机发送的数据完全一样,但是单片机就是不响应命令,请知道的朋友给点建议。谢谢
17:40 上传
点击文件名下载附件
下载积分: ST金币 -1
617.99 KB, 下载次数: 99, 下载积分: ST金币 -1
17:41 上传
点击文件名下载附件
下载积分: ST金币 -1
135.46 KB, 下载次数: 42, 下载积分: ST金币 -1
PC与单片机串口通信数据
楼主,注意一下串口的配置:
UART: parity check active (even parity)
            
      
在线时间909 小时
ST金币2431
该用户从未签到主题帖子精华
楼主,注意一下串口的配置:
UART: parity check active (even parity)
在线时间55 小时
该用户从未签到主题帖子精华
高级会员, 积分 931, 距离下一级还需 69 积分
请各位朋友给点建议,谢谢
就是不明白为什么我发的跟上位机是完全一样的数据,可单片机就是对命令不应答
            
      
在线时间55 小时
该用户从未签到主题帖子精华
高级会员, 积分 931, 距离下一级还需 69 积分
楼主,注意一下串口的配置:
UART: parity check active (even parity)
非常谢谢!!!
真的配置了奇校验或者偶校验 就正常了。谢谢
请问是两个校验中的任意一个还是?
在线时间909 小时
ST金币2431
该用户从未签到主题帖子精华
用even parity就可以。
            
      
在线时间55 小时
该用户从未签到主题帖子精华
高级会员, 积分 931, 距离下一级还需 69 积分
用even parity就可以。
谢谢,抱歉我是个文盲,呵呵,英语基本靠猜和查。
设置为偶校验
在线时间4 小时
该用户从未签到主题帖子精华
初级会员, 积分 73, 距离下一级还需 127 积分
            
      
站长推荐 /2
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered byI2C 串行总线的组成及工作原理
我的图书馆
I2C 串行总线的组成及工作原理
I2C Inter IC BUS1WIRE BUSSPISerial Peripheral InterfaceMicrowire/PLUS
I2CI2CSDASCL
I2CSDASCL“”
I2C,I2C80C5180C51
SCLSDASCLSDA&
I2CI2CSCLSCL&
“”“”SDA
&&& I2C78R/T“0”T“1”R
D7D1D0“0”“1”
2& 80C51I2C
I2C& 80C51AT89C2051I2C
I2CI2C“0”“1”
void init_IIC()
{&&&&& SDA=1;
&&&&&& delay();
&&&&&& SCL=1;
&&&&&& delay();
void start()
{&&&&& SDA=1;
&&&&&& delay();
&&&&&& SCL=1;
&&&&&& delay();
&&&&&& SDA=0;
&&&&&& delay();
void stop()
{&&&&& SDA=0;
&&&&&& delay();
&&&&&& SCL=1;
&&&&&& delay();
&&&&&& SDA=1;
&&&&&& delay();
void ack()
{&&&&& uchar i=0;
&&&&&& SCL=1;
&&&&&& delay();
&&&&&& while((SDA==1)&&(i&250)) &&&& {
&&&&&&&&&&&&& i++;
&&&&&& SCL=0;
&&&&&& delay();
void noack()
{&&&&& SDA=1;
&&&&&& delay();
&&&&&& SCL=1;
&&&&&& delay();
&&&&&& SCL=0;
&&&&&& delay();
void Write_Byte(uchar dat)
&&&&&& for(i=0;i&8;i++)
&&&&&& {&&&&& SCL=0;
&&&&&&&&&&&&& delay();
&&&&&&&&&&&&& if(dat&0x80)
&&&&&&&&&&&&& {SDA=1; }
&&&&&&&&&&&&& else
&&&&&&&&&&&&& {SDA=0; }
&&&&&&&&&&&&& dat=dat&&1;
&&&&&&&&&&&&& SCL=1;
&&&&&&&&&&&&& delay();
&&&&&& SCL=0;
&&&&&& delay();
&&&&&& SDA=1;
&&&&&& delay();&
uchar Read_Byte()
&&&&&& uchar i,
&&&&&& SCL=0;
&&&&&& delay();
&&&&&& SDA=1;
&&&&&& delay();
&&&&&& for(i=0;i&8;i++)
&&&&&&&&&&&&& SCL=1;
&&&&&&&&&&&&& delay();
&&&&&&&&&&&&& dat=dat&&1;
&&&&&&&&&&&&& if(SDA)
&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&& dat++;
&&&&&&&&&&&&& }
&&&&&&&&&&&&& SCL=0;
&&&&&&&&&&&&& delay();
void Write_IIC(uchar add,uchar dat)
{&&&&& start();
&&&&&& Write_Byte(0xa0);
&&&&&& ack();
&&&&&& Write_Byte(add);
&&&&&& ack();
&&&&&& Write_Byte(dat);
&&&&&& ack();
&&&&&& stop();
uchar Read_IIC(uchar add)
&&&&&& start();
&&&&&& Write_Byte(0xa0);
&&&&&& ack();
&&&&&& Write_Byte(add);
&&&&&& ack();
&&&&&& start();
&&&&&& Write_Byte(0xa1);
&&&&&& ack();
&&&&&& temp=Read_Byte();
&&&&&& noack();
&&&&&& stop();
void delay()
&&&&&& _nop_();_nop_();
&&&&&& _nop_();_nop_();
&&&&&& _nop_();_nop_();
&&&&&& _nop_();_nop_();
&&& AT24CE2PROM1010A2A1A037
78SDASCL9SDA
AT24C1“”“”“”
3& &7“0”“”SDASCL9SDA“”
[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢当前位置: >>
电子单片机实验指导书A
第一章单片机与微机原理实验指导书 A目录第一章 YB-DWSX 系列单片机原理应用综合实验装置简介............................................................ 2 §1.1 系统概述........................................................................................................................ 2 §1.2 实验课题........................................................................................................................ 3 §1.3 主要技术指标................................................................................................................ 4 第二章 YB-DWSX 系列单片机原理应用综合实验装置组成与结构................................................ 5 §2.1 系统电源........................................................................................................................ 6 §2.2 系统信号板.................................................................................................................... 6 §2.3 单片机仿真器................................................................................................................ 8 §2.4 常用单片机接口实验板................................................................................................ 9 §2.5 新型总线和新型外设接口控制电路实验板...............................................................11 §2.6 可配接的控制对象和单片机控制应用小系统.......................................................... 13 第三章系统仿真调试步骤及建议.................................................................................................. 13 §3.1 仿真调试步骤............................................................................................................ 14 §3.2 用户系统脱离仿真系统............................................................................................ 16 §3.3 设计、制造 51 用户系统的建议.............................................................................. 17 第四章仿真器键盘监控命令简介.................................................................................................. 18 §4.1 键盘布置.................................................................................................................... 18 §4.2 键盘监控特点............................................................................................................ 19 §4.3 键盘监控工作状态.................................................................................................... 20 §4.4 键盘监控操作命令介绍............................................................................................ 22 §4.4.1 复位命令―RESET 键 .............................................................................................. 22 §4.4.2 返回待命状态―MON 键........................................................................................... 23 §4.4.3 程序存贮器读写命令―MEM、NEXT、LAST 键....................................................... 23 §4.4.4 寄存器读写、特殊功能寄存器检查、片内 RAM 区读写命令―REG、NEXT、LAST 键: ......................................................................................................................................... 23 §4.4.5 外部数据存贮器、外部 RAM、口读写命令――ODRW、NEXT、LAST 键............... 26 §4.4.6 断点运行 .................................................................................................................. 27 §4.4.7 执行程序命令――EXEC........................................................................................... 29 §4.4.8 插入和删除命令――INS、DEL 键......................................................................... 29 §4.4.9 单步执行键――STEP.............................................................................................. 29 §4.4.10 计算相对转移偏移量命令――OFST 键............................................................... 30 §4.4.11 程序块移动/比较、反汇编打印命令――MOVE/COMP/DAR/FVBP 操作方法见下 表 ............................................................................................................................................. 32-1-第一章单片机与微机原理实验指导书 A第一章YB-DWSX 系列单片机原理应用综合实验装置简介§1.1 系统概述YB-DWSX 系列是绿扬公司的一套开发型模块化多功能单片机原理应用综合实验平台, 该 装置吸收了国内外先进教学仪器的优点, 综合国内重点院校实验室的现状和发展趋势, 实验 平台集实验桌与综合实验平台和微电脑于一体。 适合于多种课程 《单片机原理与应用》 ( 、 《自 动控制原理》 、 《计算机控制技术》 、 《微机原理与接口》 的实验教学。 等) 具有如下显著特点: 1、具有多样化的接口总线扩展功能,包括并行口总线、RS-232 总线、RS485 总线、I?C 总线、USB 总线、SPI 串行总线、CAN 总线、1-WIRE 总线和以太网接口;可调试多种外围新 型接口器件, I?C 键盘显示控制器 ZLG7290、 串行 RAM24C02、 串行实时时钟 PCF8563T、 含 I?C I?C I?C 串行十位 D/A TL5615、8 位 A/D TL549、1-WIRE 总线数字温度传感器 DS18B20、RS-232 器件 MAX232、 MAX485、 总线控制器 SJA1000、 收发器 TJA1050T、 CAN CAN 网络芯片 RTL8019AS、 复位电路 MAX708 等。 2、具有多种输入/输出设备,包含 128*64 点阵汉字 LCD、16*16 矩阵 LED、矩阵键盘、 IC 卡、语音录放、打印机等。配有直射式红外线光电传感器,用于直流电机转速测量。 3、配置多种控制对象,含 4 相控制步进电机 (2 相控制步进电机选配)、闭环控制直流 电机、恒温控制电加热器(选配)、继电器、电风扇。 4、学生可以通过本实验台配置仿真器进行仿真、编程、调试和监控实验的全过程,在 实验中提高学生的应用能力,也可以外配仿真器。 5、提供实验所用的各种常用信号源和仪表,含开关量输入/输出显示电路(16 路)、直 流信号源(±5V/±0.5V 可调),函数信号发生器(方波、正弦波、三角波),单脉冲(宽、窄 4 路)输出,固定脉冲(1HZ―10MHZ 分 10 档)输出, 50MHZ 液晶显示频率计,虚拟示波器。 6、实验台扩展有 Altere EPM7128S 下载应用电路,为学生的创新性设计提供良好的工 作环境。 7、所有模块化电路既可以独立用于单片机,也可以用于 CPLD,而且还可以作为单片机 和 CPLD 综合应用实验电路。 8、学生做实验的方式有低、中、高三种层次的选择,可以由浅入深,循序渐进,逐步 深入。 低级阶段: 学生可以使用调试完好的单个外部接口单元做单片机实验, 熟悉指令系统和 基本编程方法,验证实验结果。 中级阶段:学生可以将部分实验模块有机组合起来,组成一个独立的单片机控制系统, 包括传感器信号测量放大、数据采集(A/D转换) 、数据处理(运算、格式转换等) 、数据 输出(显示或打印)等模块。让学生学习电路设计知识,锻炼学生单片机应用能力。-2-第一章单片机与微机原理实验指导书 A 高级阶段:学生可以涉及各种单片机高级应用领域,如数据通信技术、嵌入式实时操作 系统应用,系统综合设计调试技术等。§1.2 实验课题一、单片机内部功能实验 1、软件实验(清零、拆字、拼字、数据块传送、数据排序、字符串查找、双字节乘法、 多分支程序设计等) 2、单片机内部定时/计数器实验(脉冲计数) 3、单片机内部定时/计数器实验、中断控制综合实验(电脑时钟) 4、单片机串行口实验DDD双机通信 5、单片机串行口实验DDD单片机与电脑联机通信实验 6、单片机I/O口实验 二、常用单片机接口实验 1、8位8路A/D转换ADC0809实验(可配接多路选择开关) 2、8位1路D/A转换DAC0832实验 3、串并转换(74LS164) ,扩展2位七段LED实验 4、定时/计数器8253A实验 5、串行接口控制电路8251实验 6、简单I/O口(74LS273/74LS244)扩展实验 7、V/F转换实验 8、并行口扩展实验8255/8155(可配接功率接口) 9、地址译码(3-8译码器74LS138)实验 10、键盘输入、LED显示输出实验 11、打印机接口控制实验 12、继电器控制实验 13、音乐控制实验 14、语音录放实验 三、新型总线和新型外设接口控制实验 1、I C 串行总线键盘显示接口 ZLG7290 应用实验 2、I C 串行 RAM24C02 读写实验 3、I C 智能卡读写实验 4、I C 串行 10 位 D/A TLC5615 D/A 转换实验 5、I C 串行 8 位 A/D TLC549 A/D 转换实验-32 2 2 2 2第一章单片机与微机原理实验指导书 A 6、I C 串行实时时钟 PCF8563T 应用实验 7、128×64 点阵 LCD 液晶显示应用实验 8、16×16 点阵 LED 显示器应用实验 9、CAN 控制器 STA1000、CAN 收发器 TJA1050T 应用实验 10、RS232/485 通信接口实验 11、USB 总线接口实验 12、以态网接口 RTL8019AS 应用实验 13、 “看门狗”复位实验 四、控制应用实验 1、步进电机(2 相/4 相)控制实验 (步进电机控制器 L297 应用和功率驱动 L298 的应用) 2、直流电机转速测量与控制(闭环控制) 3、1-WIRE 总线数据温度传感器 DS18B20 应用实验 4、十字路口交通灯模型控制实验 5、装配流水线模型控制实验 五、自行扩展实验 通过 IC 扩展区用户可自行扩展各种数字电路、单片机扩展实验。2§1.3 主要技术指标一、自带通用仪器和信号源 1、自带 MCS―51 单片机仿真器(根据用户需要仿真器可另配) 。 2、备有函数信号发生器(正弦波、三角波、方波) ,频率范围 2Hz~20KHz(分四档)。 3、双路两档连续可调直流信号源,0~±5V,0~±0.5V。 4、带 50MHz 液晶显示数字频率计。 5、3?数字电压表。 6、虚拟示波器,可测各种波形信号。 7、16 路开关量输入显示。 8、16 路开关量输出显示。 9、10 组固定脉冲输出,频率范围 1 Hz ~ 10MHz。 10、四路正负单脉冲输出,同时产生四路相位滞后窄脉冲。 11、3 路模拟电压产生电路。 二、备有单片机常用接口电路 1、定时计数器 8253A。-4-第一章单片机与微机原理实验指导书 A 2、异步串行通信接口器件 8251A。 3、单路 8 位数字模拟转换接口 DAC0832。 4、8 路 8 位模拟/数字转换接口 ADC0809。 5、可编程并行输入/输出接口 8255 和 8155。 6、语音录放电路 ISD1420。 7、单片机系统简单 I/O 口扩展电路。 8、继电器控制、音乐发生器电路。 9、V/F 转换电路。 10、8 位串并转换电路。 三、新型总线和新型外设接口控制电路 1、I?C 串行 E?PROM24C02。 2、I?C 串行 8 位 A/D TLC549。 3、I?C 串行 10 位 D/A TLC5615。 4、I?C 串行实时日历/时钟 PCF8563。 5、I?C 串行键盘显示控制器 Zlg7290。 6、USB 总线控制接口电路。 7、CAN 总线控制应用电路。 8、以太网接口电路应用电路。 9、RS232/RS485 接口应用电路。 10、IC 智能卡应用电路。 11、128×64 点阵汉字 LCD 应用电路。 12、16×16 矩阵 LED 应用电路。 四、可配接的控制对象和单片机控制应用小系统 1、步进电机转速控制与驱动,带有步进电机控制器 L297 应用和功率驱动 L298 应用电 路 2、直流电机转速测量与控制(闭环控制) 。 3、温度测量与控制(PID 调节、温度闭环控制) 。 4、打印机控制。 5、十字路口交通灯模型控制。 6、装配流水线模型控制。第二章YB-DWSX 系列单片机原理应用综合实验装置组成与结构本实验装置由综合实验平台、实验桌(含电脑桌)和微机集于一体而组成,其中综合实 验平台由系统电源、系统信号板、单片机仿真器、常用单片机接口实验板、各种新型总线和-5-第一章单片机与微机原理实验指导书 A 新型外设控制接口实验板组成。 另有一些控制对象和单片机控制小系统作为附件由用户选配。 下面对综合实验平台作详细介绍。§2.1 系统电源⒈ 系统电源参数 实验装置内置 2 个开关电源。 一个为综合实验平台的工作电源, 它提供+5V/3A、 -5V/0.5A、 ±12V/0.5A 共四组。另一个为单片机小系统和控制对象工作电源,它提供+5V/5A 一组。 ⒉ 系统电源的使用 在综合实验平台的右下角有一个交流 220V 带灯电源开关,打开电源,指示灯亮,内置 开关电源即开始工作。 开关电源的输出同时接到实验平台的三块电路板上, 电路板上都有自 己的直流电源开关,打开直流电源开关,电路板才开始工作。系统信号板上只有一个开关, 只要打开它,整个信号板全部通电。其它二块电路板上部分模块都有自己的电源开关,只要 开启本模块电源开关,本模块就可以工作。§2.2 系统信号板⒈ 16 路发光二极管输出显示(开关量输出显示) 提供 16 位开关量输出显示,高电平亮,低电平灭。L0~L15 为开关量输出插孔 ⒉ 16 路开关量输入并显示 提供 16 位开关量输入,并带有电平指示。开关拨在上面为高电平( “1”电平) ,对应指 示灯亮,反之为低电平( “0”电平) ,对应指示灯灭。K0~K15 为开关量输入插孔。 ⒊ 函数发生器 系统提供一通用函数发生器。可输出正弦波、三角波、方波。 幅值:正弦波:0~14V(14V 为峰―峰值,且正负对称) 。 三角波:0~24V(24V 为峰―峰值,且正负对称) 。 方波: 0~24V(24V 为峰―峰值,且正负对称) 。 频率范围分四档 2 Hz~20Hz、20Hz~200Hz、200 Hz~2KHz、2K Hz~20KHz。 ⒋直流信号源 有双路 0~±5V、 0~±0.5V 两档连续可调 out1 和 out2, 出厂时为 0~±5V 连续可调, 按钮按下时为输出 0~±0.5V 连续可调 5. 频率计 板上提供 50M Hz 液晶显示数字频率计。当测量本系统的信号频率时,只需要将被测信-6-第一章单片机与微机原理实验指导书 A 号源和频率计模块中的 PLJ 插孔相连即可,当测量系统外的信号频率时,还需将地线 GND 插孔和外部设备的地线相连。 ⒍虚拟示波器 板上自带虚拟示波器测量卡, 通过电脑显示器显示被测信号源的各种波形。 使用时只要 将示波器模块上的 9 芯 RS232 串口插座通过专用电缆连到电脑的标准 RS232 插座上,再运 行相应的软件 Wave 即可。 ⒎ 固定脉冲发生器 系统提供 10M 有源晶振,经 74LS390 分频产生 10 组固定频率方波信号输出。它们分别 是 1 Hz 、10Hz、100Hz、1KHz、10KHz、100KHz、500KHz、1MHz、5MHz、 10MHz。 8. 数字电压表 系统提供 3 位半数字显示电压表,测量范围在-19.99V~+19.99V ⒐单脉冲及相位滞后脉冲发生器 系统上配有 4 个单脉冲按钮 S1~S4,产生 4 路正负单脉冲,每个按钮下面有两个对应 的插孔,其中 P11、P21、P31、P41 插孔输出正脉冲,/P11、/P21、/P31、/P41 插孔输出负 脉冲, 脉冲宽度等于按钮按下的时间。 在产生±单脉冲的同时, 还将产生相位滞后的窄脉冲, 输出插孔为 P12、P22、P32、P42。单脉冲发生器采用 RS 触发器构成消抖电路。 单脉冲产生的方法如下: 如果把一个时钟源接入 CLK―IN 插孔,则按一次按钮,除产生±脉冲外,还将产生 4 个窄脉冲,窄脉冲的宽度与输入的时钟周期相同,各窄脉冲相位相差一个时钟周期。输出脉 冲的个数取决于按钮的位置,按钮 S1 产生 4 个窄脉冲,按钮 S2 产生 3 个窄脉冲,按钮 S3 产生 2 个窄脉冲,按钮 S4 产生一个窄脉冲。图 2―1 为按下按钮 S1 产生的±单脉冲和 4 个 窄脉冲的相位图。CLKINP11P12P22P32P42图 2-1 ⒑ 系统电源引出插孔排 板上将四组工作电源±5V、±12V 和地线(GND)全部用插孔引出,便于扩展其它外设 时,为外设提供工作电源。 11.模拟电压产生电路-7-第一章单片机与微机原理实验指导书 A 板上提供 3 路模拟电压发生电路。分别为 0~±12V(当跳线器在+12V 位置时,调节对 应的电位器, 即产生 0~+12V 可调模拟电压, 当跳线器在-12V 位置时, 调节对应的电位器, 即产生 0~-12V 可调模拟电压) ;0~±5V(产生的方法同±12V) ;0~-5V。 12.IC 插座区 板上设有 2 只 IC―14、2 只 IC―8、1 只 IC―40 空插座,其中 IC―40 为锁紧插座,可 以作为扩展 I/O 接口器件用。 特注:如果用户自己选择仿真器也可以,装置上的仿真器不上电即可。§2.3 单片机仿真器⒈ 概述 本实验装置自带单片机仿真器, 可以仿真 MCS―51 系列单片机。 由于采用专用仿真技术 和大规模 CPLD 器件设计,仿真系统电路集成度高,运行时可靠性好。在仿真状态下,不占 用系统资源,对用户来说只是借助一个 CPU,其余资源由用户自由使用。 ⒉ 硬件组成 自带的单片机仿真器设有 32 个键盘和 6 位 LED 显示, 由并行 I/O 口 8155 作为键盘显示 管理器。键盘和 LED 在单机单板状态下使用,在连电脑时,键盘和 LED 不起作用。配备 64K 仿真 RAM,用于存放用户应用程序。配 64K 监控程序,存放系统管理程序。CPU 的全部总线 经隔离驱动后输出到仿真插座。 仿真器配有一个标准 RS232 串行接口, 用于和电脑联机进行 仿真实验。 ⒊ 仿真器的工作状态设置 仿真器设有三个工作状态:单板状态、 半仿真状态(简称仿真 1 态) 完全仿真状态(简 、 称仿真 2 态) 。 单板状态:仿真器上电时的初始状态即为单板状态,数码管显示闪动的“P.” 。在单板 状态下不具有仿真功能,但是 CPU 内部资源(如 RAM、中断、串行口、定时器等) 、P1 口、 P3 口的 P3.0~P3.5 用户均可直接使用。 仿真 1 状态:在单板状态下,按 F2 键,数码管显示“P......” ,仿真器进入半仿真状 态。在该状态下,用户应用程序(软件)在仿真器的仿真 RAM 中,用户系统硬件在仿真器外 部。这种工作状态常用于用户系统的软硬件调试。 仿真 2 状态:在单板状态下,按下 F1 键,数码管显示“H......” ,仿真器进入完全仿 真状态。在该状态下,用户的应用程序和用户系统硬件都在仿真器的外部,对用户来说仅仅 借用仿真器上的一个 CPU。 ⒋ 仿真器存贮器的配置-8-第一章单片机与微机原理实验指导书 A 存贮器CPU 片内数据存贮器单板状态用户/仿真器公用 00H∽FFH半仿真状态用户/仿真器公用完全仿真状态用户/仿真器公用CPU 片外程序存贮器在仿真器内 0000H∽FEFFH在仿真器内 0000H∽ FEFFH用户目标系统上CPU 片外数据存贮器 (含 I/O 接口)在仿真器内 (和片外程序存贮 器 0000H∽FEFFH 复用)用户目标系统上用户目标系统上⒌ 仿真器的使用 仿真器在实验平台的中下部,其上有一个电源开关,打开它,仿真器就开始工作,数码 管显示闪动的“P.” 。如果需连电脑工作,则按下 PCDBG 键即可,此时仿真器上的键盘显示 不起作用,用户不必关心它。在仿真器独立工作时, 以仿真器上自带的键盘显示器作为人机接口,通过键 盘监控命令进行各项仿真实验的有关操作。◆键盘监控命令简介 详见第三章 ◆联机软件使用简介 详见第四章 ◆系统仿真调试的步骤及建议 详见第五章§2.4 常用单片机接口实验板本实验板扩展有各种单片机常用接口电路,电路以模块化结构组成,各模块 电路的数据线、地址线、控制线等均连到该板的右下角系统扩展区。系统扩展区实际上就是单片机 CPU 区域, 在仿真状态下使用模块电路时, 系统扩展区的 8031 位置接仿真器的仿真头,CPU 的全部 I/O 口由插孔引出,同时,系统扩展设计有地址锁 存器 74LS373,为模块电路提供低位地址线,还设计有译码电路 74LS138,为模块电路提供 片选信号。译码输出 Y0~Y7 由插孔引出。如果仿真插座位置直接插入单片机 CPU,那么本 实验板就是一单片机的应用系统, 应用系统电路可以由用户自己组合设计一个或几个模块电 路。 1.板上设有定时/计数器 8253A 接口电路 8253A 内部有 3 个独立的 16 位减法计数器。分别为计数器 0、计数器 1、计数器 2,每 个计数器有一个时钟输入端 CLK、控制端 GATE(高电平有效) 、一个计数输出 out。在本系 统中三个计数器的 GATE 已接高电平。 时钟输入和计数器输出全部由插孔引出。 分别为 CLK0、-9-第一章单片机与微机原理实验指导书 A CLK1、CLK2、out0、out1、out2。在使用本实验电路时,8253A 芯内的片选信号 8253CS 需 要用户自己连接,同时 8251 模块区的电源开关需打开。 ⒉ 串行通信接口电路 A 是一种可编程的同步/异步串行通信接口芯片,具有独立的接收器和发送器,能 实现单工、 半双工、 双工通信。 接收端 8251 RXD 和发送端 8251 TXD 以及 8251 片选信号 8251CS 全部由插孔引出。实验时需要用户自己连接。 ⒊ 单路 8 位数模转换 DAC0832 DAC0832 数模转换器的分辨率为 8 位,电流建立时间为 1?s。单一电源 5V―15V 直流供 电。本系统采用+12V 供电,基准电压输入采用-5V(内部已连好) 。在使用本电路时,先开 启电源,对应指示灯亮。DAC0832 的片选信号 0832CS 和模拟量输出 Aout1 由插孔引出,当数字量由 00H∽0FFH 变化时,从 Aout1 输出的模拟电压为-5V~+5V,电路才可以工作。 ⒋ 8 路 8 位模数转换 DAC0809 DAC0809 是一种 8 路模拟输入, 位数字输出的逐次逼近法 A/D 器件。 8 转换时间约为 100?s, 适用多路采集系统。 影响 A/D 转换精度的一个重要系数基准电压 Vref 为+5V。 在本电路中由 电位器 W1 调节产生(出厂时已调好) 路模拟量输入 IN0~IN7,0809 的工作时钟信号 。8 0809CLK、 0809 的片选信号 0809CS、 转换结束信号 EOC A/D (高电平有效) 和其反向信号/EOC 全部由插孔引出。实验时需用户自己连接。在使用本电路时,先开启电源,对应指示灯亮, 电路才可以工作。 5.编程并行 I/O 接口 A 具有 3 个 8 位 I/O 端口, 可编程为输入或输出。 个 8 位 I/O 口全部由插孔引出。 3 同时,8255A 的片选信号 8255CS 亦由插孔引出。在实验时需要连接。在使用本电路时,先 开启电源,本电路才开始工作,电路中有一 PRINT 插座,用于连接打印机,做打印机控制实 验。 6.并行 RAM/IO 接口电路
内部有 256 字节 RAM 存贮器、二个可编程 8 位串行口、一个 6 位串行口和一个 14 位计数器,是单片机系统中最适用的外围器件。8155 的片选信号 8155CS、存贮器/IO 口选 择线 IO/M、计数器时钟输入 TMRIN、计数输出 TMRout 均由插孔引出。实验时需用户自己连 接。在使用本电路时,先开启电源,本电路才开始工作。 7.语音录放电路 ISD1420 本电路采用语音录放专用芯片 ISD1420。模块电路中有语音录入设备麦克风、语音输出 可以通过 LB 二芯插头连到喇叭接口 SPEAKER,录放音方式可以程序控制亦可以手动控制。 由 AN1 按钮来切换。 手动控制时由放音键和录音键进行录放控制。 控制芯片 ISD1420 的片选 信号由插孔 UYCS 引出,实验时需用户自己连接。在使用本电路模块时先开启电源,电路才 可以工作。-10-第一章单片机与微机原理实验指导书 A 8.单片机系统简单 I/O 口扩展电路 在单片机系统中 CPU 自带的 I/O 口不够用时需外扩 I/O 接口, 这里介绍简单 I/O 口的扩 展方法。 简单输入口扩展采用二路四总线三态输出缓冲器 74LS244 构成 8 位输入口。74LS244 的 输出接到单片机系统数据总线, 输入接外部需读取的开关量, 通过数据总线来读取输入端开 关量的状态。74LS244 的输出控制端/1G 和/2G 相连后,作为 74LS244 的片选信号 244CS 和 其 8 位输入 1A1~1A4、2A1~2A4 全部由插孔引出,实验时需连接,1A1~1A4、2A1~2A4 对 应 PI0~PI7。 简单输出口的扩展采用 8D 触发器 74LS273, 8 位输入接单片机数据总线, 位输出接 其 8 外部需控制的开关量。74LS273 的清零信号接系统复位/RST,时钟 CLK 作为 74LS273 片选信 号由插孔 273CS 引出,74LS273 的 8 位输出 Q0~Q7 由插孔 P00~P07 引出。在使用简单 I/O 口扩展电路时,先开启电源,整个模块电路才可以工作。 9.继电器控制 本电路采用 JDC―3F5VDC 继电器,输出可控制 220V/2A、125V/12A 交流负载。本系统中 用指示灯作为负载,继电器的控制输入为 JIN,经 7407 驱动后输出到继电器线圈。低电平 时,继电器动作。继电器的常开、常闭触点输出接二个指示灯用于指示继电器触点状态。 10.音乐发生电路 音乐发生电路由控制输入端 SIN,放大电路和喇叭组成,只要控制 SIN 端输入的高低电 平时间和频率的变化,就可以让喇叭发出悦耳的音乐。 11.V/F 转换电路 本模块采用通用型的单片集成 V/F 转换器 LM331,其输出频率为 1Hz∽100KHz,电路中 电压输入端由插孔 VFIN 引出,频率输出由 Fout1 插孔引出,电位器 W3 用于校正输出频率, W2 用于调节比较阈值电压,以改善线性度。 12.8 位串并转换电路 串并转换就是将串行输入数据转换为并行数据输出。 本电路采用 8 位并行输出串行移位 寄存器 74LS164 来实现, 串行数据输入端由 DATA 插孔引出, 串行移位时钟由 CLK 插孔引出。 并行输出接 2 位七段数码管,用于显示并行输出数据,直观明了。§2.5 新型总线和新型外设接口控制电路实验板系统扩展区的组成和使用方法同前面“§4”中的内容。 由于本实验中扩展有多个 I2C 总线接口器件,有 I2C 串行 E2PROM 24C02,I2C 串行 8 位 A/D TLC549,I2C 串行 10 位 D/A TLC5615,I2C 串行日历/时钟,I2C 串行键盘显示控制 电路 ZLG7290 等模块,所有 I2C 总线器件模块公用一只电源开关 S I2C 。只有开启 SI2C,-11-第一章单片机与微机原理实验指导书 A 对应指示灯 LI2C 亮。各 I2C 模块电路才可以工作。每个 I2C 器件地址由用户自己设定。 ⒈I C 串行 E PROM 24C02 串行 E PROM 24C02 为 2 线制 I C。两线为串行数据线(SDA)和串行时钟线(SCL) 。本 电路中这两根线由插孔 SDA-02 和 SCL-02 插孔引出。在使用时由用户自己连接。 ⒉I C 串行 8 位 A/D TLC549 TLC549 为 8 位串行输出 A/D 转换器,其模拟量输入端由 AIN 插孔引出。基准电压由插 孔 REF+插孔引出,器件的片选信号由 TCS 插孔引出,串行时钟信号由 TACK 插孔引出,转换 后数字量串行数据输出由 Dout 插孔引出。 在使用本电路时, 这些信号需要由用户正确连接。 ⒊I C 串行 10 位 D/A TLC5615 TLC5615 为 10 位串行输入 D/A 转换器。其串行数字量输入端由插孔 DIN 引出,串行时 钟信号由插孔 SCLK 引出,器件选通信号由 CS 插孔引出,转换后结果模拟量由 Aout 插孔引 出。在使用本电路时,以上信号需要用户正确连接。 ⒋I C 日历/时钟 PCF8563 本系统中用到的 PCF8563 是模拟 I C 总线进行数据传输的。其串行数据 I/O 端由插孔 SDA-03 插孔引出,串行时钟输入端由 SCL-03 插孔引出。中断输出由插孔 INT-RTC 引出。使 用报警功能时用到该引脚。可编程时钟输出由插孔 OUT-RTC 引出。 ⒌ I C 串行键盘显示控制器 ZLG7290 ZLG7290 键盘显示控制器同时能驱动 8 个 LED 数码管和 64 个按键,本电路中连接了 8 个 LED 数码管和 8 个按键,这 8 个数码管的段码 a―h 和位选择端全部由插孔引出,可以连 接其它 I/O 器件进行数码管显示实验。ZLG7290 芯片的串行数据端由插孔 SDA-04 引出,串 行时钟由插孔 SCL-04 引出。键盘输入中断信号由插孔 INT-KEY 引出。在使用本电路时,要 正确连接这些信号线。 ⒍ USB 总线控制接口电路 采用专用 USB 控制接口芯片, 其数据线直接接在单片机数据总线上。 读写控制线和地址 锁存信号线与 51 单片机读写线和地址锁存线直接相连。 器件选通线由 CS-USB 插孔引出, 中 断输出线由插孔 INT#引出,内置的 I C 主接口可以外接 I C 从设备。其串行数据线和串行时 钟线由插孔 SDA-05 和 SCL-05 引出。在使用本模块和电脑进行 USB 总线通信时,先连好 USB 电缆,再连好片选信号。模块中器件的电源由电脑侧通过 USB 电缆线提供。 ⒎ CAN 总线控制应用电路 模块中设计有 CA N BUS 控制器 PHILIPS 的 SJA1000T(支持 CAN2.0B) 。收发器采用 TJA1050T,它是通过并行 8 位数据总线方式和单片机相连的。CAN BUS 控制器件 SJA1000T 选通信号由插孔 CAN-CS 引出,读写控制信号由插孔 XRD、XWR 引出,地址锁存信号由 XALE 引出,中断输出由 INT-CAN 插孔引出,以上这些信号线需用户自己正确连接。本电路通过 DB-CAN 接口和外部 CAN 总线相连。在使用本模块时,先开启电源,指示灯 LCAN 亮时,模块2 2 2 2 2 2 2 2 2 2 2-12-第一章单片机与微机原理实验指导书 A 电路才可以工作。 ⒏以太网接口电路应用 设计有以太网接口控制器件 RTL8019AS(支持 10M)它是通过并行 8 位数据总线方式与 单片机相连的。RTL8019AS 器件的选通信号由插孔 NET-CS 引出,复位输入端由 NET-RST 插 孔引出,中断输出脚由插孔 INT-NET 引出,这些信号在使用时由用户自己正确连接。本电路 模块通过以太网标准接口 DB-NET 和外部以太网设备相连。在使用本电路模块时,先开启电 源,指示灯 LNET 亮时,电路才可以工作。 ⒐ RS232/RS485 接口应用电路 RS232 接口芯片采用 MAX232, 通过 RS232/485 接口与电脑进行 RS232 接口通信。 适用于 短距离传输。TTL 电平接收和发送端由插孔 RXD_232、TXD_232 引出。RS485 接口芯片采用 MAX485,通过 J485 或 RS232/485 进行 RS485 通信。RS485 接收和发送端由插孔 TXD_485 和 RXD_485 引出,收发控制端由插孔 WR_485 引出。该模块电路电源已连好。 10.IC 智能卡的应用电路 IC 智能卡是 I C 串行 E PROM 24C01 的应用, 里面实际上设计有一个 I C 串行 E PROM 24C01。 其串行数据线和串行时钟线由 SA-01 和 SCL-01 插孔引出, 同时本电路设计有 IC 卡插入指示 LINI, 读卡指示 LRDI, 写卡指示 LWRI。 卡接口模块的电源由开关 SI2C IC (在其右侧) 控制。 SI2C 开关开启时,IC 卡接口模块电路才可以工作。 11.128×64 点阵汉字 LCD 应用电路 128×64 点阵汉字 LCD 可以显示各种图形、曲线、汉字,其使用非常广泛,它与单片机 CPU 的接口采用 8 位并行总线,编程使用方便。在使用本液晶显示模块时,先开启电源,指 示灯 LLCD 亮时,电路才可以工作,电位器 W1 用于调节显示屏的亮度。 ⒓ 16×16 矩阵 LED 应用电路 16×16 矩阵 LED 正好可以显示一个中文字,LED 的控制与驱动用可编程并行接口芯片 8255 和 7407 以及 8D 锁存器 74LS273 来实现。74LS273 的片选信号和 8255 选通信号由插孔 273CS 和 8255CS 引出,由用户自己连接。在使用本模块时,先开启电源,电路才可以工作。2 2 2 2§2.6 可配接的控制对象和单片机控制应用小系统这一部分的组成将另行详述。第三章系统仿真调试步骤及建议-13-第一章单片机与微机原理实验指导书 A§3.1仿真调试步骤1、设计前的摸索试验 用户系统设计方案的决定,有赖于对单片机从硬件到软件的全面了解;它能做什么,怎 么做,性能如何。这些工作需要用户仔细阅读有关资料,LVANG 系列单片机仿真实验系统提 供了用户上机实验,验证设计方案的手段,可设计一些需要验证的程序,由此决定方案和关 键程序。 2、完成用户系统的设计和制造 3、调试硬件 (1)LVANG 系列机和用户系统联机 首先检查、 排除用户板电源与电线的开路或短路。 然后按照第三章所述, 正确连接电源、 PC 机和实验系统。最后,将仿真电缆一头插在实验系统的 J6 插座上,另一头插在用户系统 的 CPU 插座上。 注意;LVANG 系列机所配的仿真插头插到用户单片机插座时,不要插错、插反,仿真头 上有红点位置为对应 CPU 的第一脚,必要时用万用表确认一下双方的 1 号脚。 由于仿真插头只有 1~2 根线使 LVANG 系列机与用户系统共地, 因此若在仿真调试时碰到 时好时坏的情况,应另外取较粗的线连接 LVANG 系列机电源和用户系统的地线,+5V 也同样 处理,以便减小干扰,保证正确仿真调试;如果用户系统退耦电容太少或分布不匀,用户应 对用户系统加装退耦电容。另外,降低仿真器+5V 电源,例如降至 4.7V,仿真效果可更好。 如果用户系统设计有看门狗,由于还未执行用户程序,无法清除看门狗,致使用户系统 总在自启动,看门狗最后可脱机后调试。接通实验系统和用户系统电源,实验系统应该能正 常工作;仿真电缆是经过信号驱动器隔离的;因此,即使用户系统信号线有短路、开路,一 般也不会影响实验系统工作。如果不工作,首先检查电源,再检查用户系统单片机的 RST 脚电平状态,若总是在 RST 状态,应排除此故障。 (2)调试用户系统数据空间和 I/O 接口芯片 在仿真 1 状态下, 使用数据读写命令对用户系统数据空间的存贮器、 芯片进行读写。 I/O 如不正常。则数据、地址总线、/RD、/WR、片选等信号有故障。可在仿真程序区输入如下程 序的机器码: 程序 1: 1 E0 0002 80FC 程序 2:0000 F0 MOVX MOVX SJMP MOVX @DPTR,A @DPTR 0H @DPTR,A 写数据 读数据 循 环写数据 写数据 循 环2 80FCMOVX @DPTR,A SJMP 0H-14-第一章单片机与微机原理实验指导书 A 程序 3:1 E0 0002 80FC MOVX A,@DPTR 读数据 读数据 循 环MOVX A,@DPTR SJMP 0H用寄存器读写命令在 DPTR,A 中设置关心的地址和数据,然后连续执行以上程序,用 示波器观察用户系统所关心的芯片,其/CS、/RD、/WR 信号应有负脉冲,地址线和数据线应 符合所设置的地址、数据规律。若不正常,则向前逐级观察波形找出故障原因,并改正。 程序 1 程序 2 程序 3 能对读和写一起检查 能对写操作检查 能对读操作检查用户还应仔细校对芯片引脚是否按正确的资料连接,曾用用户使用 6264,劣质资料上 /RD、/RW 脚印错;曾有用户使用 8155,劣质资料上的数据线引脚排列印错。这样 6264 总是 读写不正确, 8155 总是不能正确编程, 即使使用上述三程序也很难查出。 解决办法很简单, 设法另外再找几本有关
的资料,校对这些引脚是否定义一致,如不一致,应按 权威性资料或找使用过这些芯片的人员咨询 (3)测试用户系统程序空间 在仿真 2 状态下,用存贮器读命令,能读出用户系统程序空间 EPROM 内容,如发现不正 确,可使用读命令对 EPROM 连续读,观察/CS、/OE、/PSEN 是否正常。用示波器观察是否有 负脉冲闪烁 必须确认 EPROM 芯片定义和连接正常。注意 EPROM 芯片的 VPP 脚,/PGM 脚应接+5V,曾 有用户悬空,结果数据读出时好时坏。 4、编写用户程序 LVANG 系列仿真实验系统脱开用户系统。编写用户程序可在集成环境中进行。 5、仿真调试用户程序 先用仿真电缆正确连接用户系统。在 PC 机的主菜单上选择并传送目标文件至 LVANG 系列实 验系统中。 用户可使用开窗、单步、断点等等手段调试用户程序,随时使用存贮器读写等命令显示,修 改程序、数据。在此过程中,用户须充分熟悉、熟练且灵活应用所有监控命令和实验系统上 的各种功能, 当然对单片机本身及所有 I/O 芯片的功能和设计目标也要非常熟悉, 查出并修 改用户程序中的错误和用户系统所隐含的错误。对于程序的简单修改,可直接使用机器码, 用存贮器写命令来完成,并记下修改内容,将来在 XXX.ASM 中反映出来。如程序中有大的修 改,可退出监控,再编辑修改 XXX.ASM,重新汇编通过后,XXX.ABS(或.HEX)传送至实验 系统再次调试。 直到用户系统的功能全部调试完成且满意后,把用户程序固化入 EPROM,插到用户板上,在 仿真 2 态下直接执行 EPROM 中的程序,应能达到设计要求。-15-第一章单片机与微机原理实验指导书 A 在调试中断程序时, 首先要确认单片机是否会响应中断, 方法是在中断程序入口地址设断点, 从头全速执行程序后是否会停在中断入口处。若不会,则应检查中断初始化是否正确,若是 外部中断则还应检查外部中断信号是否来过等等。 若能进入中断, 则可单步或断点运行中断 服务程序,主要注意中断服务中用到的资源,如 A、PSW、DPTR 等是否保护和恢复现场,进 栈和出栈指令是否成对等等。注意:运行单步指令后,监控会对 IE 寄存器 EA 位清 0,用户 可用 IE 命令恢复这一位。§3.2用户系统脱离仿真系统经过上述步骤后,可脱机了;首先拔去仿真插头,插上用户单片机,插上仿真调试完毕 的 EPROM,接通用户系统电源,绝大多数情况下应能正常工作;如果不能,可以从以下几个 方面查找原因: 1、上电总清电路 实验系统能对按总清键电路进行检查, 但上电总清功能检查不到, 一般由两个方面原因 引起。 (1)上电总清不可靠 用慢扫描示波器观看上电总清信号应无振荡,总清信号宽度应符合要求。 (2)系统中各种芯片上电总清时间不一致 例如: 8031 上电总清时间小于 8155 上电总清时间, 8031 先复位, 马上执行程序对 8155 送控制字,由于 8155 还未复位,接收不了控制字,8155 当然不能正常工作。这种故障联机 调试时,是查不出的。 解决办法:8031 进入初始程序入口后,先延迟零点几秒至一秒,等待系统中其他芯片 复位,然后再送初始化控制字;所有需上电总清的芯片应使用同一个上电总清信号。 2、负载能力 联机仿真时,地址数据线、读写控制线是经驱动后与用户系统连接的因此即使能通过, 也不能保证用户系统设计是否超出单片机规定的负载能力。 可用示波器检查用户系统各种信 号线的电平,是否正常( “0”电平是否偏高, “1”电平是否偏低) ,找出原因,改正。 3、晶振电路 查看用户单片机 ALE 信号是否有波形,若无,则晶振未振荡,应检查线路或换电容、晶 振,直至震荡。 4、用示波器观察其他信号是否正常 注意:用户系统上插的是 8031,栈和内部 RAM 使用不能超过 7FH 地址,否则运行不正 常。完成了脱机,用户满意后,即可上现场试运行了。-16-第一章单片机与微机原理实验指导书 A§3.3设计、制造 51 用户系统的建议1、关于程序 EPROM 由于 51 单片机具有程序空间 64K(一般使用 EPROM) 、数据空间(一般使用 RAM 和 I/O 芯片) ,由此建议程序 EPROM 尽量采用大一点如 、2 等等,尽量不 要使用 ,一方面这些 EPROM 价格反而比 2764 等高(因产量少) ,另一方面不易 于扩展程序,增加功能。 2 、关于可靠性措施 [例] (1)尽量多加退耦电容,电路板的四个角和中间的电源与地线间须并上高、低频 电容退耦(22uf∽47uf 电解电容和 0.1uf 左右的高频电容) ,每个 20 脚及以上的芯片,在 其最近的电源及地线间并上 0.1uf 左右的高频小电容退耦。每个 20 脚以下的芯片附近也必 须加上 0.1uf 左右的高频小电容退耦。 这样能保证减小电源线及地线上的毛刺, 保证可靠工 作。 (2)很好地安排地线、电源线,地线、电源线尽量粗、尽量多、尽量组成网络,模拟 地、数字地、电源地、大地分开走线,在一点上可靠连接。小信号、模拟信号,用屏蔽线, 在板上走线时尽量靠近地线,远离大电流信号线、电源线。数字信号既会干扰小信号线,又 会受大电流信号及电源线干扰,也要很好安排。 (3)使用开关电源、光耦等隔离器件,开关电源很少受市电的电压波动、频率波动的 影响,也能隔离从电源线进入的传导干扰,与外界的 I/O 相连的线应使用光耦器件隔离。尽 量使控制系统做成全浮空的系统,使之不受传导干扰的影响。 (4) 某些小信号线、 器件、 电路板应加电磁屏蔽或罩。 在小信号板或年关键控制板 (CPU 板)简单覆盖一层良好接地的铁板,也能起到很好的屏蔽作用。 (5)尽量采用高质量的印制电路板,否则过一年左右,线路板电阻变小,整个电路板 很难维修, 谨慎选择印制板加工厂, 质量第一。 孔化电阻、 线距、 熔剂、 阻焊剂、 打孔精度、 镀金厚度、基板质量、数控打孔和热风整平等等因素,都会影响用户系统的调试、使用和寿 命,差的板半年左右就出问题。而且时好时坏,很难维修。 3 、关于 RST 电路 51 芯片的 RST 输入线内部无施密特整形, 0.45V 以下作 “0” 2.5V 以上作 , “1” 在 0.45V , ―2.5V 间是个不确定状态。而且电源上电到稳定输出有个时间,一般至少几十毫秒。因此 不确定状态的时间很长,可能使 RST 线振荡,不能可靠启动 CPU 工作。建议使用反向器一定 要使用带施密特输出的芯片如 74LS14。 20K 与 47uf 电容起到上电 RST 脉冲作用, 100Ω 电阻 延缓电容放电,二极管起到断电时放电回路,易于快速再次上电启动。 4、关于看门狗电路 看门狗能自动帮助机器从死循环和走飞状态中拉出,进入正常程序。51 单片机无看门 狗,可自己设计一个。 ※ 几个原则-17-第一章单片机与微机原理实验指导书 A ① 看门狗电路必须由纯硬件组成,不能由可编程计数器充当,因为 CPU 失控后,可能 会冲失编程器件参数,使看门狗失效。 ② 看门狗启动应从 RST 进入,不能从中断进入,因为 CPU 失控后,可能关着中断,或 者冲失中断矢量,不能启动 CPU。 ③ 必须正确完成所有工作后,才发清除信号。程序中发清除信号的地方不能太多,否 则正好在那里死循环,看门狗发不出溢出信号,不能重新启动计算机。 为提高可靠性,还可采用进程重执,参数自修正等容错措施。限于篇幅,不再多述,有 兴趣的用户可来电或来人咨询。第四章仿真器键盘监控命令简介单片机实验系统自带的仿真器键盘设有 32 个,进口键座,定制注塑键帽,手感好,接 触可靠,使用寿命长,15 只功能键均为多功能键。显示部分有 6 只高亮数码显示器组成。 其键盘操作、显示设置完全一样。具有良好的兼容性,对用户来说只要熟悉一种系统的键盘 操作即可。如有特殊的地方将在下面的论述中以详细说明。§4.1R7 7键盘布置DPL 8 DPH 9 A A TV MEM EPRGH DEL EXEC FVBPPRTR4 4R5 5R6 6B BREG OFSTODRW INSCOMPPCDBG EPRGLR1 1R2 2R3 3PSW CF1LASTEPMOVMOVESTEP NVBPR0 0PCH FPCL ESP DF2NEXTEPCH EPCOMDARMON-18-第一章单片机与微机原理实验指导书 A 上图中左边 16 个为数字键,在键上“―”下面表示的十六进制数字 0~F,用于输入地 址、数据或机器语言代码。对于 51CPU 而言, “―”上面是工作寄存器名或其省略写法,如 DPH 表示数据寄存器 DPTR 高 8 位,DPL 表示数据指针寄存器 DPTR 低 8 位,PCH 表示程序指 针的高 8 位。PCL 表示程序指针低 8 位,详见表 3-1。代 寄 存 器 名 51 R0 R1 R2 R3 R4 R5 R6 R7 DPL DPH A B PSW SP PCL PCH 号0123456789ABCDEF表 3-1 图中右边 16 个为功能键,在独立运行模式下输入操作命令,其通用功能如下: TV/MEM: REG/OFST: ODRW/INS: EPRGH/DEL: F1/LAST: F2/NEXT: STEP/NVBP: EXEC/FVBP: TV/程序存贮器检查 片内 RAM、寄存器、特殊功能寄存器检查/偏移量计算 外部数据存贮器、外部 RAM、I/O 检查/插入一字节 EPROM 高速写入/删除一字节 第一标志键/读上一字节 第二标志键/读下一字节 单拍/单拍跟踪 连续执行/断点运行PCDBG/EPRGL: 与上位机通讯调试/低速固化 EPMOV; 固化区内容移入目标 RAMEPCH/EPCOM: EPROM 查空/EPROM 比较 PRT: COMP: MOVE: DAR: MON: 打印命令 源程序与目标程序比较 程序块或数据块移动 反汇编 退出当前操作,返回初态――显示闪动“P.”RESET:系统复位按钮,无论何时按 RESET 键,都使整个系统复位,返回初始状态―闪 动“P.”§4.2键盘监控特点⑴ 一键多用,减少键数,增加功能。 ⑵ 闪动的光标提示,指出应做什么操作,操作位置在那里。-19-第一章单片机与微机原理实验指导书 A ⑶ 除复位键以外,大多数键有自动连续功能,持续按键 1 秒以上,就会产生连续按键 的效果,达到快速扫描、检查,简化了操作,节省了时间。 ⑷ 省零功能,数字后的 0 可省略,减少了按键次数。 ⑸ 重键检测功能,几个数字键同时按下,不会使程序丢掉,以防误操作。 ⑹ EPROM 固化,写入时自动加 VPP 电压,写好后自动关掉 VPP 电压,保证插拔 EPROM 芯片安全。 ⑺ 相对偏移量计算功能, 为无系统机的用户现场调试、 修改程序, 带来了极大方便, 防止手工计算出错。 ⑻ 键盘监控没有换档键,键的功能取决于计算机所处的状态。各个键的功能同计算 机状态联系在一起,免去了记忆上下档的麻烦。计算机的状态可以从显示方式中判断, 不会引起混乱。 ⑼ 具有单拍跟踪功能, 持续按压单拍执行键 STEP, 计算机便进入跟踪状态, 以每分 500 条指令快速执行用户程序, 同时显示程序执行地址及该单元内容, 只要松开键便可立刻停止, 同时返回待命状态 1。本机有单拍、单拍跟踪、全速断点、连续执行等功能,大大提高了本 机的开发功能,为用户节省了调试程序时间。 ⑽ 在监控中的插入命令 INS 和删除一字节命令 DEL,由于两个键功能“互补” ,当不慎 按错其中一键后,可以用操作另一个键来补救,使影响范围减至最小。尤其插入、删除命令 可自动或指定某一范围,使插入,删除影响范围更小,并使插入删除速度加快。 ⑾ 可与上位机联机工作,可充分利用系统机资源,提高实验效率。 ⑿ 开发机上出借给用户的仿真调试程序/数据复合空间达 64KB。用户系统可设计成 64KB 程序数据复合空间,也可设计成一个 64KB 程序空间,一个 64KB 数据空间。并能对用 户系统进行调试、分析。§4.3键盘监控工作状态用户可以通过 32 个键向本机发出各种操作命令,大多数键均有 2 个以上功能,本机无 上下档转换键,计算机到底进行什么操作,不仅与按压什么键有关,也与当前计算机所处的 工作状态有关, “工作状态”在操作中,是一个重要的概念,下面作有关介绍。 1.单板状态:在本状态时,显示器的左端显示提示符,一个闪动的“P.”字符,表示 开发机处于初始化状态,等待你操作。 在计算机接通电源自动复位时处于单板状态; 按压 RESET 复位键后,使本机处于单板状态; 在大多数情况下, MON 键, 按 也可以使本机进入单板状态 (在后面也称为待命状态 0) 。 待命状态 0 时,可以进行的操作有:-20-第一章单片机与微机原理实验指导书 A *按压任一数字键,进入待命状态 1,待命状态 1 即为数字键可输入状态。 *按压 F1 标志键,进入仿真 2 态, ,仿真 2 态就是用户只是借用实验系统 CPU,其余均 在用户系统上。 值指向外部用户程序空间, PC DPTR 指向外部数据空间, 显示闪动的 “H??” ; *按压 F2 标志键, 进入仿真 1 态, 仿真 1 态就是用户借用实验系统 CPU 和实验系统上的 仿真程序区。 值指向实验系统用户程序空间, PC DPTR 指向外部数据空间, 显示闪动的 “P??” ; *按压 PCDBG 键,进入与上位机通讯、调试、反汇编,显示器全暗; * 按压 EXEC 键,从现行 PC 地址开始执行用户程序; * 按压 STEP 键,从现行 PC 地址开始单拍执行用户程序。 2. MEM 态:即存贮器读写状态,进入存贮器读写状态时,前 4 位显示器显示存贮器地 址,后 2 位显示器显示该存贮器单元中的内容。 在待命状态下,按压 MEM 键,或当执行用户程序时遇到断点、单拍执行、EPROM 编程写 入出错等都会使计算机进入该状态,本状态可进入如下操作。 *按压 OFST 键,进入相对偏移量计算; *按压 DEL 键,进入删除操作,按一下,删除一字节; *按压 INS 键,进入插入操作,按一下,插入一字节; *按压 LAST 键,进入上一字节读写操作; *按压 NEXT 键,进入下一字节读写操作; *按压 STEP 键,以当前显示器内容作为地址,按压一下,执行一条命令,即执行用户程 序一步; *按压 EXEC 键, 以当前显示器内容作为地址, 连续执行用户程序 (若要退出, 应按 RESET 复位按钮) ; *按压 MON 键,返回待命状态 0(按 EXEC 键后,该命令无效) 。 3. REG 态:即寄存器读写状态,进入该状态时,前面 1 位和 2 位显示寄存器地址,后 面 2 位显示该寄存器中的内容。 在待命状态 1,按压 REG 键,可进入如下操作: 对 51CPU 状态如前面键入 1 位地址,进入当前工作寄存器读写/检查状态; (1)显示代号 0―7,读写当前工作寄存器 R0―R7; (2)显示代号 8 或 9,检查数据指针 DPTR,8 显示 DPL,9 显示 DPH; (3)显示代号 A,检查累加器 A 的内容; (4)显示代号 B,检查 B 寄存器的内容; (5)显示代号 C,检查程序状态字 PSW 的内容 (6)显示代号 D,检查堆栈指针 SP 的内容,开机复位后 SP 为 07H; (7)显示代号 E 或 F,检查当前 PC 值,E 显示 PCL,F 显示 PCH。 如前面键入 2 位地址,进入片内寄存器读写(包括特殊功能寄存器和通用寄存器) 。此-21-第一章单片机与微机原理实验指导书 A 时按压 LAST 键,读写上一字节内容;按压 NEXT 键,读写下一字节内容。 4. ODRW 态:即用户目标系统数据存贮器读写状态。 在仿真 1 状态,即显示“P......”状态下键入 4 位地址后按 ODRW 键,读写的内容都是 用户系统中的扩展数据存贮器或扩展 I/O 口, 与实验系统无关。 前面 4 位显示用户目标系统 数据存贮器地址,后 2 位显示存贮器中的内容。 按压 LAST 键,读写上一字节内容。 按压 NEXT 键,读写下一字节内容。 按压 MON 键,返回待命状态 0。 5.标志态:即 F 态 在待命状态 1,再按压 F1 键,本机便进入标志态,标志态功能特别强。 (1)F1 键功能:装入源程序首址,即把当前显示器内容作为源程序首址,装入本机的 约定单元,并显示闪动“┌”标志符。 (2)F2 键功能:装入源程序末址,即把当前显示器内容作为源程序末址,装入本机的 约定单元,并显示闪动“┚”标志符。 (1)在“┚”状态下,再键入的数,便是目标首址。 (2)F 标志态可进入的操作。 *按压 MOVE 键,进入程序/数据块移动。 在“P.”态,本机内部 0000H―FEFFH 空间相互传送。 在 “P.....” 本机内部 0000H―FEFFH 空间的内容移到用户系统数据区,“H......” 态, 在 态,用户目标程序区移到本机仿真 RAM 区。 操作如下:源首地址,F1,源末地址,F2,目标首地址,MOVE。 *按压 COMP 键,进入程序块比较,操作步骤如下: 源首址,F1,源末址,F2,目首址,COMP。 * 按压 FVBP 键,进入断点运行,操作步骤如下: 断点地址,F1,执行首址,FVBP。§4.4键盘监控操作命令介绍§4.4.1 复位命令―RESET 键在任何时刻按压复位键 RESET, 都会迫使计算机进入初始状态 (与通电复位作用一样) , 在 RST 为高的第二个周期执行内部复位,并且在 RST 变低前每一个周期重复执行内部复位, 复位后: * 使 I/O 接口芯片复位 * 使计算机进入待命状态 0 * 按压复位键不会改变用户存贮区的内容, 也不会改变 CPU 片内 RAM 区的内容及外部数 据区的内容-22-第一章单片机与微机原理实验指导书 A§4.4.2 返回待命状态―MON 键按 MON 键,可迫使计算机进入待命状态。通常用 MON 键进行以下操作: * 清除已送入显示器的数字; * 退出其他操作状态。例如退出存储器读写状态,寄存器读写状态等;按 MON 键,不会 影响用户的存贮器、寄存器内容。§4.4.3 程序存贮器读写命令―MEM、NEXT、LAST 键这一组命令是用来检查(读出)或更改(写入)内存单元,因此,通过这些键命令的操 作,向计算机送入程序和数据或从计算机中读出数据。 在 “P.” 闪动状态下, 读出的是仿真程序/数据区的内容 (在实验系统上的外部存贮器) 。 在 “P??” 状态下, 读出的是仿真程序/数据区的内容 (在实验系统上的外部存贮器) 。 在“H??”状态下,读出的是用户板(目标板)上程序存贮器即 EPROM 中内容。 先按压 MON 键, 使计算机处于待命状态 0, 然后送入 4 位表示要检查的程序存储器地址, 再按 MEM 键,读出该单元的内容,计算机便进入存储器读写状态。 在程序存贮器读写状态, 显示器的左边 4 位数字是内存单元地址, 右边的 2 位是该单元 的内容。光标(闪动的数字)表示等待修改(写入)的数字。 程序存贮器读写状态是键盘监控的一种重要状态; 这时多数命令键都具有与待命状态 1 不同的功能。 * 请用户注意:程序存贮器读写状态的明显标志是:显示 6 位数字,光标在第五位或 第六位。 在程序存贮器读写状态, 使用 LAST 或 NEXT 键可以读出上一个或下一个存贮单元的内容, 同时光标自动移动到第五位。 持续按 LAST 或 NEXT 键在 1 秒以上, 计算机便开始对内存进行 向上或向下扫描,依次显示各单元地址及内容,或快速移动到要检查的单元,从而简化了操 作。 按 MON 键,可使计算机退出存储器读写状态,返回待命状态。 下面举例说明操作规程(见表 3-2) :§4.4.4 寄存器读写、特殊功能寄存器检查、片内 RAM 区读 写命令―REG、NEXT、LAST 键:寄存器读写可以输入一位地址,亦可以二位地址。 输入一位地址时作为寄存器代号,见表 3-1。 特殊功能寄存器、片内 RAM 的读写输入二位地址,见表 3-3。 输入一位地址时,寄存器读写状态的标志是:显示器上显示 3 个数字,左边第一位数字-23-第一章单片机与微机原理实验指导书 A 代表寄存器的代号,右边的 2 位数字表示该寄存器的内容。光标处于显示器的第 5 位到第 6 位之中。 若要对寄存器的内容进行改写,可按压所需的数字键,光标所在处的数字即被更换,而 光标随即往右移一位。 (若到了最右端,又重新回到起始位) 。 特殊功能寄存器检查状态标志是:显示器上显示 4 个数字,左边第一位、第二位数字代 表寄存器地址,右边的 2 位数字表示该寄存器的内容,中间两位是空格,光标在第五位或第 六位。 片内 RAM 区读写状态是:显示器上显示四个数字,左边两位是 RAM 区地址,右边两位是 该地址的内容,中间两位是空格。光标处于显示器的第 5 位或第 6 位。 若要对 RAM 区的内容进行改写,可按压所需的数字键,光标所处的数字即被更换。按压 NEXT 或 LAST 键, 可检查更改下一或上一单元 RAM 区 (按地址顺序排列) 的内容。 持续按 LAST 或 NEXT 键的时间在 1 秒以上时,可实现快速查找。按压 MON 键,可以从寄存器、RAM 区读 写状态返回待命状态 0。 表 3-2 按键 MON 显示 P . 0 说明 单板状态。0送入数字 0。 待命状态 1,MEM 键有效,未送 入的数字(地址)隐含为 0,进 入存贮器读写状态,显示 0000H 单元的内容 XX,第五位数字 X 闪动,表示此位可更改。XX 为 随机数。 按数字 A,对 0000H 单元进行 写入,光标移到第六位。MEM0000XXA0000AXMON 001P . 0 0 1按 MON 键,返回待命状态 0。 要检查 0010H 单元,最后一位 0 可省略不送入,处于待命状态 1。 按 MEM 键, 进入存储器写状态, 显示 0010H 的内容 XX,光标在 第 5 位。XX 为随机数(下同) 。 按 0 键,第一位立即被更改,并 写入 0010H 单元,光标移至第 6 位。 按 8 键,第 6 位被更改,光标重 新移到第 5 位。 表 3-3 按 1 键,第 5 位被更改,光标重 新移到第 6 位。-24-MEM 00010XX0 0 0 0 00 0 0 0 01 1 1 1 10 0 0 1 10 0 1 X AX 8 8 X X8 1 NEXT A按 NEXT 键,读出下一个单元 0011H,光标移至第 5 位。 按 A 键,光标移至第 6 位。第一章单片机与微机原理实验指导书 A 代号 00―FF 80 81 82 83 87 88 89 8A 8B 8C 8D 90 98 99 寄存器 CPU 片内 RAM P0 SP DPL DPH PCON TCON TMOD TL0 TL1 TH0 TH1 P1 SCON SBUF 特殊功能寄存 器检查状态标志是: 代号 A0 A8 B0 B8 D0 E0 F0 寄存器 P2 1E P3 1P PSW A B显示器上显示 4∽6 个数字, (字节寻址显示 8 位数据, 字寻址显示 16 位数据) 左边第一位、 第二位数字代表寄存器地址,右边的 4 位数字表示该寄存器的内容。 片内 RAM 区读写状态是:显示器上显示 6 个数字,左边两位是 RAM 区地址,右边四位是 该地址的内容。 下面举例说明操作过程:按键 MON显示说明 单板状态。00 (R0) 0 X X要检查 R0 的寄存器,数字键 0 是它的代号按 REG 键立即显示 R0 的内容,进入寄存 器读写状态1 2012按数字键,光标移动,更改寄存器 R0 内容。 按 NEXT 键,自动读写出下一个寄存器 R1, 它的代号是 1,光标自动移至第五位。NEXT1XX-25-第一章单片机与微机原理实验指导书 A按键显示说明MONP.返回待命状态。7 F7F送入 RAM 区地址。 按 REG 键,进入寄存器读写状态,显示以 7F 为地址的内容 XX,光标在第五位 按数字键,7F 为地址的内容被更改,光标回 至第六位。REG/OFST7FXX1 27F12(P0) NEXT 8 0 X X 按 NEXT 键,自动读出下一地址内容,地址 80 为特殊功能寄存器。 按数字键,寄存器内容不能更改。3 480XX§4.4.5 外部数据存贮器、 外部 RAM、 口读写命令――ODRW、 NEXT、LAST 键用 ODRW 键可以对外部数据存贮器和扩展 I/O 口进行检查(读出)或更改(写入) 。 在“P.“状态下,用该键读写仿真 RAM 区的内容(在实验系统上) 。 在“P.....”状态下,用该键读写的是用户板上外扩展数据存贮器或 I/O 口的内容。 在“H.....”状态下,用该键读写的是用户板上外扩展数据存贮器或 I/O 口的内容。 对外部数据、RAM 口读写,一般应先按 MON 键,使计算机进入待命状态 0。然后按所要 访问的外部数据区的地址及扩展 RAM 的地址,计算机便进入读写状态。 外部数据存贮器读写的状态标志是: 显示器显示 6 个数字, 左边 4 位数字是存贮器单元 地址,右边两位是该单元的内容,光标在第五位与第六位之间,表示等待修改单元内容。 外部扩展 RAM 及口的读写的状态标志是:显示器上显示 4 个数字。左边二位数字是 RAM 或口的单元地址,右边两位是该单元的内容,光标在第五位与第六位之间,表示等待修改单 元内容,中间两位是空格。 按压 NEXT 或 LAST 键, 可查访、 更改下一个或上一个单元的内容。 持续按 LAST 或 NEXTT 键的时间在 1 秒以上,可实现快速查找。 按 MON 键,可使计算机返回待命状态 0。 下列举例说明操作过程:-26-第一章单片机与微机原理实验指导书 A按键显示说明MONP.单板状态。ODRW/INSP.在待命状态 0。按 ODRW/INS 键无效。900900XX按数字键 900,进入待命状态 1,第四位 0 可省略,但第三位 0 不能省略 按 ODRW/INS 键, 显示 9000H 数据单元 内容,第五位光标闪动。ODRW/INS9000XX1 2900012按 1、 键, 2 将内容写入 9000H 数据单元。NEXT9001XX按 NEXT 键,读出下一个单元 9001H, 光标重新移至第五位 按 3、 键, 4 将内容写入 9001H 数据单元。3 4900134LAST900112按 LAST 键,读出上一个单元。MONP.返回待命状态 0。§4.4.6 断点运行本机提供了断点方式运行仿真 RAM 中的程序, 为用户提供了检测用户 CPU 定时响应中断 的速度或定时精度提供了方便, 断点运方式不适合于运行用户样机内 EPROM 中的程序。 操作 方法为:先送入断点地址、按下设置断点键 F1,然后键入执行首址,再按 FVBP 键。延时在 这里就看不出了,因为是断点运行,遇到断点才停下来。运行的操作规程如下: 以 51CPU 系统为例,先把一个的 8 字循环程序用存贮器读写命令键 MEM 送入实验系统 RAM 区。程序如下: 02 21 0006 F2 MOV MOV MOV MOVX A, #80H R0,#22H R1,#21H @R1, A-27-第一章单片机与微机原理实验指导书 A 0A 000D 000E 14
按键 7401 MOV A,#01H F3 LOOP:MOVX @R1,A 120010 LCALL DELAY 23 RL A 80F9 SJMP LOOP 7EFF DELAY:MOV R6,#0FFH 7FFF DELY2:MOV R7,#0FFH DFFE DELY1:DJNZ R7,DELY1 DEFA DJNZ R6,DELY2 22 RET 显示 说明RESTP.返回监控000D000D送入断点地址F1┎标志 F100000000键入执行首址 按下断点运行命令键,碰到断 点,显示其断点地址和操作码 接着返回监控检查现场或继续 设置断点运行,也可以单拍运行FVBP000D23MONP.遇到断点后可以再设断点,再按下 FVBP;也可以返回监控测试现场,单拍运行用户程 序。 这样几种运行方式交叉使用, 加快程序的调试速度, 若断点设置不正确或用户系统硬件、 软件有故障,则显示器 LED5 显示“┍” ,除非复位,否则实验系统不会返回监控,复位后, 还会保持用户 CPU 内 RAM 现场和 I/O 扩展口现场,但设置断点处的原内容被破坏三个单元, 用户需予以恢复。 实验系统 RAM 区的 0000H 为用户机复位入口,0003H、000BH、0013H、001BH、0023H 分 别为用户系统的中断入口。 若断点设在中断入口,或中断服务程序中,则可以检测用户 CPU 是否响应中断,以及检 测中断服务程序是否正确, 用户设置断点时必须注意断点地址需在指令的第一个字节所在的 地址,若断点设置错误或程序有错,断点方式运行过程中碰不到断点时,则显示器不显示, 此时按任一个键,显示器显示当前用户 CPU 的 PC 值及该单元内容,这为用户判断程序是否-28-第一章单片机与微机原理实验指导书 A 出现死循环或飞掉提供了方便。 用户可以单拍、 断点交替运行用户程序以验证程序的正确性, 排除软硬件故障。§4.4.7 执行程序命令――EXEC执行键 EXEC 在待命状态 0、待命状态 1 和存贮器读写状态时有效。在待命状态 0 显示 一个闪动“P.” ,按 EXEC 键,计算机将按照用户 0000H 的地址,开始执行程序;在待命状态 1 (送入数字后的状态, 数字后的 0 可省) 则按显示器上地址执行程序; , 在存贮器读写状态, 按显示器的现行地址执行程序。在其它状态,EXEC 键无效。 用 EXEC 键执行用户程序,在程序中遇到断点时会停下来,显示断点地址和该单元内容 并保护所有的寄存器的内容,返回待命状态 1。这时 EXEC 键作为断点运行键(FVBP) 。 例 1:键入 0000H,再按 EXEC 键,则显示器上显示“8”字循环。 例 2:在上例中 000DH 设断点。执行断点运行,操作如下:在待命状态 0,按 000D,再 按 F1 标志键,然后按执行首址 0(后三个 0 可省) ,再按 FVBP 键,则程序运行到 000DH 地 址停下。并显示 000DH 及该单元内容 23,说明 000DH 以上程序正确无误,这对带有延时子 程序的调试,带来方便。§4.4.8 插入和删除命令――INS、DEL 键这二个命令的功能是在调试机器码程序时, 在程序存贮器单元中插入或删除某些指令或 数据,而不必重新装入整个程序。 基本操作如下: * INS 键:在单板状态下,先输入要插入内容的首地址,按 F1 键,后输入下限地址, 按 INS 键,开发机返回“P.”状态。从首地址到下限地址之间所有单元的内容都向下移动一 个字节,而下限单元原来的内容将溢出丢失。如果不规定上下限区域,则在存贮器读写状态 下,按一次 INS 键,内容下移一个字节,当前地址中的内容清 0,此时可以输入要插入的内 容。 * DEL 键:在单板状态下,先输入要删除内容的首地址,按 F1 键,后输入下限地址, 按 DEL 键,开发机返回“P.”状态。首地址所在单元的内容被删除,下限地址以上单元的内 容依次向上移动一个字节。如果不规定删除区域,则在存贮器读写状态下,按一次 DEL 键, 删除一个字节。 由上所述,INS 和 DEL 命令键,对内存是有影响的,所以操作时应更加小心,不应随意 按压。§4.4.9 单步执行键――STEP单步执行键在待命状态 1 和存贮器读写状态时有效。在待命状态 1,则按显示器上的地-29-第一章单片机与微机原理实验指导书 A 址单步执行;在存贮器读写状态,按现行地址执行。 按 STEP 键,计算机将依据上述三种情况,执行一条用户指令,续而显示当前 PC 和它的 内容,等待下一个命令。 以下举例说明: (也可以“8”字循环为例) 2000 E4 START: CLR A
START1: ACALL DELAY 2003 80FC SJMP START1
DELAY: MOV R2,#02H 2007 DAFE DELAY1: DJNZ R2,DELAY1 2009 04 INC A 200A 22 RET 持续按单步键 1 秒以上, 计算机就进入跟踪执行状态, 以每分钟 500 条指令的速度执行 用户程序,同时显示程序的执行地址和累加器的内容。这对检查延时循环程序特别有用。因 此可监视程序的运行路线,在松开按键时,便立即停止跟踪状态,显示中止时的 PC 及累加 器的内容,并返回待命状态 0。 按 MON 键,返回到待命状态 0。 单步命令不会影响已设置断点。 按键 显示 说明MONP.待命状态 0 从 2000H 开始单步执行,1 以后的 3 个 0 可省略执行第一条指令22STEP200111执行第二条指令(调用延时子程序)STEP20037A执行延时子程序中第一条指令STEP2005DA执行延时子程序中第二条指令STEP2007DA执行延时子程序中第二条指令STEP200904执行延时子程序中第三条指令§4.4.10 计算相对转移偏移量命令――OFST 键在 51CPU 系统中,OFST 键命令的功能,是用来计算 MCS―51 指令系统中相对转移指令-30-第一章单片机与微机原理实验指导书 A 的操作数――偏移量。OFST 键命令只在存贮器读写状态有效。 先在需要填入偏移量的单元上填入所要转移的 (目标) 地址的低字节, 然后按 OFST 键, 该单元的内容立即转变成所要求的偏移量, 也就是自动将偏移量填入, 这时计算机仍处于存 贮器读写状态,用户可直接继续往下送入程序。 下面举例说明操作过程: (见§3.4.9 例) :按键显示说明MON 2 MEM E4 NEXT 11 NEXT 05 NEXT 80 NEXT 01 OFST NEXT 7A NEXT 02 NEXT DA NEXT 07 OFST NEXT 04 NEXT 22P. 2 01 04 06 08 A XX E4 11 05 80 01 FC 7A 02 DA 07 FE 04 22待命状态 0。按 MEM 键, 进入存贮器读写状态。 送入第一条指令。 送入第二条指令。送入相对转移指令操作码。 先填入转移目标地址低字节 01H。 按 OFST 键,自动填入偏移量 FC (转移指令操作数) 。 接着送入下一条指令。又是一条相对转移指令送入操作码。 先填入目标地址低字节 07H。 按 OFST 键,自动填入偏移量 FE。 再送下一条指令。 写入最后一条指令 RET 的机器码。-31-第一章单片机与微机原理实验指导书 A§ 4.4.11 程 序 块 移 动 / 比 较 、 反 汇 编 打 印 命 令 ― ― MOVE/COMP/DAR/FVBP 操作方法见下表F 标志态功能操作汇总 操作功能 程序/数据移动 (机内) 程序/数据移动 (内部→外部) 程序/数据移动 (外部→内部) 程序块比较 反汇编(机内) 反汇编(用户机) 状态 P. P... .. H... .. P. P. H... .. P. 全速断点 P... .. 操 1 源首址 源首址仿 真 RAM 区 源首址用 户目标板 源首址 源首址 源首址 源首址 源首址 2 F1 F1 3 源末址 源末址 仿真 RAM 区 源末址 用户目标 板 源末址 源末址 源末址 执行首址 执行首址 作 顺 序 4 F2 F2 5 目首址 目首址用 户目标板 目首址仿 真 RAM 区 目首址 浮动地址 浮动地址 6 MOVE MOVEF1 F1 F1 F1 F1 F1F2 F2 F2 F2MOVE COMP DAR DAR FVBP FVBP第一章单片机内部功能实验实验一清零实验一、实验目的 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容 把 7000H~70FFH 的内容清零。 三、实验程序框图(CLEAR.ASM)开始R0=00-32-第一章单片机与微机原理实验指导书 A00 送到 7000HDPTR+1,R0+1 N R0=FF Y 结束四、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 在 PC 机处于在 Win9X/2000/XP 软件平台下,单击 LVANG 图标,进入 51 动态调试 窗口; ⑶ 在“系统设置”选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择“联接” ,进入 51 实验系统动态调试界面; ⑸选择“实验指南/实验项目选择/清零程序” ,再选择实验指南/程序,打开该实验源程 序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有一个 蓝色光标出现; ⑺ 从起始地址开始单步(F8)或断点运行程序到 STOP 处; ⑻ 在存贮器窗口内检查 7000H~70FFH 中的内容是否为全 00H。 五、思考: 假使要把 7000~70FFH 中的内容改成 FF,如何编制程序?实验二拆字实验一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低位。7001H、7002H 高位 清零,一般本程序用于把数据送显示缓冲区时用。 三、实验程序框图(CWORD.ASM)开始7000 内容送 A高低位交换 屏蔽高位后送 7001H-33-7000H 内容送 A第一章单片机与微机原理实验指导书 A四、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/拆字程序,再选择实验指南/程序,打开该实验源程序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有一个 蓝色光标出现; ⑺ 先用存贮器读写方法将 7000H 单元置成 34H; ⑻ 从起始地址开始单步(F8)或断点运行程序到 STOP 处; ⑼ 检查 7001H 和 7002H 单元中的内容应为 03H 和 04H; 五、思考:如何用断点方法调试本程序。实验三拼字实验一、实验目的 进一步掌握汇编语言设计和调试方法。 二、实验内容 把 7000H、7001H 的低位相拼后送入 7002H,一般本程序用于把显示缓冲区的数据取出 拼装成一个字节。 三、实验程序框图(PWORD.ASM)开始(7000H)送 A,屏蔽高位交换高低位后送 B(7001H)送 A,屏蔽高位A 和 B 相或后送 7002H结束-34-第一章单片机与微机原理实验指导书 A四、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/拼字程序,再选择实验指南/程序,打开该实验源程序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有一个 蓝色光标出现; ⑺ 先用存贮器读写方法将 7000H 单元中内容置 03H,7001H 单元中的内容置 04H; ⑻ 从起始地址开始单步(F8)或断点运行程序到 STOP 处; ⑼ 在存贮器窗口内检查 7002H 中的内容应为 34H。实验四数据传送实验一、实验目的 掌握 RAM 中的数据操作。 二、实验内容 把(R2、R3)源 RAM 区首址内的(R6、R7)个字节数据,传送到(R4、R5)目的 RAM 区。 三、实验程序框图(DMVE.ASM)开始源地址内容送 A(A)送目的地址源地址加 1目的地址加 1 N 字节数到吗? Y 结束-35-第一章单片机与微机原理实验指导书 A四、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/数据传送程序,再选择实验指南/程序,打开该实验源程 序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有一 个蓝色光标出现; ⑺ 在寄存器窗口里,R2、R3 中装入源首址&例如 6000H&,R4、R5 中装入目的地址& 例如 7000H&,R6、R7 中装入字节数&0FFFH&; ⑻ 从起始地址开始单步(F8)或断点运行程序到 STOP 处; ⑼ 检查 7000H 开始的内容和 6000H 开始的内容是否完全相同。实验五数据排序实验一、实验目的 熟悉 8031 指令系统,掌握程序设计方法。 二、实验内容 编写并调试一个排序子程序, 其功能为用冒泡法将内部 RAM 中几个单元字节无符号的 正整数,按从小到大的次序重新排列。 三、实验程序框图(DORDE.ASM) 开始清标志位从(R0)取数一&A(R0)+1 送 R0(A) (R0) ? & ( )Y置标志位,交换内容 N 长度减 1=0? -36Y 标志位=0?N第一章单片机与微机原理实验指导书 A 四、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/数据排序程序,再选择实验指南/程序,打开该实验源程 序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有 一个蓝色光标出现; ⑺ 片内 RAM 区 50H-5AH 中放入不等的数据。 ⑻ 从起始地址开始单步(F8)或断点运行程序到 STOP 处; ⑼ 检查片内 RAM 区 50H-5AH 中内容,应从小到大排列。 五、思考:编一程序把 50H-5AH 中内容按从大到小排列。实验六查找相同数个数一、实验目的 熟悉汇编语言编程。 二、实验内容 在 FH 中查出有几个字节是零,统计“00”的个数存入 7100 单元。 三、实验程序框图(FIND.ASM) 开始字节数送 R0,查找字节送 R17000H→DPTR从 DPTR 中取数 Y判和被查数相同否 N DPTR+1 N 字节数到吗? Y R1 存入 7100 单元-37-R1+1调显示子程序第一章单片机与微机原理实验指导书 A四、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/查找相同数个数程序,再选择实验指南/程序,打开该实 验源程序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有 一个蓝色光标出现; ⑺ 在用户程序区 FH 的单元中放入随机数,其中几个单元中输入零; ⑻ 从起始地址开始连续运行(F9)程序; ⑼ 检查 7100H 单元中的内容。 五、思考 修改程序,查找其它内容。实验七无符号双字节乘法实验一、实验目的 掌握 MCS-51 汇编语言程序设计方法。 二、预备知识 本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的。 (R2R3)*(R6R7)=((R2)*28+(R3))*((R6)*28+(R7)) =(R2)*(R6)*216+((R2)*(R7)+(R3)*(R6))*28+(R3)*(R7) 三、实验内容 将(R2R3)和(R6R7)中双字节无符号整数相乘,积送 R4R5R6R7 中。 四、实验程序框图(NCMUL.ASM) 开始被乘数和乘数低字节相乘 积高位送 R5,低位送 R7被乘数高字节和乘数低字节相乘 积低位加 R5→R4,高位加 CY→R5被乘数低字节和乘数高字节相乘 积低位加 R4→R6,高位加 R5→R5,CY→F0-38-被乘数和乘数高字节相乘 积低位加 R5,CY→R5,高位加 F0→R4第一章单片机与微机原理实验指导书 A五、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/无符号双字节快速乘法子程序,再选择实验指南/程序, 打开该实验源程序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有 一个蓝色光标出现; ⑺ 将 H 中存放无符号整数作为被乘数 000AH,H 中存放乘数 0019H。 ⑻ 从起始地址开始单步(F8)或断点运行程序到 STOP 处; ⑼ 检查两个数的乘积
单元中的内容应为 000000FAH。实验八多分支实验一、实验目的 掌握汇编语言的编程。 二、实验内容 编写散转程序,根据 8032 片内 20H 中的内容(00 或 01 或 02 或 03)进行散转。 三、实验程序框图(MJUP.ASM) 开始(20H)→AA+ 散 转 首 地 址0 字循环1 字循环2 字循环3 字循环四、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据;-39-第一章单片机与微机原理实验指导书 A ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/多分支程序, 再选择实验指南/程序, 打开该实验源程序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤 一起完成,也可以逐项进行) ;目标文件传送完后,在程序窗口内的首条指令前有一 个蓝色光标出现; ⑺ 片内 RAM 区 20H 单元写入 00 或 01 或 02 或 03(在内部数据窗口中操作) 。 ⑻ 从起始地址开始连续运行(F9)程序; ⑼ 观察数码管显示的内容(20H)=00 时, “0” 显示 循环, (20H)=01 时,显示 “1” 字循环??实验九脉冲计数(定时/计数器)实验一、实验目的 熟悉 8031 定时/计数功能,掌握定时/计数初始化编程方法。 二、实验内容 对定时器 0 外部输入的脉冲进行计数,并送显示器显示。 三、实验程序框图(CONT.ASM) 二进制转十进制子程序 开始 0 送 R4 R5 R6 堆栈、定时/计数初始化 16 送位计数器 R7 开定时器 0 送 CY 取出 TL0、TH0 内容 R2R3 右移一位 调用二转十进制子程序 2×(R4R5R6)+CY 送 R4R5R6 结果送显示缓冲 器 调显示子程序 N R7=0? Y 结束(R7)-1 送 R7四、实验连线 ⑴ 系统扩展区 1 的 P3.0 连串行键盘显示接口区的 SCL_04; ⑵ 系统扩展区 1 的 P3.1 连串行键盘显示接口区的 SDA_04;-40-第一章单片机与微机原理实验指导书 A ⑶ 系统扩展区 1 的 P3.4 插孔接固定脉冲输出信号或单脉冲输出孔, 作为被测脉冲信号 源; 五、实验步骤 ⑴在闪动“P.”状态,按 PCDBG 键; ⑵ 单击 LVANG 图标; ⑶ 在系统设置选项中设定仿真模式为内程序、内数据; ⑷ 在主菜单中选择联接; ⑸选择实验指南/实验项目选择/脉冲计数(定时/计数器实验)程序,再选择实验指南/ 程序,打开该实验源程序; ⑹ 再在主菜单中选择调试,进入实验程序的编译、连接、目标