首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请coolfan帮我查一下程序[求助]

请coolfan帮我查一下程序[求助]

频率采样 ,我要采样的频率为0到200赫兹,硬件电路难以实现,所以用ECT的输入捕捉来采集频率。我选择的单片机捕捉频率为24MHZ/128=187.5KHZ,我用信号发生器产生一个100HZ的方波来作为输入信号(检测下降沿),可单片机就是检测不对,我查不出错误,你能帮我查一下吗?我用的是清华大学邵老师的最小系统。
LDAA #%00000000 ;系统默认输入,我选择通道1为输入捕捉通道
STAA $40 ;TIOS寄存器
STAA $52 ;将通道1计数器清零
LDAA #%10000000 ;计数器开始工作
STAA $46 ;TSCR1
LDAA #%00001000 ;通道1捕捉下降沿
STAA $4B ;TCTL4
LDAA #%00000111 ;ECT频率设置为E/128(E=24MHZ)
STAA $4D ;TSCR2
LDAA #$2 ;通道1标志位清零
STAA $4E ;TFLG1
BRCLR $4E,#$2,* ;等待下降沿.
CLRA
CLRB
LDD $52 ;将通道1计数器值送入$2060单元
STD $2060 ;
LDAA #$2 ;通道1标志位清零
STAA $4E ;TFLG1
BRCLR $4E,#$2,* ;等待第二次下降沿
LDD $52 ;读取通道1计数器第二次
SUBD $2060 ;将第二次值减去第一次值,结果放入$2062单元(周期数)
STD $2062 ;
XGDX ;把周期数(除数)放入X寄存器
LDY #$02 ;187617是被除数
LDD #$DCE1 ;
EDIV ;
STY $205A ;频率值
Thank you very much! I'll try again!
我用的是清华大学邵老师的最小系统,你所说的TC1上拉到底是什么意思?我把程序调试了一下,可还是不行。请帮我把整个程序都检查一下,看看有没有错误!我上面的程序中的187617应该改为187500。
在用信号发生器与最小系统连接时,有没有要注意的事项?是不是直接连就可以了?
我用的是清华大学邵老师的最小系统,你所说的TC1上拉到底是什么意思?我把程序调试了一下,可还是不行。请帮我把整个程序都检查一下,看看有没有错误!我上面的程序中的187617应该改为187500。
在用信号发生器与最小系统连接时,有没有要注意的事项?是不是直接连就可以了?
TC1上拉的意思就是在TC1脚加一电阻(10K)接VCC. 因你把通道1设为下降沿捕捉.

用信号发生器与最小系统连接时, 须共地. 输入信号Vp-p 等于VCC.

你的程序能跑到最尾一句指令吗?
你的TC1脚有上拉吗?
您的程序基本没有问题,但重组如下好一点.

LDAA #%00000000 ;系统默认输入,我选择通道1为输入捕捉通道
STAA $40 ;TIOS寄存器
STAA $52 ;将通道1计数器清零  ;
LDAA #%00001000 ;通道1捕捉下降沿
STAA $4B ;TCTL4
LDAA #%00000111 ;ECT频率设置为E/128(E=24MHZ)
STAA $4D ;TSCR2
LDAA #$2 ;通道1标志位清零
STAA $4E ;TFLG1
LDAA #%10000000 ;计数器开始工作
STAA $46 ;TSCR1
BRCLR $4E,#$2,* ;等待下降沿.
...
..
.



[此贴子已经被coolfan于2005-5-31 11:23:28编辑过]

我如果设为上升沿捕捉,还用接上拉吗?我的指令能跑到最尾一句.

[讨论]

下拉如何!
返回列表