打印

求一个51测脉宽程序

[复制链接]
2770|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
胡斯哲|  楼主 | 2013-5-25 20:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
wangch_sh| | 2013-5-25 21:25 | 只看该作者
脉宽的范围多大?

使用特权

评论回复
板凳
zhoujiwun| | 2013-5-25 21:45 | 只看该作者
用门控制为GATE的功能。

使用特权

评论回复
地板
胡斯哲|  楼主 | 2013-5-25 21:54 | 只看该作者
wangch_sh 发表于 2013-5-25 21:25
脉宽的范围多大?

100k左右的吧

使用特权

评论回复
5
胡斯哲|  楼主 | 2013-5-25 21:55 | 只看该作者
zhoujiwun 发表于 2013-5-25 21:45
用门控制为GATE的功能。

心情稀烂  写不出来

使用特权

评论回复
6
倩倩草| | 2013-5-26 10:36 | 只看该作者
同求

使用特权

评论回复
7
胡斯哲|  楼主 | 2013-5-26 11:32 | 只看该作者

使用特权

评论回复
8
gonggu8181| | 2013-6-9 07:55 | 只看该作者
stc有脉冲捕捉功能

使用特权

评论回复
9
胡斯哲|  楼主 | 2013-6-13 22:21 | 只看该作者
gonggu8181 发表于 2013-6-9 07:55
stc有脉冲捕捉功能

我用中断弄了   低频的怎么不好使   你说的脉冲捕捉怎么弄啊

使用特权

评论回复
10
lqfy| | 2013-6-14 10:52 | 只看该作者
书上有网上也有资料

使用特权

评论回复
11
gonggu8181| | 2013-6-17 22:10 | 只看该作者
胡斯哲 发表于 2013-6-13 22:21
我用中断弄了   低频的怎么不好使   你说的脉冲捕捉怎么弄啊
#include "reg51.h"
#include "intrins.h"

typedef unsigned char BYTE;
typedef unsigned int WORD;

/*Declare SFR associated with the PCA */
sfr CCON        =   0xD8;           //PCA control register
sbit CCF0       =   CCON^0;         //PCA module-0 interrupt flag
sbit CCF1       =   CCON^1;         //PCA module-1 interrupt flag
sbit CR         =   CCON^6;         //PCA timer run control bit
sbit CF         =   CCON^7;         //PCA timer overflow flag
sfr CMOD        =   0xD9;           //PCA mode register
sfr CL          =   0xE9;           //PCA base timer LOW
sfr CH          =   0xF9;           //PCA base timer HIGH
sfr CCAPM0      =   0xDA;           //PCA module-0 mode register
sfr CCAP0L      =   0xEA;           //PCA module-0 capture register LOW
sfr CCAP0H      =   0xFA;           //PCA module-0 capture register HIGH
sfr CCAPM1      =   0xDB;           //PCA module-1 mode register
sfr CCAP1L      =   0xEB;           //PCA module-1 capture register LOW
sfr CCAP1H      =   0xFB;           //PCA module-1 capture register HIGH
sfr PCAPWM0     =   0xf2;
sfr PCAPWM1     =   0xf3;

sbit PCA_LED    =   P1^0;           //PCA test LED

void PCA_isr() interrupt 7 using 1
{
    CCF0 = 0;                       //Clear interrupt flag
    PCA_LED = !PCA_LED;             //toggle the test pin while CEX0(P1.3) have a falling edge
}

void main()
{
    CCON = 0;                       //Initial PCA control register
                                    //PCA timer stop running
                                    //Clear CF flag
                                    //Clear all module interrupt flag
    CL = 0;                         //Reset PCA base timer
    CH = 0;
    CMOD = 0x00;                    //Set PCA timer clock source as Fosc/12
                                    //Disable PCA timer overflow interrupt
    CCAPM0 = 0x11;                  //PCA module-0 capture by a negative tigger on CEX0(P1.3) and enable PCA interrupt
//  CCAPM0 = 0x21;                  //PCA module-0 capture by a rising edge on CEX0(P1.3) and enable PCA interrupt
//  CCAPM0 = 0x31;                  //PCA module-0 capture by a transition (falling/rising edge) on CEX0(P1.3) and enable PCA interrupt

    CR = 1;                         //PCA timer start run
    EA = 1;

    while (1);
}

使用特权

评论回复
12
gonggu8181| | 2013-6-17 22:14 | 只看该作者
stc12c5A60s2 第十章 的单片机。兼容atmel89s51http://www.****ducst/datasheet/stc/STC-AD-PDF/STC12C5A60S2.pdf

使用特权

评论回复
13
liu0000feng| | 2013-6-19 12:22 | 只看该作者
用51的定时中断啊。

使用特权

评论回复
14
lixianghua0428| | 2013-6-21 12:02 | 只看该作者
检测到边沿开关定时器中断呀,记录时间呀

使用特权

评论回复
15
dengm| | 2013-6-21 17:27 | 只看该作者
正脉冲接入,  P3.2 or P3.3,   定时器可能溢出!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:读书喝茶,不争朝夕

141

主题

1431

帖子

6

粉丝