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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    看了关于单片机纯软件使用IO口模拟DTMF信号的分析后,动手实践,用一款单片机搭了个电阻网络电路来实现DTMF信号,发现了个问题。
    $ l9 A" n. ?/ V! |$ s4 t- V我用65US的采样频率,144的表格,12M晶振,8051的12T单片机,6个IO口。% s" N6 a5 k) O( A& U6 g
    问题点,中断程序执行实践超过65US,代码如下,我做测试,只实现输出某个特定周期的一个正旋波形. O" s: E6 k! ]4 N( G- l
    void Timer1_Interrupt(void) interrupt  3         //Timer1 65US% \4 u* g! E' Q  @0 r# C
    {  R4 S; J& ?# J, G  U9 }

    3 ^5 ^% B4 ]7 B% a& _9 ~        TH1 = 0xFf;               
      i# R4 A. @, v2 V) E' U' |            TL1 = 0x2e;
    ( P+ S+ `: R5 W) G        ucfreqH_ext +=ucfreqH_step;3 \; k( K3 t5 J5 {. j
            ucfreqL_ext +=ucfreqL_step;
    . ?1 P8 g9 q$ t* s8 U. ]% f0 G5 ]        ucfreqH = (char)(((ucfreqH_ext+4)>>3)%144);
    8 T7 k$ ?0 }1 M9 s' V3 G) p3 d- S        ucfreqL = (char)(((ucfreqL_ext+4)>>3)%144);1 M1 F8 R( O, W8 M
            P1=uc_SinParam[ucfreqH];  j- }) }! j. e" y
    }' v" i1 Q# i; Z! d' R
    然后用示波器量波形,发现周期比表格理论的大了。查找问题,量某个IO口的波形图。发现最快的电压跳变实践是190US,远远超过65US的理论值。
    9 f6 Z% u2 \: g- x网上有理论说,用普通的51能实现DTMF,不知道问题出在哪里了?求大神解惑
    % ]% t1 \; M/ d' ]2 E
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-1-20 10:21 | 只看该作者
    完全没有问题,至少要用6个IO做R-2R的DAC,用类似DDS的方法来合成DTMF,成功率很高的。
    1 r7 O1 J& l+ I  @7 t7 r软件解码DTMF都可以的。3 k5 F/ h# j# M; b. N& ~/ Q! S

    该用户从未签到

    3#
    发表于 2022-1-20 13:20 | 只看该作者
    中断周期要固定,进入中断到输出数据的时间也要固定,中断执行时间要小于中断周期。
    4 e( g. Z' p; y" ^  j) A+ m6 j可以第一次进中断,先计算下一次中断的输出值。
    5 u) @$ h6 d! T7 c第二次进中断,先输出上次中断的值,再计算下次的输出值。
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-19 11:11 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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