51微控制器中如果乙個數 暫存器B中的值怎麼表述?

時間 2021-07-06 02:45:02

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 退耦電容 去耦電容是電路中裝設在元件的電源端的電容,此電容可以提供較穩定的電...