標(biāo)題: STC8A8K64S4單片機(jī)內(nèi)置PWM控制直流電機(jī) 源程序 [打印本頁]

作者: 楓樹566    時(shí)間: 2019-9-24 19:30
標(biāo)題: STC8A8K64S4單片機(jī)內(nèi)置PWM控制直流電機(jī) 源程序
  1. #include <stc8.h>
  2. #include "hc595.h"
  3. #include "pwm.h"

  4. #define CYCLE           100        // 設(shè)置PWM周期為1000H個(gè)PWM時(shí)鐘

  5. unsigned char table[] = {90,70,50,30,10};// 定義5個(gè)檔位的占空比
  6. sbit keyContrl = P0^7;  // 獨(dú)立按鍵總開關(guān)
  7. sbit key1 = P0^0;       // 獨(dú)立按鍵1

  8. void Delay(unsigned int xms) // 毫秒級延時(shí)
  9. {
  10.         unsigned int i, j;
  11.         for(i=xms;i>0;i--)
  12.         {
  13.                 for(j=921;j>0;j--);
  14.         }
  15. }
  16. void main()               
  17. {
  18.         unsigned char i = 0;
  19.         P_SW2 = 0x80;
  20.         PWMCKS = 0x00;         // PWM時(shí)鐘為系統(tǒng)時(shí)鐘
  21.         PWMC = CYCLE;          // 設(shè)置PWM周期為CYCLE個(gè)PWM時(shí)鐘
  22.         PWM5T1= 0;             // 在計(jì)數(shù)值為0時(shí),開始輸出低電平
  23.         PWM5T2= 0;             // 在計(jì)數(shù)值為0時(shí),開始輸出高電平
  24.         PWM5CR= 0x88;          // 使能PWM5_2輸出
  25.         P_SW2 = 0x00;

  26.         PWMCR = 0x80;          // 啟動PWM模塊
  27.         keyContrl = 0;
  28.        while (1)
  29.         {
  30.                 if(!key1)          // 獨(dú)立按鍵1,被按下
  31.                 {
  32.                         Delay(10);     // 延時(shí)消抖
  33.                         if(!key1)
  34.                         {
  35.                                 i++;       // 檔位增加1
  36.                                 if(i>4)    // 大于最大檔位后,歸零
  37.                                 {
  38.                                         i = 0;
  39.                                 }
  40.                         }
  41.                         while(!key1);  // 等待按鍵抬起
  42.                 }
  43.                 PWM5T2= table[i];  // 把i檔位的占空比賦給PWM5T2
  44.                
  45.                 // 訪問邏輯地址位于XDATA區(qū)域的特殊功能寄存器前需要
  46.                 // 將 P_SW2(BAH)寄存器的最高位(EAXFR)置 1
  47.                 P_SW2 |= 0x80;      
  48.                
  49.                 display(0,i);        // 顯示檔位(0~4,共5個(gè)檔位)
  50.         }
  51. }
復(fù)制代碼

列表.JPG (16.94 KB, 下載次數(shù): 60)

清單.jpg

清單.jpg

STC8手冊-增強(qiáng)型PWM部分.pdf

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

內(nèi)置PWM控制直流電機(jī)調(diào)轉(zhuǎn)速.rar

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


作者: 51hei團(tuán)團(tuán)    時(shí)間: 2019-9-24 20:37
好東東,樓主能分享下電路圖嗎?
作者: aking991    時(shí)間: 2019-9-25 09:58
學(xué)習(xí)一下
作者: 楓樹566    時(shí)間: 2019-9-25 10:22
芯片引腳及直流電機(jī)接的引腳

123_副本.jpg (112.63 KB, 下載次數(shù): 63)

123_副本.jpg

124_副本.jpg (38.36 KB, 下載次數(shù): 54)

124_副本.jpg

作者: 楓樹566    時(shí)間: 2019-9-25 12:24
51hei團(tuán)團(tuán) 發(fā)表于 2019-9-24 20:37
好東東,樓主能分享下電路圖嗎?

貼出了芯片引腳圖和直流電機(jī)接的位置,回復(fù)框沒搞懂怎么發(fā)圖片的
作者: lmyyjx    時(shí)間: 2019-9-26 10:27
正好了解一下
作者: nb44444    時(shí)間: 2019-12-30 20:45
好好好,get到了
作者: popo321    時(shí)間: 2020-3-31 09:19
好東東,謝謝樓主分享!
作者: DSFSQ    時(shí)間: 2021-2-1 12:10
請問你用的直流電機(jī)的額定輸入電壓是多大?
作者: qzyhlf    時(shí)間: 2025-4-23 10:15
好東東,樓主能分享下電路圖嗎?




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