搜索
bottom↓
回复: 121

AVR-Doper简化的M8做的USB接口的STK500V2,可用在Studio下。已通过测试。

[复制链接]

出0入0汤圆

发表于 2006-10-3 17:29:21 | 显示全部楼层 |阅读模式
我将AVR_Doper的程序改了一下。主要是先注释去了高压编程部分,仅用ISP部分,编程口直接使用SPI总线。以前使用IO模拟编程速度太慢。对ISP 编程部分程序进行了分析,并改正了一正问题。现在使用基本没发现什么问题了。也很方便自制。硬件引脚改得简单了。大家请直接用SS(_ISP_RST),MOSI,MISO,SCK 这四条PORTB口的引脚吧。跳线已丢弃了,仅留下复位脚的跳线,改固件程序方便。终于有一款小巧的支持studio的M8单片完成的下载线了。速度实测与USBASP接近,可能稍慢一点。它们都没有串口的STK500快。但比一般的并口线快多了。感谢AVR_Doper原作者的工作。

用USB的CDC类,虚拟出一个COM5来,驱动usbser.sys文件windows自带了,只需用Avrdoper.inf就行了。

点击此处下载armok01130915.rar

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2006-10-3 18:02:17 | 显示全部楼层
谢谢共享

出0入0汤圆

 楼主| 发表于 2006-10-3 20:58:16 | 显示全部楼层
其实软USB口只需一个中断而已,硬件也可定义成如USBASP的一样。

其它的IO如指示灯也可以自己在程序中改。用WINAVR可直接进行编译。winavr最近的版本

就正好编译。以前的版本需指明delay.h的位置在<avr/delay.h>。

出0入0汤圆

发表于 2006-10-3 21:31:55 | 显示全部楼层
相当的不错~~收藏~~

出0入0汤圆

 楼主| 发表于 2006-10-3 23:22:30 | 显示全部楼层
注意

(1)、USB口的两个3.6V的稳压管必须加上,否则电平不容易达到USB的标准电平,有些电脑无法识别。那两个68的电阻不要太大,太大了会被稳压管过分拉低电平。这同时也适用于USBASP的硬件。

(2)、我对STK500的协议实现的C文件已加入了大量的说明,能帮助大家对协议的了解。

(3)、本下载线的硬件版本同studio4.12正好配合,若用studio4.11时,会提示固件版本是2.04,需升到2.01。可以不管它,或是将 stk500protocol.c中的 STK_PARAM_SW_MINOR值由

4改为1即可。对于更新的studio版本,可按提示,改该值到相应的数。该变量对应固件版本的小数点后的值。STK_PARAM_SW_MAJOR 对应小数点前的值即2。改了后就不会出现固件版本

不同需升级的窗口了。

-----此内容被jiangbing于2006-10-03,23:23:43编辑过


-----此内容被jiangbing于2006-10-03,23:24:52编辑过

出0入0汤圆

发表于 2006-10-3 23:54:34 | 显示全部楼层
我的也成功了...

电路也改了一下 M8 用供3V3供电 ,两只3.6V的稳压管不要,两只68 电阻不要






-----此内容被zj3098于2006-10-03,23:55:59编辑过

出0入0汤圆

发表于 2006-10-5 07:57:19 | 显示全部楼层
LED (PC2) 我的为什么不闪。常亮的

【楼主】 jiangbing

你的 闪吗?谢谢

出0入0汤圆

发表于 2006-10-5 08:59:49 | 显示全部楼层
USB口长时间直接拉低到3.6V,在D+/D-端将始终有较大电流,不会损坏主机的USB驱动吗?

出0入0汤圆

 楼主| 发表于 2006-10-6 07:40:33 | 显示全部楼层
USB口的电平标准是3.0-3.6,用3.6V的稳压管没有太大的电流。主要是单片机是5V的IO,不加68欧的电阻可能IO吐出电流较大。但坏不了单片机的IO。对电脑USB口D+D-不会造成多大影响。

出0入0汤圆

 楼主| 发表于 2006-10-6 07:47:28 | 显示全部楼层
回复6楼:红灯上电时能闪一下。编程时亮,编完就不亮了。可在程序中看到。

首先在main.c中347行

    PORTC |= (1<<PC2);  // 亮灯 PC2=1

    timerMsDelay(250);  // 延时250mS

    PORTC &=~(1<<PC2);  // 灭灯 PC2=0

