亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? test44x_key_int_time.c

?? 430開發板鍵盤操作源程序
?? C
字號:
#include  "msp430x44x.h "
//-------------------------------------------------------------
//
//MSP-Test44x Demo   lcd ,led dishplay the timer
//
//                          MSP430F449
//                       -----------------
//                   /|\|              XIN|-
//                    | |                 |         74HC373(1)&(2)
//         LCD        --|RST          XOUT|-       -------------
//        ----------    |                 |       |             |
//       |     COM0|<---|COM0         P3.1|------>|D0           |
//       |       . |  . |  .            . |   .   |             |
//       |     COM3|<---|COM3         P3.7|------>|D7           |
//       |      S0 |<---|S0           P4.0|------>|             |
//       |       . |  . |             P4.1|------>|             |
//       |      S14|<---|S14          P1.3|------>|INC          |
//                                    P1.2|------>|DEC          |
//                                    P1.1|------>|FUN          |
//  zhangchong
//  Lierda, Inc
//  February 2006.03
//  Built with IAR Embedded Workbench Version: 3.40a
//  ID:  MSP430-TEST44X
//  DATA:2005-7-12
//  REV: 2.0A
//  程序功能:該程序是用F449的I/O(P1.1、P1.2、P1.3)中斷功能, 實現時鐘顯示(LED和LCD顯示)
//            和鍵盤(P1.1=FUN; P1.2=DEC; P1.3=INC)功能,鍵盤是采用I/O口中斷的方式。
//  硬件連接:在必須連接所有短接器,
//            A、顯示部分,LCD顯示不受撥動開關的影響;LED顯示必須將撥動開關P1的第P3和P4腳撥到ON的位置。
//            B、鍵盤部分,必須將撥動開關P_KEY的第P3、P4、P5腳撥到ON的位置。
//
//---------------------------------------------------------
static  unsigned char sec;            //秒寄存器
static  unsigned char min;            //分寄存器
static  unsigned char hour;           //小時寄存器
static  unsigned char led_disp_bit=0x40;//LED顯示位寄存器
static  unsigned char fun_buffer;     //功能鍵緩存
static  unsigned char key_flag;       //按鍵標志
        unsigned char key_temp;       //按鍵時間累加
//----------------------------------------------------------
#define key_inc    0x08               //INC鍵定義
#define key_dec    0x04               //DEC鍵定義
#define key_fun    0x02               //FUN鍵定義
const   unsigned char lcd_table[12]={
0x7b,       //*"0"*//
0x12,       //*"1"*//
0x4f,       //*"2"*//
0x1f,       //*"3"*//                 //LCD顯示代碼表
0x36,       //*"4"*//
0x3d,       //*"5"*//
0x7d,       //*"6"*//
0x13,       //*"7"*//
0x7f,       //*"8"*//
0x3f,       //*"9"*//
0x00,       //*"no"*//
0x00,       //*"no"*//
};
const   unsigned char led_table[12]={
0xd7,       //*"0"*//
0x14,       //*"1"*//
0xcd,       //*"2"*//
0x5d,       //*"3"*//                //LED顯示代碼
0x1e,       //*"4"*//
0x5b,       //*"5"*//
0xdb,       //*"6"*//
0x15,       //*"7"*//
0xdf,       //*"8"*//
0x5f,       //*"9"*//
0x00,       //*"no"*//
0x00,       //*"no"*//
};

