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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7242|回復: 3
收起左側

分享一個msp430的簡單程序-電子時鐘

[復制鏈接]
ID:207975 發表于 2017-6-5 12:20 | 顯示全部樓層 |閱讀模式
分享一個大作業的簡單程序-電子時鐘
0.png

單片機源程序如下:


  1. #include<msp430x14x.h>
  2. #include"LCD1602.h"
  3. #include"settimer.h"
  4. #include"pushkey.h"
  5.         

  6. extern int second;   //1秒計數單位
  7. extern int minute;   //1分鐘計數單位
  8. extern int hour;     //1小時計數單位
  9. extern uchar table[11];  //時間顯示列表
  10. int flag1 = 0;   //第一個按鍵標志


  11. void main( void )
  12. {
  13.     // Stop watchdog timer to prevent time out reset
  14.     WDTCTL = WDTPW + WDTHOLD;
  15.    
  16.     set_timer();
  17.     init_timer();
  18.     init_pushkey();
  19.     LcdReset();
  20.    
  21.     while(1)
  22.     {
  23.         LPM3;   //低功耗模式3  
  24.         LcdWriteCommand( 0x80 + 0x00 , 1 );  //設置字符指針,讓液晶從頭開始顯示字符
  25.         display_hour();
  26.         display_minute();
  27.         display_second();
  28.     }
  29. }

  30. /*******************************定時器中斷*****************************************/
  31. #pragma vector=TIMERA0_VECTOR   //定時器中斷函數,1s進入一次
  32. __interrupt void TIMER_A( void )
  33. {
  34.     if( flag1 == 1 )  //開始計時
  35.     {
  36.         second++;
  37.         if( second >= 60 )
  38.         {
  39.             second = 0;  //second計數到60秒后清零
  40.             minute++; //minute加1
  41.             if( minute >= 60 )
  42.             {
  43.                 minute = 0;   //minute清零
  44.                 hour++;       //hour加1
  45.                 if( hour >= 24 )
  46.                     hour = 0;   //hour計數到24后清零
  47.             }
  48.         }
  49.     }
  50.     LPM3_EXIT;   //退出低功耗模式3
  51. }


  52. /******************************按鍵檢測中斷***************************************/
  53. #pragma vector = PORT1_VECTOR
  54. __interrupt void PORT1_ISR( void )
  55. {
  56.     uint i;
  57.     uchar pushkey;
  58.     pushkey = P1IFG & ( BIT0 + BIT1 );   //1、2哪個鍵按下,則觸發中斷,P1IFG相應位會置1
  59.     P2DIR |= ( BIT0 + BIT1 +BIT6 );
  60.     P2OUT |= ( BIT0 + BIT1 +BIT6 );   //讓LED先都熄滅
  61.    
  62.     for( i = 0; i < 1000; i++ );     //類似于鍵盤消抖
  63.     if( ( P1IN & pushkey ) == pushkey )     //按鍵曾經按下去過,觸發了中斷,但是按鍵又彈起來了,P1IN處檢測是輸入了高電平
  64.     {    //按鍵變為高電平了,判斷這個是為毛刺
  65.         P1IFG=0;
  66.         return;
  67.     }
  68.    
  69.     if( pushkey & BIT0 )   //第一個按鍵按下去了
  70.     {
  71.         flag1 ^= 1;  //可以開始計時
  72.         if( flag1 == 1 )
  73.         {
  74.             P2OUT &=~ BIT0;  //讓第一個LED亮起
  75.             delay_key( 3000 );
  76.             P2OUT |= BIT0;
  77.         }
  78.         
  79.         if( flag1 == 0 )
  80.         {
  81.             P2OUT &=~ BIT6;  //讓第六個LED亮起
  82.             delay_key( 3000 );
  83.             P2OUT |= BIT6;
  84.         }
  85.     }
  86. ……………………

  87. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

代碼下載:
430大作業電子時鐘.rar (19.58 KB, 下載次數: 75)


回復

使用道具 舉報

ID:515832 發表于 2021-5-21 00:33 | 顯示全部樓層
樓主,為啥我燒錄后不能用呢,lcd屏顯示都是方塊
回復

使用道具 舉報

ID:634381 發表于 2021-6-16 09:34 | 顯示全部樓層
樓主有電路圖嗎
回復

使用道具 舉報

ID:1050636 發表于 2022-11-5 17:38 | 顯示全部樓層
求電路圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线www| 玖玖精品视频 | 久久天天操 | www.黄色网 | 黄色小视频免费观看 | 91成人国产 | 九九九精品视频 | 一区二区三区日韩 | 国产又粗又长又爽 | av免费网 | 91在线精品李宗瑞 | 一级片免费在线观看 | 国产精品麻豆免费版 | 日本一本视频 | 男男成人高潮片免费网站 | 国产精品无遮挡 | 99精品网站| 亚洲精品久久久 | 日韩在线不卡视频 | 国产精品网站在线观看 | 久久久久久久网 | 成年女人毛片 | 亚洲视频一区二区 | 国产精品黄色 | 国产一区2区 | 日韩手机在线视频 | 亚洲日本中文字幕 | 最新中文字幕av | 亚洲成人精品在线观看 | 成人午夜又粗又硬又大 | 亚洲免费黄色 | 久久免费看 | 久久精品视频网站 | 色综合久久天天综合网 | 欧美日韩成人在线观看 | 91青青草 | 九月丁香婷婷 | 国产综合一区二区 | 国产一区二区三区免费视频 | 日韩av免费看 | 中文字幕亚洲天堂 |