产品概述

单片机熔丝 小5带你飞(3)—AVR单片机熔丝位的介绍

小编 2024-10-08 产品概述 23 0

小5带你飞(3)—AVR单片机熔丝位的介绍

首先来说一下,这个熔丝位到底是个什么鬼?是不是也经常听到有人说起来?

其实吧,熔丝只是一个保护知识产权的设计。简单的说,你可以在特定的引脚上加电压,足够的电流,就可以烧断里边的这根熔丝,烧断以后,片里的程序就不可以被读出来也不能改写了,只能用来运行。一般成品出售时都这样做。熔丝位是在一个特定的地址上可以读到熔丝状态的一个位。0表示已熔断,1表示未熔断。

对于avr单片机:

熔丝位状态为0,表示已编程,状态为1,表示未编程。

熔丝位是可以进行多次编程的。

加密锁定之后,不能通过任何的方式来读取芯片内的flash和eeprom的数据的。

下载编程的步骤是(我个地方我一般用usbasp+AVRfighter就好了):下载代码和数据,配置相关的熔丝位,最后配置芯片的加密位。

芯片加密熔丝位介绍:

功能熔丝位的介绍:

Bootloader熔丝位介绍:

bootloader是啥,有啥作用?

Boot Loader 是在代码运行之前运行的一段小程序。通过这段小程序,实现了初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用代码准备好正确的环境。

Bootloader区域块大小的介绍:

系统时钟源选择熔丝位:

这个地方可能要解释一下,这是内部时钟的一个设置,你是可以不用外部晶振的,但是这个内部时钟一般来说肯定是没有这个外部晶振产生的这个时钟精度高。还有一个有人经常问道,为啥这个内部时钟的晶振频率是32.768。其实是这样的:你看啊,2^15次方是23768,16位的最高位是符号位,32.768Khz,石英晶体15分频后是1秒,为什么是15位,不是7位?因为分频数越高,越能精确这个时钟,32.768khz的晶振,时钟周期累计23768次正好1秒,如果是7位,累计2^7=128次是1秒,但是这个1秒都是有误差的,累计的次数越多,误差越大,累计128次是1秒,累计1280次说不定就是15秒了,而不是10秒,同样的原因,为什么电子表种跑一年后相差就明显。那为什么不是31位,或者更高的呢?如果是31位,需要的晶振频率更高,更耗电,而且频率越高,频率越不容易准确,综合考虑2^15次方的这个频率23.768Khz最好,容易实现,计算方便,频率不高,还挺准确,功耗还相对较低,整体来说性价比好啊。

使用外部晶振时的工作模式设置:

使用外部晶振时唤醒脉冲和延迟时间的选择:

就下来就是使用avr fighter来自己设置了。没关系的,开始弄这个锁死几个板子,也是没关系的,学习吗,正常。哈哈!!!

单片机实例分享,自制电感和电容测量仪

电子爱好者进行制作时经常需要绕制电感,而一般的数字万用表通常又没有电感测量挡,所以无法测量绕好的电感的电感量。本文介绍一种用单片机制作的电感和电容测量仪(见图23.1),可以有效地解决这一问题。

测量原理

本测量仪采用谐振法测量电感和电容,其方法是用谐振回路的谐振特性来进行测量,其测量原理可用如图23.2所示的电路进行说明。

图23.1 电感和电容测量仪

测量电感Lx时,配用标准电容C1,用Lx和C1组成谐振回路,测量出回路的谐振频率f即可计算出Lx的电感量;测量电容Cx时,配用标准电感L1,用L1和Cx组成谐振回路,测量出回路的谐振频率f即可计算出Cx的电容量。

上述测量方法也有一个缺陷:当Lx或Cx很小时,谐振频率f会很大,测量比较困难,为此我们可以采用如图23.2所示的改进型电路,分别用L1和C1作“垫底”,降低了测量时的谐振频率。

假设由 L1和C1 组成的谐振回路谐振频率为f1,测量Lx时,Lx和L1串联,测得(L1+Lx)和C1组成的谐振回路谐振频率为f2,则根据下式可计算出Lx的电感量:

Lx=[(f1/f2)2-1]L1

测量Cx时,Cx和C1并联,测得L1和(C1+Cx)组成的谐振回路谐振频率为f2,则可根据下式可计算出Cx的电容量:

Cx=[(f1/f2)2-1]C1

硬件电路

测量仪电路如图23.2所示。电路由LC振荡电路、单片机电路、显示电路等部分组成。

