首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

中断处理程序的编写方法

2020-10-01 来源:化拓教育网
实训二 外部中断

一、实训目的

1.掌握外部中断技术的基本使用方法。 2.掌握中断处理程序的编写方法。 二、实训说明

1.外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。中断方式设置一般有两种方式:电平方式和脉冲方式,本实训选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入,本实训由INT0(P3.2)引入。

2.中断服务的关键: a、保护进入中断时的状态。

堆栈有保护断点和保护现场的功能使用PUSH指令,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。

b、必须在中断服务程序中设定是否允许中断重入,即设置EX0位。 c、用POP指令恢复中断时的现场。 3.中断控制原理:

中断控制是提供给用户使用的中断控制手段。实际上就是控制一些寄存器,51系列用于此目的的控制寄存器有四个:TCON 、IE 、SCON 及IP。

4.中断响应的过程:

首先中断采样然后中断查询最后中断响应。采样是中断处理的第一步,对于本实训的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,IE0或IE1置“1”;否则继续为“0”。所谓查询就是由CPU测试TCON和SCON中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。 三、实训步骤

1.用二号导线连接单片机最小应用系统模块的P1.0到八位逻辑电平显示模块的L0发光二极管,连接INTO(P3.2)到单次脉冲模块的任一输出端。

2.将89S52芯片插到单片机最小应用系统模块的40P锁紧插座中,请注意芯片的方向:缺口朝上。用二号导线连接单片机最小应用系统模块的EA/VP端到电源模块的+5V。

3.接好AC 220V电源,打开相关模块的电源开关, 用ISP下载器将“TH6_外部中断.HEX”文件下载到89S52芯片中运行(ISP下载器的使用查看附录二)。

4.实训现象::连续按动单次脉冲模块的按键S1E3,发光二极管每按一次状态取反,即隔一次点亮。 四、实训电路图

本实训需要用到单片机最小应用系统模块(C区),单次脉冲模块(E3区),八位逻辑电平

1

显示模块(A3区)。单片机最小应用系统电路原理参考附录三,八位逻辑电平显示电路原理参考实训五图5.2, 单次脉冲电路原理参考图6.1。

C1E3

图6.1 单次脉冲电路

五、实训流程图及源程序

1.流程图

2.源程序

LED BIT P1.0

LEDBuf BIT 00H

ORG 0000H

2

0.1uF56SW_RESETR1E31MR2E31MR3E31MR4E31M14158S1E3VCCVCC12341211VCCU1E35EN4367S1R1S2R2S3R3S4R4GNDCC4043R5E31KVCCQ1VCC1621415U2E3F4050P1E3H-PulseQ29Q310910U2E3D4050P2E3L-PulseQ41LED1E3PulseVCC开始 中断入口 设置初始状态 保护现场 设置中断控制寄存器 状态位取反 状态位输出 中断允许 恢复现场 等待中断 中断返回 主程序框图 外部中断子程序框图

LJMP Start ORG 000BH LJMP INTERRUPT

Start: CLR 00H CLR P1.0

MOV TCON, #01H ; 外部中断0下降沿触发

MOV IE, #81H ; 打开外部中断允许位(EX0)及总中断允许位(EA) OK: LJMP OK

INTERRUPT:

PUSH PSW ; 保护现场 CPL 00H ; 取反LED MOV C, 00H MOV P1.0, C

POP PSW ; 恢复现场 RETI

END 六、实训思考题

1.简述中断处理的一般过程。

2.脉冲方式如何防止重复响应外中断。

3

附录一 Keil uVision2仿真软件的使用说明

μVision2集成开发环境

μVision2 IDE是德国Keil公司开发的基于Windows平台的单片机集成开发环境,它包含一个高效的编译器、一个项目管理器和一个MAKE工具。其中Keil C51是一种专门为单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。 1、关于开发环境

μVision2的界面如图1-1所示,μVision2允许同时打开、浏览多个源文件。

图1-1 μVision2界面图

2、菜单条、工具栏和快捷键

下面的表格列出了μVision2菜单项命令,工具栏图标,默认的快捷以及他们的描述。 1)编辑菜单和编辑器命令Edit(如表1-1所示) 表1-1 编辑菜单和编辑器命令Edit 菜单 Home End Ctrl+Home Ctrl+End Ctrl+<- Ctrl+-> Ctrl+A Undo Redo

