找回密码
 注册
关于网站域名变更的通知
查看: 319|回复: 3
打印 上一主题 下一主题

单片机IO口模拟DTMF信号的实践问题

[复制链接]
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-1-20 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    看了关于单片机纯软件使用IO口模拟DTMF信号的分析后,动手实践,用一款单片机搭了个电阻网络电路来实现DTMF信号,发现了个问题。
    : W- I5 I; Y3 u! \; u8 ~5 V我用65US的采样频率,144的表格,12M晶振,8051的12T单片机,6个IO口。
    0 N" D" x, d- ~6 c7 B8 A7 _! H问题点,中断程序执行实践超过65US,代码如下,我做测试,只实现输出某个特定周期的一个正旋波形1 K- i6 ]7 J1 x/ Y% c" z. a2 O
    void Timer1_Interrupt(void) interrupt  3         //Timer1 65US
      d2 _/ N; F$ Q! a{
    , `; S7 O( `  Z. Y& o( U. w, ]; g" \
            TH1 = 0xFf;               - s9 ~/ X; R1 v5 m+ q5 [7 t
                TL1 = 0x2e;
    7 l0 Z9 N3 B: ?/ R: s        ucfreqH_ext +=ucfreqH_step;
    " }. ~7 F3 J$ L2 y0 ?        ucfreqL_ext +=ucfreqL_step;7 }  [1 S/ i4 V& w2 x: J
            ucfreqH = (char)(((ucfreqH_ext+4)>>3)%144);
    + C) s1 ~3 L7 R& X, Y. l. z; S        ucfreqL = (char)(((ucfreqL_ext+4)>>3)%144);: {) k) u) l5 W8 g- q- K
            P1=uc_SinParam[ucfreqH];
    9 w, s8 o/ _* a1 d5 J; a}) `) X* h: b/ z4 K5 O  `
    然后用示波器量波形,发现周期比表格理论的大了。查找问题,量某个IO口的波形图。发现最快的电压跳变实践是190US,远远超过65US的理论值。3 S2 D9 z' L9 u3 ]4 ^* D
    网上有理论说,用普通的51能实现DTMF,不知道问题出在哪里了?求大神解惑

    0 J- v# }6 ~0 @& j8 j7 o
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-1-20 10:21 | 只看该作者
    完全没有问题,至少要用6个IO做R-2R的DAC,用类似DDS的方法来合成DTMF,成功率很高的。
    5 Z/ m% w9 m, c  ?0 r1 I6 @7 y# Q软件解码DTMF都可以的。
    $ N1 d1 ^: Q' f8 J

    该用户从未签到

    3#
    发表于 2022-1-20 13:20 | 只看该作者
    中断周期要固定,进入中断到输出数据的时间也要固定,中断执行时间要小于中断周期。6 R8 ]" X( z2 U" c1 m9 J, m1 |
    可以第一次进中断,先计算下一次中断的输出值。
    ) _8 g) n2 t4 ^% z4 e9 X第二次进中断,先输出上次中断的值,再计算下次的输出值。
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-1-20 18:22 | 只看该作者
    中断处理时间超过了中断周期,只能优化程序,或者加高主频。
      g! N( I3 W. p2 L每次处理数据的时间并不固定的,数据处理函数里会有条件判断,时间不是每次都一样的,会导致抖动。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-9 09:07 , Processed in 0.156250 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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