日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]前言:最近由于開(kāi)始設(shè)計(jì)無(wú)刷直流電機(jī)電子調(diào)速器,參考網(wǎng)上的一些資料,選用了Atmega8A-AU單片機(jī)作為主控芯片。該芯片采用8位結(jié)構(gòu),最高主頻16MHz(內(nèi)部振蕩器則8MHz),可實(shí)現(xiàn)2.7V-5.5V供電,單個(gè)IO口最大可支持40mA的

前言:

最近由于開(kāi)始設(shè)計(jì)無(wú)刷直流電機(jī)電子調(diào)速器,參考網(wǎng)上的一些資料,選用了Atmega8A-AU單片機(jī)作為主控芯片。

該芯片采用8位結(jié)構(gòu),最高主頻16MHz(內(nèi)部振蕩器則8MHz),可實(shí)現(xiàn)2.7V-5.5V供電,單個(gè)IO口最大可支持40mA的拉/灌電流,更難能可貴的是,價(jià)格十分便宜,我在淘寶上面購(gòu)買才3塊多一片。

之前從未使用過(guò)AVR系列的單片機(jī),于是一開(kāi)始編程也遇到了一些障礙,直至最終編寫(xiě)好第一個(gè)程序,整個(gè)過(guò)程在此記錄下來(lái),供以后參考。

一、下載器

首先我在百度上和阿莫論壇里面查詢了一下AVR單片機(jī)的下載器,然后又在淘寶上面搜索對(duì)應(yīng)的型號(hào),發(fā)現(xiàn)目前國(guó)內(nèi)主流的是ISP串口下載器,也就是和51單片機(jī)的下載器原理一樣。于是乎在淘寶上面花了不到10塊錢購(gòu)買了一個(gè),鏈接如下:

http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-5310596272.60.cLIhnZ&id=9726069282

準(zhǔn)確的說(shuō)這只是一個(gè)燒錄器,不具備在線調(diào)試功能,只能把寫(xiě)好的程序燒錄進(jìn)單片機(jī)。

二、代碼開(kāi)發(fā)環(huán)境

一開(kāi)始我在網(wǎng)上搜索的時(shí)候,發(fā)現(xiàn)AVR單片機(jī)的開(kāi)發(fā)環(huán)境琳瑯滿目,比如ICC-AVR,AVR GCC,IAR For AVR,AVR Studio,Atmel Studio......

按照以往的經(jīng)驗(yàn),IAR支持的型號(hào)比較多,用的也比較多,于是我先在網(wǎng)上下載了一個(gè)IAR For AVR,后來(lái)在網(wǎng)上查詢相關(guān)源代碼,發(fā)現(xiàn)很少有基于IAR的,另外IAR還需要激活,搞了半天也沒(méi)搞好,于是乎又卸載了。

后來(lái)再查詢的時(shí)候,發(fā)現(xiàn)Atmel公司官方的開(kāi)發(fā)環(huán)境Atmel Studio是免費(fèi)的,而且同時(shí)用的人也不少,于是乎我又下載了一個(gè)Atmel Studio。安裝好后,發(fā)現(xiàn)界面非常友好現(xiàn)代,不像IAR那樣古老,后來(lái)又了解到這個(gè)開(kāi)發(fā)環(huán)境是基于VisualStudio開(kāi)發(fā)的,因此界面與VisualStudio非常相似,于是好感度一下就上升了。

Atmel Studio開(kāi)發(fā)界面?

進(jìn)入軟件界面后的第一個(gè)問(wèn)題是,如何創(chuàng)建第一個(gè)工程:

這個(gè)難不倒我,一般就是File->New->New Project,但是問(wèn)題來(lái)了,一開(kāi)始我建立工程,選擇工程類型的時(shí)候,發(fā)現(xiàn)可供選擇的對(duì)象和網(wǎng)上的不一樣,少了好多,于是乎我又重新在官網(wǎng)上面下載了最新的版本,終于出現(xiàn)了網(wǎng)上所述的選項(xiàng):

如上圖所示,選擇GCC C Executable Project即可,然后是選擇器件,選擇我們的Atmega8A即可。

點(diǎn)擊OK后,熟悉的main函數(shù)驟然出現(xiàn)在屏幕上,AtmelStudio已經(jīng)幫你把前期的繁瑣工作都做好了,包括頭文件的引用,頭文件只有一個(gè)#include ,所有AVR單片機(jī)都引用同一個(gè)頭文件,其余開(kāi)發(fā)環(huán)境會(huì)自動(dòng)處理。

下一步是如何編寫(xiě)中斷程序,這個(gè)是參考百度文庫(kù)的《AtmelStudio-6.0簡(jiǎn)易入門教程(精煉實(shí)用)》:

在AS6中,需加載頭文件#include ,并且函數(shù)名為ISR,不可自定義函數(shù)名,格式如下:

ISR( TIMER0_OVF_vect ) {?} TIMER0_OVF_vect 含義同iv_TIMER0_OVF,是T0溢出中斷號(hào)。不同型號(hào)mcu的中斷向量號(hào)的名稱不同,A6的中斷向量號(hào)請(qǐng)從avr/iomXXX.h中查找。

有幾個(gè)事情需要備注一下:1、中斷函數(shù)不需要清除中斷標(biāo)志位,這個(gè)過(guò)程是由硬件實(shí)現(xiàn)的。2、中斷使能有兩個(gè),一個(gè)是全局的asm("sei");//開(kāi)啟全局中斷,一個(gè)是每個(gè)中斷各自的寄存器使能位。

三、程序的下載

程序下載不是在AtmelStudio里面實(shí)現(xiàn)的,因?yàn)槲覀兪褂玫牟皇茿tmel官方的調(diào)試器,因此AtmelStudio在開(kāi)發(fā)過(guò)程中起到的作用是將C語(yǔ)言或匯編源代碼編譯鏈接成bin二進(jìn)制文件,然后使用第三方下載軟件通過(guò)網(wǎng)上購(gòu)買的ISP下載器將二進(jìn)制文件下載進(jìn)去。在這里,我使用淘寶上購(gòu)買的下載器店家推薦的下載軟件-progisp1.72 ,這是由智峰工作室開(kāi)發(fā)的。使用了一段時(shí)間,發(fā)現(xiàn)挺好用的,沒(méi)發(fā)現(xiàn)什么BUG。

這里有一個(gè)東西需要備注一下,就是熔絲位的問(wèn)題,之前用的單片機(jī)從未有過(guò)熔絲位的概念,在網(wǎng)上搜索了一番,發(fā)現(xiàn)所謂熔絲位其實(shí)就相當(dāng)于系統(tǒng)寄存器的功能,熔絲位中存儲(chǔ)著系統(tǒng)最關(guān)鍵的設(shè)置,比如時(shí)鐘來(lái)源選擇,時(shí)鐘頻率選擇等等,只不過(guò)熔絲位是與程序分開(kāi)的,不受程序影響,只能由下載器直接對(duì)單片機(jī)進(jìn)行讀寫(xiě),還好,progisp1.72可以完美的實(shí)現(xiàn)這一功能,并且還有向?qū)J?,免去了查詢寄存器手?cè)的麻煩。

好像差不多了吧,就這些,有什么想到再補(bǔ)充。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