工具栏 快捷键 描述 移动光标到本行的开始 移动光标到本行的末尾 移动光标到文件的开始 移动光标到文件的结束 移动光标到词的左边 移动光标到词的右边 选择当前文件的所有文本内容 Ctrl+Z 取消上次操作 Ctrl+SHift+Z 重复上次操作 4

Cut Ctrl+X Ctrl+Y 剪切所选文本 剪切当前行的所有文本 复制所选文本 粘贴 将所选文本右移一个制表键的距离 将所选文本左移一个制表键的距离 设置/取消当前行的标签 移动光标到下一个标签处 移动光标到上一个标签处 清除当前文件的所有标签 在当前文件中查找文本 向前重复查找 向后重复查找 查找光标处的单词 寻找匹配的大括号、圆括号、方括号(用此命令将光标放到大括号、圆括号或方括号的前面) Copy Paste Indent Selected Text Ctrl+C Ctrl+V Unindent Selected Text Toggle Bookmark Goto Next Bookmark GotoPrevious bookmark Clear All Bookmarks Find Ctrl+F2 F2 SHift+F2 F3 SHift+F3 Ctrl+F3 Ctrl+] Replace Find in Files„ Goto MatcHing brace 替换特定的字符 在多个文件中查找 选择匹配的一对大括号、圆括号或方括号中的内容 2)选择文本命令

在μVision2中,可以通过按住SHift键和相应的键盘上的方向键来选择文本。如Ctrl+->可以移动光标到下一个词,那么,Ctrl+SHift+->就是选择当前光标位置到下一个词的开始位置间的文本。当然,也可以用鼠标来选择文本。

3)项目菜单Project和项目命令Project(如表1-2所示) 表1-2 项目菜单和项目命令Project 菜单 New Project„ Import μ Project„ Open Project„ Close Project„ Target Environment

工具栏 Vision1 快捷键 创建新项目 描述 转化μ Vision1的项目 打开一个已经存在的项目 关闭当前的项目 定义工具、包含文件和库的路径 5

Targets,Groups,Files 维护一个项目的对象、文件组和文件 Select Device for Target Remove „ Options „ File Extensions Build Target Rebuild Target Translate „ Stop Build 1~7 Alt+F7 F7 Ctrl+F7 选择对象的CPU 从项目中移走一个组或文件 设置对象、组或文件的工具选项 选择不同文件类型的扩展名 编译修改过的文件并生成应用 重新编译所有的文件并生成应用 编译当前文件 停止生成应用的过程 打开最近打开过的项目 4)调试菜单Debug和调试命令(如表1-3所示) 表1-3 调试菜单和调试命令Debug

菜单 Start/Stop Debugging Go Step Step over Step out of Current Runing Breakpoints„ Insert/Remove Breakpoint Enable/Disable Breakpoint Disable All Breakpoints Kill All Breakpoints SHow Next Statement Enable/Disable Recording View Trace Records Memory Map„ Performance Analyzer„ Inline Assembly„

工具栏 stop Trace 快捷键 描述 Ctrl+F5 开始/停止调试模式 F5 F11 F10 运行程序,直到遇到一个中断 单步执行程序,遇到子程序则进入 单步执行程序,跳过子程序 Ctrl+F11 执行到当前函数的结束 Esc 6

function 停止程序运行 打开断点对话框 设置/取消当前行的断点 使能/禁止当前行的断点 禁止所有的断点 取消所有的断点 显示下一条指令 使能/禁止程序运行轨迹的标识 显示程序运行过的指令 打开存储器空间设置对话框 打开设置性能分析的窗口 对某一行重新汇编,可以修改汇编代码 Function Editor„ 编辑调试函数和调试设置文件 5)外围器件菜单PeripHerals(如表1-4所示) 表1-4 外围器件菜单PeripHerals

菜单 Reset CPU 工具栏 复位CPU 描述 以下为单片机外围器件的设置对话框(对话框的种类及内容依赖于你选择的CPU) Interrupt I/O-Ports Serial Timer A/D Conoverter D/A Conoverter I2C Conoverter WatcHdog 中断观察 I/O口观察 串口观察 定时器观察 A/D转换器 D/A转换器 I2C总线控制器 看门狗 6)工具菜单Tool(如表1-5所示)

利用工具菜单,可以设置并运行Gimpel PC-Lint、Siemens Easy-Case和用户程序。通过Customize Tools Menu„菜单,可以添加需要的程序。