让灯上电闪一下。注意是高电平亮。也可自己将灯的控制改了。

另外在编程中ISP.C:

ispEnterProgmode() 进入ISP模式成功则亮

ispLeaveProgmode() 退出ISP模式则灭。

出0入0汤圆

发表于 2006-10-6 11:07:28 | 显示全部楼层
是这样呀。明白了。 不过刚才用示波器量了一下,直接从主机USB口接到设备(虚拟示波器)工作时D+/D-的电平最大值到4.4V。是否我的机器有问题?加3.6V的稳压管也没有太大的电流吗?(我没敢实验)

出0入0汤圆

发表于 2006-10-6 11:07:31 | 显示全部楼层
我马上试一下!

出0入0汤圆

 楼主| 发表于 2006-10-6 16:55:43 | 显示全部楼层
本帖子的名称应叫“最简单的STK500兼容编程器,使用USB接口。仅需一片M8”

出0入0汤圆

 楼主| 发表于 2006-10-6 17:00:49 | 显示全部楼层
若不用M8的软USB to 串口,而直接用串口的话,速度实测还是最快的,基本是4K每秒,

软USB转串口部分降低了整个系统的速度。本下载器实测约2K每秒。且发现USB2.0接口与USB1.1接口对软USB设备的速度不一样。在USB1.1的PC机下本下载线速度要比USB2.0的PC下要快不少。

出0入0汤圆

 楼主| 发表于 2006-10-12 23:02:49 | 显示全部楼层
正在研究USB转虚拟串口部分的驱动程序

出0入0汤圆

发表于 2006-10-13 00:20:20 | 显示全部楼层
两个稳压管应加在电阻的后面才合理啊!我刚才没有看好电路,发错言了.
-----此内容被zpwang于2006-10-13,00:24:51编辑过

出0入0汤圆

 楼主| 发表于 2006-10-13 11:50:12 | 显示全部楼层
三种ISP下载线的比对数据:



代码长度:52131      MCU:ATmega128



1、USBASP + Progisp16              编程时间:14秒



2、串口UsbispV2 + Studio4.12       编程时间:13秒



3、AVR-Doper简化版 + Studio4.12    编程时间:20秒



========================================================

公版USBASP + Progisp16 编程 通过不了校验,运行不正常,以前编程M8是正常的。



其它两种正常。



总的看来 http://www.matwei.de 网站的 串口版UsbispV2 是最好的。仅需要串口而已。供电可从目标板上取(不存在问题)。

出0入0汤圆

发表于 2006-10-13 13:00:32 | 显示全部楼层
这个程序能不能继续保持虚拟COM口输出?也就是两用.

出0入0汤圆

 楼主| 发表于 2006-10-13 14:14:04 | 显示全部楼层
在AVRDoper中软串口用于显示调试信息。速度也设置为19200bps.不能用于能用串口了。

它的软串口与AVR_CDC是一样的,可直接固化一下AVR_CDC,就可使用了。串行输入输出是

从单片机的RXD和TXD引出的。请自已加上。就行了。

出0入0汤圆

发表于 2006-10-14 00:57:02 | 显示全部楼层
既然都是用软串口,那是否可以通过修改程序,用一个跳线来选择虚拟RS232或STK500兼容编程器?

出0入0汤圆

 楼主| 发表于 2006-10-14 08:05:57 | 显示全部楼层
当然可以了,可在源程序上改一改就OK了。

出0入0汤圆

发表于 2006-10-14 10:04:42 | 显示全部楼层
厉害,谢谢!我再看看为什么我的不行了。

出0入0汤圆

发表于 2006-10-18 17:32:08 | 显示全部楼层
写不了AT89S51/52?

楼主可以改下程序, 使之兼容51系系芯片吗?谢谢

还有一个问题是LED只在上电上闪一下,之后编程时也不亮了
-----此内容被boat030于2006-10-18,17:33:05编辑过

出0入0汤圆

 楼主| 发表于 2006-10-18 21:03:56 | 显示全部楼层
22楼说的对。LED灯的控制得改一下。在ISP.c的182行返回成功STK_STATUS_CMD_OK前的LED_OFF()去掉就可以了。即进入编程模式后灯亮,操作完成退出编程后灯灭。

