atmega8熔丝位在哪个i2c 16位寄存器地址里地址是多少

品牌厂商:
看过本文的还是看过
热门品牌排行榜
相关词条:
相关词条:
封装:DIP-8
XSM吸收电容
品牌:XICO
封装:方形
品牌:ROHM
封装:SOD106
品牌:Anachip
封装:SOP-8
LPC2132FBD64/01
封装:QFP64
PIC16C773-I_SP
品牌:MICROCHIP
封装:DIP-28
STC12C5604AD
封装:PDIP/PLCC/PQFP/LQFP
品牌:东芝
封装:TO-3P
芯片TMS320F28035PN
德州仪器TLV320AIC2
系统端电池计量元件
30安培的肖特基二极
美国德州仪器7AM 17
RT7237ANGSP 转换器
IXFN34N100主营一级AVR熔丝位设置让我在吃苦头中成长
12:40:33来源: 51hei 关键字:&&
有一小段时间没有来空间扫一扫雪了,前段日子把避障小车终于做了出来,时间比较忙还来不及拿出来和大家分享,这些天因为要公司要做一款UNO控制板,之前感觉自己比较停留在对单片机的编写程序上,忽略了对单片机内部的一些寄存器的了解上,当然在学习PIC的时候会去了解里面的结构,比如AD和DA的分频,中断里面寄存器的控制,SPI控制的结构等。但是在这方面还真是大大的欠缺。
UNO是arduino一个开源的产品,基本上驱动程序,bootload等都可以在其官方上找到,不过说句实在的,因为一直没有成功写进atmega8u2-mc这款控制器里面,一直在怀疑着自己找到的是不是正确的bootload的。就这样子弄了两个星期无果,自己郁闷,公司估计也很郁闷。中间断断续续地焊了几块板,几乎把打样的板子都快用光了,刚开始怀疑是atmega8u2-mc焊接有问题,毕竟公司也是第一次焊QFN的封装,而且两个焊盘间距小得我在默认PCB画图的时候软件老会报错。在两个星期后终于开始把问题弄了个明朗。
在逛arduino官网的时候,一直没有找到关于USB转串口的模块,也就是atmega8u2-mu是怎么下载程序的,之前在提议下公司买了一个专用的下载器,在经过无数次下载程序后发现烧写得进去,但是好像还是行不通的。一直以来没有对UNO里面ISP下载有所想法,一直认为是给主控制部分mega328/168留着的两个ISP下载串口,实际上只能说自己太粗心了。
直到突然在看我画的PCB板的时候恍然大悟,怎么旁边那个ISP接口是跟ATMEGA8U2连在一起的呢?另外,看了一下数据手册,所接的串口还真的是ATMEGA8U2的ISP。
就是少了这个发现的情况下,让自己吃了不少夸呀。实践证明这里才是ATMEG8U2的下载口。
当时那个心情真的是无法形容,赶紧来了一个USBASP下载器(这个下载器是我自己的,当做为公司做贡献了),标准板本基本上是10个接口的,但是ATMEGA8U2是6个引脚的,不过这个对于我倒是好办,在&avr单片机论坛http://www.51hei.com/bbs/mcu-avr-1.html&查了相关资料,把10口的引脚做成了6个引脚就搞定了。怀着忐忑的心情下载了程序,居然很顺利的下载到里面去了,下载界面显示:
把UNO插进电脑,居然提示发现新硬件,并自动弹出一个安装驱动程序的下载框,心里那个高兴无法言表,打开IDE也发现了com口了。按照我的惯性思维:有发现com口是可以正常下载程序了,接着是下载程序了,可是无奈的事是下载程序的时候提示
看来是下载程序还有问题,这个问题看了下官网,按着解决办法弄了一个上午又没有什么进展。真是无语了,表示很蛋疼。
后来根据硬件在下载程序的时候灯的显示结果,电脑发送灯会亮,单片机接收灯也没有问题,问题是它们和接收有点不同步的感觉,我想有可能数据在那个地方丢失了,再看了一些AVR单片机的资料,哎,这次终于知道是为什么了,原来是我设置熔丝位的时候没有设置好,这就是对AVR单片机没有深入了解的结果。记得之前学习PIC的时候,在开头总会写上__CONFIG(0x313b);而AVR则不同。在经过一天的研究中,把公司的几个MEGA8U2熔丝位给弄坏了,终于在第五个的时候下载成功,IDE也发现在了COM口,下载程序给MEGA328的时候也顺利了,搞了半个多月的UNO终于算是完美地画了一个句号。下面把我这些天的学习,个人对AVR的设置的看法拿出来跟大家分享一下吧,也许对大家研究和学习AVR会有帮助。
我用的是USBASP下载器,用的软件是网上随便都能够下载得到的progisp。
1.&&&&&&&它在编程的时候为0,未编程的时候为1(这里跟我们平时编程可能有点相反,我吃过这夸了,烧坏了两个芯片以后发现了这个问题,其实网上也有很多这方面资料,要是自己能够早点看到别人写的文章给说明一下就好了。自己可以给公司省几块还算值钱的IC呢)。
&&&&&加密位设置:LB2,&LB1为1,0或者0,0时,不能通过任何方式读取芯片内部的flash和eeprom数据。但是熔丝位的状态仍然可以读取,只是不是能修改。因为UNO可以确定bootload程序没有问题,而且考虑到用户买我们产品的时候会不小心修改掉bootload。所以我这里设置为了0,0.这个对一些技术比较厉害的高手对于程序的保护可能会有很大帮助。这也就是我在上一篇文章中提到的AVR的保密性比PIC高的原因。
&&&&&&&WTDON为看门狗设置,1表示要用软件控制WTD(看门狗)才打开,0表示不用软件控制WTD一直打开,用户只能利用软件控制WTD的溢出时间。因为我们平时基本上都是不会让WTD一直工作的,所以我在UNO里选1,建议大家设置的时候也选一,要用的时候我们用软件控制就行了。呵呵。用软件控制感觉也不是很麻烦。
&&&&&&&SPIEN,这个设置是关键,1表示禁止编程,之前我设置成1,下载程序的时候一直显示模式不对,选0下载成功。原因在于我用的下载方式是SPI下载的。所以这里要打开才行。
&&&&&&&bootrst表示上电后从0x00执行还是bootload区执行,我设置的时候是0.表示从0x00开始执行,AVR单片机工作那么快,呵呵,多让它工作点没事,也不碍时间。所以我设置了0x00。实际上在UNO这里设置为1也是可以的。
6.&&&&&&&系统时钟源的设置:表示外接晶振,其它比如内部晶振,RC振荡我就不写啦,大家感兴趣的可以Q我,大家一起学习或者查一查资料。
&&&&&&&CKOPT,CKSEL3 KSEL2,KSEL1,KSEL0.设置的是起振时电容的容量,因为我用的是外部晶振,22pF的方式提供时钟源,所以设置为:1,1,1,1.之前没有设置,所以导致了单片机不知道用那个作为时钟源,导致时钟混乱,所以也就是我看到的程序传输时接收和发送灯的闪亮问题。经过验证原因出在这里。
大概就这么多吧,当然要设置的还有其它,呵呵。时间比较有限,所以只是把我用到的进行了研究,其它一些位就等待以后再研究了。
关键字:&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
关注eeworld公众号快捷获取更多信息
关注eeworld服务号享受更多官方福利
网友正在学习IC视频
EEWORLD网友正在观看&&视频
EEWORLD网友正在观看&&视频
EEWORLD网友正在观看&&视频
EEWORLD网友正在观看&&视频
EEWORLD网友正在观看&&视频
相关关键词
热门关键词
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。后使用快捷导航没有帐号?
请完成以下验证码
查看: 1531|回复: 3
Atmega8没有PC7端口,如果写PORTC=0xff命令,会是什么结果
在线时间100 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 82, 距离下一级还需 118 积分
一粒金砂(中级), 积分 82, 距离下一级还需 118 积分
写程序时无法避免这样的写法。那么最高位的'1'会去哪里?会不会写进其他寄存器而导致程序运行出错?
在线时间481 小时
威望4423分
芯币3354枚
E金币154枚
TA的帖子TA的资源
五彩晶圆(中级), 积分 4423, 距离下一级还需 1577 积分
五彩晶圆(中级), 积分 4423, 距离下一级还需 1577 积分
楼主一看就是没仔细看手册吧,一般这种没有引出的引脚在写寄存器的时候是没有意义的,也就是说不论你写任何值都无所谓,不影响。
只有求知欲,没有求偶欲的人是植物,只有求偶欲,没有求知欲的人叫动物,既没求知欲,又没求偶欲的人是矿物。
在线时间658 小时
芯币1781枚
E金币1394枚
TA的帖子TA的资源
纯净的硅(中级), 积分 958, 距离下一级还需 242 积分
纯净的硅(中级), 积分 958, 距离下一级还需 242 积分
看手册吧,有时这个最高位要保持默认值的,如果你写入其他值会有影响
在线时间14 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
EEWORLD 官方微信
Powered by豆丁微信公众号
君,已阅读到文档的结尾了呢~~
atmega8的熔丝位说明
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
atmega8的熔丝位说明
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口基于ATmega8单片机电路的蓄电池容量测量仪
我的图书馆
基于ATmega8单片机电路的蓄电池容量测量仪
基于ATmega8单片机电路的蓄电池容量测量仪人们往往通过电动车能骑行多少里程来衡量蓄电池的容量大小,这种方法虽然比较直观,但只能作一个粗略的估算,要精确测量蓄电池的容量,可以让蓄电池恒流放电,测量出电池电压达到终止放电电压时的放电时间,用放电时间乘以放电电流就可以算出蓄电池的容量。本文介绍的蓄电池容量测量仪就可以用来测量电动车蓄电池的容量,结果用4位数码管显示,同时可以测量电池的电压。电路结构简单,很适合业余条件下制作。一 性能特点●可测电池型式:蓄电池●蓄电池电压:12V●放电电流:3A恒流●放电终止电压:10.5V●蓄电池容量测试范围:0.00Ah~99.99Ah●测量仪由待检测蓄电池供电二 硬件电路现在市场上的电动车蓄电池每个单元为12V,由6个电池单格串联而成。电动车的蓄电池组一般由3个单元或4个单元串联组成,电压分别为36V和 48V。测量蓄电池容量首先要考虑的一个问题是选多大的电压来测,因为电池通过假负载放电时会产生很大的热量,选择电压要综合考虑,如用48V直接测,放电电流取3A,则功耗为144W,必须用大的散热板,并且要加风扇散热。这里选择对一个单元12V电池测容量,以放电电流为3A计算,功耗为36W,这样制作就比较简单了。如果我们要对多个电池同时测量,可以采用并联的方法测量,这时功耗不增加,只是测量的时间变长了。电路见图1,由单片机电路、恒流放电电路、电压测量电路、显示电路和蜂鸣器报警电路等部分组成。ATmega8、R1、C1等组成单片机电路,为了提高测量的计时精度,单片机使用外部晶体振荡器提供时钟信号,时钟频率取8MHz。电路利用ATmega8内部的模数转换ADC0通道测量蓄电池电压,转换精度为10位。ADC的参考电压选用外部的5V参考电压,ADC0最大允许输入电压为5V,因为12V蓄电池充电后最高电压可达16.2V,因此要用R8、R9组成的分压电路分压后才能测量。测量结果由ATmega8的PD口输出7段字型码和小数点位到4位数码显示,ATmega8的PC1~PC4输出位驱动码,作动态扫描驱动输出。单片机的工作由被测蓄电池经78L05稳压后得到。达林顿VT、RP、R3~R6等组成恒流放电电路。VT的工作状态受ATmega8的PB2脚的控制,当PB2输出高电平时VT导通,调节 RP可改变VT的基极电位,从而调节VT的工作电流。由于VT的发射极接有直流负反馈电阻R5,因此当蓄电池在一定范围内变化时VT的工作电流能基本保持不变,从而起到恒流的作用,蓄电池的放电回路主要为R4、VT、R5和R6组成,R4~R6上的功耗较大,故采用了大功率电阻,VT上的功率也比较大,故也加了散热片。S2是电压显示按钮,平时数码管显示的是蓄电池已放电的容量,按一下S2,则数码管显示电池电压1s。测量仪接上被测的蓄电池后,电路即开始对电池容量开始测量,实际上就是开始计时,显示在数码管上的数值是放电电流和计时值的积。放电过程中发光VD1发光指示。蓄电池放电后电压会逐渐下降,当电压低于10.5V时,PB2输出低电平,VT1截止,蓄电池停止放电,此时数码管显示的电池容量不再改变,该数值即为所测电池的容量。与此同时,PB1输出周期为1s的脉冲信号,使蜂鸣器HA发出间隔的报警,告知蓄电池容量已测试完毕。接上蓄电池开始测量的瞬间,如果单片机没有能正常上电复位,只要按一下S1即可开始测试。测量结果显示到小数点后面2位。三 软件设计程序有主函数、AD转换函数、T/C0中断函数、数值处理函数、显示函数和延时函数等部分组成。主程序的流程图见图2。T/C0中断函数主要用来作过程的控制、ADC转换函数的调用、有关显示数值的计算、数码管的动态扫描进行控制等,流程图见图3。由于放电电流为 3A,因此每放电1/300h(即12s)电池容量减小0.01Ah,在T/C0中断函数中每过12s就对电池容量累加一次,待电池达到其放电终止电压时累加值即为被测电池的容量。AD转换函数用来对ADC0输入的电池电压进行AD转换,使用外部5V电源作为参考电源电压,可通过在主程序中对ADMUX寄存器的赋值完成此设置,并通过ADCSRA寄存器对转换速率、转换模式进行设置。AD转换的结果的高8位和低8位分别存放在寄存器ADCH和ADCL中。完整的源程序可到本刊网站www.radio.com.cn下载。四 元器件选择和安装调试元器件的型号规格和数量见附表。安装前要把目标程序写入ATmega8,有关熔丝位的配置见图4。制作时注意连接电池和仪器的测试线要选择粗一点的导线。本装置安装完成要对电池的放电电流进行调试。调试在电池放电回路中A点串一只5A的直流电流表(如使用万用表的5A电流挡),在电流放电状态下调节 RP使电流为3A即可。放电电流由VT的恒流工作电流和单片机电路的工作电流两部分组成,而单片机电路的工作电流所占比例很小,其电流也基本固定,因此蓄电池从接上到放电终止的过程中放电电流能基本保持不变。安装好的测量仪见题图。五 测量仪的使用测量仪接上蓄电池后,红色发光管点亮,开始时数码管显示00.00,随后每过12s百分位自动加1。测量过程中按一下按钮S2即可显示蓄电池电压值1s。测量结束后蜂鸣器发出间隙报警声,同时红色发光二极管熄灭,这时数码管的显示值即为所测蓄电池的容量。测量过程中不要按复位键S1,不然蓄电池容量会重新计数。
馆藏&132328
TA的最新馆藏
喜欢该文的人也喜欢}

我要回帖

更多关于 atmega8 熔丝恢复 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信