利用串口与并口实现51内核单片机的在线编程

[09-12 17:49:01]   来源:http://www.88dzw.com  单片机学习   阅读:8338

文章摘要:2.5 并口I2C软件的实现在Win98中对并口的编程非常简单,通过在VC中内嵌汇编,使用IN与OUT指令访问与并口相对应的端口,设置相对应端口的值中的位就可以控制相应并口引脚的高低电平值。例如:要将计算机并口1的第2引脚先置高再置低,汇编语言可以这样写:MOV DX , 0x378 ;设置端口地址MOV AL , 1 ;将待写入的位0的值写入AL中OUT DX , AL ;将值送到相应端口MOV AL , 0 OUT DX , AL 但在Win2000/XP中,由于系统加强了对硬件设备的保护,假如在程序中直接用IN与OUT指令访问并口,则会引发系统的非法操作;而并口访问又不像串口,直接可以使

利用串口与并口实现51内核单片机的在线编程,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

2.5 并口I2C软件的实现

  在Win98中对并口的编程非常简单,通过在VC中内嵌汇编,使用IN与OUT指令访问与并口相对应的端口,设置相对应端口的值中的位就可以控制相应并口引脚的高低电平值。

例如:要将计算机并口1的第2引脚先置高再置低,汇编语言可以这样写:
MOV DX , 0x378 ;设置端口地址
MOV AL , 1 ;将待写入的位0的值写入AL中
OUT DX , AL ;将值送到相应端口
MOV AL , 0
OUT DX , AL

  但在Win2000/XP中,由于系统加强了对硬件设备的保护,假如在程序中直接用IN与OUT指令访问并口,则会引发系统的非法操作;而并口访问又不像串口,直接可以使用Windows API函数,因而就必须使用驱动程序。可以到www.sstnet.com网站上去下载DriverLINX Port I/O Driver并口驱动程序。该程序可以免费复制与分发。有了这个驱动程序,在Win2000/XP下编写并口程序就十分方便。安装该驱动程序后,在程序中包含相应的dlportio.h与dlportio.lib后就可以用DlPortReadPortUchar(IN ULONG Port)来读取端口的值(相当于汇编中的IN指令),用DlPortWritePortUchar(IN ULONG Port,IN UCHAR Value)来向一个端口写一个特定的值(相当于汇编中的OUT指令)。利用改变端口值中的一个位的值,可以使相应并口引脚输出高低电平,从而可以用其来模拟I2C协议,实现并口与单片机间的I2C通信。关于I2C协议,网上有很多资料,在此不再赘述。

2.6 程序说明

  如前文所述,MTV230在进入在线编程模式后,就相当于一个I2C从设备,编程逻辑全都由在PC上运行的程序来实现。该程序采用VC6.0编写。编程程序的主界面如图2所示,主要模块如表1所列。由于用并口模拟I2C对单片机编程,会使该线程暂时处在阻塞状态,假如在主线程(UI)中实现该过程,则在对芯片编程时,程序的主界面就无法响应用户退出命令,所以采用了多线程程序结构,在一个工作线程实现该过程,使用户可以随时退出编程过程。
          
  表1所列的头三个类采用了层次设计结构:上层类调用下层类,下层类为上层类提供接口,这样设计保证了代码的最大可重用性。举例来说,假如有另一芯片同样是使用I2C接口进行在线编程,则只要重写MTVISP这个芯片的在线编程协议类就可以了;如果使用前面所述的并口实现方案1或3,只要重写最底层的Parallel类便可。
       
  程序工作线程的大致流程如图3所示。
        
  程序的特色:

① 可以自己设置I2C速度的高低,模拟I2C的并口地址,以及使用并口的引脚。

② 可以选择简单校验和完全校验,即对编程后的芯片是进行内部校验寄存器值的简单校验,还是将
芯片中的内容全部读出与编程文件进行比较的完全校验。

③ 可以对芯片内的程序区、OSD区进行编程,还可以读出这两区的数据(只有对可以设定进入在线编 程模式的程序才可以)。

④ 进行烧写的文件支持二进制文件格式(*.bin)与Intel的Hex文件格式(*.hex)。

3 利用串口对W78E516B在线编程的实现

3.1 W78E516B简介

  W78E516B是由Winbound公司出品的基于52内核的高性能芯片,外部晶振可以达到40MHz,内部具有64KB的程序区与4KB的引导程序区,以及256B的RAM区和256B的AUX-RAM区。AUX-RAM区相当于外部存储区,进行寄存器设置后,用MOVX指令进行访问。在Keil编译器中,进行相应的设置便可使用pdata类型变量访问。

上一页  [1] [2] [3] [4]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《利用串口与并口实现51内核单片机的在线编程》相关文章

分类导航
最新更新
热门排行