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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

msp430g2553單片機開發板例程 很多庫函數可以直接移植著用

  [復制鏈接]
跳轉到指定樓層
樓主
例程里有很多庫函數可以直接移植著用


單片機源程序如下:
  1. /*
  2. * PWM_LED.c
  3. * 硬件描述:Launchpad G2553開發板上P1.3接了一個按鍵,P1.6各接了1個綠光LED(用跳線帽連接)。
  4. * 功能描述:按鍵按下的瞬間,LED亮度變化。需調用TA_PWM庫函數。
  5. *  Author: Administrator
  6. */

  7. #include "MSP430G2553.h"
  8. #include "TA_PWM.h"

  9. void P1_IODect();
  10. void P13_Onclick();
  11. void GPIO_init();

  12. void main(void) {
  13.         WDTCTL = WDTPW + WDTHOLD;        //關狗
  14.         //-----初始化TA0為ACLK輸入,不分頻,通道1超前PWM,通道2關閉-----
  15.         TA0_PWM_Init('A',1,'F',0);
  16.         TA0_PWM_SetPeriod(500);                                //設定PWM周期
  17.         GPIO_init();                                                                                        //初始化GPIO
  18.         _enable_interrupts();                                                        //使能總中斷
  19.     _bis_SR_register(LPM3_bits);                                //LPM3方式休眠
  20. }

  21. /******************************************************************************************************
  22. * 名       稱:GPIO_Init()
  23. * 功       能:設定按鍵和LED控制IO的方向,啟用按鍵IO的上拉電阻
  24. * 入口參數:無
  25. * 出口參數:無
  26. * 說       明:無
  27. * 范       例:無
  28. ******************************************************************************************************/
  29. void GPIO_init()
  30. {
  31.         //----- TA0_PWM_Init()自動設置TA口(P1.6)-----

  32.         //-----配合機械按鍵,啟用內部上拉電阻-----
  33.         P1REN |= BIT3;                                        //啟用P1.3內部上下拉電阻
  34.         P1OUT |= BIT3;                                    //將電阻設置為上拉
  35.         //-----配置P1.3中斷參數-----
  36.         P1DIR &= ~BIT3;                    // P1.3設為輸入(可省略)
  37.         P1IES |= BIT3;                          // P1.3設為下降沿中斷
  38.         P1IE  |= BIT3 ;                          // 允許P1.3中斷
  39. }

  40. /******************************************************************************************************
  41. * 名       稱:PORT1_ISR()
  42. * 功       能:響應P1口的外部中斷服務
  43. * 入口參數:無
  44. * 出口參數:無
  45. * 說       明:P1.0~P1.8共用了PORT1中斷,所以在PORT1_ISR()中必須查詢標志位P1IFG才能知道
  46. *                                          具體是哪個IO引發了外部中斷。P1IFG必須手動清除,否則將持續引發PORT1中斷。
  47. * 范       例:無
  48. ******************************************************************************************************/
  49. #pragma vector = PORT1_VECTOR
  50. __interrupt void PORT1_ISR(void)
  51. {
  52.         //-----啟用Port1事件檢測函數-----
  53.         P1_IODect();                                                                //檢測通過,則會調用事件處理函數
  54.            P1IFG=0;                                                    //退出中斷前必須手動清除IO口中斷標志
  55. }

  56. /******************************************************************************************************
  57. * 名       稱:P1_IODect()
  58. * 功       能:判斷具體引發中斷的IO,并調用相應IO的中斷事件處理函數
  59. * 入口參數:無
  60. * 出口參數:無
  61. * 說       明:該函數兼容所有8個IO的檢測,請根據實際輸入IO激活“檢測代碼”。
  62. *                                          本例中,僅有P1.3被用作輸入IO,所以其他7個IO的“檢測代碼”沒有被“激活”。
  63. * 范       例:無
  64. ******************************************************************************************************/
  65. void P1_IODect()
  66. {
  67.         unsigned int Push_Key=0;
  68.         //-----排除輸出IO的干擾后,鎖定唯一被觸發的中斷標志位-----
  69.         Push_Key=P1IFG&(~P1DIR);
  70.         //-----延時一段時間,避開機械抖動區域-----
  71.         __delay_cycles(10000);                                                        //消抖延時
  72.         //----判斷按鍵狀態是否與延時前一致-----
  73.         if((P1IN&Push_Key)==0)                                 //如果該次按鍵確實有效
  74.    {
  75.          //----判斷具體哪個IO被按下,調用該IO的事件處理函數-----
  76.           switch(Push_Key){
  77. //         case BIT0:        P10_Onclick();                break;
  78. //         case BIT1:         P11_Onclick();                break;
  79. //         case BIT2:         P12_Onclick();                break;
  80.          case BIT3:         P13_Onclick();                break;
  81. //         case BIT4:         P14_Onclick();                break;
  82. //         case BIT5:         P15_Onclick();                break;
  83. //         case BIT6:         P16_Onclick();                break;
  84. //         case BIT7:         P17_Onclick();                break;
  85.          default:                                                                        break;                //任何情況下均加上default
  86.          }
  87.    }
  88. }

  89. /******************************************************************************************************
  90. * 名       稱:P13_Onclick()
  91. * 功       能:P1.3的中斷事件處理函數,即當P1.3鍵被按下后,下一步干什么
  92. * 入口參數:無
  93. * 出口參數:無
  94. * 說       明:使用事件處理函數的形式,可以增強代碼的移植性和可讀性
  95. * 范       例:無
  96. ******************************************************************************************************/
  97. void P13_Onclick()                                                                        //P1.3的事件處理函數
  98. {
  99.         //-----Bright在函數執行完后不能被清空,所以得設為靜態局部變量-----
  100.         static unsigned int Bright=0;
  101.         //-----循環改變PWM占空比-----
  102.         Bright=Bright+40;
  103.         if(Bright>=400)                                                                        //占空比最大40%,更亮的區間視覺變化不明顯
  104.                 Bright=0;
  105.         TA0_PWM_SetPermill(1,Bright);                //調用庫函數,更新PWM占空比
  106.         _nop();
  107.         }

