guxingganyue 发表于 2011-4-20 16:48:42

庆祝我用ICCAVR7.22的代码生成器生成的产生方波的代码成功(那是相当的准确),但也有一个

我用ICCAVR7.22的代码生成器生成的产生40KHz方波的代码很给力啊,硬件测试为39.9992KHz,频率是相当的准确啊

1、为什么要生成40KHz的方波,但却要设置成80KHz呢??????????????????????

2、这个方波的毛刺太太的讨厌,怎么也干不掉,,,请高手出招


下面是设置:
我用外部8M的晶振,这里设置8对吗?????深入浅出avr书里说这里填分频后的,这个有点不理解

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632316OLCV32.png
(原文件名:1.png)

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632317UOP108.png
(原文件名:2.png)

这里为什么填80呢,,,,明明我要40k的啊??????(如果这里写40k,生成的方波只有20k)

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632318KLZTSX.png
(原文件名:3.png)

这是示波器上得到的波形:

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632319ISQZ3Z.jpg
(原文件名:照片2552.jpg)

yhyf_heart 发表于 2011-4-20 17:22:12

芯片熔丝位有没有对?这个方波的毛刺太太的讨厌,怎么也干不掉,是你的显波器太次了,没那么容易干掉的。毛刺和芯片无关.

Gorgon_Meducer 发表于 2011-4-20 19:20:54

因为你选的是TOGGLE,80K的Toggle当然生成40K的方波咯

guxingganyue 发表于 2011-4-20 20:07:45

回复【1楼】yhyf_heart
-----------------------------------------------------------------------

哦,,,示波器的问题????

guxingganyue 发表于 2011-4-20 20:11:30

回复【2楼】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------

谢谢傻孩子大哥的光临

原来是这么回事啊,,,这个错误我以前也犯过,,


从此后要改过

guxingganyue 发表于 2011-4-20 20:12:41

回复【1楼】yhyf_heart
-----------------------------------------------------------------------

熔丝位没有错

guxingganyue 发表于 2011-4-20 20:24:12

回复【3楼】guxingganyue
-----------------------------------------------------------------------

大哥,那个外部晶振怎么填了???、


我单片机外部接几M的的晶振在这里就写几M吗????

guxingganyue 发表于 2011-4-20 22:05:36

回复【1楼】yhyf_heart
-----------------------------------------------------------------------

大哥说的没错,,我用泰克的示波器看了看,,果然很好
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632427D0LICW.jpg
(原文件名:Rigol示波器显示的波形.jpg)

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632428C0433Z.jpg
(原文件名:泰克示波器显示的波形.jpg)

STM32_Study 发表于 2011-4-21 02:04:56

不会吧?两个示波器的差距这么大呀

hsztc 发表于 2011-4-21 02:53:45

你知道上次的代码错在哪吗?

一边设置成CTC模式,一边开的确是定时器溢出中断...还软件重装载,

其实这个时候定时器是工作在普通模式而不是CTC模式,准才不正常。

yhyf_heart 发表于 2011-4-21 07:35:04

探头上一般有个可调的电容,你调整下应该波形有所好转。

guxingganyue 发表于 2011-4-21 12:34:27

回复【8楼】STM32_Study
-----------------------------------------------------------------------

我试验的结果就是这样啊

假如某个电路真的产生毛刺,那让示波器干掉了,不就不能反映真相了吗??????


期待,,,,,,,

guxingganyue 发表于 2011-4-21 12:35:48

回复【9楼】hsztc
-----------------------------------------------------------------------

谢谢谢谢,,,上次是我没设置好中断了干什么那项

guxingganyue 发表于 2011-4-21 14:11:31

哪位知道这是为什么呢???

我设置输出快速PWM(模式14),中断时OC1A脚上取反,但实际测量就是不输出波形,,,,为什么呢(我是按资料上设置的

但这个资料写的使我有点迷惑,-------------“WGM13:0 = 15: 比较匹配时OC1A 取反 ,OC1B不占用物理引脚。WGM1 为其

它值时为普通端口操作,非OC1A/OC1B 功能”---------------1、OC1A 取反了,到底输出不输出呢(实际上没输出),2、OC1A

取反 ,OC1B不占用物理引脚,是不是这时OC1A也不占用物理脚呢 )


寄存器设置如下:

TCCR1A = 0x42; TCCR1B = 0x19;//启动定时器--------------------------这样设溢出后OC1A是取反,但没波形输出

TCCR1A = 0x82; TCCR1B = 0x19;//启动定时器--------------------------这样设溢出后OC1A是清零,有方波输出


下面是官方e文资料和翻译的有明显错误的中文资料截图:::

下面这句话到底怎么翻译呢???WGM13:0=14或15时,OC1A脚上到底有没有输出呢?????

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632532OGPOZX.jpg
(原文件名:1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632533DVYFBS.jpg
(原文件名:2.jpg)

http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_632534XXQRW5.jpg
(原文件名:3.jpg)
页: [1]
查看完整版本: 庆祝我用ICCAVR7.22的代码生成器生成的产生方波的代码成功(那是相当的准确),但也有一个