3943|5

78

帖子

0

TA的资源

一粒金砂(初级)

定时器输出PWM 怎么不能给P1.0赋初值为低电平呢? [复制链接]

#include "reg52.h"

sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;

unsigned char PWMH;                       
unsigned char PWM;               
unsigned char COUNTER;       

void K1CHECK();
void K2CHECK();

void INTTO() interrupt 1
{
        COUNTER++;                               
        if((COUNTER!=PWMH)&&(COUNTER==PWM))               
        {
                COUNTER=1;                       
                P1_0=1;                               
        }
        else if(COUNTER==PWMH)
                P1_0=0;                               
}

main()
{
        P1_0=0;      //在这里加入这句,无论是0还是1都不管用 这是怎么回事啊?谢谢
        PWMH=0x02;       
        COUNTER=0x01;
        PWM=0x15;
        TMOD=0x02;                       
        TL0=0x38;                       
        TH0=0x38;                       
        ET0=1;                               
        EA=1;                               
        TR0=1;                               

        while(1)
        {
                if(P1_1==0)
                        K1CHECK();
                if(P1_2==0)
                        K2CHECK();
        }                               
}


最新回复

P1_0=0; while(1); 再试试  详情 回复 发表于 2008-8-1 08:03

回复

65

帖子

0

TA的资源

一粒金砂(初级)

如果换别的管脚有用吗?比如P1.7,p2.1

回复

74

帖子

0

TA的资源

一粒金砂(初级)

P1^0配置成什么方式了?

回复

75

帖子

0

TA的资源

一粒金砂(初级)

端口的配置是输入还是输出?

回复

80

帖子

0

TA的资源

一粒金砂(初级)

引用楼主 yiyiwenwen1211 的帖子:
#include "reg52.h"

sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;

unsigned char PWMH;
unsigned char PWM;
unsigned char COUNTER;

void K1CHECK();
void K2CHECK();

void INTTO() interrupt 1
{
COUNTER++;
if((COUNTER!=PWMH)&&(COUNTER==PWM))
{
COUNTER=1;
P1_0=1;
}
else if(COUNTER==PWMH)
P1_0=0;
}

main()
{
        P1_0=0;      //在这里加入这句,无论是…


主函数一开始给P1^0赋0,但是不久就会被定时中断函数里的代码改变原值。
这样赋0当然是看不出来的;
因为你的PWM一直有输出,即便直接测P1^0口电压也应该是一个介于0~5V之间的中间值。

回复

78

帖子

0

TA的资源

一粒金砂(初级)

P1_0=0;
while(1);

再试试

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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/5 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表