表1-5 工具菜单Tool 菜单 Setup PC-Lint„ Lint Lint all C Source Files Setup Easy-Case„ Start/Stop Easy-Case SHow File (Line) Customize Tools Menu„ 3、创建项目实例

μVision2包括一个项目管理器,它可以使8x51应用系统的设计变得简单。要创建一个应用,需要按下列步骤进行操作:

   

描述 设置Gimpel Software的PC- Lint程序 用PC- Lint处理当前编辑的文件 用PC- Lint处理项目中所有的C源代码文件 设置Siemens的Easy-Case程序 运行/停止Siemens的Easy-Case程序 用Easy-Case处理当前编辑的文件 添加用户程序到工具菜单中 启动μVision2,新建一个项目文件并从器件库中选择一个器件。 新建一个源文件并把它加入到项目中。 增加并设置选择的器件的启动代码 针对目标硬件设置工具选项。

7

 编译项目并生成可编程PROM的HEX文件。

下面将逐步地进行描述,从而指引读者创建一个简单的μVision2项目。 1) 选择【Project】/【New Project】选项,如图1-2所示。

图1-2 Project菜单

2) 在弹出的“Create New Project”对话框中选择要保存项目文件的路径,比如保存到Exercise目录里,在“文件名”文本框中输入项目名为example,如图1-3所示,然后单击“保存”按钮。

图1-3 Create New Project对话框

3) 时会弹出一个对话框,要求选择单片机的型号。读者可以根据使用的单片机型号来选择,Keil C51几乎支持所有的51核的单片机,这里只是以常用的AT89C51为例来说明,如图1-4所示。选择89C51之后,右边Description栏中即显示单片机的基本说明,然后单击“确定”按钮。

8

图1-4 选择单片机的型号对话框

4) 这时需要新建一个源程序文件。建立一个汇编或C文件,如果已经有源程序文件,可以忽略这一步。选择【File】/【New】选项,如图1-5所示。

5) 在弹出的程序文本框中输入一个简单的程序,如图1-6所示。

图1-5 新建源程序文件对话框图 图1-6 程序文本框 6) 选择【File】/【Save】选项,或者单击工具栏

按钮,保存文件。

在弹出的如图1-7所示的对话框中选择要保存的路径,在“文件名”文本框中输入文件名。注意一定要输入扩展名,如果是C程序文件,扩展名为.c;如果是汇编文件,扩展名为.asm;如果ini文件,扩展名为. ini。这里需要存储ASM源程序文件,所以输入.asm扩展名(也可以保存为其他名字,比如new.asm等),单击“保存”按钮。

9

图1-7 “Save As”对话框图

7) 单击Target1前面的+号,展开里面的内容Source Group1,如图1-8所示。

图1-8 Target展开图

8) 用右键单击Source Group1,在弹出的快捷菜单中选择Add File to Group`Source Group1`选项,如图1-9所示。

图1-9 Add Files to Group ‘Source Group1’菜单

10

9) 选择刚才的文件example.asm,文件类型选择Asm Source file(*.C)。如果是C文件,则选择C Source file;如果是目标文件,则选择Object file;如果是库文件,则选择Library file。最后单击“Add”按钮,如果要添加多个文件,可以不断添加。添加完毕后单击“Close”按钮,关闭该窗口,如图1-10所示

图1-10 Add Files to Group ‘Source Group1’对话框

10)

图1-11 example.asm文件

11)

这时在Source Group1目录里就有example.asm文件,如图1-11所示。

接下来要对目标进行一些设置。用鼠标右键(注意用右键)单击Target1,在弹

11

出的会计菜单中选择Options for Target “Target 1”选项,如图1-12所示。

图1-12 ptions for Target “Target 1”选项

12)、弹出Options for Target “Target 1”对话框,其中有8个选项卡。

① 默认为Target选项卡(如图1-13所示)

1-13 Target选项卡

 Xtal(MHZ):设置单片机工作的频率,默认是24.0MHz。

 Use On-cHip ROM(0x0-0XFFF):表示使用片上的FlasH ROM,At89C51有4KB的可重编程的FlasH ROM,该选项取决于单片机应用系统,如果单片机的EA接高电平,则选中这个选项,表示使用内部ROM,如果单片机的EA接低电平,表示使用外部ROM,则不选中该项。这里选中该选项。

 Off-cHip Code memory:表示片外ROM的开始地址和大小,如果没有外接程序存储器,那么不需要填任何数据。这里假设使用一个片外ROM,地址从0x8000开始,一般填16进制的数,Size为片外ROM的大小。假设外接ROM的大小为0x1000字节,则最多可以外接3块ROM。

