當前位置:首頁 » 網路連接 » atmega8單片機網路連接

atmega8單片機網路連接

發布時間: 2022-09-03 03:47:30

Ⅰ ATMEGA8單片機初次已進行熔絲配置,能夠正常編程,但是大約燒寫幾十次(後,就再也無法編程,為什麼

開始配置熔絲位後,下一次編程 flash的時候要讀取一下熔絲位,只要讀取一次,再去燒錄flash就OK了。我遇到過ATMEGE8 鎖死的問題和你這個類似,不過也有出現因為焊接的不好導致的這樣的問題,還有就是因為ISP燒錄的那幾個管腳帶了負載影響了燒錄的電壓信號,把ISP管腳的負載暫時斷開,燒錄好後連接。

Ⅱ ATmega8HVA單片機的DATASHEET里RXD和TXD共用一個引腳,用485通信該怎麼接啊,小白一個,請指教

當然485的兩個管腳都接ATMEGA的那一個公用腳 他那是傳收不能同時的 也就是要麼傳 要麼收 你就都連這一個腳就行了

Ⅲ atmega8怎麼用

你是問 ATmega8 單片機 嗎?

那是用來測頻率的。

具體方法看下面例子。

正弦波先要整形成方波再送入M8進行中斷,不然容易出錯
例子;給你參考一下吧 外部中斷來了 你就在外部中斷函數裡面寫你中斷以後你要執行的程序就可以了,就這么簡單 PWM占空比,周期 都可以通過定時器寄存器初值來設定
//ICC-AVR application builder : 2009-09-11 19:02:05
// Target : M8
// Crystal: 8.0000Mhz

#include <iom8v.h>
#include <macros.h>

void port_init(void)
{
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
}

//TIMER1 initialize - prescale:64
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 1mSec
// actual value: 1.000mSec (0.0%)
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0xFF; //setup
TCNT1L = 0x83;
OCR1AH = 0x00;
OCR1AL = 0x7D;
OCR1BH = 0x00;
OCR1BL = 0x7D;
ICR1H = 0x00;
ICR1L = 0x7D;
TCCR1A = 0x00;
TCCR1B = 0x03; //start Timer
}

#pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
void timer1_ovf_isr(void)
{
//TIMER1 has overflowed
TCNT1H = 0xFF; //reload counter high value
TCNT1L = 0x83; //reload counter low value
}

#pragma interrupt_handler int0_isr:iv_INT0
void int0_isr(void)
{
//external interupt on INT0
}

//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
timer1_init();

MCUCR = 0x00;
GICR = 0x40;
TIMSK = 0x04; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}

//
void main(void)
{
init_devices();
//insert your functional code here...
}

補充:
建議你仔細看M16的資料 關於定時器及PWM那塊 這是別人無法代替的
輸出比較寄存器1A - OCR1AH 與 OCR1AL
輸出比較寄存器1B - OCR1BH 與 OCR1BL
16 位定時器/ 計數器寄存器的說明 T/C1 控制寄存器A - TCCR1A
T/C1 控制寄存器B - TCCR1B
TCCR1A 用來對模式進行選擇 詳情還得看資料 內容太多
TCCR1B 分頻選擇
如TCCR1A:
7 6 5 4 3 2 1 0
COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10

Ⅳ 求:AVR(ATmega8L)單片機,SPI發送、接收數據C程序例子。

第一個區別當然是名字:
SPI(Serial Peripheral Interface:串列外設介面);
I2C(INTEL IC BUS:英特爾IC匯流排)
UART(Universal Asynchronous Receiver Transmitter:通用非同步收發器)
第二,區別在電氣信號線上:
SPI匯流排由三條信號線組成:串列時鍾(SCLK)、串列數據輸出(SDO)、串列數據輸入(SDI)。SPI匯流排可以實現 多個SPI設備互相連接。提供SPI串列時鍾的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。主從設備間可以實現全雙工通信,當有多個從設備時,還可以增加一條從設備選擇線。
假如用通用IO口模仿SPI匯流排,必須要有一個輸出口(SDO),一個輸入口(SDI),另一個口則視實現的設備類型而定,假如要實現主從設備,則需輸入輸出口,若只實現主設備,則需輸出口即可,若只實現從設備,則只需輸入口即可。
I2C匯流排是雙向、兩線(SCL、SDA)、串列、多主控(multi-master)介面標准,具有匯流排仲裁機制,非常適合在器件之間進行近距離、非常常性的數據通信。在它的協議體系中,傳輸數據時都會帶上目的設備的設備地址,因此可以實現設備組網。
如果用通用IO口模仿I2C匯流排,並實現雙向傳輸,則需一個輸入輸出口(SDA),另外還需一個輸出口(SCL)。(註:I2C資料了解得比較少,這里的描述可能很不完備)