void rtc(void);
void display_rtc(void);
void display_dec(unsigned char  i,unsigned char  j);
void led_display(unsigned char i);
void inc(void);
void dec(void);
void fun(void);
//-------------------------------------------------------------
//---------------主程序----------------------------------------
//-------------------------------------------------------------
void main(void)
{
    int i;
    WDTCTL = WDTPW + WDTHOLD;
    BTCTL=BTSSEL+BT_ADLY_500+BTFRFQ1;        //BT 0.5S中斷
    IE2|=BTIE;
    P5SEL=0xfc;
    LCDCTL=LCDON+LCD4MUX+LCDP2;              //LCD模塊初始化
    P1DIR&=~key_inc+key_dec+key_fun;         //端口1初始化
    P1IES=key_inc+key_dec+key_fun;        //下降沿觸發中斷
    P1IE=key_inc+key_dec+key_fun;
    P3DIR=0xff;                              //端口3初始化
    P4DIR=0x03;                              //端口4初始化
    P3OUT=0x00;                              //LED清屏
    P4OUT|=0x02;
    P4OUT&=~0x02;
    P3OUT=0xff;
    P4OUT|=0x01;
    P4OUT&=~0x01;
    TACTL=TASSEL0+TACLR;                     //Timer_a 3ms中斷
    CCTL0=CCIE;
    CCR0=90;
    TACTL|=MC0;
    for (i=0; i<8; ++i)                      //LCD 清屏
    LCDMEM[i] = 0x00;
    _EINT();                                 //允許中斷
//*mainloop*//
    for(;;)
    {
       _BIS_SR(LPM3_bits);                   //進入低功耗模式3
       _NOP();
//key value//                                //按鍵處理程序
       _EINT();
    switch (P1IN&0x0e)
        {
        case 6:inc();break;
        case 10:dec();break;
        case 12:fun();
        }
    }
}

//------------------------------------------------------
// Basic Timer interrupt service routine
//interrupt[BASICTIMER_VECTOR] void basic_timer(void)
#pragma vector=BASICTIMER_VECTOR
__interrupt void basic_timer(void)
{
    rtc();                                   //時鐘處理
    display_rtc();                           //時鐘LCD顯示
}
//------------------------------------------------------
//  Timer_A interrupt service routine
//interrupt[TIMERA0_VECTOR] void Timer_A (void)
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)

{
  if(key_flag)
    {
    if (key_flag==8)
        {
        key_flag=0x00;
         if(0x0e!=(P1IN&0x0e))
           _BIC_SR_IRQ(LPM3_bits);      //延時,鍵盤去抖動,確認按鍵的有效性,有效,退出低功耗,按鍵處理
        }
    else
    key_flag++;
    }
  led_disp_bit=led_disp_bit>0x01?led_disp_bit>>1:0x40;   //LED顯示處理
  switch(led_disp_bit)                 //選擇led的刷新位//3ms刷新一位
    {
    case 1:if(sec&0x01&&fun_buffer==1)          //選擇是否抖動,如果需要抖動,相應的LED位為0,
           led_display(0x00);                   //如果不需要抖動,則正常顯示
           else
           led_display(led_table[hour/10]);break;
    case 2:if(sec&0x01&&fun_buffer==1)
           led_display(0x00);
           else
           led_display(led_table[hour%10]+0x20);break;
    case 4:if(sec&0x01&&fun_buffer==2)
           led_display(0x00);
           else
           led_display(led_table[min/10]);break;
    case 8:if(sec&0x01&&fun_buffer==2)
           led_display(0x00);
           else
           led_display(led_table[min%10]+0x20);break;
    case 16:if(sec&0x01&&fun_buffer==3)
           led_display(0x00);
           else
           led_display(led_table[(sec>>1)/10]);break;
    case 32:if(sec&0x01&&fun_buffer==3)
           led_display(0x00);
           else
           led_display(led_table[(sec>>1)%10]);
    }
}
//------------------------------------------------------
//PORT_1 interrupt service routine
//interrupt[PORT1_VECTOR] void Port_1(void)        //如果有按鍵按下,設按鍵按下標志
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_1(void)

{
key_flag|=0x01;
P1IFG=0x00;
}

