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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ABOV單片機的四路按鍵中斷源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:285534 發表于 2020-3-21 10:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是好東西,請珍惜這等寶貝,絕對是惜世珍寶,ABOV單片機資料太少,如有有緣人,拿去(硬貨)//======================================================
// Used ABOV Semiconductor's code generator
// Device name : A31G111/112
//======================================================
#include "A31G11x_pcu.h"
#include "A31G11x_scucg.h"
#include "A31G11x_uartn.h"
#include "A31G11x_int.h"
#include "A31G11x_adc.h"
#include "debug_frmwrk.h"

/**********************************************************************
// Main Clock Selection
**********************************************************************/
//#define USED_HIRC
//#define USED_WDTRC
//#define USED_MOSC
//#define USED_SOSC
//Clock Out Selection ( Monitoring )
#define USED_CLKO
volatile uint32_t msec;
volatile uint32_t test;

void mainloop(void);
//uint32_t bo;        
//uint32_t bi;
void delay (void)
{
        uint32_t i;
        
        for (i = 0; i < 0x100000; i++) ;
}
// PE0 port interrupt  
void EXTINT0_Handler(void)
{
        uint32_t j;
        uint32_t status;
        
        status = EIntPE_GetIntStatus();
        if(status & (_BIT(0)))
        {
                for (j= 0; j<5; j++)
                {
                        GPIO_SetValue(PE, _BIT(5));
                        delay();
                        GPIO_ClearValue(PE, _BIT(5));
                        delay();
                }
        }
                EIntPE_ClearIntStatus(0xFF);
}
// PE1 port interrupt  
void EXTINT1_Handler(void)
{
        uint32_t j;
        uint32_t status;
        
        status = EIntPE_GetIntStatus();
        if(status & (_BIT(1)))
        {
                for (j= 0; j<5; j++)
                {
                        GPIO_SetValue(PE, _BIT(5));
                        delay();
                        GPIO_ClearValue(PE, _BIT(5));
                        delay();
                }
        }
                EIntPE_ClearIntStatus(0xFF);
}
// PE2 port interrupt  
void EXTINT2_Handler(void)
{
        uint32_t j;
        uint32_t status;
        
        status = EIntPE_GetIntStatus();
        if(status & (_BIT(2)))
        {
                for (j= 0; j<5; j++)
                {
                        GPIO_SetValue(PE, _BIT(6));
                        delay();
                        GPIO_ClearValue(PE, _BIT(6));
                        delay();
                }
        }
                EIntPE_ClearIntStatus(0xFF);
}
// PE3 port interrupt  
void EXTINT3_Handler(void)
{
        uint32_t j;
        uint32_t status;
        
        status = EIntPE_GetIntStatus();
        if(status & (_BIT(3)))
        {
                for (j= 0; j<5; j++)
                {
                        GPIO_SetValue(PE, _BIT(7));
                        delay();
                        GPIO_ClearValue(PE, _BIT(7));
                        delay();
                }               
        }        
        
        EIntPE_ClearIntStatus(0xFF);
}
/**********************************************************************
    // Main
**********************************************************************/
int main()
{
        init();                        // 初始化        
  mainloop();//主程序               
  return (0);
} //main
///////////////////////////////////////
void mainloop(void)
{
//  uint32_t tmp=0x0;
//   AD_Init();         //AD管腳初始化
// Test Pin setting PE5
        PCU_SetDirection(PE, 5, PUSH_PULL_OUTPUT);
        PCU_ConfigurePullupdown(PE, 5, DISPUPD);        
        GPIO_ClearValue(PE, _BIT(5));

        // Test Pin setting PE6
        PCU_SetDirection(PE, 6, PUSH_PULL_OUTPUT);
        PCU_ConfigurePullupdown(PE, 6, DISPUPD);
        GPIO_ClearValue(PE, _BIT(6));
        
        // Test Pin setting PE7
        PCU_SetDirection(PE, 7, PUSH_PULL_OUTPUT);
        PCU_ConfigurePullupdown(PE, 7, DISPUPD);
        GPIO_ClearValue(PE, _BIT(7));

//        // external interrupt test pin PE0
        PCU_SetDirection(PE, 0, INPUT);
        PCU_ConfigurePullupdown(PE, 0, ENPU);               
        PCU_SetDebounce(PE,0,HCLK_1024);
        
        // external interrupt test pin PE1
        PCU_SetDirection(PE, 1, INPUT);
        PCU_ConfigurePullupdown(PE, 1, ENPU);        
        PCU_SetDebounce(PE,1,HCLK_1024);
        
//        // external interrupt test pin PE2
        PCU_SetDirection(PE, 2, INPUT);
        PCU_ConfigurePullupdown(PE, 2, ENPU);               
        PCU_SetDebounce(PE,2,HCLK_1024);
        
        // external interrupt test pin PE3
        PCU_SetDirection(PE, 3, INPUT);
        PCU_ConfigurePullupdown(PE, 3, ENPU);        
        PCU_SetDebounce(PE,3,HCLK_1024);



        EIntPx_SetReg(PORTE, 0, 0, 1); //使能GPIO中斷        
        EIntPx_SetReg(PORTE, 1, 0, 1); //使能GPIO中斷
        EIntPx_SetReg(PORTE, 2, 0, 1); //使能GPIO中斷        
        EIntPx_SetReg(PORTE, 3, 0, 1); //使能GPIO中斷

        EIntCfg(EINT0_SEL,PORTE,0);         //外部中斷配置
        EIntCfg(EINT1_SEL,PORTE,1);  //外部中斷配置        
        EIntCfg(EINT2_SEL,PORTE,2);         //外部中斷配置
        EIntCfg(EINT3_SEL,PORTE,3);  //外部中斷配置
        
        EIntPE_ClearIntStatus(0xFF);        

        NVIC_EnableIRQ(EXINT0_IRQn);  //使能外部中斷        
        NVIC_EnableIRQ(EXINT1_IRQn);  //使能外部中斷
        NVIC_EnableIRQ(EXINT2_IRQn);  //使能外部中斷        
        NVIC_EnableIRQ(EXINT3_IRQn);  //使能外部中斷

        
        EInt_MaskDisable(EXINT0_MASK|EXINT1_MASK|EXINT2_MASK|EXINT3_MASK); //中斷源掩碼配置
        
  while(1){               
//     AD_scan();              //按鍵掃描
//     AD_Handle();                        //按鍵處理                 
//                for(tmp = 0; tmp < 1000000; tmp++);        
                delay();
                GPIO_SetValue(PB, _BIT(0));
                delay();
                GPIO_ClearValue(PB, _BIT(0));               
        }  //while

} //mainloop


