欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
NY8A051D單片機外部中斷_下降沿上升沿觸發 程序調試OK
[打印本頁]
作者:
desig
時間:
2022-4-5 19:28
標題:
NY8A051D單片機外部中斷_下降沿上升沿觸發 程序調試OK
2年前在一玩燈的方案公司,畫了好多的NY8A051一些板子,但一直沒時間搞來玩程序,今天試著調試了一把,發布。
單片機源程序如下:
/* =========================================================================
* Project: PB0 External Interrupt
* File: main.c
* Author: JasonLee
* Version: V1.0
* Date: 2022/04/05
=========================================================================*/
#include <ny8.h>
#include "ny8_constant.h"
#define UPDATE_REG(x) __asm__("MOVR _" #x ",F")
#define RESULT 1 //定義 RESULT 為 0
void main(void)
{
PORTB = 0; //PORTB data buffer = 0 (output low)
#if 1==RESULT //低電平觸發
IOSTB&=~(1<<0); //PB0設為輸出模式
PORTB |= (1<<0); //PB0輸出高電平
IOSTB&=~(1<<2); //PB2設為輸出模式,點LED燈
T0MD &=~(1<<6); //T0MD的第6位INTEDG=0,當PB0引腳發生下降沿時產生外部中斷
#else //高電平觸發
IOSTB&=~(1<<0); //PB0設為輸出模式
IOSTB&=~(1<<2); //PB2設為輸出模式,點LED燈
PORTB&=~(1<<0); //PB0默認是低電平
T0MD |=(1<<6); //T0MD的第6位INTEDG=1,當PB0引腳發生上升沿時產生外部中斷
#endif
PCON |= (1<<6); //EIS:外部中斷選擇位,EIS=1時,PB0是外部中斷輸入。
PCON |= (1<<7); //WDTEN=1時開啟WDT。
INTE |= (1<<2); //INTIE:外部中斷使能位,INTIE=1時開啟外部中斷。
UPDATE_REG(PORTB);
INTF = 0; // Clear all interrupt flags
ENI(); // Enable all unmasked interrupts
while(1)
{
CLRWDT();
}
}
//! interrupt service routine
void isr(void) __interrupt(0)
{
if(INTFbits.INTIF)
{
PORTBbits.PB2 ^=1; //PB2翻轉
INTFbits.INTIF=0;
}
}
復制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1