冰楓論壇

標題: attiny85配合555組成多諧振盪電路 [打印本頁]

作者: 洪嵐峰    時間: 2023-4-9 11:20
標題: attiny85配合555組成多諧振盪電路
你可以使用attiny85搭配NE555多諧振盪電路來產生方波信號

下面是attiny85和NE555的零件規格和連結腳位:

attiny85 零件規格:

工作電壓:2.7V - 5.5V
數位I/O腳位數量:5
ADC輸入通道數量:4
FLASH記憶體:8KB
SRAM記憶體:512B
工作溫度:-40°C ~ 85°C
attiny85 連結腳位:

PB5 (RESET)
PB3 (PWM/OC2A)
PB4 (PWM/OC1B)
GND
PB0 (PWM/OC0A)
PB1 (PWM/OC1A)
PB2 (USCK/SCL/ADC1)
VCC
NE555 零件規格:

工作電壓:4.5V - 15V
最大輸出電流:200mA
工作溫度:-40°C ~ 85°C
NE555 連結腳位:

GND
TRIGGER
OUTPUT
RESET
CONTROL VOLTAGE
THRESHOLD
DISCHARGE
VCC

以下是attiny85和NE555多諧振盪電路的程式碼:


#define LED_PIN PB1   // LED接腳

void setup() {
  pinMode(LED_PIN, OUTPUT);
  TCCR1 = _BV(CS10) | _BV(CS11); // 設置預分頻器,頻率為1/16384秒
  OCR1C = 127;  // 設置計數器閥值,產生50%佔空比的方波
  TIMSK = _BV(TOIE1); // 設置計數器溢出中斷
  sei(); // 啟用中斷
}

void loop() {
  // 什麼都不做
}

ISR(TIM1_OVF_vect) {
  digitalWrite(LED_PIN, !digitalRead(LED_PIN)); // 反轉LED狀態
}
上述程式碼中,使用了attiny85的16位定時器來產生方波信號。

利用定時器的溢出中斷,反轉LED的狀態,以達到閃爍效果。

注意,定時器的預分頻器和閥值的設置,需要計算出符合頻率和佔空比要求的數值。

在上述程式碼中,設置的頻率為約61Hz,佔空比為50%。




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