復制代碼

所有資料51hei提供下載:
AY-G2 PL KIT_例程.7z (921.02 KB, 下載次數: 193)
AY-G2PL KIT.pdf (3.31 MB, 下載次數: 102)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:97588 發表于 2020-5-31 18:54 | 只看該作者
謝謝分享!剛好用到MSP430G2553做個產品,有這個方便多了
回復

使用道具 舉報

板凳
ID:584195 發表于 2021-8-15 15:00 | 只看該作者
非常感謝樓主提供,正好我用來 學習,謝謝了!
回復

使用道具 舉報

地板
ID:1001515 發表于 2022-1-12 15:51 | 只看該作者
謝謝 ,樓主的分享 ,用處可大
回復

使用道具 舉報

5#
ID:71233 發表于 2022-4-2 13:29 | 只看該作者
這個是CCS的代碼吧
回復

使用道具 舉報

6#
ID:1039079 發表于 2022-7-10 21:32 | 只看該作者
感謝樓主,正好在做比賽,有這個很方便
回復

使用道具 舉報

7#
ID:1039079 發表于 2022-7-10 21:33 | 只看該作者
正好在用430做比賽,這個就是及時雨
回復

使用道具 舉報

8#
ID:1047908 發表于 2022-10-16 16:44 | 只看該作者
非常有用,幫了大忙了,感謝
回復

使用道具 舉報

9#
ID:754694 發表于 2023-3-7 12:53 來自手機 | 只看該作者
好東西,謝謝分享!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久久国产 | 久久亚 | 久久中文字幕一区 | 国产高清视频在线 | 日韩中文字幕视频在线观看 | 国产色在线| 91成人在线视频 | 一区二区福利视频 | 亚洲电影一级片 | 日韩在线观看中文字幕 | 国外成人在线视频网站 | 亚洲小视频在线观看 | 国产精品乱码一区二区三区 | 国产东北一级毛片 | 色男人的天堂 | 一区在线观看 | 午夜精品久久久久久久久久久久 | 中文字幕日韩欧美 | 福利视频一区二区 | av在线伊人 | 精品久久久久久久久久久 | 国产成人一区二区三区 | 成人午夜免费在线视频 | 在线国产一区二区 | 天天澡天天操 | japanhdxxxx裸体 | 日韩另类视频 | 久久99深爱久久99精品 | 欧美一级片在线观看 | 黄色成人在线观看 | 欧美一二三| 亚洲天堂一区 | 久久在线| 天天干天天玩天天操 | 午夜男人的天堂 | 国产一区 在线视频 | 精产国产伦理一二三区 | 中国av在线免费观看 | 天堂一区在线观看 | 成人国产精品久久 | 成人在线视频免费观看 |