[其它应用]

有一个约3ms的低电平

[复制链接]
308|3
手机看帖
扫描二维码
随时随地手机跟帖
chenho|  楼主 | 2017-2-15 21:14 | 显示全部楼层 |阅读模式
我买了个JET51仿真器+SH79F166板,用C写了个很简单程序,用P0.0为输出,驱动一个LED,P0.1口为按键输入,设置了P0CR和P0PCR两个寄存器。奇怪的是,P0.1-P0.7的脚会有一个约3ms的低电平出了,系统复位。请指教。谢谢!
gongche| | 2017-2-15 21:16 | 显示全部楼层
/*4MHZ¾§Õñ*/
#include<SH79F166.h>
#define uchar unsigned char
#define uint unsigned int
sbit key=P0^1;        //°´¼ü¶¨Òå
sbit led=P0^0;        //ledÊä³ö¿Ú¶¨Òå
uchar b;                //¶¨ÒåÒ»¸ö״̬±êÖ¾

void delay(uint ms)//ÑÓʱº¯Êý
{
          uint i,j;
          for(i=ms;i>0;i--)
                  for(j=21;j>0;j--);
}

void ledflash()//ledÏÔʾº¯Êý
{
          if(b==1) //0.5ÃëÉÁÁÁ
          {
                  led=~led;
                  delay(500);
          }
          if(b==2)  //50mSÉÁÁÁ
          {
                  led=~led;
                  delay(50);
          }
          if(b==3)  //5mSÉÁÁÁ
          {
                  led=~led;
                  delay(5);
          }
          if(b==0)  //¹Ø±Õled
          {
                  led=1;
          }
          if(b>3)          //»Øµ½ledÃð״̬
          {
                  b=0;
          }
}

void main()
{
          P0CR=0x01;        //0000 0001 ÉèP0.0ΪÊä³ö£¬P0.1ΪÊäÈë
          P0PCR=0xFE;        //1111 1110 ÉèP0.1-0.7ÉÏÀ­µç×è
          led=1;                   //¹ØLED
          b=0;
          while(1)
          {
                  if(key==0)
                  {
                          delay(1);
                          if(key==0)
                          {
                                  b++;
                                  while(key==0);
                          }
                  }
                  ledflash();         //ledÏÔʾº¯Êý
          }
}

使用特权

评论回复
huanghuac| | 2017-2-15 21:18 | 显示全部楼层
#include<SH79F166.h>
#define uchar unsigned char
#define uint unsigned int
sbit key=P0^1;        //°´¼ü¶¨Òå
sbit led=P0^0;        //ledÊä³ö¿Ú¶¨Òå
uchar b;                //¶¨ÒåÒ»¸ö״̬±êÖ¾

void delay(uint ms)//ÑÓʱº¯Êý
{
          uint i,j;
          for(i=ms;i>0;i--)
                  for(j=21;j>0;j--)
                           RSTSTAT = 0;
}

void ledflash()//ledÏÔʾº¯Êý
{
          if(b==1) //0.5ÃëÉÁÁÁ
          {
                  led=~led;
                  delay(500);
          }
          if(b==2)  //50mSÉÁÁÁ
          {
                  led=~led;
                  delay(50);
          }
          if(b==3)  //5mSÉÁÁÁ
          {
                  led=~led;
                  delay(5);
          }
          if(b==0)  //¹Ø±Õled
          {
                  led=1;
          }
          if(b>3)          //»Øµ½ledÃð״̬
          {
                  b=0;
          }
}

void main()
{
          P0CR=0x01;        //0000 0001 ÉèP0.0ΪÊä³ö£¬P0.1ΪÊäÈë
          P0PCR=0xFE;        //1111 1110 ÉèP0.1-0.7ÉÏÀ µç×è
          led=1;                   //¹ØLED
          b=0;
         while(1)
          {
                  if(key==0)
                  {
                          delay(1);
                          if(key==0)
                          {
                                  b++;
                                  while(key==0) RSTSTAT = 0;   
                          }
                  }
                  ledflash();         //ledÏÔʾº¯Êý
                  RSTSTAT = 0;
          }
}

使用特权

评论回复
chenho|  楼主 | 2017-2-15 21:20 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦

使用特权

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

本版积分规则

748

主题

9853

帖子

5

粉丝