娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月20日(星期五)

2020年06月20日 | AVR單片機(jī)ATMEGA16編譯軟件ICCAVR的使用技巧與應(yīng)用示例

發(fā)布者:Whisper123 來(lái)源: eefocus關(guān)鍵字:AVR單片機(jī)  ATMEGA16  編譯軟件  ICCAVR 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

一、先來(lái)一段樸實(shí)的獨(dú)白吧

寫這篇文的時(shí)間是2018年3月21日。大學(xué)2013畢業(yè),專業(yè)是機(jī)械,但喜歡電子。篇首聲明:哪一行都有鄙視鏈,就連打個(gè)游戲都不例外。如果大神路過(guò)這里,請(qǐng)您show your mercy然后walk away就當(dāng)nothing happened.  當(dāng)然,大牛都是很低調(diào)的,因?yàn)樗麄兩硇亩汲吝M(jìn)編程的世界里不能自撥。好了本文就ICCAVR的使用說(shuō)明作一個(gè)入門式的引導(dǎo),方便新、老網(wǎng)友作一種可供使用的參考。


上大學(xué)并不是為了純讀書,而是自我發(fā)現(xiàn)、反饋、然后決定的心理成熟過(guò)程,好吧這就是我的層次。上學(xué)時(shí)為了搞懂一個(gè)東西,在網(wǎng)上查找所有的有用的信息資料,當(dāng)然必須免費(fèi)的,唉不談。。現(xiàn)在如果需要一些資源直接買買買,省時(shí)省力省心。嗯回不去的過(guò)去。感謝在知識(shí)產(chǎn)權(quán)還不嚴(yán)謹(jǐn)?shù)漠?dāng)時(shí)網(wǎng)絡(luò)給了我很多。我想現(xiàn)在終于有些時(shí)間了,可以做一些反饋了。同時(shí),希望一切都回歸理性。


二、介紹ICCAVR


AVR單片機(jī)是ATMEL公司開(kāi)發(fā)的高速8位處理。


低檔Tiny系列AVR單片機(jī): 主要有Tiny11/12/13/15/26/28等;


中檔AT90S系列AVR 單片機(jī): 主要有AT90S1200/2313/8515/8535等; (正在淘汰或轉(zhuǎn)型到Mega中)


高檔ATmega系列AVR單片機(jī): 主要有ATmega8/16/32/64/128( 存儲(chǔ)容量為8/16/32/64/128 KB)以及ATmega8515/8535等。


ICCAVR編譯軟件是ATMEL公司推薦的第三方編譯器之一,目前ICCAVR7.22版本在網(wǎng)上可下載使用。

那么如何新建一個(gè)工程項(xiàng)目,做好準(zhǔn)備工作,然后開(kāi)始寫程序代碼呢,下面按步驟一步一步說(shuō)明:


1 菜單》Project》New,先新建一個(gè)工程


2 在彈出的窗口中選擇保存在哪個(gè)文件夾中,最好單獨(dú)建個(gè)文件存放該工程。然后輸入工程文件名,比如test,然后點(diǎn)保存。

3 菜單》File》New,來(lái)新建一個(gè)存放程序的文件

4 新建了一個(gè)窗口,窗口默認(rèn)名為Untitled-1,點(diǎn)擊一個(gè)該窗口空白處隨便輸入幾個(gè)字符,可以看到保存按鈕由灰色變成彩色,點(diǎn)擊 菜單》File》Save,在彈出的窗口中選擇保存在哪個(gè)文件夾中,最好與剛才新建的工程保存在同一個(gè)文件夾下。然后輸入程序文件名,比如testpro0000.c 此處注意,要以.C結(jié)尾,表明是一個(gè)C程序文件聲明,然后點(diǎn)保存。

5 可以看到默認(rèn)的文件名Untitled-1被保存成我們輸入的testpro0000.c,在界面右邊目錄樹(shù)上鼠標(biāo)右鍵 選擇Add file(s),將此程序文件添加到第一步新建的項(xiàng)目test中去。