//-------------------------------------------------------
//-------時鐘處理程序------------------------------------
//-------------------------------------------------------
void  rtc (void)
{
  if (++sec < 120)
    return;
  sec = 0;
  if (++min < 60)
    return;
  min = 0;
  if (++hour < 24)
    return;
  hour = 0;
}
//--------------------------------------------------------
//--------時鐘LCD顯示程序---------------------------------
//--------------------------------------------------------
void display_rtc(void)
{ int i;
  i=sec;
  i=i>>1;
  display_dec(0,i);
  i=min;
  display_dec(2,i);
  i=hour;
  display_dec(4,i);
  LCDMEM[6]=0x00;
}
//--------------------------------------------------------
//--------LCD顯示處理程序---------------------------------
//--------------------------------------------------------
void display_dec(unsigned char  i,unsigned char  j)
{
 LCDMEM[i]=lcd_table[j%10]+0x80;
 LCDMEM[i+1]=lcd_table[j/10];
}
//--------------------------------------------------------
//-------LED 1位顯示程序----------------------------------
//-------I 為顯示代碼值-----------------------------------
void led_display(unsigned char i)
{
P3OUT=i;
P4OUT=0x02;
P4OUT&=~0x02;
P3OUT=~led_disp_bit;
P4OUT=0x01;
P4OUT&=~0x01;
P3OUT=0x00;
}
//--------------------------------------------------------
//-------INC 按鍵處理程序---------------------------------
//--------------------------------------------------------
void inc (void)
{
  switch (fun_buffer)
  {
  case 0:break;
  case 3:sec+=2;goto rtc_inc;
  case 2: min+=1;goto rtc_inc;
  case 1: hour+=1;
  rtc_inc:
  if (sec >119)
  sec = sec-120;
  if (min >59)
  min = min-60;
  if (hour > 23)
  hour = hour-24;
  }
}