编程AT89S51也不太难。我的ISP.C的注释够多的了,再参考STK500协议,就能做出来。

ispEnterProgmode()这个函数得改一下。具体还得找芯片一测。169行。只处理了AVR。

没专门处理51

出0入0汤圆

发表于 2006-10-18 21:57:29 | 显示全部楼层
楼主可以发个HEX文件过来吗?我用GCC编译不了

出0入0汤圆

发表于 2006-10-19 10:27:35 | 显示全部楼层
好东东,真是爽。

有空马上做一个!

出0入0汤圆

 楼主| 发表于 2006-10-19 14:55:00 | 显示全部楼层
22楼,我得找个S51试试看。51我一般没用AT的,都是用STC或是SYMOS的,它们都能自已通过串口编程。很方便。别的51现在很少有用了。STC可做低功耗产品。

出0入0汤圆

发表于 2006-10-19 16:35:59 | 显示全部楼层
我将芯片换成mega88

出现这样的错误是怎么回事??????

> "make.exe" all

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega88 -DDEBUG_LEVEL=0 -c usbdrv/usbdrv.c -o usbdrv/usbdrv.o

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega88 -DDEBUG_LEVEL=0 -x assembler-with-cpp -c usbdrv/usbdrvasm.S -o usbdrv/usbdrvasm.o

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega88 -DDEBUG_LEVEL=0 -c usbdrv/oddebug.c -o usbdrv/oddebug.o

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega88 -DDEBUG_LEVEL=0 -c hvprog.c -o hvprog.o

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega88 -DDEBUG_LEVEL=0 -c isp.c -o isp.o

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega88 -DDEBUG_LEVEL=0 -c serial.c -o serial.o

In file included from serial.c:14:

serial.h: In function `serialInit':

serial.h:81: error: `UBRRL' undeclared (first use in this function)

serial.h:81: error: (Each undeclared identifier is reported only once

serial.h:81: error: for each function it appears in.)

serial.h:82: error: `UCSRB' undeclared (first use in this function)

serial.h:82: error: `TXEN' undeclared (first use in this function)

serial.h:82: error: `RXEN' undeclared (first use in this function)

serial.h:82: error: `RXCIE' undeclared (first use in this function)

serial.h: In function `serialPutc':

serial.h:87: error: `UCSRA' undeclared (first use in this function)

serial.h:87: error: `UDRE' undeclared (first use in this function)

serial.h:88: error: `UDR' undeclared (first use in this function)

make.exe: *** [serial.o] Error 1



> Process Exit Code: 2

> Time Taken: 00:02

出0入0汤圆

发表于 2006-10-19 16:56:29 | 显示全部楼层
请高手指点!!!!

请楼主指点!!!!

出0入0汤圆

发表于 2006-10-19 17:37:08 | 显示全部楼层
楼主这个确实比较简单实用,C文件注释也比较详细,学到新东西了!

之前做了个串口下载器,发现更新不了,有几款芯片无法下载,不知楼主这个是否能更新?

要是能更新就更好了!

出0入0汤圆

发表于 2006-10-20 00:52:02 | 显示全部楼层
TO: 【27楼】 hjian508 黄剑

M88和M8的寄存器有好多大差异,要改成用M88恐吓要修改很多

出0入0汤圆

发表于 2006-10-20 09:27:40 | 显示全部楼层
M88和M8的寄存器有好多大差异,要改成用M88恐吓要修改很多



M88比M8多好些功能。寄存器地址也不一样,但是这些在他们的头文件就定义好了,我想这个应没有多大的问题。

出0入0汤圆

发表于 2006-10-20 15:50:13 | 显示全部楼层
我手头只有M16,谁能帮忙修改一下传上来?我只会用AVR STUDIO4.12+GCC,不大会用MAKEFILE,我把原文件用AVR STUDIO4.12+GCC编译后老通不过,不知还要注意哪里?

见下图:

出0入0汤圆

发表于 2006-10-20 16:13:55 | 显示全部楼层
还是用我的avrgccide方便点,仅需修改头包含路径就行了。

出0入0汤圆

 楼主| 发表于 2006-10-21 20:36:52 | 显示全部楼层
To: hjian508 黄剑

    我用 AVR-Doper.2006-09-12 版本处理了一下。这个版本有M88的兼容处理。