6 在彈出的窗口中 找到我們剛才建的程序文件testpro0000.c,點(diǎn)擊打開(kāi)

7 如下圖,該.c文件已經(jīng)在項(xiàng)目的目錄下了,準(zhǔn)備工作結(jié)束

8 接下來(lái)說(shuō)一下重點(diǎn)有用的一個(gè)功能:應(yīng)用生成器,就是下圖中像掃把一個(gè)的小圖標(biāo)

9 不要猶豫,點(diǎn)它,彈出一個(gè)向?qū)Т翱冢贑PU選項(xiàng)里選擇我們用的型號(hào),例如Target CPU,選M16,即ATMEGA16,Xtal speed 即晶振頻率,選擇你所用的晶振頻率,最右邊 External interrputs 即外部中斷,我選中打開(kāi)INT0,中斷觸發(fā)方式為L(zhǎng)ow level,即低電平觸發(fā)。

10 在Timer0選項(xiàng)里選中Use Timer0 打開(kāi)定時(shí)器T0,旁邊Overflow interrupt意思是定時(shí)器中斷溢出處理函數(shù)打開(kāi)與否,選中(即一個(gè)小叉叉表示選中)打開(kāi)它,因?yàn)榈綍r(shí)我們要在這個(gè)函數(shù)里處理一些變量。Desired value 意思是你需要的數(shù)值,旁邊的Units 是單位表示。比如我要定時(shí)4us,就可如下圖這么選。下邊Prescale select 是預(yù)分頻,選擇8或其它數(shù)值,可以看到右側(cè)Actual value 表示能實(shí)現(xiàn)的實(shí)際精度。此項(xiàng)目中我們就打開(kāi)INT0和T0,其它的功能先不做示例。點(diǎn)擊OK.

11 彈出一個(gè)新的未命名Untitled窗口,里面就是我們剛才用生成器生成的程序構(gòu)架,我在//后做了注釋,因?yàn)椴⑽幢4嬖撐募岳锩娴淖煮w也沒(méi)有被ICC編譯器識(shí)別并以彩色顏色表示。那么,我們知道了這些函數(shù)是干什么用的,就可以開(kāi)心的復(fù)制-粘貼到我們的程序文件testpro0000.c中去了,有用的信息COPY之后,下圖中的Untitled-3窗口使命也就完成了,選擇File》close,在彈出的窗口中選擇 不保存 即可。然后就可以在testpro0000.c里寫代碼了、改程序 、新建變量、調(diào)試程序了,然后點(diǎn)擊紅色的編譯程序按鈕,顯示0 errors,0 warnings 即大功告成!

12 程序編譯通過(guò)以后,在我們第一步建的項(xiàng)目文件夾下,會(huì)產(chǎn)生以.hex結(jié)尾的文件,這個(gè)文件就是編譯器生成的機(jī)器代碼,我們可以用工具將此HEX文件燒錄下載到我們的AVR單片機(jī)中去,單片機(jī)就可以執(zhí)行代碼了。這個(gè)軟件就是 PROGISP 目前版本1.72在網(wǎng)上可供下載。


當(dāng)然,我們要先需要一根下載線,連接電腦和AVR單片機(jī)。這根線的關(guān)鍵詞是 USBASP ,請(qǐng)自行搜索,網(wǎng)上很多賣的,買個(gè)帶保護(hù)的等等。買個(gè)次品把主板燒了就不劃算了。下載很簡(jiǎn)單,選擇目標(biāo)CPU為ATMEGA16后,第1步【調(diào)入flash】,找到目標(biāo)hex打開(kāi),第2步點(diǎn)【自動(dòng)】即可。

13 AVR單片機(jī)熔絲位設(shè)置,在PROGISP軟件中點(diǎn)擊三個(gè)小點(diǎn)的一個(gè)按鈕,請(qǐng)參見(jiàn)上面PROGISP主界面圖中的標(biāo)注,會(huì)彈出一個(gè)小窗口,有位配置方式,向?qū)Х绞剑x擇向?qū)Х绞剑纯稍诓涣私飧鞣N參數(shù)的意義下,實(shí)現(xiàn)編程熔絲位。請(qǐng)?zhí)崆白鲂┬」φn,不要手抖鎖死芯片哦!