12

 Off-cHip Xdata memory: 那么可以填上外接Xdata外部数据存储器的起始地址和大小,一般的应用是62256,这里特殊的指定Xdata的起始地址为0x2000,大小为0x8000。

 Code Banking:是使用Code Banking技术。Keil可以支持程序代码超过64KB的情况,最大可以有2MB的程序代码。如果代码超过64KB,那么就要使用Code Banking技术,以支持更多的程序空间。Code Banking支持自动的Bank的切换,这在建立一个大型系统时是必需的。例如:在单片机里实现汉字字库,实现汉字输入法,都要用到该技术。

 Memory Model:单击Memory Model后面的下拉箭头,会有3个选项,如图1-14所示。

图1-14 Memory Model选项

 Small:变量存储在内部RAM里。

 Compact:变量存储在外部RAM里,使用8位间接寻址。  Large:变量存储在外部RAM里,使用16位间接寻址。

一般使用Small来存储变量,此时单片机优先将变量存储在内部RAM里,如果内部RAM空间不够,才会存在外部RAM中。Compact的方式要通过程序来指定页的高位地址,编程比较复杂,如果外部RAM很少,只有256字节,那么对该256字节的读取就比较快。

如果超过256字节,而且需要不断地进行切换,就比较麻烦,Compact模式适用于比较少的外部RAM的情况。Large模式是指变量会优先分配到外部RAM里。需要注意的是,3种存储方式都支持内部256字节和外部64KB的RAM。因为变量存储在内部RAM里运算速度比存储在外部RAM要快得多,大部分的应用都是选择Small模式。

使用Small模式时,并不说明变量就不可以存储在外部,只是需要特别指定,比如: unsigned cHar xdata a:变量a存储在内部RAM。 unsigned cHar a:变量存储在内部RAM。 但是使用Large的模式时:

unsigned cHar xdata a:变量a存储在外部RAM。 unsigned cHar a:变量a同样存储在外部RAM。

这就是它们之间的区别,可以看出这几个选项只影响没有特别指定变量的存储空间的情况,默认存储在所选模式的存储空间,比如上面的变量定义unsigned cHar a。

 Code Rom Size:单击Code Rom Size后面的下拉箭头,将有3个选项,如图1-15所示。

13

图1-15 Code Rom Size选项

Small:program2K or less,适用于AT89C2051这些芯片,2051只有2KB的代码空

间,所以跳转地址只有2KB,编译的时候会使用ACALL AJMP这些短跳指令,而不会使用LCALL,LJMP指令。如果代码地址跳转超过2KB,那么会出错。

Compact:2K functiongs,64K program,表示每个子函数的代码大小不超过2K,整

个项目可以有64K的代码。就是说在main()里可以使用LCALL,LJMP指令,但在子程序里只会使用ACALL,AJMP指令。只有确定每个子程序不会超过2KB,才可以使用Compact方式。

Large:64KB program,表示程序或子函数代码都可以大到64KB,使用code bank还

可以更大。通常都选用该方式。选择Large方式速度不会比Small慢很多,所以一般没有必要选择Compact和Small方式。这里选择Large方式。

 Operating:单击Operating后面的下拉箭头,会有3个选项,如图1-16所示。

图1-16 Operating选项

  

None:表示不使用操作系统。

RTX-51 Tiny Real-Time OS:表示使用Tiny操作系统。 RTX-51 Full Real -Time OS:表示使用Full操作系统。

Tiny是一个多任务操作系统,使用定时器0做任务切换。在11.0592MHz时,切换任务的速度为30ms。如果有10个任务同时运行,那么切换时间为300ms。不支持中断系统的任务切换,也没有优行级,因为切换的时间太长,实时性大打折扣。多任务情况下(比如5个),轮循一次需要150ms,即150ms才处理一个任务,这连键盘扫描这些事情都实现不了,更不要说串口接收、外部中断了。同时切换需要大概1000个机器周期,对CPU的浪费很大,对内部RAM的占用也很严重。实际上用到多任务操作系统的情况很少。

Keil C51 Full Real -Time OS是比Tiny要好一些的系统(但需要用户使用外部RAM),支持中断方式的多任务和任务优先级,但是Keil C51里不提供该运行库,要另外购买。

这里选择None。

② 设置Output选项卡(如图1-17所示)