如何用AVR Studio燒寫ATMEGA8L8AU單片機程序

1,把串口線連接電腦和開發板(或產品)

2,打開AVRStudio,關閉自動啟動的提示窗口

3,打開開發板的電源

4,點擊AVRStudio菜單上的Tools,下拉菜單里的program右邊顯示菜單里的connect....或者Autoconnect都可以,

5,如果連接正常,就會顯示一個設置畫面如圖

6,點Main設置單片機型號(第一行),點Fuses設置熔絲位(設置好後別忘了點右下角的Read鍵下載熔絲設置),點Program裝載編譯好的文件,第一行為.hex文件,第二行為.eep文件(沒有就空著)

7,文件裝載後點相應後面的Read鍵就可以下載文件到單片機里啦

Ⅵ 單片機ATmega8L管腳圖及各腳說明分別是什麼

單片機ATmega8L管腳圖:

單片機ATmega8L各個管腳說明:

1、2腳:天線端。


3、4腳:增益調節端,調節外接電阻可調節靈敏度,即調節檢測距離。


5腳:觸發禁止控制端,當5腳電壓<0.3UDD時,禁止觸發;當5腳電壓>0.3UDD時,允許觸發。


6腳:接電源濾波電容器端。


7腳:電源負端USS。


8腳:重復觸發控制端,8腳為高電平時,允許重復觸發;低電平時,不允許重復觸發。


9、10腳:輸出延遲定時器外接電阻器端。


11腳:控制信號輸出端,高電平有效。


12、13腳:輸出封鎖定時器外接電阻器端。


14腳:電源正端UDD。

Ⅶ ATmega8單片機怎麼個自燒錄方法

首先,將燒寫線把開發板與電腦連接,安裝驅動之後,燒寫程序能自動識別設備
打開後,就會看到這個界面,感覺好復雜的有木有?其實 燒寫過程也就幾步

3
首先,在界面左上角有個單片機型號,一般選擇STC89C51系列下的STC89C52RC/LE52RC

4
然後,導入程序文件,你需要點擊打開程序文件按鈕

Ⅷ AVR ATmega8單片機下載程序的過程

一般來說,AVR的編程方式有:
(1)串列編程(即ISP編程)

ISP是In System Program的縮寫,意思是在系統編程。目前的AVR晶元基本上都具備ISP介面,可通過ISP介面進行編程。它一共使用了兩條電源線:VCC、GND,三條信號線:SCK、MOSI、MISO,以及復位線:RESET。由於僅僅使用了幾條數據線,所以我們亦常將其稱為串列編程。值得注意的是,雖然下載器端使用的信號線名為SCK、MOSI、MISO,但AVR MCU的信號端不一定是名為SCK、MOSI、MISO。

AVR的串列編程方式有很多種,如:
(1)STK200/STK300:並口下載器多採用該燒寫方式,最早期的一種燒寫方式,支持型號少,燒寫速度低,不支持AVR Studio。
(2)STK500:ATMEL最推薦的編程方式,由於採用ATMEL官方的STK500固件,使得它可燒寫全系列AVR(若對固件進行升級亦可支持未來的AVR型號),燒寫速度非常快,支持AVR Studio。
(3)AVRISP(准STK500):由於採用ATMEL官方的STK500固件,使得它可燒寫大部分AVR(若對固件進行升級亦可支持未來的AVR型號),燒寫速度非常快,支持AVR Studio。
(4)AVRISPmkII:由於採用ATMEL官方的AVRISPmkII固件,使得它可燒寫大部分AVR(若對固件進行升級亦可支持未來的AVR型號),燒寫速度非常快,支持AVR Studio。
(5)當然還有其它的ISP方式,但已經那些均不是最為常見的串列編程方式,在此不在作一一介紹。

(2)(2)高壓/並行編程
AVR的高壓編程/並行編程,實際上是更早出現的編程方法,它功能強大,但需要:

1)連接較多的引腳(故稱「並行編程」)
2)使用12V電壓(故稱「高壓編程」)

(3)JTAG編程

JTAG燒寫方式僅適用於帶JTAG介面的AVR,另外,JTAG對比ISP燒寫方式主要有個缺點:必須佔用JTAG對應的IO埠。例如,ATMEGA16必須佔用PC2-PC5這幾個埠。然而,有時候,缺點也是優點,因為對於IO夠用的AVR來說,在產品開發過程,可以用JTAG介面來模擬調試,產品量產後,產品板預留的JTAG介面還可以用來燒寫程序。

(4)IAP編程

AVR MCU的ISP功能和debugWIRE功能是互斥的,也就是說,使能了AVR MCU的 debugWIRE 功能後ISP功能就無法使用,使能了ISP功能後debugWIRE功能就無法使用。

最後說明下 AVR燒寫需要配置熔絲位的 也可以使用語句聲明。這個和51不一樣