1樓:Jienpeng lin
//#pragma SRC
typedef signedchar int8_t;
typedef signed short int int16_t;
typedef signedint int32_t;
typedef unsignedchar uint8_t;
typedef unsigned short int uint16_t;
typedef unsignedint uint32_t;
#include
uint8_t value_B;
#define OS_TICKS_PER_SEC 50 //每秒的滴噠數
#define TICK_TIMER_SHARING 1 //多少次滴噠數進入一次中斷
#define CLOCKS 6 //CPU時鐘的分頻數
#define CPU_Fosc 12000000L
#define OS_Time_Count (0x10000-CPU_Fosc/(OS_TICKS_PER_SEC*TICK_TIMER_SHARING*CLOCKS))
#define CPU_Fosc 12000000L
#define CLOCKS 12 //CPU時鐘的分頻數
#define T0_reloadtime 100 //us
#define T0_Cnt -((CPU_Fosc/CLOCKS*T0_reloadtime)/1000000L) // 定義T0計數器每次中斷的計數次數
#define set_io(IO_VALUE) (P1_0=(IO_VALUE))
/* Configure Timer 0
- Mode2 8bit
- InterruptENABLED
- Clock SourceINTERNAL
- Enable Gating Control = DISABLED
void init_timer0(void)
TMOD &= 0XF0clear Timer 0 */
TMOD |= 0X2;
TL0 = T0_Cntvalue set by user */
TH0 = T0_Cntvalue set by user */
//Reload_T0();
ET0 = 1IE.1*/
TR0 = 1TCON.4 start timer */
#pragma DISABLE
void timer0 (void) interrupt 1 // 20mS
static uint8_t cur_cnt;
if(++cur_cnt==100)
cur_cnt=0;
if(value_B!=0) set_io(1);
if(value_B==cur_cnt) set_io(0);
return;
void init_special_interrupts(void)
IE=0X82;
IP=0X0;
//IPH=0X0;
void main(void)
init_timer0( );
init_special_interrupts( );
value_B=10;
while(1)
2樓:neet
我翻了下書,沒看到用於控制占空比的B暫存器(我以為是我忘了),再理解一下題目,所以我覺得是程式裡省略了對B這個變數的賦值,或者說題目裡的B=56就代替了賦值。
怎麼用微控制器做乙個比較有創新的東西
先確定乙個方向,比如無人機物聯網電源通訊穿戴式智慧型家居,到底是哪乙個方向。然後上B站或者一些發燒友論壇,看一下有沒有感興趣的案例。然後仿製學習或是抄襲他們的作品,從中看到他們沒有完善的地方,持續改進即可。慢慢你就會找到創新的方向。推薦 B站 稚暉君大神 電子發燒友網電路城 仲一 基於stm32的室...
製作乙個stm32平衡小車,除了微控制器,編碼電機,還需要什麼器件?
極客小麥 最核心的器件,陀螺儀和加速度感測器 使用MPU6050即可 需要對陀螺儀資料和加速度感測器做融合,這裡使用互補濾波,卡爾曼濾波都行,得到小車的姿態資料,這是設定的姿態資料和反饋的姿態資料的偏差,通過PID演算法,然後輸出PWM,除錯引數,基本就可以讓車子立起來了。在可以保持直立之後,需要編...
我這個正點原子微控制器有乙個電容掉了,會有影響嗎?
兔子MCU 把板卡配套的原理圖開啟看看唄。一看就知道了。從位置看,是USB輸入供電濾波用的 oled 和攝像頭那個座子供電濾波用的。影響不大。 王方浩 看功能是USB轉串列埠的去耦電容 在5V電源電壓時外接容量為0.1uF 退耦電容 去耦電容是電路中裝設在元件的電源端的電容,此電容可以提供較穩定的電...