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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復制鏈接]
跳轉到指定樓層
樓主
分享一個大作業的簡單程序-電子時鐘


單片機源程序如下:


  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)


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

使用道具 舉報

沙發
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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产婷婷在线视频 | 日日夜夜天天综合 | 中文字幕第十页 | 午夜精品视频一区 | av网站在线看 | 久久久精品视频一区二区三区 | 在线国产一区二区 | 国产精品不卡一区 | 亚洲最大的黄色网址 | 国产精品一区二区三区在线 | 涩涩视频在线播放 | 欧美综合国产精品久久丁香 | 天天夜夜操 | 日韩精品久久 | 影音先锋中文在线 | 日韩视频专区 | 午夜精品久久 | 天天干天天操 | 亚洲视频免费在线观看 | 91精品国产欧美一区二区 | 国产一级片网站 | 天天操狠狠操 | 精品久久久久久亚洲综合网 | 亚洲视频精品在线 | 亚洲一区精品在线 | 国产午夜精品久久久 | 精品乱码一区二区 | 伊人网站在线 | 亚洲综合色视频在线观看 | 中文字幕 亚洲一区 | 亚洲一区二区久久 | 成人欧美一区二区三区黑人孕妇 | 九九综合 | 极品的亚洲 | 久久高清 | 日本中出视频 | 欧美性一区二区三区 | 国产日产欧产精品精品推荐蛮挑 | 欧美一级片 | 国产成人精品久久二区二区91 | 国产精品久久久久av |