《单片机-步进电机控制.docx》由会员分享,可在线阅读,更多相关《单片机-步进电机控制.docx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、郑州科技学院单片机课程设计题 目 单片机控制步进电机学生姓名XXX专业班级 电气工程及其自动化六班学号 2012471XX院(系)电气工程学院指导教师&完成时间 2015年11月6日外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉 的缘故。P3 口也可作为AT89C51的一些特殊功能口,如下表 所示:口管脚备选功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INTO (外部中断0 )P3.3 /INT1 (外部中断1)P3.4 TO (计时器0外部输入)P3.5T1 (计时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外
2、部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST :复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。ALE/PROG :当访问外部存储器时,地址锁存允许的 输出电平用于锁存地址的低位字节。在FLASH编程期间, 此引脚用于输入编程脉冲。在平时,ALE端以不变的频率 周期输出正脉冲信号,此频率为振荡器频率的1/60因此 它可用作对外部输出的脉冲或用于定时目的。然而要注意 的是:每当用作外部数据存储器时,将跳过一个ALE脉 冲。如想禁止ALE的输出可在SFR8EH地址上置0。此 时,ALE只有在执行MOVX , MOVC指令是ALE才起作 用。另
3、外,该引脚被略微拉高。如果微处理器在外部执行 状态ALE禁止,置位无效。/PSEN :外部程序存储器的选通信号。在由外部程序存 储器取指期间,每个机器周期两次/PSEN有效。但在访问 外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP :当/EA保持低电平时,那么在此期间外部程序 存储器(0000H-FFFFH ),不管是否有内部程序存储器。 注意加密方式1时,/EA将内部锁定为RESET ;当/EA端 保持高电平时,此间内部程序存储器。在FLASH编程期 间,此引脚也用于施加12V编程电源(VPP ) oXTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2
4、 :来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡 均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此 对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高 低电平要求的宽度。图2-2步进电机进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化 的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个进电机按设定的方向转动一个定的角度,
5、称为步距角,它的旋转是以固定的角度一步一步运行的。可以通 过控制脉冲个数来控制角位移量,从而到达准确定位的目 的;同时可以通过控制脉冲频率来控制电机转动的速度和 加速度,从而到达调速的目的。进电机是一种感应电机,它的工作原理是利用电子电路, 将直流电变成分时供电的,多相时序控制电流,用这种电 流为步进电机供电,步进电机才能正常工作,驱动器就是 为步进电机分时供电的,多相时序控制器。然步进电机已被广泛地应用,但步进电机并不能像普通的 直流电机,交流电机在常规下使用。它必须由双环形脉冲 信号、功率驱动电路等组成控制系统方可使用。因此用好 步进电机却非易事,它涉及到机械、电机、电子及计算机 等许多专
6、业知识。步进电机作为执行元件,是机电一体化 的关键产品之一,广泛应用在各种自动化控制系统中。随 着微电子和计算机技术的开展,步进电机的需求量与日俱 增,在各个国民经济领域都有应用。作原理:通常电机的转子为永磁体,当电流流过定子绕组 时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一 角度,使得转子的一对磁场方向与定子的磁场方向一致。 当定子的矢量磁场旋转一个角度。转子也随着该磁场转一 个角度。每输入一个电脉冲,电动机转动一个角度前进一 步。它输出的角位移与输入的脉冲数成正比、转速与脉冲 频率成正比。改变绕组通电的顺序,电机就会反转。所以 可用控制脉冲数量、频率及电动机各相绕组的通电顺序来 控制
7、步进电机的转动。3硬件电路及软件设计硬件电路设计单片机步进电机控制VCU上BB.BBS 勺 *33启动/停止正转/反转11 知 力口:口加速3 火力力力火力力力定为nwNkwwnorrsTC律器鞋詈需器等5V电源下载接口 VCC按键电路时钟电路工测试功能:1:上电数码管显示0 012:按下启动/停止键后步进电机开始转3:再按下启动停止按键步进电机停止转4:按下正反转按键,步进电机转动方向变换5:按下加速、减速按键,步进电机加速或是减速。图3-1步进电机控制进电机和普通电动机不同之处是步进电机接受脉冲信号的 控制。即步进电机是将电脉冲信号转换为机械角位移的执 行元件。步进电机的控制可以用硬件,也
8、可以用软件通过 单片机实现。硬件方法是采用脉冲分配器芯片进行通用换 相控制;而软件方法是用单片机产生控制脉冲来控制步进 电机的运行状态,这种方法可简化电路,降低本钱。由于 单片机的驱动电流一般都比拟小,不能直接驱动电机工作,所以单片机的I/O 口输出必须接驱动电路,即功率驱动,才得以控制电机正常工作,驱动芯片我们选择的是UNL2003o软件设计步进电机控制系统的软件需要同时完成读取键盘、处理键 盘、控制步进电机转动、控制数码管动态显示等任务,这 就必须通过中断技术来实现。程序采用查询方式扫描键盘端口,检测按键动作是否发 生,假设有按键动作那么处理键盘,根据按键值修改相应参数 值,实现键盘的实时
9、处理功能。定时器0中断服务程序控 制步进电机的转动:根据当前显示的速度进行键盘手动改 变TO定时时间常数,设置TH0和TLO的值,到达对转速 精确控制的目的;根据转动方向控制位的值,控制脉冲信 号循环移动的方向,到达对转动方向控制的目的。4硬件的制作与调试硬件的制作量技巧:1.测电容:用电阻档,根据电容容量选择适当的量 程,并注意测量时对于电解电容黑表笔要接电容正极。 、估测微波法级电容容量的大小:可凭经验或参照相同 容量的标准电容,根据指针摆动的最大幅度来判定。所参 照的电容不必耐压值也一样,只要容量相同即可,例如估 测一个100/250V的电容可用一个100/25V的电容 来参照,只要它们
10、指针摆动最大幅度一样,即可断定容量 一样。、估测皮法级电容容量大小:要用RxlOk档,但 只能测到WOOpF以上的电容。对lOOOpF或稍大一点的 电容,只要表针稍有摆动,即可认为容量够了。、测电 容是否漏电:对一千微法以上的电容,可先用RxlO档将 其快速充电,并初步估测电容容量,然后改到Rxlk档继 续测一会儿,这时指针不应回返,而应停在或十分接近8 处,否那么就是有漏电现象。对一些几十微法以下的定时或 振荡电容(比方彩电开关电源的振荡电容),对其漏电特 性要求非常高,只要稍有漏电就不能用,这时可在Rxlk 档充完电后再改用RxlOk档继续测量,同样表针应停在8 处而不应回返。.在测二极管
11、、三极管好坏:因为在实际电路中,三极管的 偏置电阻或二极管、稳压管的周边电阻一般都比拟大,大 都在几百欧姆以上,这样,我们就可以用万用表的RxlO 或Rxl档来在路测量PN结的好坏。在路测量时,用 RxlO档测PN结应有较明显的正反向特性(如果正反向电 阻相差不太明显,可改用Rxl档来测),一般正向电阻在 RxlO档测时表针应指示在2000左右,在Rxl档测时表 针应指示在30左右(根据不同表型可能略有出入)。如果 测量结果正向阻值太大或反向阻值太小,都说明这个PN 结有问题,这个管子也就有问题了。这种方法对于维修时 特别有效,可以快速地找出坏管,甚至可以测出尚未完全 坏掉但特性变坏的管子。比
12、方当你用小阻值档测量某个PN 结正向电阻过大,如果你把它焊下来用常用的Rxlk档再 测,可能还是正常的,其实这个管子的特性已经变坏了,不能正常工作或不稳定了。.测电阻:重要的是要选好量程,当指针指示于1/32/3 满量程时测量精度最高,读数最准确。要注意的是,在用 RxlOk电阻档测兆欧级的大阻值电阻时,不可将手指捏在 电阻两端,这样人体电阻会使测量结果偏小。.测三极管:通常我们要用Rxlk档,不管是NPN管还是 PNP管,不管是小功率、中功率、大功率管,测其be结 cb结都应呈现与二极管完全相同的单向导电性,反向电阻 无穷大,其正向电阻大约在10K左右。为进一步估测管子 特性的好坏,必要时还
13、应变换电阻档位进行屡次测量,方 法是:置RxlO档测PN结正向导通电阻都在大约200Q 左右;置Rxl档测PN结正向导通电阻都在大约30Q左 右,(以上为47型表测得数据,其它型号表大概略有不 同,可多试测几个好管总结一下,做到心中有数)如果读 数偏大太多,可以断定管子的特性不好。还可将表置于RxlOk再测,耐压再低的管子(基本上三极管的耐压都在1背景12设计原理及功能说明13硬件电路及软件设计130V以上),其cb结反向电阻也应在8,但其be结的反 向电阻可能会有些,表针会稍有偏转(一般不会超过满量 程的1/3 ,根据管子的耐压不同而不同)0同样,在用 RxlOk档测ec间(对NPN管)或c
14、e间(对PNP管)的 电阻时,表针可能略有偏转,但这不表示管子是坏的。但 在用Rxlk以下档测ce或ec间电阻时,表头指示应为无 穷大,否那么管子就是有问题。应该说明一点的是,以上测 量是针对硅管而言的,对错管不适用。不过现在诸管也很 少见了。另外,所说的反向是针对PN结而言,对 NPN管和PNP管方向实际上是不同的。现在常见的三极 管大局部是塑封的,三极管的b极很容易测出来,ce这里 推荐三种方法:第一种方法:对于有测三极管hFE插孔的 指针表,先测出b极后,将三极管随意插到插孔中去(当 然b极是可以插准确的),测一下hFE值,然后再将管子 倒过来再测一遍,测得hFE值比拟大的一次,各管脚插
15、入 的位置是正确的。这个方法适用于所有外形的三极管,方 便实用。根据表针的偏转幅度,还可以估计出管子的放大 能力,当然这是凭经验的。第三种方法:先判定管子的NPN或PNP类型及其b极后,将表置于RxlOkQ档,对NPN管,黑表笔接e极,红表笔接c极时,表针可能会有一定偏转,对PNP管,黑表笔接c极,红表笔接e极时, 表针可能会有一定的偏转,反过来都不会有偏转。由此也 可以判定三极管的c、e极。不过对于高耐压的管子,这个 方法就不适用了。中、小功率管有的b极可能在中间。比 如常用的9013三极管及其系列的其它型号三极管、 2SC1815. 2N5401. 2N5551等三极管,其b极有的在 就中
16、间。当然它们也有c极在中间的。所以在维修更换三 极管时,尤其是这些小功率三极管,不可拿来就按原样直 接安上,一定要先测一下。万用表的使用的考前须知:.在使用万用表之前,应先进行机械调零,即在没有被 测电量时,使万用表指针指在零电压或零电流的位置上。.在使用万用表过程中,不能用手去接触表笔的金属局部, 这样一方面可以保证测量的准确,另一方面也可以保证人 身平安。.在测量某一电量时,不能在测量的同时换档,尤其是在测 量高电压或大电流时,更应注意。否那么,会使万用表毁 坏。如需换挡,应先断开表笔,换挡后再去测量。.万用表在使用时,必须水平放置,以免造成误差。同时, 还要注意到防止外界磁场对万用表的影
17、响。.万用表使用完毕,应将转换开关置于交流电压的最大挡。用电烙铁一定要注意平安,使用前用万用表测一下电烙铁 电源插头两端的电阻是否为正常值。正常时20瓦烙铁的电 阻约2000欧,45瓦的为1000欧,75瓦的为600欧, 100瓦的约500欧。电源插头与电烙铁外壳、烙铁头之间 电阻应接近无穷大,否那么说明这把电烙铁漏电,不能使 用。路的连接:在连接电路的时候,要严格按照电路图连接电路,也要注意烙铁与电路板接触的时间,不要烧坏电路板 及元器件。并在连接好电路以后进行测量,及时发现问题 及时改正。4.1 产品的调试与仿真C1C1rjiRiiC3照 XIC2-x=lK1正折嫉折4XTAL1POIYA
18、DD PD.1/AD1 PU2/M2XTAL2P0AD3R8TPO.4/AD* PUSfMS POJ9AD6 PDT/AD?pz.vxe P22/MU P23A11ALEPZ.4/A12EhP25VA13P1I1P2J&AU P2.7/A1SP1IVRXDP1.1P3.1HXDP12P32iTiTnP13P3aHTTPl.4P3.4fTOP1SD UP3.7/KFP1.73AU2STEPPER-MOTOR图6-1电路仿真图调试前,先将焊好的电路板对照印刷电路图认真核对一遍,不要有错焊、漏焊、短路、元件相碰等现象发生。通 电后,人体不允许接触电路板的任一局部,防止触电,注 意平安。.调试时,电路
19、不可以正常工作,经逐级检查,原来是数码 管的引脚接错了,经过改正后,电路可以正常工作。5总结过本次单片机控制步进电机正反转的设计,AT89C51单片 机、数码管和步进电机实际应用有了更深刻的理解和体 会,这次课程设计,不仅提高了动手能力,对设计的整个 流程有了一定的了解,更了解到了单片机应用的广泛性和 前景。设计的成功,极大地提高了自信心,促进了对单片 机的学习兴趣,明白了理论联系实际的重要性。次设计清楚了一项设计的整体流程:明确设计要求、功能 及功能模块的设计,查阅相关资料并确定元器件,电路连 接、调试、调整改进与检查、电路成型、总结。同时设计 电路时,和伙伴上网查阅了很多资料,这培养了搜索
20、的能 力,开拓了视野。调试过程中掌握了一些电路调试的方法 和规律,同时也掌握了如何来检查和排除实验中的所遇到 的一些常见故障,明白了动手的重要性,懂得了实践出真 知的道理。电路的连接和调试都极大地提高了动手实践能 力,这也是目前较为缺乏的。作为工科的学生,就应该具 备这样的动手能力。最后,设计报告的制作还培养了整理 知识的能力。之,这次设计,认识到了知识的局限性,培养了动手能 力,懂得了团队合作精神,对今后的学习起到了极大的促 进作用。参考文献1朱清慧编著.基于Proteus显示控制系统设计与实例.北京:清华大学出版社,2011.2清华大学电子学教研组编.杨素行主编.模拟电子技术基础简明教程.
21、3版.北京:高等教育出版社,2005.3张亚华.电子电路计算机辅助分析与辅助设计.北京航空工业出版社,2004.4莫正康.电力电子应用技术.北京:机械工业出版社, 2009.5曾晓宏.数字电子技术.北京:机械工业出版社,2008.6江晓安.模拟电子技术.陕西:西安电子科技大学出版 社,2007.蒋辉平周国雄.基于Proteus的单片机系统设计与仿真 实例北京:机械工业出版社,2009.8王宗培.步进电动机及其控制系统M.哈尔滨:哈尔滨工业 大学出版社,2009.9余永权.单片机应用系统的功率接口技术M.北京:北京航 空航天大学出版社,2006.附录1 :总体电路原理图t X1 3Ji_XTAL
22、1-XTALZPDIYADD PD.1/AD1 PU2iM2 FDAD3 PD.4/AD* POLADS P0J&AD6 PD.T/AD?PND)世 P2.1/A9 P2A1D pzarxn P2.4/A1Z PZSTA13 P2J9A14 P2.7/A15P3HRXD P3.1HXD P3.2lFTa panrn P3.4HT P3ST1P3j&rnjR P3.7/KF4U2STEPPER-MOTOR附录2 :实物图序号123456789101112131415附录3 :元器件清单名称型号规格数量电解电容100uF1电解电容lOUf1瓷片电容30pF2电源接口1轻触按键SW-AJ510K2阻
23、发光二极管LED41组针插线三极管110k1阻电阻lk1四位一体数码1管片机AT89C511驱动芯片ULN2003A 112MHZ116进电机附录4 :参考源程序/数码管位高位-低位/四个按键控制步进电机:正转,反转,加1 ,减1/上电时电机启动,数码管上显示速度最小档1 ,加减档位均能通过数码管显示出来,电机采用单双八拍方式/电机转速一共10档,通过按键调节转速/电机正转时最高位数码管显示0 ,反转时显示1include define uchar unsigned chardefine uint unsigned intdefine led PO数码管段选/#define haha P2bi
24、t si = PlAO;sbit s2 = PlAl;sbit s3 = P3AO;sbit s4 二P3八1;按键定义si正转,s2反转,s3加1 , s4减1bit wei3 = P2A3;sbit wei2 = P2A2;sbit weil =P2Al;sbit weiO=P2八O;数码管位选定义 bit a = P2A7;sbit b = P2A6;sbit c = P2A5;sbit d =P2八4;脉冲信号输入端定义charcodedisplayll=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,Oxff;/共阳数码管驱动信号
25、09 ,不显示charcodetime_counter102=0xda,0xlc,0xde,0xe4,0xeL0xec,0xe5,0xd4,0xe9,0xbcz /9.7 1ms0xed,0xa4,0xfl,0x8c/0xf5,0x74,0xf9,0x5c,0xfc,0x 18);charcode qudong 8=0x80,OxcO,0x40,0x60,0x20,0x30,0x10,0x90);/uchar numl = 0;控制取励磁信号变量/uchar num2 = 8;char k=l;加减档位控制,1为最小档it flagl=0;初始正转,正反转标志char buf4=0,10,10
26、,1;数码管显示缓存,正转,不显示,不显示,显示1档位高-低I = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =定 时 器 0/1 初 始 化 函 数oid T0_Tl_init()TMOD=0x11;定时器0/1均工作于方式L16位计时方 式THO = (65536 - 3000)/256;TLO =(65536 - 3000)%256;定时器 0 ,定时 3ms 用于 数码管扫描显示TH1 = time_counterk-l0;TL1 = time_counterk-ll;定时器 1 ,定时 10ms 用于 步进
27、电机转速控制TRO = 1;TR1 = 0;ETO = 1;ETl=1开定时器中断EA=1;开总中断/=ms级延时函数oid delaylm(uint x) uint ij;for(i=0;ix;i + +) 连数 x 次,约 x msfor(j=0;j 10)buf2= k/10;buf3= k%10;)while(!s3);if(s4 = = 0) 速度减1档delaylm(3);if(s4 = = 0)k-;if(k = = 0)k = 10;) buf2= k/10;buf3= k%10;)while(!s4);)定时器0中断函数,用于数码管扫描显示oid timeOJnterrupt
28、Qinterrupt 1static num = 0;THO =(65536 - 3000)/256;TLO =(65536 - 3000)%256;定时器 0 ,定时 3ms 用于数码管扫描显示wei3 = l;wei2 = l;weil=l;wei0=l;switch(num)case0:wei3 = l;wei2=l;weil=l;wei0=0;led=displaybuf3;break;casecasel:wei3 = l;wei2 = l;weil=O;weiO=l;leddisplaybuf2;break;case2:wei3=0;wei2 = l;weil=l;wei0=l;le
29、d=displaybufO;break;)num + +;if(num 二二 3) num = 0;定时器1中断函数,用于脉冲频率控制oid timel_interrupt()interrupt 3 static numl = 0;static num2 = 0;TH1 = time_counterk-l0;TL1 = time_counterk-ll;定时器 1 ,定时 1 用于步进电机转速控制if(flagl = 0)正转switch(numl)case 0:a = l;b = 0;c = 0;d = O;break;case l:a = l;b = l;c = 0;d = O;break
30、;case 2:a = 0;b = l;c = 0;d = O;break;case 3:a = 0;b = l;c = l;d = O;break;case 4:a = 0;b = 0;c 二 l;d = O;break;case 5:a = 0;b = 0;c = l;d = l;break;case 6:a = 0;b = 0;c = 0;d = l;break;case 7:a = l;b = 0;c = 0;d = l;break;)numl+;if(numl =二 8)numl = 0;)else 反转switch(num2)5总结参考文献 附录1 :总体电路原理图 附录2 :实物
31、图 附录3 :元器件清单附录4 :参考源程序case 0:a = l;b = 0;c = 0;d = l;break;case l:a = 0;b = 0;c = 0;d = l;break;case 2:a = 0;b = 0;c = l;d = l;break;case 3:a = 0;b = 0;c = l;d = O;break;case 4:a = 0;b = l;c = l;d = O;break;case 5:a = 0;b = l;c = 0;d = O;break;case 6:a = l;b = l;c = 0;d = O;break;case 7:a = l;b = 0;
32、c = 0;d = O;break;num2 + +;if(num2 = 8)num2 = 0;)1背景前,数字技术、计算机技术和永磁材料的迅速开展,推动 了步进电机的开展。在当今社会的各个领域步进电机无处 不在,应用领域涉及机器人、工业电子自动化设备、医疗 器件、广告器材、舞台灯光设备、印刷设备、计算机外部 应用设备等等。然步进电机已被广泛地应用,但步进电机并不能象普通的 直流电机、交流电机在常规下使用。它必须由双环形脉冲 信号、功率驱动电路等组成控制系统方可使用。因此,设 计步进电机具有重要的现实意义和实用价值。论文首先分析了步进电机的基本原理和特点,步进电机实 现启停、加速、转向、位置控
33、制的方案及WZM-2H042M 混合式步进电机驱动电路,其次讲解了 AT89C51单片机引 脚功能及特点,接着综合地阐述了整个系统的设计思路及 组成框图,然后逐步讲解了各模块电路的实现方法,最后 设计了控制步进电机正反转的程序以实现论文目的。2设计原理及功能说明2.1元器件选用原理1.AT89c51单片机T89C51是一种带4K字节FLASH存储器(FPEROM一 Flash Programmable and Erasable Read Only Memory )的低电压、高性能CMOS 8位微处理器,俗 称单片机。AT89C2051是一种带2K字节闪存可编程可擦 除只读存储器的单片机。单片机
34、的可擦除只读存储器可 以反复擦除1000次。该器件采用ATMEL高密度非易 失存储器制造技术制造,与工业标准的MCS-51指令集和 输出管脚相兼容。由于将多功能8位CPU和闪烁存储器 组合在单个芯片中,ATMEL的AT89C51是一种高效微控 制器,AT89C2051是它的一种精简版本。AT89C51单片 机为很多嵌入式控制系统提供了一种灵活性高且价廉的方 案。外形及引脚排列如下图图2-1AT89C51实物图及引脚图VCC :供电电压。GND :接地。P0 : P0 口为一个8位漏级开路双向I/O 口,每脚 可吸收8TTL门电流。当P0 口的管脚第一次写1时,被定 义为高阻输入。P0能够用于外
35、部程序数据存储器,它可以 被定义为数据/地址的低八位。在FIASH编程时,P0 口作 为原码输入口,当FIASH进行校验时,P0输出原码,此时 P0外部必须接上拉电阻。Pl : Pl 口是一个内部提供上拉电阻的8位双向I/O , P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入 1后,被内部上拉为高,可用作输入,P1 口被外部下拉为 低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1 口作为低八位地址接收。P2 : P2 为一个内部上拉电阻的8位双向I/O , P2 口缓冲器可接收,输出4个TTL门电流,当P2 口 被写时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时,P2 口的管脚被外部拉低,将输出电 流。这是由于内部上拉的缘故。P2 当用于外部程序存储 器或16位地址外部数据存储器进行存取时,P2 口输出地 址的高八位。在给出地址T时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2 口输出其特 殊功能寄存器的内容。P2 在FLASH编程和校验时接收 高八位地址信号和控制信号。P3 : P3 口管脚是8个带内部上拉电阻的双向I/O ,可接收输出4个TTL门电流。当P3 口写入1后, 它们被内部上拉为高电平,并用作输入。作为输入,由于