bbandpp 发表于 2009-2-27 09:57:41

Mega16无源晶振程序跑飞,用上有源就没问题

Mega16无源晶振程序跑飞,用上有源就没问题。
我用的mega16上的16m,用Jtag mkII 仿真显示程序跑飞,换上8M也出现这样情况。(我确定熔丝为是设置正确的)
然后换上有源晶振,配置熔丝位后,仿真就显现能正常,不知道为什么。
有谁也出现过这样的情况吗

zc3909 发表于 2009-2-27 10:06:11

晶振质量问题,遇到过,换个晶振就好了

bbandpp 发表于 2009-2-27 10:22:28

换了个8M也不行。不行,只能用内部晶振了,就怕内部不稳定

eduhf_123 发表于 2009-2-27 10:44:49

单片机内部的振荡电路驱动过大,让晶体振荡在谐波上了。
在晶体上并联一个1M左右的电阻或者在XTAL1脚上串联一个100Ω左右的的电阻试试。

EZYH 发表于 2009-2-27 10:45:40

楼主可以看看这篇文章

历时四个月无法解释的,不可不说的M16 BUG
http://www.ouravr.com/bbs/bbs_content_all.jsp?bbs_sn=639392

zzzd 发表于 2009-2-28 22:15:27

http://pcscope.blog.163.com/blog/static/6116690620080115336791/

AVR单片机的内部振荡器的频率校正 2008-01-11 17:33
分类:原创 字号: 大大中中小小 Osccal是频率校准值,不能不重视

[ 2007-12-24 12:27:00 | By: pcscope ]




AVR系列单片机都有内部RC震荡器可以省去晶振很有使用价值,由于生产中的

的误差需要加入一个校准值来校正频率。这个值可以存入单片机的flash 或

eeprom中,在程序运行时再输入到Osccal中,RC震荡器就会按校正值工作了。

校正值是多少很重要,由于RC震荡器要受到温度和电压的影响,如果设置的

数值太临界,当时单片机可以正常工作,但是当电压或温度变化时频率超出了

正常的工作范围,将影响单片机的工作,比如串口通信就要出现乱码。

我设计了以下程序就是要确定这个修正值的。修正值的范围在1-255之间可以

调整的范围在0.5-1.5倍的标准频率,我将Osccal的值从1-255每个值都运行一

次,并向串口输出打印一次,如果频率超出了工作范围,输出的就是乱码,

只有频率在工作范围内才能打出正常的文字和当时所用的修正值,修正值

不是唯一的而是一串,大约有十几个,取中间值比较保险,如果取边上的

就不稳定,不了解这一点,你所做的设备可靠性就很差。

te1$regfile = "m48def.dat"

$crystal = 1000000

$baud = 9600

Dim X As Byte , S As String * 10

Dim Os As Byte

Dim I As Byte

Config Portb = Output

Print " Osccal" ; Osccal

Osccal = 145

Os = Osccal

Config Portb = Output

For I = 1 To 255

Portb = Not Portb

Osccal = I

Print "hello mega8 " ; Osccal

Waitms 250

Next I

End

xingchen 发表于 2009-3-8 06:01:50

仿真的时候程序容易跑飞,MCU与上位机通讯出问题的可能性很大.首先M16上16M已经是手册上给出的频率上限了,作为一个设计者应该留有余地,也别是大批量产品的设计.上8M,我建议你配置成和16M一样的熔丝位.按照手册配置8M的熔丝也是一个临界,振幅很低,容易被外界干扰不稳定,设置成手册上16M的熔丝位,振幅提高,同时也提高抗外界干扰能力.偷懒了,没看手册,熔丝位的说明各位将就.

liudingding 发表于 2019-10-29 19:20:37

本帖最后由 liudingding 于 2019-10-29 19:21 编辑

老兄,你的问题怎么解决的?我也碰上类似问题了,我用M12816M外部晶振,DRAGON仿真器,一条等待指令,最多两三秒钟就跑飞了,换成内部时钟或者外部8M晶振就没问题了,不接仿真器 没问题,电源退偶是0.1+2.2+10uF,

bbandpp 发表于 2019-10-29 20:09:20

liudingding 发表于 2019-10-29 19:20
老兄,你的问题怎么解决的?我也碰上类似问题了,我用M12816M外部晶振,DRAGON仿真器,一条等待指令,最 ...

这祖坟挖的的,都10年了,哎,avr都已经不知道死了多少年了

t3486784401 发表于 2019-10-29 21:10:08

liudingding 发表于 2019-10-29 19:20
老兄,你的问题怎么解决的?我也碰上类似问题了,我用M12816M外部晶振,DRAGON仿真器,一条等待指令,最 ...

CKOPT 熔丝需要勾选

hpdell 发表于 2019-10-29 22:02:16

liudingding 发表于 2019-10-29 19:20
老兄,你的问题怎么解决的?我也碰上类似问题了,我用M12816M外部晶振,DRAGON仿真器,一条等待指令,最 ...

我你多年前使用 m128 - 16u 的单片机, 时钟频率使用 外部 16MHz, 现如今都已经正常工作了 好多年了, 而且还加入了 ucos-ii ,会场的稳定哟

熔丝位设置

UART0_printf("EXTENDED = 0x%X, HIGH = 0x%X, LOW = 0x%X \r\n ", 0xFF, 0x85, 0x3F);

yaya001 发表于 2019-10-29 22:05:40

CKOPT 熔丝 要使能

liudingding 发表于 2019-10-30 09:51:43

换了几只16M晶体的都跑飞,是仿真时跑飞,本地电子商场没16M晶体,换了个14.7456M晶体不跑飞了,过几天买几只16M晶体看看怎么样

leifeng 发表于 2019-10-30 10:39:45

liudingding 发表于 2019-10-30 09:51
换了几只16M晶体的都跑飞,是仿真时跑飞,本地电子商场没16M晶体,换了个14.7456M晶体不跑飞了,过几天买几 ...

电压几V?         
页: [1]
查看完整版本: Mega16无源晶振程序跑飞,用上有源就没问题