標(biāo)題:
基于430f5529的搶答器程序分享
[打印本頁(yè)]
作者:
chenmingsi
時(shí)間:
2020-11-1 00:16
標(biāo)題:
基于430f5529的搶答器程序分享
51hei.png
(84.27 KB, 下載次數(shù): 66)
下載附件
2020-11-1 00:49 上傳
單片機(jī)源程序如下:
#include "msp430f5529.h"
long unsigned int n;
void delay(unsigned int x)
{
int i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
#define K1 (P2IN & BIT1)
int flag = 0,flag1 = 0;
void main(void){
WDTCTL=WDTPW+WDTHOLD; //關(guān)閉看門狗
P1DIR = BIT0;
P1OUT &= ~BIT0;// 燈暗
P4DIR = BIT7;
P4OUT &= ~BIT7;
P2DIR &= ~BIT1; //將P2.1腳設(shè)置為輸入方式
P2OUT |= BIT1;
P2REN |= BIT1; //設(shè)置為內(nèi)部上拉
P2IE |= BIT1; //P2.1中斷使能
P2IES |= BIT1; //置1,設(shè)置為下降沿觸發(fā)
P2IFG &= ~BIT1; //清除P2.1的中斷標(biāo)志位
P1DIR &= ~BIT1; //將P2.1腳設(shè)置為輸入方式
P1OUT |= BIT1;
P1REN |= BIT1; //設(shè)置為內(nèi)部上拉
P1IE |= BIT1; //P2.1中斷使能
P1IES |= BIT1; //置1,設(shè)置為下降沿觸發(fā)
P1IFG &= ~BIT1; //清除P2.1的中斷標(biāo)志位
TA0CTL = TASSEL_2 + TACLR + MC_1;//設(shè)置定時(shí)器時(shí)鐘源為SCMLK,8分頻,允許置位,增計(jì)計(jì)數(shù) //
TA0CCTL0 = CCIE; //允許使能中斷
TA0CCR0 = 1060; //設(shè)置定時(shí)周期 1ms
__bis_SR_register(LPM0_bits + GIE); //復(fù)位CPUOFF并打開SCMLK,開可屏蔽中斷}//進(jìn)入低功耗模式
__enable_interrupt(); //開總中斷
while(1)
{
}
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A(void)
{
n++;
if(n == 5000)//5s
{
flag1=1;
n=0;
}
}
#pragma vector=PORT2_VECTOR //固定格式,聲明中斷向量地址
__interrupt void Port2_ISR(void) //中斷子程序
{
if(flag1!=1)
{
__delay_cycles(100);
while(K1 == 0);
P1OUT ^= BIT0;
P2IFG &= ~BIT1;
P1IE &= ~BIT1;
}
else
{
P2IE &= ~BIT1;
}
}
#pragma vector=PORT1_VECTOR //固定格式,聲明中斷向量地址
__interrupt void Port1_ISR(void) //中斷子程序
{
if(flag1!=1)
{
__delay_cycles(100);
while((P1IN&BIT1) == 0);
P4OUT ^= BIT7;
P1IFG &= ~BIT1;
P2IE &= ~BIT1;
}
else
{
P1IE &= ~BIT1;
}
}
復(fù)制代碼
所有程序51hei提供下載:
搶答器.rar
(757.38 KB, 下載次數(shù): 11)
2020-11-1 00:15 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
51hei團(tuán)團(tuán)
時(shí)間:
2020-11-1 00:51
能分享下電路圖嗎?
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1