我将 ISP 速度参数放在EEPROM里。M88的 EEPROM 寄存器位置与一般 AVR 器件不一样。

我加入了iom88.h ,你试一下吧。

点击此处下载armok01132817.rar

出0入0汤圆

发表于 2006-10-23 16:59:05 | 显示全部楼层
用M16的可以吗?谁能帮忙改一下,很想试试!

出0入0汤圆

发表于 2006-10-26 18:01:35 | 显示全部楼层
非常感谢楼主jiangbing !!!!!!

出0入0汤圆

发表于 2006-10-26 22:23:29 | 显示全部楼层
再次感谢楼主 jiangbing !



原来寄存器的地址不同了,连名称不同了.

#ifdef TCCR2A

#   define TCCR2    TCCR2A

#   define COM20    COM2A0

#   define OCR2     OCR2A

#   define HW_SET_T2_PRESCALER(value)   (TCCR2B = (TCCR2B & ~7) | (value & 7))

#   define HW_GET_T2_PRESCALER()        (TCCR2B & 7)

#else

#   define HW_SET_T2_PRESCALER(value)   (TCCR2 = (TCCR2 & ~7) | (value & 7))

#   define HW_GET_T2_PRESCALER()        (TCCR2 & 7)

#endif



#ifdef TCCR0B

#   define TCCR0    TCCR0B

#   define TIMSK    TIMSK0

#endif



#ifdef UBRR0L

#   define UBRRH    UBRR0H

#   define UBRRL    UBRR0L

#   define UCSRA    UCSR0A

#   define UCSRB    UCSR0B

#   define UDR      UDR0

#   define RXEN     RXEN0

#   define TXEN     TXEN0

#   define UDRE     UDRE0

#   define RXCIE    RXCIE0

#endif

出0入0汤圆

发表于 2006-11-7 16:16:36 | 显示全部楼层
我用M88做了一个,可是没法对PWM3编程,

出0入0汤圆

发表于 2006-11-14 19:14:46 | 显示全部楼层
刚好今天有时间,按照jiangbing的图纸做了一个usb的下载器

效果还真不错,感觉还是比较稳定的

电路做了一些修改,加入了3.3v的ldo,去掉了稳压二极管和68欧的电阻



感谢jiangbing提供的程序和电路图!



出0入0汤圆

发表于 2006-12-13 12:21:25 | 显示全部楼层
我按照楼主的设计也制作了一个,用AVRStudio工作的很好,可是用avrdude就会出现通讯超时问题。avrdude的命令如下:



avrdude -c stk500v2 -P com8 -p m8 -t



我换doper官方的firmware,就不会有超时问题,不过isp不能正常工作(电路设计不同)。



请问有哪位朋友用avrdude正常操作此编程器吗?

出0入0汤圆

发表于 2007-1-4 10:43:10 | 显示全部楼层
谁能给个M16版本的代码?

我用M16作的,晶振7.3728M,编译通过,但是无法识别出设备,驱动也装不上
-----此内容被donkey于2007-01-04,11:38:45编辑过

出0入0汤圆

发表于 2007-1-4 21:46:51 | 显示全部楼层
换成12M的晶振,就可以找到usb硬件了.也可以识别为stk500v2,但是却出现了错误

我用M16作的,改动了hardware.h如下

//---------PORT B----------

#define _HVSP_SUPPLY   0

#define _SMPS_OUT      1

#define _ISP_RST       PB4//2

#define _ISP_MOSI      PB5//3

#define _ISP_MISO      PB6//4

#define _ISP_SCK       PB7//5

//---------PORT C---------

#define _ADC_SMPS      0

#define _ADC_VTARGET   1

#define _ISP_LED       PC2//2

#define _HVSP_SCI      3

#define _HVSP_HVRESET  4

#define _HVSP_RESET    5



熔丝位截图





识别为stk500v2的截图





出现了下面的错误


-----此内容被donkey于2007-01-04,21:50:19编辑过

出0入0汤圆

发表于 2007-1-4 22:36:38 | 显示全部楼层
用前几天刚出的版本编译不行.汗

用前一个版本编译之后,可以读熔丝位,写熔丝位,但是烧写flash出错,而且烧写很慢.

