亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        通過CVAVR編程向?qū)W(xué)習(xí)AVR單片機(jī)

        2014-12-31 00:00:00魏永生

        摘 要:AVR單片機(jī)的寄存器比51系列單片機(jī)要多,沒有經(jīng)驗的初學(xué)者面對大量必須要設(shè)置的寄存器往往是一頭霧水,而CVAVR編程軟件除了具有位操作功能外,還有代碼生成準(zhǔn)確率極高的編程向?qū)?,根?jù)設(shè)計者的要求,可以自動生成代碼。本文通過CVAVR軟件編程向?qū)韺W(xué)習(xí)AVR單片機(jī)的IO端口、定時器、中斷和ADC轉(zhuǎn)換及USART串口的使用,編程調(diào)試采用CVAVR+AVR編程、STUDIO4和JTAG ICE硬件仿真模式。

        關(guān)鍵字:CVAVR 單片機(jī);編程

        中圖分類號:TP334.7

        1 IO端口的設(shè)置

        與51單片機(jī)相比,AVR端口是真正的雙向端口,但編程時需要按要求進(jìn)行輸入和輸出設(shè)定,這也是AVR的一項優(yōu)勢,而在操作時注意每個口的方向寄存器DDRn就可以了。本文采用的芯片是用ATmega16,有4個8位的可編程IO口,2個8位定時器計數(shù)器T/C0、T/C2,1個16位定時器計數(shù)器T/C1,時鐘采用內(nèi)部4M時鐘源。首先運行cvavr軟件,新建prj項目文件,選擇使向?qū)ode wizard avr,按圖1設(shè)置后確認(rèn)后軟件會自動生成如下程序代碼:

        2 定時器的使用

        這里以16位的定時器T1為例,用產(chǎn)生1S定時的程序來學(xué)習(xí)定時器普通模式和比較匹配功能使用,學(xué)會了16位定時器T1,那么8位定時器T0也就會了。

        2.1 普通模式定時。普通模式是T1最基本的一種工作模式,在普通模式下只要TCCR1B控制寄存器的后三位CS2、CS1、CS0不為零即可啟動定時器,若為000則無時鐘源定時器停止工作。定時器啟動后T1就單向加1計數(shù)器,一旦寄存器TCNT1的值達(dá)到0xFFFF上限值,在加1之后計數(shù)便恢復(fù)為0x0000,同時啟動溢出標(biāo)志置為1,用于申請T1溢出中斷,這與51單片機(jī)的定時器T0、T1的定時方式工作方式是基本一樣的,運行cvavr軟件,新建prj項目文件,選擇使向?qū)В╟ode wizard avr),設(shè)置后確認(rèn)后軟件會自動生成程序代碼,在interrupt [TIM1_OVF] void timer1_ovf_isr(void)T1定時器溢出中斷程序中,還要對定時器進(jìn)行賦初值,即TCNT1H=0x0B,TCNT1L=0xDC,之后是中斷執(zhí)行的程序,此處以PORTA=~PORTA為代表,表示此處可添加中斷處理程序。

        主程序中,TCCR1A=0x00是設(shè)置T1控制寄存器A選擇普通端口操作,TCCR1B=0x03是選擇64分頻進(jìn)時鐘源并啟動定時,TCNT1H=0x0B,TCNT1L=0xDC的功能是為T1計數(shù)寄存器賦初值,而TIMSK=0x04是開T1溢出中斷,很多軟件設(shè)置后會出現(xiàn)#asm(\"sei\"),該語名是開總中斷的意思,相當(dāng)于SREG=1。

        若想要停止定時計數(shù)器,只要將定時控制寄存器TCCR1B的CS2、CS1、CS0置零,定時計數(shù)器無時鐘源即可停止。

        2.2 匹配模式定時。在比較匹配模式時,相當(dāng)于定時器上限可變,可設(shè)置成除了0XFFFF以外的其它值,這個比較上限的值保存在輸入比較寄存器OCR1A中。新建PRJ項目文件,選擇使向?qū)?,設(shè)置后確認(rèn)后軟件會自動生成除中斷程序外的如下主程序代碼:

        3 外部中斷的使用

        新建prj項目文件,選擇使用向?qū)ВO(shè)置確認(rèn)后軟件會自動生成如下程序代碼:這里選擇low level低電平觸發(fā)。

        4 AD轉(zhuǎn)換器的使用

        新建prj項目文件,選擇使向?qū)?,設(shè)置確認(rèn)后軟件會自動生成程序代碼,其中#define ADC_VREF_TYPE 0x40是宏定義ADC電壓參考電源選擇為AVCC(5V),而adc_data[input_index]=ADCW語句是讀AD轉(zhuǎn)換結(jié)果到adc_data[0]中,ADCSRA|=0x40是設(shè)置ADC狀態(tài)控制寄存器開始AD轉(zhuǎn)換。

        程序中采用T/C0比較匹配中斷,作為ADC自動轉(zhuǎn)換的觸發(fā)源信號。在向?qū)гO(shè)置中,設(shè)置ADC時鐘的分頻系統(tǒng)為32,即125KHz的ADC時鐘,滿足了逐次比較轉(zhuǎn)換電路達(dá)到最大精度時,需要50K~200KHz之間的采樣時鐘的要求,盡管atmega16的PA口的PA1作為ADC的輸入端,PA口的其它引腳仍可作為普通的IO引腳使用。

        5 USUART串口的使用

        本文中的串口通迅發(fā)送數(shù)據(jù)采用查詢方式,接收數(shù)據(jù)采用中斷處理,因此只用向?qū)Мa(chǎn)生中斷接收代碼,而發(fā)送子程序內(nèi)容為手動編寫,其中發(fā)送和接接子程序編寫如下:

        通過CVAVR的編程向?qū)У氖褂茫苁刮覀兿冗\行體驗AVR單片機(jī)的成功運行現(xiàn)象,再回頭認(rèn)真的理解相關(guān)寄存器的設(shè)定要領(lǐng),這一先實踐后理論的模式會對我們硬件學(xué)習(xí)和軟件編程起到事半功倍的效果,而且通過這篇文章的介紹,會對AVR單片機(jī)有一個全面的系統(tǒng)的了解和掌握。

        參考文獻(xiàn):

        [1]王宗剛,潘崢嶸.基于AVR單片機(jī)的SPI接口的實現(xiàn)[J].自動化與儀器儀表,2011(02).

        作者簡介:魏永生(1973-),男,教師,講師,學(xué)士學(xué)位,研究方向:電子信息,電子制作,單片機(jī)編程。

        作者單位:吉林機(jī)電工程學(xué)校,吉林吉林 132101

        亚洲成a v人片在线观看| 国产色婷亚洲99精品av网站| 亚洲毛片网| 最新永久无码AV网址亚洲| 国产午夜在线观看视频| 亚洲一区二区三区免费的视频| 亚洲国产高清在线视频| 精品国产一区二区三区久久狼 | 亚洲综合色婷婷久久| 18禁成人免费av大片一区| 国产人妖直男在线视频| 美女被内射中出在线观看| 亚洲黄色天堂网站在线观看禁18 | 激情航班h版在线观看| 一本一道av无码中文字幕| 国产精品一区二区久久乐下载| 日韩国产欧美成人一区二区影院| 一级一片内射在线播放| 亚洲免费福利视频网站| 亚洲久悠悠色悠在线播放| 中文字幕一区日韩精品| 久久中文字幕人妻熟av女蜜柚m | 免费人成网在线观看品观网 | 日韩精品有码在线视频| 日本少妇熟女一区二区| 久久99国产精品久久99| 亚洲精品无码乱码成人| 欧美亚洲另类自拍偷在线拍| 五十路在线中文字幕在线中文字幕 | 中文字幕亚洲精品高清| 45岁妇女草逼视频播放| 国产女人的高潮国语对白| 国产精品久久国产三级国不卡顿| 国语少妇高潮对白在线| 亚洲AVAv电影AV天堂18禁| 邻居少妇太爽在线观看| 99久久99久久精品国产片| 久久亚洲精品无码va白人极品| 欧美乱人伦中文字幕在线不卡| 精品久久久亚洲中文字幕| 国产麻豆成人精品av|