14 一個(gè)小例子,僅作看看。


//ICC-AVR application builder : 2016/5/24 16:38:13

// Target : M16

// Crystal: 11.059Mhz

 

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar flag0=0,flag1=0,flag2=0;

uchar i,j,k;

void port_init(void)

{

 DDRA  = 0xFF;

 PORTA = 0xF8;

 

}

 

#pragma interrupt_handler int0_isr:iv_INT0

void int0_isr(void)

{

 i=PIND;

 i=i&0X04;

 if(i==0X00)

 {flag0=1;//external interupt on INT0

 PORTA|=0X01;}//&=0XFE

}

 

#pragma interrupt_handler int1_isr:iv_INT1

void int1_isr(void)

{

 j=PIND;

 j=j&0X08;

 if(j==0x00)

 {flag1=1;//external interupt on INT1

 PORTA|=0X02;}//&=0XFD

}

 

#pragma interrupt_handler int2_isr:iv_INT2

void int2_isr(void)

{

 k=PINB;

 k=k&0X04;

 if(k==0X00)

 {flag2=1;//external interupt on INT2

 PORTA|=0X04;}//&0XFB

}

 

void delayms(unsigned int ms) //16MHZ

 {

 unsigned int x,y;

  for(x=0;x    for(y=0;y<2282;y++)

;

 }

 

//call this routine to initialize all peripherals

void init_devices(void)

{

 //stop errant interrupts until set up

 CLI(); //disable all interrupts

 port_init();

 delayms(360);//等待傳感器進(jìn)入穩(wěn)定狀態(tài)

 MCUCR = 0x0A;

 GICR  = 0xE0;

 TIMSK = 0x00; //timer interrupt sources

 SEI(); //re-enable interrupts

 //all peripherals are now initialized

}

 

void main( void )

{

 init_devices(); 

 while(1)

 {

   if (flag0==1)

   {

    GICR&=~(1<    delayms(5000);

//i=PIND;

    //i=i&0X04;

     //if(i==0X00)

//{

     PORTA&=0XFE;

delayms(1);

GICR|=(1< flag0=0;

//}

    }

       if (flag0!=1)

       {

       i=PIND;

   i=i&0X04;

   if(i!=0X00)

     {

  PORTA|=0X01;

}

        }

   if (flag1==1)

   {

    GICR&=~(1<    delayms(5000);

j=PIND;

    j=j&0X08;

     if(j==0x00)

{

PORTA&=0XFD;

delayms(1);

GICR|=(1< flag1=0;

}

    }

      if (flag1!=1)

      {

      j=PIND;

  j=j&0X08;

  if(j!=0X00)

    {

  PORTA|=0X02;

  }

      }

   if (flag2==1)

   {

    GICR&=~(1<    delayms(5000);

k=PINB;

    k=k&0X04;

if(k==0X00)

{

PORTA&=0XFB;

delayms(1);

GICR|=(1< flag2=0;

}

    }

       if (flag2!=1)

       {

       k=PINB;

   k=k&0X04;

   if(k!=0X00)

     {

  PORTA|=0X04;

}

        }     

 }

}


三、本文供基礎(chǔ)參考,想深入還需要花些時(shí)間在上面。在東西比較雜的情況下,發(fā)散思維幫助融匯貫通。

關(guān)鍵字:AVR單片機(jī)  ATMEGA16  編譯軟件  ICCAVR 引用地址:AVR單片機(jī)ATMEGA16編譯軟件ICCAVR的使用技巧與應(yīng)用示例

上一篇:通過(guò)采用單片機(jī)和指紋識(shí)別模塊實(shí)現(xiàn)電子機(jī)械鎖的設(shè)計(jì)
下一篇:ATmega328芯片-“變身”-溫度計(jì)-,附示例教程

推薦閱讀

來(lái)自韓國(guó)的消息,三星Galaxy Note 9將提供512GB存儲(chǔ)版本,但僅限于韓國(guó)和中國(guó)市場(chǎng)。  目前還不清楚除了存儲(chǔ)容量之外,三星Note9其它方面會(huì)有哪些變化。但可以猜測(cè)一下,該機(jī)將擁有6GB內(nèi)存,搭載三星自家的Exynos 9810 Octa處理器。此外,將預(yù)裝基于Android8.1 Oreo的系統(tǒng),內(nèi)置4,000mAh電池,拍照方面,估計(jì)該機(jī)將支持可變光圈,后置雙攝。  設(shè)...
Silicon Labs (亦稱“芯科科技”)日前擴(kuò)展了Si539x抖動(dòng)衰減器系列產(chǎn)品,其新器件型號(hào)具有完全集成的參考時(shí)鐘、增強(qiáng)了系統(tǒng)可靠性和性能,同時(shí)簡(jiǎn)化了高速網(wǎng)絡(luò)設(shè)計(jì)中的PCB布局布線。新型Si539x抖動(dòng)衰減器設(shè)計(jì)旨在滿足100/200/400/600/800G設(shè)計(jì)中苛刻的參考時(shí)鐘要求,為最先進(jìn)的以太網(wǎng)交換機(jī)SoC、PHY、FPGA和ASIC中56G PAM-4 SerDes所需的嚴(yán)格抖動(dòng)要求提...
TFTP(Trivial File Transfer Protocol,簡(jiǎn)單的文件傳輸協(xié)議)是 TCP/IP 協(xié)議族中的一個(gè)用來(lái)在客戶機(jī)與服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開(kāi)銷不大的文件傳輸服務(wù),端口號(hào)為 69。TFTP 這種簡(jiǎn)單的基于 UDP 的文件傳輸協(xié)議,通常只能用于小文件的傳輸,并且它不具備通常的 FTP 的許多功能,因此它只能從文件服務(wù)器上獲得或?qū)懭胛募?..
我們從企查查App上獲悉,華為技術(shù)有限公司推出的“一種車聯(lián)網(wǎng)的異常行為檢測(cè)方法、裝置和系統(tǒng)”專利獲授權(quán),公開(kāi)號(hào)為CN111200799B。企查查專利摘要顯示,本申請(qǐng)實(shí)施例用于對(duì)車聯(lián)網(wǎng)發(fā)送終端和車聯(lián)網(wǎng)接收終端的異常行為進(jìn)行檢測(cè),保證車輛通信系統(tǒng)的安全。具體來(lái)看,本申請(qǐng)公開(kāi)了一種車聯(lián)網(wǎng)的異常行為檢測(cè)方法、檢測(cè)裝置和檢測(cè)系統(tǒng),用于對(duì)車聯(lián)網(wǎng)發(fā)送終端和...

史海拾趣

問(wèn)答坊 | AI 解惑

電源工程師需要的基本技能和專業(yè)理論知識(shí)(薪水評(píng)估)

開(kāi)關(guān)電源產(chǎn)品的設(shè)計(jì)過(guò)程實(shí)際是一個(gè)優(yōu)化折衷的過(guò)程.工程師們常常在各種電性能參數(shù)之間舉棋不定,如穩(wěn)態(tài)性能與動(dòng)態(tài)性能的折衷,功率密度與可靠性的折衷等.在追求低功耗高效率的今天,擺在電源工程師面前的難題仍然是功耗和性能的取舍. 開(kāi)發(fā)一個(gè)開(kāi)關(guān)電 ...…

查看全部問(wèn)答∨

急求DSP控制寫CF卡的程序代碼,相關(guān)資料也可以,謝謝幫助!

要用DSP控制向CF卡寫數(shù)據(jù),具體流程是什么?請(qǐng)高手指點(diǎn) 急求DSP控制寫CF卡的程序代碼,相關(guān)資料也可以,謝謝幫助! 我的郵箱:haolinchen_0@126.com…

查看全部問(wèn)答∨

sdi分配器

    小弟我最近要做sdi分配器,查了一天資料也沒(méi)有找到合適的方案,哪位仁兄能給個(gè)提示?比如推薦相關(guān)的芯片,小弟我不勝感激!…

查看全部問(wèn)答∨

分析:百萬(wàn)高清攝像機(jī)容易被忽視的考察點(diǎn) [轉(zhuǎn)帖]

最近看到很多網(wǎng)友在喜歡論壇粘貼百萬(wàn)高清網(wǎng)絡(luò)攝像機(jī)的漂亮圖片,來(lái)吸引大家的眼球,確實(shí)清晰度要比模擬攝像機(jī)高很多。百萬(wàn)高清是行業(yè)發(fā)展的必然趨勢(shì),但是大家千萬(wàn)不能只看到像素,卻忽略了百萬(wàn)高清網(wǎng)絡(luò)攝像機(jī)的其他重要考察點(diǎn)。 【發(fā)熱量】 ...…

查看全部問(wèn)答∨

團(tuán)購(gòu)示波器群:359838(6位qq群)

團(tuán)購(gòu)示波器群:359838(6位qq群) --本群目的:團(tuán)購(gòu)示波器和其他各種電工儀表工具以及DIY 業(yè)余DIY或者搞兼職,萬(wàn)用表是必用的,每個(gè)電工都有, 但示波器就不一定了,沒(méi)示波器,調(diào)電路不是不行,得多花 非常多的功夫。 這些功夫就是錢啊,時(shí)間就 ...…

查看全部問(wèn)答∨

請(qǐng)問(wèn)哪位大大有TMS320F2812的SCI初始化代碼啊?

老師要我寫一個(gè)SCI的初始化代碼,我看了這個(gè)芯片的文檔后,還是感覺(jué)云里霧里的,后天就要交了,著急死了。。。 一直弄不明白TXWAKE、WUT這兩個(gè)信號(hào)到底是干嘛用的。。。求牛人解救啊。。。…

查看全部問(wèn)答∨

點(diǎn)火線圈不良引起間歇性斷火

故障現(xiàn)象:一輛上海通用五菱LZW6360Ei7型微型客車,配備電噴發(fā)動(dòng)機(jī)。該車出現(xiàn)嚴(yán)重的加速無(wú)力、“缺缸”現(xiàn)象,以致無(wú)法正常行駛。據(jù)車主反映,每次更換火花塞后,車輛能正常行駛1000km左右,然后就出現(xiàn)高速“闖車”現(xiàn)象,而且越來(lái)越嚴(yán)重,最后導(dǎo)致車 ...…

查看全部問(wèn)答∨

交換開(kāi)發(fā)板

我現(xiàn)在想用lm3s8962或者TMS320F交換lpc2000系列開(kāi)發(fā)板。 聯(lián)系方式:kxs002@163.com QQ:81960697…

查看全部問(wèn)答∨

LPC1114如何加密

rt, 我使用LPCxpresso 編譯器。 #define NO_CRP          0xFFFFFFFF #define NO_ISP_MAGIC    0x4E697370 #define CRP1_MAGIC      0x12345678 #define CRP2_MAGIC    ...…

查看全部問(wèn)答∨

出現(xiàn)c232,“delayms”:redefinition錯(cuò)誤,怎么辦!?

#include #define uchar unsigned char #define uint unsigned int sbit dula=P2^6;                      //申明U1鎖存器的鎖存端// sbit wela=P2^7;        ...…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 江城| 达孜县| 藁城市| 宁武县| 福鼎市| 化隆| 苏州市| 岳池县| 张家界市| 花垣县| 东乡族自治县| 永清县| 客服| 香港 | 吴堡县| 庄河市| 石林| 北辰区| 延川县| 南通市| 梧州市| 布拖县| 金阳县| 盐源县| 大同县| 肥东县| 新宁县| 福建省| 陇川县| 资中县| 剑河县| 柘城县| 东辽县| 娱乐| 涡阳县| 观塘区| 德阳市| 社会| 翁牛特旗| 白银市| 施甸县|