保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

用下载电缆实现AT89S5X的ISP编程


端口定义表
  
  引脚号名称数据位1nStrobe*C02D0D03D1D14D2D25D3D36D4D47D5D58D6D69D7D710nAckS611Busy*S712PES513SelectS414AutoFeed*C115nErrorS316nInitC217nSelin*C318~25GNDGND
  2下载电缆的编程方法
  
  用计算机控制下载电缆实现JTAG协议,就是对并口3个I/O端口的读写操作,用0-1的变化来模拟JTAG时序。在Win98和Win2000环境下读写I/O,需要驱动程序。本文使用DriverLINXPortI/ODriver(可以从WWW.sstnet.com下载)来实现I/O端口访问。安装DLPORTIO以后,通过调用DLPORTIO.DLL动态连接库中的
  
  UCHARDLPORT_APID1PortReadPortUchar(INULONGPort);
  
  VOIDDLPORT_APID1PortWritePortUchar(INULONGPort,INUCHARValue);两个函数就可以访问位于378H、379H、37AH(这是缺省的LPT1设置)的3个并口I/O端口。程序段1实现了对Altera下载电缆的一次电平赋值:
  
  程序段1
  
  Altera下载电缆电平赋值函数
  
  VoidCAvrISPDlg::Setbit(){
  
  Unsignedcharvalue=0;
  
  If(!m_tck)value|=0x01;
  
  If(!m_tms)value|=0x02;
  
  If(!m_tdi)value|=0x40;
  
  DlPortWritePortUchar(0x378,value);
  
  Value=DlPortReadPortUchar(0x379);
  
  If(value&0x80)m_tdo=0;
  
  Elsem_tdo=0;
  
  }
  
  通过以上程序依次改变JTAG各接口I/O的电平状态,模拟JTAG协议的时序,就可以访问支持JTAG标准的各种芯片。
  
  3ISP协议的解析与实现
  
  对AT89S5X系列单片机ISP编程不使用JTAG协议,而使用SPI同步串行接口协议,如图3所示。
  
  针针这种8位SPI接口协议,我们使用数组来模拟时序:
  
  时钟信号固定为unsignedcharsck[19]={0,0,1,0,1,0,1,0,1,0,10,1,0,1,0,1,0,1,0,0};
  
  输出的数据信号由程序实现情况自动生成数组unsignedcharmosi[19];
  
  输入的数据根据读入的信号生成数组unsignedcharmiso[19];
  
  再调用上文的Setbit()函数,依次发送19位的JTAG接口I/O状态,同时读入返回信号,即完成一次对AT89S5X芯片的SPI单字节访问。
  
  在单字节访问基础上,参考Atmel公司的AT89S5X数据手册的串行

《用下载电缆实现AT89S5X的ISP编程(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/170130.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。