全部資料51hei下載地址:
abov-四路按鍵中斷-.7z (219.92 KB, 下載次數: 11)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久一久| 天天干亚洲 | 精品成人免费一区二区在线播放 | 91精品一区二区三区久久久久 | 国产精品一区二区电影 | 久久久久国产一区二区三区 | 午夜成人免费视频 | 欧美黑人一区二区三区 | 国产精品久久一区二区三区 | 国产高潮好爽受不了了夜夜做 | 国产日屁 | 国内精品久久影院 | 欧美激情精品久久久久久 | 国产精品亚洲欧美日韩一区在线 | 精品免费av | 在线免费激情视频 | 国产资源一区二区三区 | 日韩av在线一区 | 国产欧美日韩在线观看 | 91精品中文字幕一区二区三区 | 午夜在线视频一区二区三区 | 在线成人 | 日韩欧美在线一区 | 成人在线视频观看 | 一级黄色片免费在线观看 | 国产精品3区| 日日操av | 91久久久久| 鲁大师一区影视 | 久久久毛片| 欧美福利| 欧美日韩国产一区二区三区 | 中文字幕在线观 | 91精品国产色综合久久不卡蜜臀 | 亚洲午夜精品一区二区三区他趣 | 日本精品网站 | 欧美成人h版在线观看 | 亚洲午夜精品一区二区三区他趣 | 青青操91 | 欧美综合一区 | 97人人爱 |