感觉似乎是不能稳定工作,有时要拔插几次才能识别出来.什么原因?


-----此内容被donkey于2007-01-04,22:46:54编辑过

出0入0汤圆

发表于 2007-1-7 20:25:45 | 显示全部楼层
我是AVR新手, 请问一下, 图中的J3有什么用处?什么时候应该跳上?谢

出0入0汤圆

发表于 2007-1-8 10:57:01 | 显示全部楼层
哪位高手给解释一下

出0入0汤圆

发表于 2007-1-8 21:32:54 | 显示全部楼层
在更新他自身的flash的时候插上

出0入0汤圆

发表于 2007-1-12 00:04:09 | 显示全部楼层
我的板不能走呢, 请问,电路图中的USB JP1, pin2是D+或是D-?

我怕我板弄错了,请指点。

还有,楼主上传文件中的main.hex,当下在到M8时,需要把CKOPT=1, CKSEL0...3=1?

还须注意些什么?

出0入0汤圆

发表于 2007-1-14 14:00:21 | 显示全部楼层
47楼:JP1的pin2是D- 。



我用39楼 sharpen 的方案做了一个,确实不错,谢谢各位的资料!



我的目标板的ISP座的3脚接有一个低电平点亮的LED用于ISP指示,刚好和此资料的接法相反,所以按将代码中灯控制LED_ON和LED_OFF的定义调换了一下。



另外发现这个指示灯在写flash等操作中只是在开始时点亮一下,之后一直是灭的,而不像其他工具那样随着下载的过程在不断的闪烁。所以又稍加改动,只要将各操作函数(比如编程flash函数ispProgramFLASH)的开始加个LED_ON();结束时(每个return ... 之前)加个LED_OFF();就可以了。



出0入0汤圆

发表于 2007-1-14 15:22:49 | 显示全部楼层
这么多人有兴趣呀,楼主把这个简化的AVR_Doper整理个范例多好呀。

按照阿莫的要求,范例要的东西不多嘛。原理图,板图(如果做了),HEX文件,有源程序更好。还有什么?

出0入0汤圆

发表于 2007-1-16 12:23:26 | 显示全部楼层
48楼, M8 的 fuse bit setting?



: 指示灯在写flash等操作中只是在开始时点亮一下,之后一直是灭的,而不像其他工具那样随着下载的过程在不断的闪烁。所以又稍加改动,只要将各操作函数(比如编程flash函数ispProgramFLASH)的开始加个LED_ON();结束时(每个return ... 之前)加个LED_OFF();就可以了。



可否发个HEX文件, 只换指示灯部份?

出0入0汤圆

发表于 2007-1-17 12:06:38 | 显示全部楼层
50楼:









HEX: 点击此处下载armok01141921.rar

出0入0汤圆

发表于 2007-1-28 23:19:22 | 显示全部楼层
请教一下,除了AVR studio之外,有那位用过其它的软件烧写AVR?能否上传一个?谢。

出0入0汤圆

发表于 2007-1-29 08:57:41 | 显示全部楼层
因为我的板出现38楼的问题, ISP MODE ERROR.



我的板是用M8的.下载AVR是 ATMEGA8535.是否Avrstudio需要特别设置?
-----此内容被hamlanro于2007-01-29,09:04:14编辑过

出0入0汤圆

发表于 2007-1-30 16:19:16 | 显示全部楼层
avrdude -p atmega8 -c usbasp -U flash:w:mrzusb.hex:i



avrdude: AVR device initialized and ready to accept instructions



Reading | ################################################## | 100% 0.01s



avrdude: Device signature = 0x1e9307

avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

         To disable this feature, specify the -D option.

avrdude: erasing chip

avrdude: reading input file "mrzusb.hex"

avrdude: writing flash (4676 bytes):



Writing | ################################################## | 100% 1.05s







avrdude: 4676 bytes of flash written

avrdude: verifying flash memory against mrzusb.hex:

avrdude: load data flash data from input file mrzusb.hex:

avrdude: input file mrzusb.hex contains 4676 bytes

avrdude: reading on-chip flash data:



Reading | ################################################## | 100% 0.70s







avrdude: verifying ...

avrdude: 4676 bytes of flash verified



avrdude: safemode: Fuses OK



avrdude done.  Thank you.

出0入0汤圆