//---------------------------------------------------------
//--------DEC 按鍵處理程序---------------------------------
//---------------------------------------------------------
void dec(void)
{
  switch (fun_buffer)
  {
  case 0:break;
  case 3:sec-=2;goto rtc_dec;
  case 2:min-=1;goto rtc_dec;
  case 1:hour-=1;
  rtc_dec:
  if(sec>119)
     sec=256-137;
  if(min>59)
     min=256-197;
  if(hour>23)
     hour=256-233;
  }
}
//---------------------------------------------------------
//-------FUN 按鍵處理程序----------------------------------
//---------------------------------------------------------
void fun(void)
{
  if(fun_buffer<3)
  fun_buffer++;
  else
  fun_buffer=0x00;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女国产一区二区| 99久久国产免费看| 91久久精品日日躁夜夜躁欧美| 日本电影欧美片| 欧美成人三级电影在线| 一区二区三区欧美日| 国产剧情一区二区三区| 欧美午夜免费电影| 国产精品国产三级国产| 国产一区二区成人久久免费影院| 在线视频综合导航| 国产夜色精品一区二区av| 亚洲综合一区二区精品导航| 老司机精品视频导航| 91玉足脚交白嫩脚丫在线播放| 这里只有精品99re| 亚洲人午夜精品天堂一二香蕉| 日本中文一区二区三区| av一本久道久久综合久久鬼色| 69堂亚洲精品首页| 亚洲欧美日韩系列| 国产传媒欧美日韩成人| 欧美一区二区三区视频免费| 亚洲视频免费在线观看| 国产在线视频不卡二| 欧美少妇一区二区| 中文字幕一区二区5566日韩| 精品一区二区在线看| 欧美视频日韩视频在线观看| 国产亚洲成aⅴ人片在线观看| 日韩高清在线一区| 91久久精品国产91性色tv| 国产欧美在线观看一区| 免费看日韩a级影片| 欧美三级中文字| 亚洲欧美成aⅴ人在线观看| 国产精品影视在线| 91精品国产一区二区| 亚洲乱码国产乱码精品精小说| 国内久久婷婷综合| 日韩欧美一二区| 青青草91视频| 5566中文字幕一区二区电影| 亚洲mv在线观看| 在线观看国产91| 国产无遮挡一区二区三区毛片日本| 久久99热狠狠色一区二区| 欧美精品三级在线观看| 午夜精品久久一牛影视| 91国产丝袜在线播放| 国产精品久久精品日日| 成人精品免费视频| 中文字幕乱码日本亚洲一区二区| 国产一区不卡视频| 久久久精品tv| 丰满放荡岳乱妇91ww| 国产视频一区在线播放| 成人黄色电影在线| 日韩欧美色综合网站| 日韩av中文字幕一区二区| 成人精品视频网站| 欧美精品一区二区三区在线 | 久久综合久久综合亚洲| 蜜臀a∨国产成人精品| 欧美精品一区男女天堂| 国产精品77777| 中文字幕亚洲精品在线观看| 一本大道久久a久久精品综合| 亚洲图片激情小说| 色婷婷精品久久二区二区蜜臂av | 久久99精品国产麻豆婷婷| 欧美电影免费观看高清完整版| 麻豆成人91精品二区三区| 久久婷婷久久一区二区三区| 国产精品中文字幕一区二区三区| 国产精品久久二区二区| 欧美三级三级三级爽爽爽| 免费在线看成人av| 国产亚洲一本大道中文在线| www.66久久| 视频一区国产视频| 久久女同性恋中文字幕| 色婷婷精品久久二区二区蜜臂av| 同产精品九九九| 久久―日本道色综合久久| 91亚洲永久精品| 日本美女视频一区二区| 精品国产一区二区三区忘忧草| 久久激五月天综合精品| 欧美一区二区三区色| 99视频精品在线| 免费观看久久久4p| 亚洲欧美日韩国产综合| 日韩欧美一区二区在线视频| www.欧美日韩| 日本一区中文字幕| 国产精品美女久久久久久久| 欧美日韩国产首页在线观看| 激情五月婷婷综合| 亚洲一二三四久久| 久久精品亚洲乱码伦伦中文| 欧美专区在线观看一区| 成人性生交大合| 蜜桃视频一区二区| 亚洲黄色小说网站| 国产欧美精品一区二区三区四区| 在线观看欧美黄色| 99久久国产综合精品色伊| 韩国午夜理伦三级不卡影院| 亚洲国产精品影院| **性色生活片久久毛片| 久久蜜臀中文字幕| 欧美私人免费视频| 色8久久人人97超碰香蕉987| 国产一区二区三区| 免费观看在线综合| 天堂av在线一区| 亚洲乱码中文字幕综合| 欧美韩日一区二区三区四区| 日韩片之四级片| 51精品视频一区二区三区| 色婷婷综合视频在线观看| 成人av电影免费在线播放| 捆绑调教一区二区三区| 夜夜嗨av一区二区三区中文字幕 | 17c精品麻豆一区二区免费| 欧美videofree性高清杂交| 欧美日韩国产一区| 欧美在线一区二区| 91小宝寻花一区二区三区| 免费成人在线视频观看| 三级久久三级久久久| 午夜精品福利一区二区蜜股av| 亚洲麻豆国产自偷在线| 国产精品三级视频| 欧美国产日韩亚洲一区| 国产欧美综合色| 中文字幕亚洲一区二区va在线| 国产精品丝袜91| 国产精品久久久久久亚洲伦| 欧美韩国日本一区| 亚洲欧美综合色| 国产精品久久久久久亚洲伦| 久久久亚洲精品一区二区三区| 精品视频在线看| 在线观看网站黄不卡| 欧美精品高清视频| 日韩欧美资源站| 欧美tickling网站挠脚心| 26uuu色噜噜精品一区二区| 亚洲精品一区二区三区蜜桃下载| 欧美精彩视频一区二区三区| 国产欧美日韩视频在线观看| 国产精品乱人伦中文| 亚洲精品日日夜夜| 亚洲国产日韩一级| 偷拍日韩校园综合在线| 精品中文字幕一区二区| 激情国产一区二区| 成人免费高清在线观看| 91丨porny丨蝌蚪视频| 欧美艳星brazzers| 欧美一区二区在线免费观看| 久久久久亚洲蜜桃| 一区免费观看视频| 天天影视网天天综合色在线播放| 日韩高清在线一区| 国产精品123| 91福利资源站| 久久综合久久综合久久| 久久先锋影音av| 亚洲同性gay激情无套| 一区二区三区四区在线| 国产精品一区二区三区乱码| 色婷婷综合久久久| 精品久久久久香蕉网| 综合网在线视频| 久久精品久久综合| 91麻豆国产香蕉久久精品| 精品久久人人做人人爽| 亚洲在线视频网站| 国产999精品久久久久久| 色婷婷综合久久| 国产亚洲制服色| 香蕉加勒比综合久久| a美女胸又www黄视频久久| 欧美性猛交一区二区三区精品| 国产精品免费久久久久| 亚洲欧洲av一区二区三区久久| 久久国产三级精品| 一本色道久久综合亚洲精品按摩| 久久人人97超碰com| 亚洲18影院在线观看| 99re在线视频这里只有精品| 久久中文字幕电影| 亚洲va欧美va国产va天堂影院| 99re成人在线| 久久久久久免费| 久久99精品国产.久久久久久| 欧美在线一区二区|