请问你之前零基础学avr单片机机锁住是怎么解决的啊?我现在的也出现那种问题了,下载程序能下载,

查看: 1794|回复: 10
ISP老是下载不了程序是怎么回事呀??大家快给看一看吧,急死了
大家好.我编好一个AVR程序后,使用双龙或者ICCAVR的程序下载总也不下载不了。我已经检查过ISP所有的连线,而且新换了CPU芯片(MEGA64L),重新换了双龙的ISP下载器中的74LS244换成74HC244。
还是不行,我实在不知道还应当如何做,大家给支招呀。。急死了!!!
不会吧?检查下你的CPU是不是打开了SPI,或者拿块新买的片子试下。应该可以的。
还有,244是不用换的。
你怎么不打电话咨询双龙公司呢?他们有技术支持的。
双龙的下载线还有一个奇怪的现象就是:当你成功下载了很多次之后,会提示校验出错,然后就一直校验出错,直到我把他们的软件关闭后重新打开,就不会出错了,这是第一步;过不了几天,问题又来了,还是提示校验出错,这时把他们的软件关闭重新打开,还是出错,我就重新启动电脑,这时再下载,就没问题了,这是第二步。
用了没多久就已经到了第二步,不知道会不会有第三步哦?
公益广告:本论坛不得使用、宣传Q群。 有讨论请在论坛里进行。 违者将封锁ID.
同感,用SL 的软件确实有这种问题!
但是小马软件又不是很好用!
设计得没有双龙的好!
楼主:看看你的线是不是接对了!这么简单的下载线不会有什么问题的!
公益广告:发表招聘帖子需要缴费,有需要可以联系网站工作人员王小姐:.
并口下载线 在CVAVR中也会出现这个问题。关闭程序/断电 折腾几回才又突然好了。
但ponyprog就很少会出错。
串口的稳定很多,AVRISP/STK500是最好的选择,PC界面也很好用。
公益广告:广告只能发在本论坛的广告区,否则将封锁ID。
现在调通了,谢谢大家了!!
我用的是双龙的并口下载线,也出现过楼主说讲的问题,查看任务管理器可以发现在下载过程中CPU使用率为100%,所以在下载的时候最好不要运行多个程序或占用CPU资源太多的程序。那样成功率会高一些。
如何检查下你的CPU是不是打开了SPI?
TO 2楼和6楼的:
解决的办法很简单:CTRL+ALT+DEL,在进程中将ISP下载程序的优先级别设置为高,然后再试吧!应该会99%成功的!
TO 7楼的:我最开始用AVR下载的时候是用的那种万用型的编程器,可以下,但是无法用ISP下载线的,最后查明是熔丝里面的一个叫SPI的没有钩上,用(必须用)编程器重新烧好后就可以用ISP下载了。
楼上说的我会去试一下!
我用双龙的下载出现了2楼的第三步&&重起电脑也没用
阿莫电子论坛, 原"中国电子开发网"怎样成为单片机高手? AVR大学 零点篇 写在新手入门之前 AVR教程 avr单片机 学习 avr单片机教程 avr单片机学习网
怎样成为单片机高手? AVR与虚拟仪器
你现在的位置:&&&&写在新手入门之前,给新手中的新手
AVR大学 零点篇 为什么要学习单片机?
学习AVR,需要软件,硬件,开发工具的支持。我们介绍一下开发环境的比较与选择。
AVR的编译软件常用的有,IAR AVR,imagecraft(ICC AVR),Code Vision,GNU GCC AVR等。你可以在本站下载到这些软件:
imagecraft
Code Vision
与AVR STUDIO集成度
综合易用性,价格,集成度,技术支持多方面因素,本站推荐imagecraft(ICC AVR),本站的教程,代码例子也是基于本平台下编写的。如果是个人使用,可以在google上搜索ICC的注册机,用于专业版的测试。请你支持正版,支持软件业的发展。
AVR的下载软件常用的有:AVR STUDIO,ICC AVR,SL AVR
AVR STUDIO
Atmel 官方开发工具软件安,支持所有的芯片系列,还可以用于软件仿真。通过*.cof文件与外部编译软件集成。
ICC AVR内部支持并口ISP下载,STK500下载,详细配置及使用方法,请看
双龙公司开发
串口,USB,JTAG在线仿真,ISP下载
支持串口,并口,ISP下载。不支持仿真
支持并口ISP下载
本站推荐AVR STUDIO,易用性好,可靠性高,支持所有芯片,官方免费提供,关于详细的使用方法,新手入门中有介绍。同样这些软件你可以在本站下载得到:
AVR的开发工具有,原装的MKii,原装MKisp,普通版JTAG,并口ISP,。
原装的开发工具功能和稳定性有保障,但是价格比较昂贵(原装JTAG mkII 仿真下载器价格为2380元),如果不是特别需要,没有必要做那么大的投入。
普通版JTAG仿真器价格便宜,一般在100~200元之间,本站提供的普通版JTAG仿真器仅售120元。但是普通版JTAG仿真器存在抗干扰能力差的问题,在一些特殊的电路下(比如带有继电器的电路),回灌电流可能将仿真器主控芯片内的程序冲掉。
并口ISP是最经济的开发方案,本站提供的并口ISP下载线只需30元,但是并口ISP下载速度慢,如果你有一定电路基础,你可以自制并口ISP下载线,制作方法本站后面的教程将会提供。
本站推荐折衷的解决方案,豪华版 JTAG 与 ISP 二合一 编程仿真器,稳定性好,功能强,价格低,是目前性价比非常高的开发工具方案。 ,详细的介绍了JTAG仿真的方法,ISP下载的使用
本编程仿真器特有功能:
1、JTAG与ISP完美二合一
2、自动识别目标板是JTAG还是ISP
3、使用时无需手动重启,目标板插拔时自动重启
4、各种保护电路,保护编程器和目标板
5、支持USB和串口双接口
6、超低价格:每套仅需350元
1、ISP下载功能
2、使用AVR Studio下载时选择STK500/ISP即可
3、支持几乎所有的带ISP功能的芯片
JTAG功能:
1、 完全支持AVR Studio 4.XX。
2、 支持所有具有JTAG接口的AVR系列单片机。
3、 完全真实的实现AVR单片机的所有的电性能。
4、 可以完全实现片内的数字或模拟功能。
5、 可以在程序执行过程中实现单步(step)、连续、断点、变量具有数据或程序空间断点。
6、 支持汇编和高级语言(C,C++)开发。
7、 可以对Flash、EEPROM、熔丝位、加密位进行编程。
8、 通讯速率可达115200bps。
9、 支持仿真电压2.3~6V, JTAG仿真器可由目标供电或外接电源供电。
10、使用原厂 AVR Studio 的升级文件。当有新版本时,能自动检测并自动升级。
11、支持芯片列表:
AT90CAN128,ATmega128, ATmega128L, ATmega16, ATmega162, ATmega162V, ATmega165, ATmega165V, ATmega169, ATmega169V, ATmega16L, ATmega32,
ATmega323, ATmega323L, ATmega32L, ATmega64, ATmega64L。
产品清单:
1、AVR JTAG ISP二合一编程仿真器
2、串口连接线
3、电源适配器
4、优质USB线
5、资料光盘
资料光盘包括(AVR JTAG ISP二合一编程仿真器用户使用手册,AVR Studio 4.12 RC1,ICCAVR编译器,AVR系列芯片中英文手册,ISP软件,Bootloader源程序,AVR系列新手入门教程)
小贴示:本站的仿真器输出接口具有HC244保护,保护JTAG的输出口及监控程序不受损坏.(其它简易型的JTAG是无保护功能,经常会出现监控程序丢失.)
欢迎交换链接,请与小古联系 avrvi【at】楼主看看这个问题应该怎么解决? ← AVR单片机技术讨论 ← AVR论坛
AVR单片机网站,AVR论坛。
共9 条记录, 每页显示 15 条, 页签:
标题:楼主看看这个问题应该怎么解决?
phyond 发表于: 13:32:00
m16,PA7,PA6,PA5,用于max7219驱动数码管的三个管脚,Din,CLK,LOAD。剩下的五个用于驱动LED,且每个管脚都有一个按键,可以用按键控制LED的两灭,同时,要求也能够用串口接收数据的方式来控制。采用的是中断接收数据,查询按键方式,现在主要的问题是,如果查询按键,就必须令DDRA=0xe0,使相应的关键变为输入,然后程序执行完再令相应的管脚变为输出,可是这样一来,却不能控制LED和数码管,我试过把DDRA=0xe0注释,结果用中断接收能够得到正确的结果,只是按键无法控制,因此,问题应该出在这。但是又不知道该怎么解决,我也试过,“在高阻态DDRAn,PORTAn=0b00和DDRAn,PORTAn=0b11”两种状态转换之间的问题,但是仍没有效果,你看看该怎么办啊,这是我的按键处理程序:void Key_Handle(void){& //&&// i=PORTA;&& //SREG=0x00;&& data=0&& DDRA=0xe0;&& if((PINA&(1&&0))==0)& &&& { &&&& pin1=pin1+1;&&&& if((pin1%2)==1)&& data=0xc1;&&&& else if((pin1%2)==0)& data=0xc0;&&while((PINA&(1&&0))==0); &&&}&&else if((PINA&(1&&1))==0)& &&& { &&& power=power+1;&&&& if((power%2)==1)&& data=0xd1;&&&& else if((power%2)==0)& data=0xd5;&&while((PINA&(1&&1))==0);&&&}&& else if((PINA&(1&&2))==0)& &&& { &&& wind=wind+1;&&&& if((wind%2)==1)&& data=0xd9;&&&& else if((wind%2)==0)& data=0&&while((PINA&(1&&2))==0); &&&}&else if((PINA&(1&&3))==0) &&&&&& {data=0xc5;while((PINA&(1&&3))==0);}&&& else if((PINA&(1&&4))==0) &&&&&& {data=0xc9;while((PINA&(1&&4))==0);}&& //PORTA=0x00;& &&& DDRA=0&& //PORTA=i;&& if(data!=0xff) Air_Condition();&& //SREG=0x80;&}
[此贴子已经被作者于 15:41:08编辑过]
AVR_AFA 发表于: 14:44:00
1、主题应尽量突出问题,有什么问题说出来让大家一起交流。2、这样做的话需要考虑的事情很多,读取按键时把方向设置为输入,读完之后再设置为输出,这样从时序上面讲可行。但是外部按键如果一直按着不放的话,那么你的信号就送不出去。如果在按键上面串一个合适的电阻再加上软件里应外合应该可以实现。
phyond 发表于: 15:06:00
在实际中不可能一直按着按键不放。现在用这样的程序即使用串口调试助手也不起作用,比如,发送0x10为让某一LED发光,可是在实际中,LED只闪一下就灭了。这个问题怎么解决啊?
AVR_AFA 发表于: 15:23:00
这个东西对电路和C语言的基本功都要求比较高,要不然很难完全理解这里面的原理,说了可能也无法理解。你把问题简化,突出重点难点,把相电路也帖上来。这里只能给你提示思路,需要你自己理解了才行。上面说的按键长时间按下,这个长时间不需要几个小时,只要几十mS就会使你程序出错。想一想如果按下的刚好是7289的数据线,那么这个时候再向7289发送数据的话会出现什么样的后果。
phyond 发表于: 16:06:00
采用现在的程序时,先不说按键有没有问题,就是直接用数据接收的方式也不能控制LED灯的亮灭LED灯就闪一下,然后就灭了
AVR_AFA 发表于: 16:16:00
在进入按键修改端口状态之前,把端口状态‘记录’下来,在退出时把状态恢复就行了。
phyond 发表于: 10:24:00
上传了三次附件了,都没成功。原来主题被锁定,唉//按键处理void Key_Handle(void){& //&& //i=PORTA;&& //SREG=0x00;&& data=0&& DDRA=0xe0;&& if((PINA&(1&&0))==0)& &&& { &&&& pin1=pin1+1;&&&& if((pin1%2)==1)&& data=0xc1;&&&& else if((pin1%2)==0)& data=0xc0;&&while((PINA&(1&&0))==0); &&&}&&else if((PINA&(1&&1))==0)& &&& { &&& power=power+1;&&&& if((power%2)==1)&& data=0xd1;&&&& else if((power%2)==0)& data=0xd5;&&while((PINA&(1&&0))==0);&&&}&& else if((PINA&(1&&2))==0)& &&& { &&& wind=wind+1;&&&& if((wind%2)==1)&& data=0xd9;&&&& else if((wind%2)==0)& data=0&&while((PINA&(1&&0))==0); &&&}&else if((PINA&(1&&3))==0) &&&&&& {data=0xc5;while((PINA&(1&&3))==0);}&&& else if((PINA&(1&&4))==0) &&&&&& {data=0xc9;while((PINA&(1&&4))==0);}&//PORTA=0x00;& &&& DDRA=0&//PORTA=i;&& if(data!=0xff) Air_Condition();&& //SREG=0x80;&}&//接收数据void Uart_Receive(void)&{&data=UDR;&Uart_Transmit(data);&Air_Condition();&if(data==0xc1)& pin1=pin1+1;&else if(data==0xc0) pin1=pin1-1; &}//空调控制void Air_Condition(){ & if((data&0xff)==0xc1)&&& {Air_on=1; show(shutaddr,shutnormal);display2();& PORTA=PINA&0x16;& } //初始空调为低速冷风& else if((data&0xff)==0xc0)&& {PORTA=(PINA|0x1f);Air_on=0;&&& show(shutaddr,0x00);&& }& if(Air_on)&&&& {& &&& if((data&0xe0)==0xe0) display2();&&&&&&&& if((data==0xc5)&&(tem&31))& display2();&& //温度加减&&&&& else if((data==0xc9)&&(tem&0))& display2(); &&&& if(data==0xd1)& PORTA=PINA&0&&&&&&& //风速为高&&&&&& else if(data==0xd5)& PORTA=PINA|0x02;&&& if(data==0xd9)& PORTA=PINA|0x04;&&&&&&&& //冷风&&&&&& else if(data==0xda)& PORTA=PINA&0&&& }}show()和display2()为数码管显示函数,我觉得对解决问题没有帮助,就没发上来。声明:意图绝对不是想让你给我做出来,第一,希望楼主看看用这样的硬件能否实现,如果不能,请给点意见;第二,程序应该如何改进。多谢!因为我是第一次接触单片机,实在是没什么经验,而接触的第一个项目又这么麻烦。&&下载信息&&[文件大小:&&下载次数:]
phyond 发表于: 15:43:00
自己顶一把
AVR_AFA 发表于: 23:47:00
这几天太忙了。刚才看了一下图片,上面电路还有点复杂,没大看懂。这样我还是和你说原理吧,具体做还是要你来完成。就是上面我说的:在操作前把端口状态记录下来,然后在退出前恢复端口。对,我看了你的程序了,里面已经有“i=PORTA;”这个语句了,我说的就是这样做,你只要把这个功能重新打开,就可以解决指示灯的问题了。
共9 条记录, 每页显示 15 条, 页签:
地址:深圳市龙岗区布吉镇丽湖花园湖翠阁3A电话:0 手机:(技术问题请在论坛提问。)Copyright &2006 - 2010
Powered By
Processed in .04688 s, 4 queries.

我要回帖

更多关于 avr单片机 的文章

 

随机推荐