久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3413|回復: 2
打印 上一主題 下一主題
收起左側

STC8H單片機高速脈沖輸出與外部中斷程序的幾個疑問

[復制鏈接]
跳轉到指定樓層
樓主
測試單片機:STC8H3K64S4
功能:1路高速脈沖輸出(計數脈沖) + 外部中斷檢測
出現的問題:
使能PWM捕獲比較中斷后,外部中斷2或外部中斷3不響應中斷。
關閉PWM捕獲比較中斷后,外部中斷2或外部中斷正常。
外部中斷0和外部中斷1一直正常。

#include "STC8Hxx.H"
#include "ADC.H"
#include "UART1.H"
#include "Delay.H"
#include "string.h"
#include "PWM.H"
#include "KEY.H"
#include "GPIO.H"
#include "LED.H"


sbit RXD=P3^0;

void INT3_Init()
{
        GPIO_Init(GPIO3,GPIO_Pin_7,GPIO_Mode_IPU); //標準IO
        P3|=1<<7;
        AUXINTIF&=~(1<<5); //中斷標志位清零
        INTCLKO=0x20; //使能外部中斷3,下降沿
        EA=1;
}


void main()
{        
        P_SW2|=0x80;        
        UART1_Init();
        PWM_Init(2000,1000);
        LED_Init();
        KEY_Init();
        INT3_Init();
        while(1)
        {
                //printf("st=%u\r\n",st);
                Key_Scan();
                Delay_xms(1);
                if(!RXD)
                        IAP_CONTR=0x60;
        }
}

//Uart1中斷服務函數
void UART1_Routine() interrupt 4
{
        u8 xdata dat;

        if(RI) //接收完成
        {
                RI = 0;
                dat=SBUF;
        }
}

// PWM中斷服務函數
void PWMA_Routine() interrupt 26
{
        if(PWM1_SR1 & 0X02)
        {
                PWM1_SR1 &=~0X02;   //清標志位
                LED1=!LED1;
        }
}

//INT3中斷服務函數
void INT3_Routine() interrupt 11
{
        AUXINTIF&=~(1<<5); //清標志位
        LED2=!LED2;
}


/*------------------------------------------------------------------------------------------------------------------------------------------------------*/

#include "PWM.H"

//使能計數器
void PWM_Cmd(u8 NewState)
{
        if(NewState)
        {
                PWM1_CNTRH=0;  //計數器清零
                PWM1_CNTRL=0;
                PWM1_CR1|=1<<0;
        }
        else
        {
                PWM1_CR1&=~(1<<0);
        }
}

//PWM輸出強制為低
void PWM_RESET()
{
        PWM1_CCMR2=0x48;
}

//PWM輸出強制為高
void PWM_SET()
{
        PWM1_CCMR2=0x58;
}

//PWM輸出為自動模式(初始化模式)
void PWM_AUTO()
{
        PWM1_CCMR2=0x68; //PWM輸出模式1
}

//P1.2 輸出
void PWM_Init(u16 ARR,u16 Duty)
{        
        P1M1&=~(1<<2); //01推挽輸出
        P1M0|=        1<<2;

        PWM1_ENO = 0x04; //關閉 PWM2P 輸出,0x04打開輸出
        PWM1_PS  = 0x00;         //端口切換至P1口

        PWM1_PSCRH=0;         //預分頻器,不分頻
        PWM1_PSCRL=32; //33分頻
        PWM1_CNTRH=0;  //計數器清零
        PWM1_CNTRL=0;
        PWM1_ARRH =ARR/256;        //自動重裝值        2KHZ
        PWM1_ARRL =ARR%256;        
        PWM1_CCR2H=Duty/256;        //比較值(占空比) 50%
        PWM1_CCR2L=Duty%256;
        PWM1_CCMR2=0x68; //PWM輸出模式1,比較值越高,占空比越高

        PWM1_SR1=0x00;  //清零所有關于高級定時器中斷標志位
        PWM1_IER|=1<<2; //通道2中斷使能

        PWM1_CCER1=0x10;
        PWM1_BKR=0x80;
        PWM1_CR1&=~(1<<0); //關閉PWM計數器

  PWM_Cmd(ENABLE); //使能輸出
}

//設置脈沖周期
void PWM_SET_ARR(u16 ARR)
{
        PWM1_ARRH =ARR/256;        //自動重裝值        2KHZ
        PWM1_ARRL =ARR%256;        
}

//設置占空比
void PWM_SET_Duty(u16 Duty)
{
        PWM1_CCR2H=Duty/256;        //比較值(占空比) 50%
        PWM1_CCR2L=Duty%256;
}

//使能中斷
void PWM_ISR(u8 NewState)
{
        if(NewState)
                PWM1_IER |=  1<<2;  //通道2中斷使能
        else
                PWM1_IER &=~(1<<2); //通道2中斷失能
}





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:301191 發表于 2022-5-19 05:36 | 只看該作者
頂一下
回復

使用道具 舉報

板凳
ID:123289 發表于 2022-5-20 11:33 | 只看該作者
某中斷不能響應:同級或更高級的中斷服務程序,在運行中。
想想看,是不是這樣的呢。
即使高級中斷執行完了,可是又來了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一区二区高清视频 | 欧美激情精品久久久久久 | 97久久国产 | 黄色亚洲 | 欧美一区2区三区4区公司 | 国产精品国产三级国产播12软件 | 久久精品 | 国产精品视频一区二区三区不卡 | 成人精品久久 | 日本国产一区二区 | 男女网站在线观看 | 亚洲女优在线播放 | 欧美一区二区在线 | 久久成人免费 | 大久 | 日本精品久久久一区二区三区 | 久久亚洲国产精品 | 自拍视频在线观看 | 午夜精品福利视频 | 日本高清不卡视频 | 精久久久| www.9191| 日韩精品成人一区二区三区视频 | 久久久av一区 | 欧美精品一区三区 | 黄片毛片| 91久久精品日日躁夜夜躁国产 | 久久久国产一区 | 亚洲性视频 | 亚洲精品久久 | 夜夜骑首页 | 91精品国产日韩91久久久久久 | www.日本国产 | 精品欧美激情在线观看 | 婷婷精品 | 欧美视频免费在线观看 | 成人aaa视频| 亚洲美女一区 | 日韩av.com| 情侣av| 亚洲午夜小视频 |