EDN首页   博客首页

日志档案

发表于 2008-1-13 1:51:04

7

标签: 推荐  MEGA8  做的  USB下载线  

推荐:MEGA8做的USB下载线

(注:通过修改固件,89S51/2复位问题已解决,到这里下载新固件:

http://blog.ednchina.com/billowtust/102317/message.aspx

在这个USB流行的时代,下载线也得要赶上时髦才行。并且现在很多
电脑已经没有并口和串口了,以前使用并口和串口的ISP下载线已经
无法再继续使用了,所以自己制作一个USB下载线已经刻不容缓。下
面这款基于AVR MEGA8单片机的USB ISP下载线很不错,方便制作,成
本也很低,可以使用DIP封装的MEGA8,直接使用万用板焊接也可以做
出来。圈圈本人现在就是用这个ISP软件来下载89S52单片机程序了。
这个下载线是我刚做好的,制作过程中遇到一点小问题,就是固件程
序,有些固件是不支持89S51和89S52的,所以我特意找了个可以支持
它们的推荐给大家使用。在这里,我要感谢这些提供电路图、程序等
辛勤工作、具有奉献和共享精神的网友,正是有了他们,才让我们有
这么好用的下载线使用。圈圈也鼓励大家对这些程序进行修改并共享。
好了,我就不废话拉,以下几点是圈圈在制作过程中的一点经验,希
望对大家有用。同时也欢迎大家访问圈圈的BLOG: http://computer00.21ic.org

首先将两个跳线J1和J3连上,然后用其它的ISP编程器给它下载固件。
下载固件后,还要配置熔丝,配置为外部高速晶体模式,即对SKSEL0
编程(CKSEL0=0,CKSEL1~3=1)。SUT0也编程(即SUT0=0)。然后将
J1和J3跳线断开,就可以使用了。插到电脑上应该能够识别出新硬件。
然后就是安装驱动程序,安装时指定驱动程序所在的路径,一直安装
下去就行了。如果遇到不能识别的情况,可以在USB过来的5V电压上串联
一到二个普通的二极管,让电源电压降低点试试。电阻R2我实际使用的
是2.4K,R1和R3我实际使用的是100欧姆的,可以正常工作。这些电阻
对阻值要求不高。这个图给出的是DIP的MEGA8,我实际使用的是帖片的,
体积小些。图中的RXD和TXD好象是没用的,我没接。J2是控制下载头是
否提供电源的。我为了USB口安全起见,是将其断开的。只要GND、MOSI、
RESET、MISO、SCK这5条线就可以ISP下载了,根据你实际的下载头连线
就行了。我用这个下载线下载过MEGA32和AT89S52都OK,速度也比较快。
电脑端的软件可以直接在网上下载,我用的是1.66版的PROGISP1.66。
可以从这里下载:http://www.laogu.com/ssw_739.htm。也可以去baidu
搜索一下:http://www.baidu.com/s?ie=gb2312&bs=PROGISP1.66&sr=&z=&cl=3&f=8&wd=PROGISP+1.66&ct=0


整个软件包下载:点击下载

原理图:

系统分类: 单片机   |   用户分类: 资料库   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(3908)    回复(18)  

投一票您将和博主都有获奖机会!

最新评论

  • 初学

    2008-1-13 9:37:22

    太强大了,越来越强大了
    其实Mega8晶振部分也可以省了……

  • computer00

    2008-1-13 21:59:00

    补充一下,这个程序还有点小问题,就是当51的上电自动复位电容较大时,会连接不上。遇到“chip enable program error”时,可以将自动复位电容断开试试。

  • yoyowind

    2008-2-27 17:00:05

    圈圈,这个名字好熟悉,记得以前51有个圈圈操作系统,不知道怎么回事。

  • computer00

    2008-2-28 1:48:21

    哈哈~~~那是我写的简易操作系统~~~有51圈圈操作系统和ARM圈圈操作系统~~~

  • maoyuhong

    2008-3-12 23:22:22

    到哪儿可以看51圈圈操作系统和ARM圈圈操作系统了 ?另外请教大侠USB板子测试程序 KeyCanChange=0; //禁止键盘扫描 LEDs=~KeyPress; //LED显示键盘按键状态 if(KeyDown) //有键按下 { //处理按下的键 if(KeyDown&KEY1) { Prints("KEY1 down\r\n"); KeyDown&=~KEY1; } if(KeyDown&KEY2) { Prints("KEY2 down\r\n"); KeyDown&=~KEY2; } if(KeyDown&KEY3) { Prints("KEY3 down\r\n"); KeyDown&=~KEY3; } if(KeyDown&KEY4) { Prints("KEY4 down\r\n"); KeyDown&=~KEY4; } if(KeyDown&KEY5) { Prints("KEY5 down\r\n"); KeyDown&=~KEY5; } if(KeyDown&KEY6) { Prints("KEY6 down\r\n"); KeyDown&=~KEY6; } if(KeyDown&KEY7) { Prints("KEY7 down\r\n"); KeyDown&=~KEY7; } if(KeyDown&KEY8) { Prints("KEY8 down\r\n"); KeyDown&=~KEY8; } } if(KeyUp) //有键释放 { //处理释放的键 if(KeyUp&KEY1) { Prints("KEY1 up\r\n"); KeyUp&=~KEY1; } if(KeyUp&KEY2) { Prints("KEY2 up\r\n"); KeyUp&=~KEY2; } if(KeyUp&KEY3) { Prints("KEY3 up\r\n"); KeyUp&=~KEY3; } if(KeyUp&KEY4) { Prints("KEY4 up\r\n"); KeyUp&=~KEY4; } if(KeyUp&KEY5) { Prints("KEY5 up\r\n"); KeyUp&=~KEY5; } if(KeyUp&KEY6) { Prints("KEY6 up\r\n"); KeyUp&=~KEY6; } if(KeyUp&KEY7) { Prints("KEY7 up\r\n"); KeyUp&=~KEY7; } if(KeyUp&KEY8) { Prints("KEY8 up\r\n"); KeyUp&=~KEY8; } } KeyCanChange=1; 按键允许扫描后马上又禁止了呀

  • maoyuhong

    2008-3-12 23:23:32

    希望能看到圈圈回复呀 天天来等

  • computer00

    2008-3-13 0:47:54

    这个只是一个测试程序,当时没仔细考虑,测试能用就放上去了。的确存在你所说的问题,可能因为刚好碰巧,key can change为0时,所有的中断都错过,那么就检测不到按键情况了。 我以前写的51 OS和ARM OS都可以在我的作品中找到: http://blog.ednchina.com/computer00/14386/category.aspx

  • maoyuhong

    2008-3-13 23:22:07

    非常高兴能看到圈圈的回复 不知道怎么来给感谢你

  • maoyuhong

    2008-3-14 1:06:46

    圈圈 我正准备学习你的圈圈51操作系统。圈圈写这个时候哪些书对你帮助比较大了?能推荐下吗?菜鸟再次先谢谢了?

  • maoyuhong

    2008-3-14 1:07:44

    准备看了51圈圈后看ARM圈圈 呵呵

  • computer00

    2008-3-14 10:06:49

    你可以看看计算机操作系统方面的书吧,还有邵贝贝那本ucOS II也不错。 我的这个操作系统很简单的,只能算个任务调度器吧,呵呵。

  • wap

    2008-6-4 12:00:35

    hao

  • wangaiping

    2008-6-30 17:39:41

    问个弱弱的问题,不要见笑. 还要配置熔丝,配置为外部高速晶体模式,即对SKSEL0 编程(CKSEL0=0,CKSEL1~3=1)。SUT0也编程(即SUT0=0) 具体怎么配置啊? 是不是一定要用ISP下载线把固件下载到MEGA8,我用的炜惶的编程器下载固件的,但不知道怎么配置,是否培植也有个软件啊,还是在用ISP下载时,软件里面就可以设置啊 .

  • computer00

    2008-6-30 21:11:09

    一般的ISP下载软件都是支持熔丝配置的。注意有些ISP下载软件,对熔丝的定义打勾是编程(即为0),你要先确认一下这个问题。

  • wangaiping

    2008-7-5 13:49:47

    我的编程软件好像是没有熔丝配置的。炜惶的编程器WH500。现在其他的都做好了,就差溶丝了。郁闷了几天了,身边没有ISP的,只有个编程器。大家能给我想个办法吗?但有不想去买ISP。

  • computer00

    2008-7-6 12:45:53

    不会吧?没有熔丝配置?编程器应该有熔丝配置才对的……仔细找找看。

  • cyr_hongfeng

    2008-9-3 21:16:18

    我买了一个,再台式机上能用,本本插上说找不到硬件

  • computer00

    2008-9-4 1:27:51

    恩,很多本本不认它。买个不支持高速模式的USB集线器应该可以解决这个问题。在我的电脑上也是不认,增加一个集线器之后就可以用了。