12914|13

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助我的51为啥输出不了125K的方波 [复制链接]

我用下段程序输出125K的方波  可是输出的是50K的方波不知为啥啊

我用示波器是双宗的20M的,是CALTEK的啊  型号是CA8020B

 ORG     0000H
    AJMP    START
    ORG     30H
START: 
    MOV     P1,#0FFH ;关所有灯
    MOV     TMOD,#00000001B ;定时/计数器0工作于方式1
    MOV     TH0,#0FFH
    MOV     TL0,#0FCH ;

    SETB    TR0 ;定时/计数器0开始运行
LOOP:  
    JBC     TF0,NEXT ;如果TF0等于1,则清TF0并转NEXT处
    AJMP    LOOP ;否则跳转到LOOP处运行
NEXT:  
    CPL     P1.0
    MOV     TH0,#0FFH
    MOV     TL0,#0FCH;重置定时/计数器的初值
    AJMP    LOOP
    END

 

请问高手如何解决啊????

此帖出自51单片机论坛

最新回复

125K。。。。。。 会不会频率高了点。 如果说,12M的单片机,一般来说,12个机器周期,那就变成了1M,1M里有8个125,那岂不是说,要控制在8个执行周期里完成相应的指令,额,感觉比较困难哈。 俺觉得你可以试一下用STC,它号称可以12T速度,这样,等效于时钟频率提高了12倍。 或者说,如果你只是单纯的要输出方波,为啥不试试分立器件呢。用晶振可以很高频率的。 比如说用分立门加晶振。或者加 陶振。  详情 回复 发表于 2011-2-8 11:39
点赞 关注
 

回复
举报

7

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

Re: 求助我的51为啥输出不了125K的方波

如果你的晶振采用的是12M时,那么程序输出若不是50K左右才怪哦
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

Re: 求助我的51为啥输出不了125K的方波

假设你使用的是12M的晶振,我想你应该是想定时4us,那一个方波就是8us*125K=1S ;先从下面这条指令分析 NEXT: CPL P1.0 ; 假设某时输出的是低电平 MOV TH0,#0FFH ;本指令两个周期,就是2us, MOV TL0,#0FCH ;2us, 这条指令执行完又开始计数 AJMP LOOP ;2us 当这条指令执行完,低电平已经输出了6us,TL0=0FEH LOOP: JBC TF0,NEXT ;这次指令执行1次(2us),此时TL0=00H,TF0=1,但要第二次执行时才能跳转(又1US) ;然后又跳到NEXT处执行 CPL P1.0,要执行完此条指令才会输出高电平(又1US), AJMP LOOP ;以后的分析同上,可得知输出的低电平或高电平要10US,一个周期是20US,那不是50K不
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

4
 

Re: 求助我的51为啥输出不了125K的方波

哦,那个地方错了,第二次执行时才能跳转(是又2us) 然后又跳到NEXT处执行 CPL P1.0,要执行完此条指令才会输出高电平(又1US), : 所以一个周期应该是22US,应该是45.45K
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

5
 

Re: 求助我的51为啥输出不了125K的方波

晕死,上面好象又错了,忘记考虑AJMP LOOP的时间,再加到2US,那只有41.66K 输出脉冲一般要用方式2的,自动重装载 不过要输出这么高的脉冲,若是追求精确,时间上很难把握的,你自己漫漫研究吧
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

6
 

Re: 求助我的51为啥输出不了125K的方波

你好狗狗 我是个51的初学者 请多多指教啊 我用过方式2 频率还是不对啊 要输出125K的方波是否可以用空指令完成啊 我要的方波追求精确 要不它烧我的IGBT
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

7
 

Re: 求助我的51为啥输出不了125K的方波

除非你的程序只要求做125K方波输出,不做它用。那用空指令完成绝对可以精确输出你要求的方波 LOOP:CPL P1.0 NOP AJMP LOOP ;你可以试试 只是这样程序好象没啥意义哦,能拿来做啥?你是用IGBT做实验还是做产品,不发这么高的脉冲IGBT会烧,我没听说过。 不知道你到底是要做什么,也没办法分析。 一个正常程序中若是做方波输出一般是要放在中断里的,除非你真的只让51做方波输出。 但你想想,计数器每4US中断一次,那别的程序都不要执行了。 所以正常情况下51系列的单片机是无法用计数器做125K输出的, 现在C8051系列的单片机有的到可以做到,因为有PWM模块。就是通过设置,完全由硬件输出。 还有一种方法就是用锁相环电路来做倍频,比如用中断实现输出250HZ,然后用锁相环电路倍频到125K。一样可以做到精确
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

8
 

Re: 求助我的51为啥输出不了125K的方波

昨天晚上告诉你的答案有错,应该是1000000/26=38.16K 你可以用示波器看看对不对,我不保证告诉你的是对的,因为我仅从指令执行周期分析,不知道是否与实际会有偏差 做51几年了还没做过这么高输出的,输出方波时对时间要求也没那么精确,所以也没认真研究过。 呵呵,不想误人子弟哦
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

9
 

Re: 求助我的51为啥输出不了125K的方波

谢谢狗狗啊 , 我想用51来控制电磁炉 , 我是在工厂工作的 。 大家都说51是大部分的单片机的基础啊 , 电磁炉PWM输出是125K的方波 ,经在次振荡为25K的方波来控制IGBT , 使电磁炉工作啊。
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

10
 

Re: 求助我的51为啥输出不了125K的方波

狗狗你的信箱是多少啊
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

11
 

Re: 求助我的51为啥输出不了125K的方波

狗狗你是那里人啊
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

12
 

Re: 求助我的51为啥输出不了125K的方波

不要叫我狗狗,狗狗着,听着别扭。前几天来这里下载资料,非要会员注册,才随便注册了一个,用了我家里狗的名字。 既然25K的方波来控制IGBT,何必要输125K在分频???? cq03131420@yahoo.com.cn 我的邮箱,你问这做什么?
此帖出自51单片机论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 

Re: 求助我的51为啥输出不了125K的方波

我也是做电磁炉的,用三星单片机就可以拉。S3F9454就可以. www.ssmcu.com
此帖出自51单片机论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

14
 
125K。。。。。。
会不会频率高了点。
如果说,12M的单片机,一般来说,12个机器周期,那就变成了1M,1M里有8个125,那岂不是说,要控制在8个执行周期里完成相应的指令,额,感觉比较困难哈。
俺觉得你可以试一下用STC,它号称可以12T速度,这样,等效于时钟频率提高了12倍。
或者说,如果你只是单纯的要输出方波,为啥不试试分立器件呢。用晶振可以很高频率的。
比如说用分立门加晶振。或者加 陶振。
此帖出自51单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表