找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2795|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于msp430f169的藍(lán)牙風(fēng)扇可調(diào)速程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:610137 發(fā)表于 2019-9-10 18:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
設(shè)計(jì)做的,比較簡(jiǎn)單,手機(jī)通過(guò)UART連接單片機(jī),PWM可任意調(diào)速,注意風(fēng)扇的驅(qū)動(dòng)電壓。
#include <msp430f169.h>
#include "lcd12864.h"
#include "PWM.h"
#include "UART.h"
#include "adc.h"

unsigned char key = 0;
unsigned char Statu = 0;
unsigned int a = 0;

#pragma vector=USART0RX_VECTOR
__interrupt void USART0_RX_ISR(void)
{
  unsigned char data=0;
  data=U0RXBUF;                       //接收到的數(shù)據(jù)存起來(lái)
  key = data;
  Uart0Send_Byte(data);               //將接收到的數(shù)據(jù)再發(fā)送出去

}

void main(void)
{
    WDTCTL = WDTPW | WDTHOLD;   // stop watchdog timer
    Clock_Init(1);              // 0 就是 1M, 1 就是 8M
    PWM_init();                 // Init the PWM
    Port_init();                // Init the LCD1602
    LCD_init();
    UART0_Init();
    LCD_Desk();
    ADC_Init();
    _BIS_SR(GIE);                                      //開(kāi)啟系統(tǒng)中斷
    while(1){
        LCD_Desk();
        ADC();
        LCD_DisplayTemp((uchar)TemperC);
        delay_ms(500);
        _NOP();
        switch(key){
        case 49:start(); LCD_write_str(4,2,"1"); LCD_write_str(4,1,"ON ");break;
        case 50:speed(1);LCD_Display_num(4,2,2);LCD_write_str(4,1,"ON ");break;
        case 51:speed(2);LCD_Display_num(4,2,3);LCD_write_str(4,1,"ON ");break;
        case 52:speed(3);LCD_Display_num(4,2,4);LCD_write_str(4,1,"ON ");break;
        case 48:stop();  LCD_write_str(4,2,"0");LCD_write_str(4,1,"OFF");break;
        default:break;
        }
        key=0;
    }
}


lan_ya_fan.7z

43.55 KB, 下載次數(shù): 30, 下載積分: 黑幣 -5

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表