发表于 2007-2-2 10:20:43 | 显示全部楼层
高手请指点。

出0入0汤圆

发表于 2007-2-7 11:07:37 | 显示全部楼层
为什么我提示安装时出现了一个错误?

出0入0汤圆

发表于 2007-2-28 10:57:15 | 显示全部楼层
无法识别USB设备

出0入0汤圆

发表于 2007-3-1 14:49:47 | 显示全部楼层
我直接使用楼主的hex文件也出现38楼问题,不能进入isp模式,另外电路中的电压取样电路是否一定要有?

出0入0汤圆

发表于 2007-3-1 19:48:45 | 显示全部楼层
倒,好像不稳定,好歹算是能用了

出0入0汤圆

 楼主| 发表于 2007-3-10 19:44:01 | 显示全部楼层
答58楼:电压取样可以不要。38楼问题说明已连接上AvrStudio了。可能是ISP频率太高,

无法与待编程的AVR芯片连上。可选56K的ISP频率试一下。一般的AVR出厂时是1M内振。所以

编程器的ISP频率不能高于256K,否则从SPI口无法取出正确的数据。

出0入0汤圆

发表于 2007-3-13 13:50:56 | 显示全部楼层
TO:樓主

    驅動已裝上,出現一個"Communication Port com3"

但在AVR Studio 4.12(460)出現如下畫面,不知是什麼原因,請指教,謝了!



出0入0汤圆

 楼主| 发表于 2007-3-13 23:22:08 | 显示全部楼层
是说下载器的固件版本与AVR Studio的版本不匹配。可以不用管。也可以按4楼的方法处理。直接将固件中与版本相关的参数改一下。

出0入0汤圆

发表于 2007-3-22 15:36:49 | 显示全部楼层
試過了,不行啊,請幫忙.只是0.25E460改為0.26E460...還是不行,為什麼不是2.04或2.05點,老是顯不0.24e460或0.25E460呢?是什麼原因,請樓主幫幫,謝謝!

出0入0汤圆

发表于 2007-4-2 08:45:53 | 显示全部楼层
我来告诉大家安装驱动的方法:

请在网上下载cp210x的驱动程序,将*。inf 中的vid pid 改成 AVR-CDC固件中的VID/PID

或者将AVR-CDC固件中的VID/PID改成 cp210x的驱动程序 *。inf 中的vid pid 即可。

欢迎有兴趣的朋友测试

装上这个驱动后,在win98下就可以用AVR-Doper下载线了

本人在多台电脑上测试,安装方便又稳定

xp和win2000下应该也可以.
-----此内容被zhuxingyin于2007-04-02,08:51:26编辑过

出0入0汤圆

发表于 2007-4-2 21:59:05 | 显示全部楼层
请问大家是如何将楼主的main.hex文件下载到M8里的?!

因为我用并口ISP下载线下载老是提示"检验0x00地址失败",

我试过下载其它比较小的hex是OK的.证明不是下载线的问题吧!

楼主的main.hex文件有16KB,已经超过M8的flash 8K大小,



不明白啊,谁能告诉一下,谢了~~~

出0入0汤圆

发表于 2007-4-5 23:53:10 | 显示全部楼层
我的也做好了.很好用啊,下载很稳定,

谢谢楼主.

我用的方案是: PC USB口 +5V串两个IN4148降压到3.6V为M8供电.

两只3.6V的稳压管不要,两只68 电阻不要.

用的FW是楼主的.

哈哈,我试了无论台式机还是自己用的Notebook PC 都很稳定啊....

出0入0汤圆

发表于 2007-4-13 16:38:43 | 显示全部楼层
各位做成功的往EEPROM里面些的数是什么啊?

只需要写main.hex就可以了吗?

我用的是M88L,用的是楼主的图和改为M88后的程序,但是听说要读eeprom的数据却没有发现写eeprom的*.hex文件啊,难道不需要写eeprom吗?

出0入0汤圆

 楼主| 发表于 2007-4-14 10:45:36 | 显示全部楼层
将AVR_Doper的程序写入大家常用的UsbAsp,这样Usbasp也能使用AVRSTUDIO了。源程序主要改动地方为,将USB接线定义到B口的PB0和PB1,将LED定义到usbasp的PC0和PC1上。OK了。