14

图1-17 设置Output卡

 Select Folder for Objects:单击该按钮可以选择编译后目标文件的存储目录,如果不设置,就存储在项目文件的目录里。

 Name of Executable:设置生成的目标文件的名字,缺省情况下和项目的名字一样。目标文件可以生成库或者obj、HEX的格式。

 Create Executable:如果要生成OMF以及HEX文件,一般选中Debug Information和Browse Information。选中这两项,才有调试所需的详细信息,比如要调试C语言程序,如果不选中,调试时将无法看到高级语言写的程序。

 Create HEX File:要生成HEX文件,一定要选中该选项,如果编译之后没有生成HEX文件,就是因为这个选项没有被选中。默认是不选中的。

 Create Library:选中该项时将生成lib库文件。根据需要决定是否要生成库文件,一般应用是不生成库文件的。

 After Make:栏中有以下几个设置。

 Beep wHen complete:编译完成之后发出咚的声音。

 Start Debugging:马上启动调试(软件仿真或硬件仿真),根据需要来设置,一般是不选中。

 Run User Program #1,Run User Program #2:这个选项可以设置编译完之后所要运行的其他应用程序(比如有些用户自己编写了烧写芯片的程序,编译完便执行该程序,将HEX文件写入芯片),或者调用外部的仿真器程序。根据自己的需要设置。

③ 设置Listing选项卡(如图1-18所示)

15

图1-18 设置Listing选项卡

Keil C51在编译之后除了生成目标文件之外,还生*.lst、*m51的文件。这两个文件可以告诉程序员程序中所用的idata、data、bit、xdata、code、RAM、ROM、stack等的相关信息,以及程序所需的代码空间。

选中Assembly Code会生成汇编的代码。这是很有好处的,如果不知道如何用汇编来写一个long型数的乘法,那么可以先用C语言来写,写完之后编译,就可以得到用汇编实现的代码。对于一个高级的单片机程序员来说,往往既要熟悉汇编,同时也要熟悉C语言,才能更好地编写程序。某些地方用C语言无法实现,便用汇编语言却很容易。有些地方用汇编语言,很繁琐,用C语言就很方便。

单击Select Folder for Listings按钮后,在出现的对话框中可以选择生成的列表文件的存放目录。不做选择时,使用项目文件所在的目录。

④设置Debug选项卡(如图1-19所示)

这里有两类仿真形式可选:Use Simulator和Use:Keil Monitor-51 Driver,前一种是纯软件仿真,后一种是带有Monitor-51目标仿真器的仿真。

 Load Application at Start:选择这项之后,Keil才会自动装载程序代码。

16

1-19设置Debug选项卡

 Go till main:调试C语言程序时可以选择这一项,PC会自动运行到main程序处。 这里选择Use Simulator。

如果选择Use:Keil Monitor-51 Driver,还可以单击图1-19中的Settings按钮,打开新的窗口如图1-20,其中的设置如下。

 Port:设置串口号,为仿真机的串口连接线COM_A所连接的串口。  Baudrate:设置为9600,仿真机固定使用9600bit/s跟Keil通信。  Serial Inerrupt:允许串行中断,选中它。

 CacHe Options:可以选也可以不选,推荐选它,这样仿真机会运行得快一点。 最后单击OK按钮关闭窗口。

图1-20 Target设置

13)编译程序,选择【Project】/【Rebuild all target files】选项,如图1-21所示。

17

图1-21 Rebuild all target files

或者单击工具栏中的

图1-22 工具栏中的按钮

如果编译成功,开发环境下面会显示编译成功的信息,如图1-23所示。

图1-23 编译成功信息

14)编译完毕之后,选择【Debug】/【Start/Stop Debug Session】选项,即就进入仿真环境,如图1-24所示。

图1-24 仿真

或者单击工具栏中的

图1-25 工具栏仿真按钮

15)装载代码之后,开发环境下面显示如图1-26所示的信息。

图1-26 装载代码

18

按钮,如图1-22所示,开始编译程序。

铵钮,如图1-25所示。

附录二 ISP下载器使用说明

下载器是使用了单片机的ISP编程方式,其组成有下载板和并口下载器组成。 软件特性:

支持Hex文件了,重载的文件对话框,让你不必到处找文件,热键支持,让你调试程序时效率更高,灵活的程序设计,甚至可以让整套软件在其他编程器硬件上运行,下载线,编程器都有相关的调试程序,让你制作时更轻松,提高了成功率。