CD4069是6非门CMOS集成电路,其中非门F1、F2和C2、R1、R2等组成两级放大电路。第一级放大电路中,R2是负反馈偏置电阻,将F1输出端的直流电位钳制在VCC/2,使F1工作在线性放大区域。第二级放大电路没有加反馈电阻,直接用第一级放大电路输出的直流电压作偏置电压,以提高放大器的增益。放大电路通过正反馈回路R3、C3与L1、C1谐振电路一起组成正弦波振荡电路,非门F3用于信号整形,把F2输出的正弦波转换成矩形波输入到单片机ATmega8的T1脚,由单片机进行脉冲计数,从而测出LC回路的谐振频率。通过单片机对数据进行计算处理后,由LCD1602液晶屏显示测量结果。

图23.2 测量仪电路原理图

S1为测量转换开关,当S1转向L时测量电感,转向C时测量电容。S2是归0按钮。

LCD1602采用4线制传递数据,只使用了数据端口D4~D7。

当开关S1在电容挡但没有测量电容Cx,或在电感挡并且用短路线代替Lx时,电路的振荡频率约为503kHz,我们把这个频率称为基准频率。测试电容或电感时,被测试元件的电容量或电感量越大,对应的振荡频率越低。当被测电容的电容量为10μF(或电感的电感量为1H)时,对应的振荡频率约为5.03kHz。

电阻R5的阻值控制LCD1602液晶屏的对比度,R5阻值越小,液晶屏对比度越大。LED和LED+是液晶屏背光发光二极管的供电端口。

程序设计

测量仪的电路比较简单,而功能的实现更重要地依赖于程序的设计。程序的设计和优化需要花费更多的精力。

程序由频率测量、测试数据的计算处理、LCD1602液晶屏驱动显示三大部分组成。频率测量部分用定时器T/C1作脉冲计数,定时器T/C2产生测量脉冲频率的闸门时间。这里闸门时间选择0.5s,定时器T/C1累计的脉冲数乘以2即得脉冲频率。闸门时间选择0.5s是为了提高LCD1602显示数据刷新速度,如果闸门时间选1s,则刷新速度偏慢。

测试数据的计算处理部分主要利用前面给的两个公式计算出测量结果,并经过数据预处理后,输出到显示电路显示读数。

LCD1602的数据传输采用4线制,8位数据分两次传送,先传高4位,后传低4位,因为传递的数据量不大,所以你感觉不到4线制速度传输和8线制有什么区别。

安装调试

制作所需元器件的清单见表23.1。

C1、L1要选用精度比较高的元件,有条件的可用万能电桥进行筛选。L1如买不到成品电感也可自制,磁芯用Φ8×10的工字磁芯,用Φ0.42的漆包线绕55.5圈。

安装前先将程序的目标文件写入单片机ATmega8L,熔丝位的设置如图23.3所示。

图23.3 熔丝位的设置

电路板的装配图如图23.4所示。LCD1602的接口排座焊接在电路板上,排针焊接在LCD1602模块上如图23.5所示。

表23.1 元器件清单

图23.4 电路板装配图

安装完成后,用一根USB线将电源接口连到电脑USB插座上,接通测量仪的电源,将S1置于电容挡,测量端不接电容,这时LCD1602第二行显示的是基准频率f1,如图23.6所示。基准频率如果超出503kHz±5kHz的范围,说明L1、C1中有元件误差较大,需进行相应的调整。如果L1是自绕的,出现误差的可能性相对较大,可适当增减其圈数,直至满足要求。

接通电源后,以电容挡为例,虽然我们在测试端并没有接任何电容,但LCD1602第一行显示的电容量读数并不为零,如图23.6所示,我们称其为初始值,这是由基准频率略有漂移造成的。这时如果测量小容量的电容,误差就比较大,当初始值后有“-”号时,测量值是实际值减去了初始值,即读数比实际容量小了。反之,测量值是实际值加上了初始值,即读数比实际容量大了。

对于上述问题,我在程序中也作了考虑,只要在不接测试电容的情况下按一下S2就可以归0了,其实质就是基准频率作了修正,并把修正结果存入EEPROM,掉电后不会丢失。归0后的显示数据如图23.7所示。

电容挡归0后,电感挡就不需要归0了,因为电容挡归0就相当于在电感挡测试端接了一个短路线,等同于电感挡归0(在S1置于电感挡,S2归0时其测试端必须接短路线),分析一下电路就明白了。

图23.5 排针的焊接