我个人认为将简化版的AVR_DOPER固化到usbasp硬件中还是比较好的,因为硬件太多版本反而不好。usbasp的社会拥有量应该较大。这也给使用usbasp的用户另一个软件的选择,何乐而不为呢。:)

出0入0汤圆

 楼主| 发表于 2007-4-14 11:05:01 | 显示全部楼层
AVR_DOPER 用于 usbasp 的源程序 , main.hex 可直接使用

点击此处下载armok01150386.rar

出0入0汤圆

发表于 2007-4-14 11:29:26 | 显示全部楼层
下了看看,不晓得芯片支持是否很全。

以前在国外网站上下的一个烧写mega168老出错。s51系列也不支持。

谢谢!

出0入0汤圆

 楼主| 发表于 2007-4-14 13:33:54 | 显示全部楼层
固化ATmega168很好,不会出错。ISP的源代码同时借鉴了STK500V2 和AVR-Doper。

出0入0汤圆

 楼主| 发表于 2007-4-21 09:54:27 | 显示全部楼层
更新为自动适应 目标AVR单片机的主振频率。自动调整下载线的速度。

原理很简单,在“进入编程函数”中:从高到低逐一试验下载线速度,成功了,即为适合的速度。

点击此处下载armok01151237.rar

出0入0汤圆

发表于 2007-4-21 17:22:38 | 显示全部楼层
搂住厉害!

出0入0汤圆

发表于 2007-4-21 20:13:54 | 显示全部楼层
最近自己分析了一下USB ISP的程序,本来以为看明白了,自己也修改了,用在M8上正常,可后来想换个芯片却不行了!郁闷哪。编译没有任何错误!写到M88里面就不行,改一下芯片型号,重新编译,用M8就完全正常!

出0入0汤圆

 楼主| 发表于 2007-4-21 20:35:57 | 显示全部楼层
楼上的请看39楼,用于M88,怎么处理。

出0入0汤圆

发表于 2007-4-21 21:32:04 | 显示全部楼层
首先感谢楼主的回复,这个帖子我看过后,下载了相应的程序,自己进行了编译,但是用于M88还是不行,识别不了(未知设备)。这个代码还没有时间看。偷个懒,问一下,M88和M8的区别是什么?对于汇编程序里面我看没有影响的代码啊,C语言的驱动里面也没有由于芯片型号造成影响的地方啊。我是将用于M8正常的代码改用M88进行编译,编译出现的问题我已经处理了(用了宏处理),现在用于M88竟然不行?同样的电路板,外围元件没变。不想占用这里过多的空间,源程序和电路图在http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=743471&bbs_page_no=1&bbs_id=1000。请帮忙看一下,我是直接用AVR Studio 4.13编译的。这个源程序里面也实现了自动速度调整,原来的定时器1没用,我用上了。同时加入了一些其余的功能。可惜只能用于M8,请你试一下。

出0入0汤圆

发表于 2007-4-22 22:53:03 | 显示全部楼层
楼主,你好。我也做了一个,但我安装不了驱动,不知道怎样装,因为发现不了硬件。我该怎办?

出0入0汤圆

发表于 2007-4-23 20:25:06 | 显示全部楼层
对了,楼主能否把原来的没有进行修改的程序共享一下?最近发现用于USBISP的USB驱动是有高人给改成了GCC的,原来的程序应该不是GCC的吧,在转换的过程中有个别处理不大对,现在发现了一外错误(非常严重),可惜改正后还是不能用于M48,所以想求原来的程序来看一下,这样我对比一下看能不能找到问题。

出0入0汤圆

 楼主| 发表于 2007-4-23 22:32:04 | 显示全部楼层
USB驱动部分我没有改动。可参考一下ATMEL的官方AVR用于USB转串口。AVR309 USB协议转换到UART

出0入0汤圆

发表于 2007-4-23 23:42:53 | 显示全部楼层
我用你的这个HEX还可以成功(用在M8),但用源程序编译的时候提示有些错误,我是用AVR Studio做了一个工程,然后把你所有的文件都导进来了,可是编译出来的文件就不行,你这个是不是要直接用PN编辑,用GCC编译?

出0入0汤圆

发表于 2007-4-24 22:14:08 | 显示全部楼层
附件不能下载?

出0入0汤圆

发表于 2007-4-25 06:25:37 | 显示全部楼层
昨晚不能下载附件,现在可以下载了。