首先把软件考到PC机中打开Easy 51Pro.exe即可会出现上面对话框。

打开右下角的设置按扭进行如下图的设置,接着在在检测器件的窗口中选择要下载的目标芯片如AT89S52。

19

其次将89S52芯片插到单片机最小应用系统模块的40P的锁紧座中,25针的并口线一端连PC机的并口,另一端与下载连接线相连,再把ISP下载器的8P排线和D10实训挂箱上的ISP下载接口JD6C相接,然后在下载界面中点击“检测器件”的按钮看是否可以检测到所烧的目标芯片,并听到相应的声音信号。

接着打开下载界面,在“打开文件”按扭中打开需要下载的程序HEX文件,可以一步一步的手动完成,也可以点击“自动完成”后,就会一项一项的往下进行,等下载完成了接着可以与运行自己的实训程序了最优的设置就像上面这个图。缓冲1会自动刷新上一次你打开的文件,所以你不必每烧一次芯片就去打开一次文件。你也可以不点击“自动完成”,在该界面下“回车”就是的。不在该界面下时可以用“热键”,所以每当编译完程序后,直接按热键就可以了(默认热键Ctrl+SHift+P)。在调试中频繁烧片时这个功能显得很重要。要把按钮设置成“自动”很简单,用“鼠标右键”点一下就可以了。操作成功或失败会有不同的声音提示。成功的声音提示可能会让你编程时更兴奋,效率更高。如果你觉得声音听起来不爽,就在设置里“False”它吧。

ISP下载线可以是任何一种并口下载线,因为Easy IS打开程序目录下的EasyIsp.ini文件可以编辑控制ISP时所用到的并口引脚。

20

注意:在下载程序之前,请保持P1口为悬空状态,以保证程序能顺利下载!(因为ISP下载口用到了P1.5、P1.6、P1.7口)

21

附录三 单片机最小应用系统电路原理图

RP2C23456789123456789KP2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RP1C2345678910K123456789KP1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RP0C2345678910K123456789KP0P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7JD1C12345678P1.0-7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7JD2C87654321P2.0-7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0JD3C12345678P3.0-7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7JD4C12345678P0.0-7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7JD5C12345678P0.0-7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7JD6C12345678ISPVCCP1.7P1.5GNDP1.6RSTJD7C12345678Q0-7Q0Q1Q2Q3Q4Q5Q6Q7Q0-7JD8C12345678Q0Q1Q2Q3Q4Q5Q6Q710KVCC_CU1CP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6C4C0.1uFVCC_C4039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.7U2CGND1ALE11P0.0P0.1P0.2P0.3P0.4P0.534781314OCC1D2D3D4D5D1Q2Q3Q4Q5Q6Q7Q256912151619Q0Q1Q2Q3Q4Q5Q6Q7JT2CKP2KP1KP0123S1C2VCCVCC_C456VCC_CP0.0P0.1P0.2P0.3P0.4P0.5P0.6P00FP01FP02FP03FP04FP05FP06FP07FP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P5FP6FP7FP8FP9FP10FP11FP12FP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7VCC1RESETP1FRESET9RST89C51P0.7 31EAP3.010EAP3.111P3.0/RXDP3.212P3.1/TXDALE/PROG30ALEP3.313P3.2/INT0PSEN29PSEN P3.414P3.3/INT1P2.728P2.7P3.515P3.4/T0P2.627P2.6P3.616P3.5/T1P2.526P2.5C2C22pFP2.425P2.42P3.717P3.6/WR18P3.7/RDP2.324P2.3 X1C19XTAL2P2.223P2.212MHz20XTAL1P2.122P2.1VSSP2.021P2.0C1C22pF1 89C51

P0.6176D8QP0.7187D8D74LS373PSENP2FPSENALE/PP3FALEEA/VPP4FEA22

P0.7LED1CR3CVCC_CP13FP2.0510P2.0VCCP2.1P14FP2.1P2.2P15FP2.2S2CP2.3P16FP2.3R2CVCC_CP2.4P17FP2.4100Reset10uFP18FR1CC3CP2.5P2.5RSTP2.6P19FP2.61KP2.6P20FP2.7P1.7RXDP21FP3.0TXDP22FP3.1INT0P23FP3.2INT1P24FP3.3T0P25FP3.4T1P26FP3.5WRP27FP3.6RDP28FP3.7

因篇幅问题不能全部显示,请点此查看更多更全内容