如何用PIC的普通I/O口产生时钟信号?

2020-02-08 09:16发布

请问如何用PIC的普通I/O口产生时钟信号?是通过编程产生一系列01信号还是普通IO口能够自行产生时钟信号?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
ourdev850725
1楼-- · 2020-02-08 21:48
yijianhanmei90 发表于 2012-4-19 14:34
频率不高,只是用于气象数据采集存储,求用定时器中断产生时钟信号并在普通IO口输出的C语言程序。。。。 ...

这个我就懒得帮你写了,你如果会写程序,这没什么难度吧?初始化好定时器,开中断,在中断程序里面IO不断取反就行了啊
yijianhanmei90
2楼-- · 2020-02-08 23:05
ourdev850725 发表于 2012-4-19 14:40
这个我就懒得帮你写了,你如果会写程序,这没什么难度吧?初始化好定时器,开中断,在中断程序里面IO不断取反 ...

好的,非常感谢。。。。
yijianhanmei90
3楼-- · 2020-02-08 23:51
ourdev850725 发表于 2012-4-19 14:40
这个我就懒得帮你写了,你如果会写程序,这没什么难度吧?初始化好定时器,开中断,在中断程序里面IO不断取反 ...

以下两个程序实验结果居然一样。。。求大侠帮助解释。。。
1、 #include <p24FJ128GA310.h>
void delay()
{
        TMR1=0xFFFE;
        while(IFS0bits.T1IF==0)
        {
        }
        IFS0bits.T1IF=0;
}
int main()
{
        TRISBbits.TRISB11=0;
        T1CON=0x8030;
        IFS0bits.T1IF=0;
        while(1)
        {
            PORTBbits.RB11=0;       
        delay();
                PORTBbits.RB11=!PORTBbits.RB11;
        delay();   
        }
    return 0;
}


2、#include <p24FJ128GA310.h>
void delay()
{
        TMR1=0x0000;
        while(IFS0bits.T1IF==0)
        {
        }
        IFS0bits.T1IF=0;
}
int main()
{
        TRISBbits.TRISB11=0;
        T1CON=0x8030;
        IFS0bits.T1IF=0;
        while(1)
        {
            PORTBbits.RB11=0;       
        delay();
                PORTBbits.RB11=!PORTBbits.RB11;
        delay();   
        }
    return 0;
}
millwood0
4楼-- · 2020-02-09 04:39
       TMR1=0xFFFE;


you have zero understanding of the mcu you are trying to use.

read its datasheet before you try to code it.
yijianhanmei90
5楼-- · 2020-02-09 05:00
 精彩回答 2  元偷偷看……
yijianhanmei90
6楼-- · 2020-02-09 10:54
millwood0 发表于 2012-4-19 23:28
you have zero understanding of the mcu you are trying to use.

read its datasheet before you try t ...


我看了一天的手册了,也求助了很多人,都没有看出问题来,求大侠帮助,指点指点我这个初学的菜鸟吧。。。。。

一周热门 更多>