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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    看了关于单片机纯软件使用IO口模拟DTMF信号的分析后,动手实践,用一款单片机搭了个电阻网络电路来实现DTMF信号,发现了个问题。( Y, C/ |' p9 Z! q( g+ ~
    我用65US的采样频率,144的表格,12M晶振,8051的12T单片机,6个IO口。
    . d3 e2 L. f- x7 c+ ~% u问题点,中断程序执行实践超过65US,代码如下,我做测试,只实现输出某个特定周期的一个正旋波形
    . e2 y+ n8 K. a; \: Z5 P% r& V" Ovoid Timer1_Interrupt(void) interrupt  3         //Timer1 65US' J+ q" e2 D% Z, V6 L
    {
    0 j6 f9 Y& `! f! H6 |( [  j+ H( D
    , w9 b/ V8 P) s# f        TH1 = 0xFf;                 Y% ?9 t5 q+ R2 D8 x
                TL1 = 0x2e;0 _  x/ z8 G' D* m: p. K3 j
            ucfreqH_ext +=ucfreqH_step;, O5 Y* z* j3 m' p6 g
            ucfreqL_ext +=ucfreqL_step;
    * z! |. P" q  T3 s        ucfreqH = (char)(((ucfreqH_ext+4)>>3)%144);
    9 {) I* C# M3 e; O        ucfreqL = (char)(((ucfreqL_ext+4)>>3)%144);5 i! g/ h; {& W8 X0 g& J
            P1=uc_SinParam[ucfreqH];
    # ?+ F  J$ |# |4 e}8 h# C. H" ?- K: Q: q
    然后用示波器量波形,发现周期比表格理论的大了。查找问题,量某个IO口的波形图。发现最快的电压跳变实践是190US,远远超过65US的理论值。
    6 P4 p" p0 @5 P. u' ]网上有理论说,用普通的51能实现DTMF,不知道问题出在哪里了?求大神解惑

    $ S* g3 x, s, b% [$ h0 w: S4 M
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-1-20 10:21 | 只看该作者
    完全没有问题,至少要用6个IO做R-2R的DAC,用类似DDS的方法来合成DTMF,成功率很高的。
    5 w: |1 t3 P8 k" @8 \% \8 ~" u软件解码DTMF都可以的。# y6 {( H: H: R3 W( x' ?

    该用户从未签到

    3#
    发表于 2022-1-20 13:20 | 只看该作者
    中断周期要固定,进入中断到输出数据的时间也要固定,中断执行时间要小于中断周期。
    2 u* _0 Y( M$ T  e4 i0 b& Z9 X+ b可以第一次进中断,先计算下一次中断的输出值。- v; t7 v2 P( _5 P
    第二次进中断,先输出上次中断的值,再计算下次的输出值。
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-12 07:20 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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