出0入0汤圆

发表于 2007-5-17 00:16:08 | 显示全部楼层
跟 65 楼的问题一样 !!



请问大家是如何将楼主的main.hex文件下载到M8里的?!



楼主和其它前辈的main.hex文件有16KB,已经超过M8 或 M88 的flash 8K大小,



不明白啊,谁能告诉一下,谢了~~~

出0入0汤圆

发表于 2007-5-17 00:48:50 | 显示全部楼层
回【83楼】 scchu

我当时不能下载到M8中的原因是:将M8的熔丝位配成了外部晶振.

先将M8熔丝位配成内部RC,再将楼主的main.hex下载到M8,最后将熔丝位配成外部晶振.

出0入0汤圆

发表于 2007-5-18 00:09:41 | 显示全部楼层
多谢楼上的回复.



我是一个新手, 熔丝位配置是否要用编程器, 我现在用的串口编程器是很阳春的. (http://www.speedy-bl.com/adapter-e.htm#Sercon2-Mini_for_AVR).

出0入0汤圆

发表于 2007-9-18 11:22:58 | 显示全部楼层
谢谢楼主!在usbasp上用了,很好。楼主如能把虚拟的串口也引出来用就太好了

出0入0汤圆

发表于 2007-9-25 15:43:14 | 显示全部楼层
帮看下,出现这个提示,我从新连一下却好了,不知什么原因

出0入0汤圆

发表于 2007-9-25 15:49:09 | 显示全部楼层
另请问,下载烧写时,目标板需要接晶振吗?

出0入0汤圆

发表于 2007-10-8 01:10:48 | 显示全部楼层
要看你的目标芯片!! 若是内部RC就可以不加晶振!!

出0入0汤圆

发表于 2008-3-12 07:47:12 | 显示全部楼层
问一下,这个能仿真MEGA88么?

出0入0汤圆

发表于 2008-5-18 13:28:09 | 显示全部楼层
留个小记号

出0入0汤圆

发表于 2008-5-18 20:17:18 | 显示全部楼层
好东西,要顶一下

出0入16汤圆

发表于 2008-7-3 16:48:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-13 15:36:45 | 显示全部楼层
楼主,请问ATMEGA8L可以做吗?用8M晶振行不?

出0入0汤圆

发表于 2009-8-19 08:37:52 | 显示全部楼层
标记一下!

出0入0汤圆

发表于 2009-8-27 00:44:09 | 显示全部楼层
请问66楼的,你是职介在VCC上接两个IN4148吗???对mega 8的所有供电用VCC接两个IN4148后的电压供电,那USB口德1.5K的电阻要不要接啊!!!!新手请教!!!

出0入0汤圆

发表于 2009-8-27 15:13:05 | 显示全部楼层
厉害

出0入0汤圆

发表于 2009-8-27 17:24:31 | 显示全部楼层
请问一下楼主,我是初学者,我按照你的电路图做了一个,往mega 8里面烧写了那个main.hex的文件,怎么链接到电脑上一点反应也没有啊!!!!!电脑上没有提示安装驱动,也没有增加出来的俄Com口。指示灯也不亮,不知道是什么原因。电路图如下:

(原文件名:01.jpg)
测试a端3.16V电阻后面也是3.16V。实物图如下:

(原文件名:图片 004.jpg)


(原文件名:图片 005.jpg)


(原文件名:图片 006.jpg)


(原文件名:图片 007.jpg)

希望楼主帮忙解决。听说是要设置什么熔丝位的,要先设置为内部晶振,再改外部晶振,怎么改,熔丝位怎么设置啊!!!能不能讲的具体点,我是用伟纳的编程器sp200s对mega 8编程的,编程的时候就直接按自动!!!
这是软件的设置图!!希望帮助!!!!

(原文件名:02.jpg)


(原文件名:03.jpg)


(原文件名:04.jpg)


(原文件名:05.jpg)

另外说明,由于没有1.5K电阻和68的电阻,我把那USB口德1.5K电阻换成了2K,68电阻换成了75.外接晶振是12M芯片是ATmega 8L-8PU。

出0入0汤圆

发表于 2009-8-27 17:25:47 | 显示全部楼层
在线等!!!希望哪位高手帮忙解决!!!万分感谢!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 23:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表