您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机X25045简易编程器课程设计说明书
X25045简易编程器目录二、设计内容:··························2三、设计方案···························2硬件组成···························2电路图····························2工作原理···························3四、软件设计···························61.流程图···························62.单片机与PC机的通讯····················73.单片机对X25045的写操作··················74.主程序图··························8五、参考程序清单·························8(1)编程器的主程序·······················8(2)将接收数据写入X25045中的程序···············9(3)读出X25045中数据的程序·················10六、调试·····························12七、参考文献···························13一、设计题目:X25045简易编程器二、设计内容:设计一个简易串行E2PROM编程器,能够将PC机电脑中数据块送给X25045存储器,也能够将X25045存储器中的数据块传给PC电脑。三、设计方案硬件组成(1)单片机仿真器一台(2)MAX232芯片一个(3)X25045芯片一个电路图(1)X25045引脚功能如下::芯片选择输入;SO:串行输出数据由此引脚逐位输出;SI:串行输入,数据或命令由此引脚逐位写入X25045;SCK:串行时钟输入,;:写保护输入,其上升沿将数据或命令写入,下降沿将数据输出;Vss:地;Vcc:电源电压;RESET:复位输出。X25045在读写操作之前,需要先向它发出指令,指令名及指令格式如表一所示。图1X25045引脚排列表1X25045的指令集工作原理(1)X25045工作原理X25045内含512×8的串行E2PROM,可以直接与微控制器的I/O口串行相接。X25045内有一个位指令寄存器,该寄存器可以通过SI来访问。数据在SCK的上升沿由时钟同步输入,在整个工作期内,必须是低电平且必须是高电平。如果在看门狗定时器预置的超时时间内没有总线的活动,那么X25045将提供复位信号输出。X25045内部有一个“写使能”锁存器,在执行写操作之前该锁存器必须被置位,在写周期完成之后,该锁存器自动复位。X25045还有一个状态寄存器,用来提供X25045状态信息以及设置块保护和看门狗的超时功能。(2)X25045的读时序(a)读E2PROM的时序(b)读状态寄存器的时序图2X25045读时序(3)X25045的写时序(a)写使能锁存器的时序(b)字节写操作的时序图3X25045写时序(4)复位操作当Vcc降至门限电压以下或看门狗定时器已达到编程的极限值,X25045的RESET引脚将输出高电平。1.X25045编程器的组成及原理X25045编程器主要由单片机、MAX232、PS7219和LED等组成,如图4所示(虚线框部分)。其中单片机采用LG公司生产的GMS97C2051,该单片机指令和引脚与MCS-51系列兼容。MAX232为RS-232接口,用于单片机与PC之间的电平转换。PS7219为串行输入,可直接驱动8位LED的显示模块。图4X25045编程器的组成框图四、软件设计1.流程图设置要写的指针主程序流程图P1口初始化设置要写的数据设置要写的地址调用X25045写程序设置要写的字节数2.单片机与PC机的通讯GMS97C2051的串行口以一定的波特率接收从PC机传来的数据,波特率的设定由定时器T1来完成,T1工作于方式2,TL1和TH1均被赋初值230,串行口以方式1工作,允许接收,每接收到PC机来的8位数据,产生一次中断,CPU响应中断后,将接收的数据写入X25045中。3.单片机对X25045的写操作X25045中有512×8的串行E2PROM,通过X25045的、SCK、SI、SO等引脚控制对X25045的读写,X25045的读写操作过程及时序前面已作了详细介绍,这里重点讨论单片机对X25045的编程。首先置位写使能锁存器,然后发送写操作指令,紧接着发送E2PROM的地址和需写入的数据,在输入数据之后将置高,一般经2ms的延时,则数据被写入E2PROM中,也可以通过检测状态寄存器的WIP位来判定写操作是否完成,若WIP位为高,表示写操作正在进行,需继续检测,一直到WIP位变低为止,这时对X25045的编程工作即告完成。4.主程序图五、参考程序清单(1)编程器的主程序PC-51:clrea;关中断movtmod,#20h;选用T1工作方式2movtl1,#230;给T1置初值movth1,#230clret1;禁止T1中断setbtr1;启动T1movscon,#50h;串行口工作于方式1,允许接收setbea;开中断wait:setbes;允许串行口中断movc,P1.3;等待按“read”键Jcwaitacallreadwait:clrri;清接收中断标志mova,sbuf;接收数据送入r1movr1,aacallwrite;r1中的数据写入X25045reti(2)将接收数据写入X25045中的程序wait:clrP3.3;X25045的SCK置低clrP3.7;SI置低setbP3.4;CS置高setbP3.5;SO置高mova,#06h;允许写操作movr7,#08h;写入8位clrP3.3clrP3.4acalltransfer;调发送子程序setbP3.4acalldela1ms;延时1msmova,#02h;发送写指令movr7,#08hclrP3.3clrP3.4acalltransfemova,38h;发送E2PROM地址movr7,#08hacalltransfemova,r1;r1中的数据写入X25045movr7,#08hacalltransfesetbP3.4发送完毕acalldela3ms;延时3ms(3)读出X25045中数据的程序read:mova,#03h;发送读指令movr7,#08hclrP3.3;X25045的SCK置低clrP3.4;CS置低acalltransfer;调发送子程序mov39h,#00h;发送X25045地址mova,39hmovr7,#08hacalltransferece3:movr7,#08h;出X25045中的数据ece1:nop;movc,P3.5movacc.0,crlasetbP3.3;SCK置高clrP3.3;SCK变低nopdjnzr7,rece1rramovr2,a;将读出的数据送r2acallbinbcd;将r2转换线bcd码acallled;调用显示子程序movc,P1.3;等待按“read”键jncrece3;继续接收数据rettransfe:nopmovc,acc.7;a的最高位送CymovP3.7,c;将Cy送X25045的SIsetbP3.3;SCK置高rla;a左移一位clrP3.3;SCK变低djnzr7,transfe;循环8次clrP3.7;将SI变低re六、调试为了验证编程数据的正确性,可以读出X25045中的数据,并通过显示模块将数据显示出来,读X25045操作的过程是这样的,先发送读指令,接着发送E2PROM地址,这时就可以接收X25045传出的数据,单片机将接收到的数据送到PS7219显示模块,再通过LED显示出来。七、参考文献1.X25043/45可编程看门狗监控E2PROM数据手册.武汉力源电子股份有限公司1998.3
本文标题:单片机X25045简易编程器课程设计说明书
链接地址:https://www.777doc.com/doc-5825906 .html