如果使用中发现测量误差较大,可通过程序进行修正,具体做法如下:找一个精度高的1000pF电容进行测量,假设读数为950pF,则计算1000/950≈1.05,我们将其称为修正系数,将计算公式Cx=[(f1/f2)2-1]C1改为Cx=[(f1/f2)2-1]C1×1.05,用这个公式计算就能减小测量误差了。为了简化程序中的计算,我采取把程序中的语句“unsigned int C1=1000”改为“unsigned int C1=1050”的方法,效果是一样的。

再找一个精度高的100μH电感进行测量,假设读数为94,则计算100/94≈1.06,把程序中的语句“unsigned char L1=100”改为“unsigned char L1=106”,同样也能减小测量误差。

把重新编译好的目标文件烧写到ATmega8L,再进行测量,精度就提高了。

用本测试仪测量电容的实例如图23.8所示(测量对象分别为240pF云母电容和0.47μF安规电容),测量电感的实例如图23.9所示(测量对象分别为10μH电感和电子节能灯的电感线圈)。

当测量值超过量程时,读数显示“OVE”,测电感时电感测试端不接电感(相当于电感量为无穷大),读数也显示“OVE”。

图23.6 基准频率的测量结果

图23.7 按S2归0后的显示数据

使用这个电感和电容测量仪时有一个问题需要注意,即电感或电容的参数会受测试频率的影响。例如,具有磁芯的电感,由于受磁芯的频率特性影响,不同的测试频率,其结果可能有所不同,用这个测量仪测的数据和用信号源频率为1000Hz的万能电桥测的数据可能会不一致。笔者认为,用更接近实际工作频率的测试频率可以得到比较符合实际的测试结果。由于本测试仪工作频率比较高,不适合测量电解电容器。笔者测量一个10μF的电解电容器,对应测试频率为6.5kHz,读数为6.26μF,误差很大。

图23.8 电容的测量结果

图23.9 电感的测量结果

相关问答

小白问下 单片机 isp是什么意思_其他问答_系统粉

[回答]ISP笼统的说就是在线编程,把单片机焊到电路板上,如果发现程序哪里有不合适的地方,可以直接通过pc进行编程,而不用把单片机进行拆卸ISP的工作原理IS...

大仙们你们谁明白 单片机 开发板哪个好? 单片机 开发板有哪些品牌?

[回答]虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防...

51 单片机 如何用软件加密?硬件加密呢?

现在的51单片机程序下载时如果选择了加密,则只能执行,用编程软件也只能擦除,不能读出,其原理是程序存储器中有"编程锁"一般2到3位,如果将其写1,则禁止...现...

麻烦老铁们,有谁知道 嘉兴操作便捷的电熔管件布丝机厂家,...

管材连接入墙水管与管件相连采用热熔方式,热熔连接最为可靠、操作方便、气密性好、接口强度高。连接前,应先清除管道及附件上的灰尘及异物。管道连...

怎么用AVR Studio烧写ATMEGA8L8AU 单片机 程序(最好有截图)-ZO...

6,点Main设置单片机型号(第一行),点Fuses设置熔丝位(设置好后别忘了点右下角的Read键下载熔丝设置),点Program装载编译好的文件,第一行为.hex文件,第二行为.eep...

麻烦盆友们,谁帮忙回答,宁波电熔布丝机批发商,电熔布丝机...

制锅面...电饼铛使用220V电源,电热丝加热,铝制锅面,上下火自动控温,适合于店面或各种流动场所经营,适用于公婆饼,香酱饼,千层饼,掉渣饼,葱油饼,鸡...

请问小天鹅洗衣机灯不亮是怎么回事?- 一起装修网

[回答]电源指示灯也不亮,一般是供电系统存在故障。按下列顺序进行检查。首先检查控制系统电路和电源输入插座有交流220v电压,说明输入端正常。用万用表交...

老铁们急需了解:济南PE电熔管件布丝机一台多少钱,PE电熔管...

[回答]先动手给机器做下清洁维护,保证与布料的接触面全都干净无外伤。然后确定磨坏布料的部件具体位置。如果是压脚磨坏的先换个压脚。仍然磨坏,调小压脚...

刚买的新车 仪表盘右转向灯坏掉 怎么弄?

汽车转向灯不亮的原因有转向灯熔丝熔断、电源线路或灯系中有短路处;闪光继电器烧坏;转向灯开关损坏。检查转向灯熔丝是否熔断;若短接闪光器两接线柱,当接通...

按键开关盒有哪位知道价格是多少?-设计本有问必答

按键开关盒价格在50到100左右,开关盒发生火灾的主要原因有:配电盘的布线与电器、仪表等接触不牢,造成接触电阻过大;开关、熔断器、仪表的选择与配电...

猜你喜欢