標(biāo)題: 基于MSP430的占空比可調(diào)的PWM信號發(fā)生器源程序和資料 [打印本頁]

作者: 吳曉京123    時(shí)間: 2017-10-9 21:21
標(biāo)題: 基于MSP430的占空比可調(diào)的PWM信號發(fā)生器源程序和資料
PWM通過看書還算不難,比較難的到是矩陣鍵盤選擇輸出;
基于MSP430F5438A單片機(jī)的占空比可調(diào)的PWM信號發(fā)生器;

通4x4矩陣鍵盤控制占空比大小,顯示在LCD12864液晶上;



單片機(jī)源程序如下:
  1. #include <msp430x54x.h>
  2. #include "12864.h"
  3. #include "XT.h"
  4. #include "key.h"
  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. #define ulong unsigned long

  8. uint num;

  9. void main( void )
  10. {
  11.   WDTCTL = WDTPW + WDTHOLD;
  12.   initsys();//TX2時(shí)鐘初始化
  13.   P4DIR |= 0x06;                            // P4.1 and P4.2 輸出
  14.   P4SEL |= 0x06;                            // P4.1and P4.2 選擇
  15.   TBCCR0 = 24000;
  16.   // PWM 周期定義 24000/24M=0.001s ,頻率為500Hz

  17.   TBCCTL1 = OUTMOD_7;                      // CCR1 比較輸出模式7,復(fù)位/置位

  18.   TBCCR1 = 12000;                            //CCR1 50%占空比定義 12000/24000=0.5

  19.   TBCCTL2 = OUTMOD_7;                      // CCR2 比較輸出模式7,復(fù)位/置位

  20.   TBCCR2 = 12000;                            // CCR2 50%占空比 12000/24000=0.50

  21.   TBCTL=TBSSEL_2+MC__UP+TBCLR;//(TASSEL_2)定時(shí)器時(shí)鐘源為SMCLK=24MHz ,
  22.                              //(MC__UP)增計(jì)數(shù)模式,不分頻,開中斷

  23.   P9DIR|=0xff;//液晶控制端口
  24.   P9OUT =0xff;

  25.   P8DIR|=0xff;//液晶數(shù)據(jù)端口
  26.   P8OUT =0xff;

  27.   P1DIR =0xf0;//矩陣鍵盤設(shè)置P1.0-P1.3 為輸入方向
  28.   P1OUT =0xf0;

  29.   LCD_Init();    //LCD12864初始化
  30.   diaply();//數(shù)據(jù)顯示
  31. // diaply1();
  32.   _EINT();
  33.   while(1)
  34.   {
  35.     key_display();//按鍵值顯示
  36.   }
  37. }

復(fù)制代碼

所有資料51hei提供下載:
PWM信號發(fā)生器.zip (1.53 MB, 下載次數(shù): 280)



作者: 天下1213    時(shí)間: 2018-4-23 18:40
謝謝樓主分享資料了,下去可以研究一下了
作者: 時(shí)空來客    時(shí)間: 2020-5-14 13:25
樓主能給個(gè)proteus仿真圖嗎,我下載了你給的壓縮包,但是沒有仿真文件,謝謝




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1