搜索
bottom↓
回复: 13

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

[复制链接]

出0入4汤圆

发表于 2009-2-27 09:57:41 | 显示全部楼层 |阅读模式
Mega16无源晶振程序跑飞,用上有源就没问题。
我用的mega16上的16m,用Jtag mkII 仿真显示程序跑飞,换上8M也出现这样情况。(我确定熔丝为是设置正确的)
然后换上有源晶振,配置熔丝位后,仿真就显现能正常,不知道为什么。
有谁也出现过这样的情况吗

出0入0汤圆

发表于 2009-2-27 10:06:11 | 显示全部楼层
晶振质量问题,遇到过,换个晶振就好了

出0入4汤圆

 楼主| 发表于 2009-2-27 10:22:28 | 显示全部楼层
换了个8M也不行。不行,只能用内部晶振了,就怕内部不稳定

出0入0汤圆

发表于 2009-2-27 10:44:49 | 显示全部楼层
单片机内部的振荡电路驱动过大,让晶体振荡在谐波上了。
在晶体上并联一个1M左右的电阻或者在XTAL1脚上串联一个100Ω左右的的电阻试试。

出0入0汤圆

发表于 2009-2-27 10:45:40 | 显示全部楼层
楼主可以看看这篇文章

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

出0入0汤圆

发表于 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

出0入0汤圆

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

出390入22汤圆

发表于 2019-10-29 19:20:37 | 显示全部楼层
本帖最后由 liudingding 于 2019-10-29 19:21 编辑

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

出0入4汤圆

 楼主| 发表于 2019-10-29 20:09:20 | 显示全部楼层
liudingding 发表于 2019-10-29 19:20
老兄,你的问题怎么解决的?我也碰上类似问题了,我用M128  16M外部晶振,DRAGON仿真器,一条等待指令,最 ...

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

出200入2554汤圆

发表于 2019-10-29 21:10:08 | 显示全部楼层
liudingding 发表于 2019-10-29 19:20
老兄,你的问题怎么解决的?我也碰上类似问题了,我用M128  16M外部晶振,DRAGON仿真器,一条等待指令,最 ...

CKOPT 熔丝需要勾选

出0入0汤圆

发表于 2019-10-29 22:02:16 | 显示全部楼层
liudingding 发表于 2019-10-29 19:20
老兄,你的问题怎么解决的?我也碰上类似问题了,我用M128  16M外部晶振,DRAGON仿真器,一条等待指令,最 ...

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

熔丝位设置

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

出0入0汤圆

发表于 2019-10-29 22:05:40 | 显示全部楼层
CKOPT 熔丝 要使能

出390入22汤圆

发表于 2019-10-30 09:51:43 来自手机 | 显示全部楼层
换了几只16M晶体的都跑飞,是仿真时跑飞,本地电子商场没16M晶体,换了个14.7456M晶体不跑飞了,过几天买几只16M晶体看看怎么样

出0入0汤圆

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

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

本版积分规则

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

GMT+8, 2024-4-19 08:32

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

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