OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5012|回复: 8

51 单片机产生 125KHZ 不正确。。

[复制链接]

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-12-20
在线时间
0 小时
发表于 2014-5-29 16:40:04 | 显示全部楼层 |阅读模式
5金钱
main()
{
    EA=1;
ET0=1;                 //定时器T1中断允许         
TMOD=0x01;             //TMOD=0001 000B,使用定时器T0的模式1
TH0=(65536-4)/256;   //定时器T1的高8位赋初值
 TL0=(65536-4)%256;  //定时器T1的高8位赋初值
TR0=1;                 //启动定时器T1
IN=1;
while(1){;}
}

/**************************************************************
函数功能:定时器T0的中断服务程序
**************************************************************/
void Time0(void) interrupt 1 using 0 //“interrupt”声明函数为中断服务函数
 {
    IN=~IN;
  TH0=(65536-4)/256;   //定时器T0的高8位重新赋初值
    TL0=(65536-4)%256;  //定时器T0的高8位重新赋初值
 }


这个 是用来 产生125KHZ 的程序。。。可是,,,它输出的是3多Khz,, 。。这个什么问题。。请各位,,多指教、、

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-5-29 22:10:14 | 显示全部楼层
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-12-20
在线时间
0 小时
 楼主| 发表于 2014-5-30 10:12:56 | 显示全部楼层
晶振 频率 正常,,一只脚 是12M ,,
回复

使用道具 举报

30

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
594
金钱
594
注册时间
2014-4-3
在线时间
74 小时
发表于 2014-5-30 20:17:51 | 显示全部楼层
回复【3楼】shaofeng03:
---------------------------------
65536-4时间太短,计4个脉冲就中断,中断函数搞不到那么快,建议8位自动重装。
回复

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2014-6-23 15:24:41 | 显示全部楼层
中断时间太短了,代码的运行时间已经大于要求的时间了,这样的应用应该用自动装载,然后在引脚上输出固定的频率,把这个作为时钟,用其他引脚和器件控制时钟信号的引用.
回复

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2014-6-23 15:29:17 | 显示全部楼层
*------------------------------------------------------------------*/
/* --- STC MCU Limited ---------------------------------------------*/
/* --- STC89-90xx Series rogrammable Clock Output Demo ------------*/
/* --- Mobile: (86)13922805190 -------------------------------------*/
/* --- Fax: 86-755-82905966 ----------------------------------------*/
/* --- Tel: 86-755-82948412 ----------------------------------------*/
/* --- Web: www.STCMCU.com -----------------------------------------*/
/* If you want to use the program or the program referenced in the  */
/* article, please specify in which data and procedures from STC    */
/*------------------------------------------------------------------*/

#include "reg51.h"

typedef unsigned char BYTE;
typedef unsigned int WORD;

//-----------------------------------------------

/* define constants */
#define FOSC 18432000L

#define F38_4KHz    (65536-18432000/4/38400)

/* define SFR */

sfr T2CON = 0xc8;                   //timer2 control register
sbit TF2  = T2CON^7;
sbit TR2  = T2CON^2;

sfr T2MOD = 0xc9;                   //timer2 mode register
sfr RCAP2L = 0xca;
sfr RCAP2H = 0xcb;
sfr TL2 = 0xcc;
sfr TH2 = 0xcd;

sbit T2 = 1^0;                     //Clock Output pin

//-----------------------------------------------

/* main program */
void main()
{
    T2MOD = 0x02;                   //enable timer2 output clock
    RCAP2L = TL2 = F38_4KHz;        //initial timer2 low byte
    RCAP2H = TH2 = F38_4KHz >> 8;   //initial timer2 high byte
    TR2 = 1;                        //timer2 start running
    EA = 1;                         //open global interrupt switch

    while (1);                      //loop
}

给你个STC 89C52的例子,AT89C52也能用,信号在P1.0上
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-12-20
在线时间
0 小时
 楼主| 发表于 2014-6-27 13:52:18 | 显示全部楼层
回复【6楼】zhxzhx:
---------------------------------
这个只有25KHZ阿,,,
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-12-20
在线时间
0 小时
 楼主| 发表于 2014-7-4 12:55:30 | 显示全部楼层
回复【5楼】zhxzhx:
---------------------------------
不太懂??
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-12-20
在线时间
0 小时
 楼主| 发表于 2014-7-4 12:56:33 | 显示全部楼层
回复【4楼】无量寿经:
---------------------------------
8位 自动 重装 又怎么样??
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 03:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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