用8031仿真器开发AT80C2051单片机的方法-_第1页
用8031仿真器开发AT80C2051单片机的方法-_第2页
用8031仿真器开发AT80C2051单片机的方法-_第3页
用8031仿真器开发AT80C2051单片机的方法-_第4页
用8031仿真器开发AT80C2051单片机的方法-_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用8031仿真器开发A T80C2051单片机的方法史延龄(工程兵指挥学院徐州221004摘要:简要介绍A T89C2051单片机的引脚和片内闪速存储器的特性,论述用8031仿真器对A T89C2051编程、校验、擦除时,接口电路及其软件的设计方法。关键词:A T89C2051开发接口软件A T89C2051是一种高性能价格比单片机。引脚和指令系统与8031单片机完全兼容。片内有24K字节的闪速存储器(采用电擦除编程,可重复编程1000次,数据可保存10年,除没有P0口、P2口外,具有8031所有功能结构,即一片A T89C2051相当于8031、373、2716组成的最小系统。用它构成的仪器

2、仪表,具有电路简单、可靠性好、体积小、成本低等优点,极具推广价值。但目前开发A T89C2051的仿真器和编程器价格较贵,影响了它的推广应用。本文论述的用8031仿真器开发A T89C2051的方法,可使已有8031仿真器的科技工作者非常容易的开发A T89C2051、而又几乎不需要经费。1AT89C2051简介111引脚及其功能A T89C2051引脚如图1所示。P1口为8位双向图1A T89C2051引脚图I/O口,P112P117有内部上拉电阻,P110与P111无内部上拉电阻,P110与P111具有第二功能,分别作为片内精密比较器的同相、反相输入端。P1口输出驱动器能提供20mA的灌电

3、流驱动能力。P1口锁存器写1时可作为输入口。P1口在片内闪速存储器编程和校验时接收和输出程序代码。P3口为7位双向I/O口,有内部上拉电阻,P3口输出驱动器能提供20mA灌电流驱动能力。P3口锁存器写1时可作输入口。P316作为输入线与片内精密比较器输出端在片内相连,故无引出线。P310 P315的第二功能与8031P3口相应口线的第二功能完全相同。另外,在片内闪速存储器编程期间,每编程完一个字节,P311就输出一个低电平脉冲。RST为复位输入端,引脚电平由L变H后,所有I/O口线立即复位到1状态。振荡器振荡时该引脚保持两个机器周期高电平,可复位整个器件。在对片内闪速存储器编程、较验时,RST

4、端有L、H、+12V三种电平(信号要求。XTAL1、XTAL2分别为片内振荡器反相放大器的输入、输出端。晶振和陶瓷振子均可作谐振器,振荡电路外部连接与8031相同,当选用晶振时C1、C2为40p F±10p F。当用外部时钟驱动时,XTAL2悬空, XTAL1接外部时钟(高低电平脉宽均不小于15ns。112片内闪速存储器特性A T89C2051片内2K字节闪速存储器,出厂时为FFH(空状态,并准备接受编程。按字节编程,一旦编程完毕,任何一个非空字节若再次编程必须先对2K 字节全部电擦除。片内有一个闪速存储器地址计数器,该计数器在RST端信号的上升沿复位为000H,在XTAL1引脚加一

5、高电平脉冲后加1。闪速存储器编程、校验、擦除时2051有关引脚对电平的要求如表1。表1编程校验擦除时引脚对电平的要求P317XTAL1P315P314P313P312RST 校验H L H L L H H编程H L H H L12V擦除L L L L H12V522000年第3期仪表技术收稿日期:1999-12史延龄,男,工程兵指挥学院物理教研室副教授。闪速存储器编程时加电顺序:先加上A T89C2051的工作电源(2176V,再在RST、XTAL1引脚加L电平,10ms后按图2和表1的要求为其它引脚加电。片擦除:除满足表1有关要求外,还要求P312上的电平由高变低并保持低电平10ms。2开发

6、2051应用系统的方法因为A T89C2051的引脚和指令系统与8031完全兼容,所以8031仿真器开发2051应用系统的方法与开发8031应用系统的方法完全相同,如在设计2051应用系统的硬件和相应程序时,只要把8031仿真器上8031的P1和P2当作2051的P1、P2口使用即可,不过8031仿真器只能把应用系统中的程序固化在E2 PROM中,而无法写入2051内的闪速存储器。因此,用8031仿真器开发2051应用系统的关键:在2051应用系统的软硬件设计好之后,再通过一定的接口电路及软件在8031仿真器的控制下,把应用程序写入2051的闪速存储器。211接口电路设计根据表1,若通过205

7、1的P1口把程序代码写入闪速存储器(即编程或读出程序代码(即校验,需要一个8位双向数据口,同时还需要一个8位控制口(输出口,以便控制2051的P312P315、P317、RST和XTAL1等7个管脚的电平。另外,还需要一条输入线对2051的P311状态进行检测。恰好8031仿真器上的8031对用户是开放的,即可把仿真器上的8031当作用户系统中的8031使用 ,因此可用8031的P1口作为双向数据口与2051的P1口直接联接,而把8031的P3口作控制口与2051的有关引脚直接联接,如图2的左半部分所示。由于2051片内的闪速存储器在编程和校验时,对2051的RST引脚电平(信号有三种要求:H

8、、L、+ 12V,而8031的P1,P3口仅剩下P310脚未用,显然单用P310控制RA T无法满足要求。可用74L S377从8031的P0口扩展两个输出位Q0、Q1(377的片选地址为7FFFH,用它们控制驱劝两个光电藕合器(4N25即可达到RST电平的要求,如图2的右半部分。当Q1Q0=01时,D1、T1截止,而D2、T2导通, RST为+12V;当Q1Q0=10时,D1、T1导通,D2、T2截止,RST为H电平;当Q1Q0=11时,D1、T1、D2、T2均截止,RST为L电平。212软件设计图2接口电路只有在相应的软件控制下,才能完成对2051片内闪速存储器的擦除、编程和校验。所设计的

9、软件既要满足表1的电平要求,又要满足时序要求。由图2可知,2051有关引脚的电平主要由8031的P3口控制(RST电平控制如上所述,因为8031、图2接口电路图2051的P310未使用,所以8031的P310输出0和1均可,这里令其为1,又因8031的P311是作为输入线使用的,故应设置为1,至于8031P3口其它输出线的输出信号要根据表1的要求设定。因此,为满足电平要求,在校验、编程、擦除时,8031P3口应输出的数据(控制字分别为0A、7H、0B7H、0FH,至于时序要求,可通过调用延时子程序和指令执行的先后或加NOP 指令来实现。21211擦除子程序CL EAR:MOV A,#01H;使

10、RST为+12V MOV DPTR,#7FFFHMOVXDPTR,AMOV P3,#0FH;发送电平控制字CL R P312;P312由H变L且保LCALL ms10;持10msSETB P312RET21212编程子程序假设欲写入2051的应用程序代码为FF个字节,其首址为8031仿真器仿真RAM中的0000H单元,而把对2051片内闪速存储器擦除、编程和校验的程序放在仿真器RAM中的另外一个区域内。程序如下:WR ITE:MOV A,#03H;使RST为L电平MOV DPTR,#7FFFH;且保持10msMOVXDPTR,ALCALL ms10MOV R1,#0FFH;写入字节数MOV P

11、3,#0B7H;发电平控制字MOV A,#01H;使RST为+12VMOVXDPTR,ALCALL us10;延时10s(下转第30页部中断服务程序1完成数据的发送;若接收,则此子系统开外部中断0,通过外部中断服务程序0发送ACK、STB信号,并完成数据的接收。数据传送完毕,关各自的中断和三态门,并释放数据总线(即发送1P110。外部中断0服务程序和外部中断1服务程序的流程框图见图3、图4,从机通讯子程序的流程框图见图5。参考文献1陈良光,赵文敏.单片机多机系统资源共享的一种方法.黑龙江商学院学报,1997.2李广弟.单片机基础.北京航空航天大学出版社,1994.(周孝刚编发(上接第26页MO

12、V DPTR,#0000H;送代码首址MOV A,#00HWT1:MOVC A,A+DPTR;写一个字节MOV P1,ANOPCL R P312NOPSETB P312WT2:J NB P311,WT2;一个字节写完吗?DJ NZ R1,WT3;所有字节写完吗?S J MP WT4WT3:INC DPTR;送下一字节地址SETB P316;2051地址计数器CL R P316;加1S J MP WT1WT4:RET21213校验子程序设从2051闪速存储器中依次读出FF个字节的程序代码,并逐个与仿真器仿真RAM中的FF个字节原程序代码比较,若写入2051的代码全部正确,就把仿真器8031内部R

13、AM的21H单元置FF,否则把21H清零。READ:MOV A,#03;使RST为L电平MOV DPTR,#7FFFHMOVXDPTR,AMOV A,#02H;RST由L变H,使地MOVXDPTR,A;址计数器清零MOV R2,#0FFH;置读出字节数MOV P3,#0A7H;发电平控制字MOV DPTR,#0000H;仿真器RAM读数首地址RD1:LCALL us120;延时120sMOV20H,P1;从2051读一字节存入20H单元MOV A,#00H;从仿真器RAM读一字节MOVC A,A+DPTRC J N E A,20H,RD3;两字节相等吗?DJ NZ R2,RD2;全部校验完吗?MOV21H,#0FF;写入2051的代码均正确S J MP RD4RD2:INC DPTR;仿真器RAM下一单元地址SETB P316;2051内部地址计数器加1CL R P316S J MP RD1RD3:MOV21H,#00H;写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论