AVR單片機輕松入門_第1頁
AVR單片機輕松入門_第2頁
AVR單片機輕松入門_第3頁
AVR單片機輕松入門_第4頁
AVR單片機輕松入門_第5頁
已閱讀5頁,還剩134頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝學習板:LT-Mini-M16

力天電子版權所有 技術交流QQ群:31646346

2008年9月主講人簡介尹延輝,本科就讀于哈爾濱工程大學信息與通信工程學院電子信息工程專業(yè),2007年獲得創(chuàng)新保研資格,現(xiàn)在攻讀哈爾濱工程大學通信與信息系統(tǒng)專業(yè)碩士學位精通51匯編語言程序設計,AVR、430單片機C語言程序設計,CPLD、FPGA電路設計與VHDL語言程序設計,擅長各種數(shù)字、模擬與高頻電路設計技術,做過的工程涉及傳感器、機電控制、射頻通信等領域本科階段獲獎情況2005.10全國大學生電子設計競賽黑龍江賽區(qū)三等獎2005.10獲校二等獎學金2006.5獲校二等獎學金2006.9校“五四杯”科技作品競賽三等獎2項,鼓勵獎2項2006.10黑龍江省大學生電子設計競賽一等獎2007.5獲校三等獎學金2007.6“挑戰(zhàn)杯”黑龍江省大學生課外學術科技作品競賽一等獎2007.7黑龍江省航空航天模型錦標賽航拍傘翼機三等獎2007.7黑龍江省航空航天模型錦標賽線操縱傘翼機第六名2007.5,2008.5?!拔逅谋笨萍甲髌犯傎惗泉?項2007.9全國大學生電子設計競賽國家二等獎2007.10獲得個性化保研免試攻讀研究生資格2007.11校創(chuàng)新獎學金二等獎2008.3獲校三等獎學金2008.8英特爾杯嵌入式設計競賽國家三等獎無線數(shù)據(jù)傳輸系統(tǒng)06年省賽一等獎作品:無線數(shù)據(jù)傳輸系統(tǒng)FSK接收機局部無線數(shù)據(jù)傳輸系統(tǒng)06年省賽一等獎作品:無線數(shù)據(jù)傳輸系統(tǒng)FSK發(fā)射機局部無線數(shù)據(jù)傳輸系統(tǒng)06年省賽一等獎作品:無線數(shù)據(jù)傳輸系統(tǒng)高頻功放局部無線數(shù)據(jù)傳輸系統(tǒng)06年省賽一等獎作品:無線數(shù)據(jù)傳輸系統(tǒng)漢字輸入局部無線識別裝置07年全國電子大賽二等獎作品:無線識別裝置探路者I號水下機器人省挑戰(zhàn)杯一等獎:探路者I號水下機器人教程安排第一講:單片機及其開發(fā)工具簡介第二講:AVR硬件電路設計教程第三講:AVR開發(fā)環(huán)境的建立,數(shù)字邏輯與C語言程序設計根底知識第四講:流水燈、蜂鳴器、數(shù)碼管的程序設計第五講:普通按鍵與矩陣鍵盤的程序設計第六講:外部中斷、定時器的應用第七講:USART的應用第八講:ADC的應用第九講:工程應用實例-循跡小車第一講

單片機及其開發(fā)工具簡介本講內(nèi)容:單片機是什么單片機能做什么單片機開發(fā)工具AVR單片機簡介:學單片機就要學AVR!新手入門的第一個例子:閃爍燈單片機是什么單片機就是一臺微型電腦。麻雀雖小,五臟俱全,單片機將微型電腦的所有根本局部都集成在一片硅片上。構成單片機的根本要素:CPU核ROMRAM片上外設總線CPU核相當于電腦的CPU,執(zhí)行從ROM中取出指令性能指標:主頻:CPU時鐘的頻率,類似于電腦的主頻。指令集:復雜指令集CISC與精簡指令集RISC,后者比前者執(zhí)行效率高很多。字長:一次處理的二進制數(shù)據(jù)位數(shù)。ROM〔只讀存儲器〕目標代碼存儲器,相當于硬盤,用于存儲運行在單片機上的程序代碼目前大多數(shù)單片機為Flash結(jié)構根本性能指標:容量,單位一般為KB〔千字節(jié)〕高級的指標:自編程能力RAM〔隨機存儲器〕數(shù)據(jù)存儲器,相當于內(nèi)存,ROM中的程序在運行時快速的存取數(shù)據(jù)目前大多數(shù)單片機為SRAM結(jié)構性能指標:容量,單位一般為B〔字節(jié)〕或KB〔千字節(jié)〕片上外設相當于電腦的鍵盤鼠標接口、顯示器接口等常見的片上外設模塊有外部中斷、定時/計數(shù)器、UART、SPI、IIC、ADC、模擬比較器等總線用于在以上四局部之間傳輸數(shù)據(jù)的通道,相當于硬盤IDE線、光驅(qū)線等單片機能做什么單片機無所不能!所謂“微電腦控制”場合的核心就是單片機涵蓋工業(yè)生產(chǎn)、日常生活、軍事設備、科研儀表儀器等所有智能化應用場合智能洗衣機定時完成洗衣、脫水等功能可以判斷衣服的干凈程度,實現(xiàn)“洗凈即停”的功能蒸汽熨燙的功能刷卡、投幣洗衣更加智能:LG公司的“iPod洗衣機”——一邊洗衣一邊聽歌LED顯示屏LED發(fā)光二極管構成顯示屏的像素點單片機負責逐點或逐行掃描,并與電腦通信獲取圖片信息PH/ORP儀表用于環(huán)境監(jiān)測、工礦企業(yè)、科學研究、水產(chǎn)養(yǎng)殖場等場合的pH值的測定讀取pH傳感器的模擬信號,內(nèi)部處理后顯示在LCD上各種數(shù)碼產(chǎn)品智能小車巡線避障電視機遙控器遙控LCD顯示單片機的開發(fā)工具編程器〔燒寫器〕:將編譯出來的目標代碼固化到單片機的ROM內(nèi)下載線:作用與編程器相同,但可以在線下載仿真器:對單片機的程序進行單步調(diào)試、設置斷點等,便于查找程序中的錯誤。其中Jtag仿真器可以在線仿真調(diào)試。AVR單片機簡介AVR的性價比遠高于51:高速、RISC:主頻最高達20MHz低功耗,寬電壓:1.8V~5.5V,最低全速運行功耗<300uAIO口驅(qū)動能力強:推拉電流能力均達30mA,可以直接驅(qū)動蜂鳴器、繼電器等片內(nèi)資源豐富:外部中斷、定時/計數(shù)器、UART、SPI、IIC、ADC、模擬比較器型號齊全,而且40腳以下的AVR均具有DIP的封裝形式精彩的AVR世界8腳系列:ATtiny13、25、45、85;14腳系列:ATtiny2420腳系列:AtTiny26,2313;28腳系列:ATmega8,48,88,168;32腳系列:AT90PWM3;40腳系列:ATmega16,32,162,163,169,8515,8535;以上幾個系列均有DIP雙列直插封裝64腳系列:ATmega64,128;100腳系列:ATmega1280,2560;精彩的AVR世界AVR單片機的開發(fā)工具軟件開發(fā)環(huán)境編輯與編譯軟件:WinAVR仿真調(diào)試軟件:AVRStudio下載軟件:MuCodeISP硬件開發(fā)環(huán)境仿真調(diào)試工具:JtagICE下載線工具:STK200/300學習板一塊:LT-Mini-M16技術手冊AVR官方中文版技術手冊《AVR單片機與GCC編程》從零開始學習AVR:

學單片機就要學AVR!選擇AVR作為單片機入門的幾點理由:最小系統(tǒng)設計容易:只需要連接電源、焊接晶振就可以工作很多概念初學者理解起來更容易:例如AVR的時鐘源〔晶振、內(nèi)部RC等〕不經(jīng)過分頻直接提供給CPU使用,而51的CPU主頻等于晶振的12分頻AVR既具有簡單的、可以自制的ISP下載線和Jtag仿真器,又有DIP直插的封裝形式AVR的C語言編程與C語言教科書上學習的標準C語言語法是幾乎一樣的,不像51的C語言,一些bit、srf之類的變量定義在教科書中是找不到的,有利于后續(xù)嵌入式系統(tǒng)的學習新手入門入門第一個例子

閃爍的燈請觀看視頻演示新手入門入門第一個例子

閃爍的燈例程源代碼#include<avr/io.h>intmain(void){ inti=0,j=0; DDRD=0xff; while(1) { PORTD=0b11100110; for(j=0;j<10;j++) for(i=0;i<10000;i++); PORTD=0b00011001; for(j=0;j<10;j++) for(i=0;i<10000;i++); }}AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第二講

AVR硬件電路設計教程本講內(nèi)容:ATmega16簡介構建ATmega16最小系統(tǒng)構建LT-Mini-M16學習板單片機常用外圍器件簡介PCB技術與ProtelAltiumDesigner6簡介實戰(zhàn):用AD6.7設計AVR學習板ATmega16簡介高速〔16MHz〕、RISCAVR內(nèi)核1KBSRAM,16KBFlashROM512字節(jié)EEPROM,方便數(shù)據(jù)存儲4個8位并行IO口,驅(qū)動能力強具有Jtag仿真接口與ISP下載接口低功耗、寬電壓〔2.7V~5.5V〕豐富的片上外設:3個外部中斷,3個定時器,USART,SPI,IIC,ADC片內(nèi)上電復位電路片內(nèi)RC振蕩器,可以省去外部晶振構建最小系統(tǒng)電源:數(shù)字電源VCC:任何場合必選模擬電源AVCC:使用片上ADC或模擬比較器時必選晶振:對時鐘要求嚴格的場合,如使用USART時必選復位按鍵:需要手動復位時必選ISP下載線接口:需要進行ISP下載時必選Jtag仿真器接口:需要進行Jtag仿真調(diào)試時必選ISP下載線構建最小系統(tǒng)

全功能的最小系統(tǒng)Jtag仿真器電源座晶振與穩(wěn)頻電容數(shù)字電源數(shù)字地模擬電源模擬地參考電壓源退偶電容ATmega16單片機構建最小系統(tǒng)

Mega16最小系統(tǒng)1此最小系統(tǒng)適合于對時鐘要求不嚴格,不使用片上ADC與模擬比較器而且不需要ISP下載與Jtag仿真的場合。只需要接通電源構建最小系統(tǒng)

Mega16最小系統(tǒng)2此最小系統(tǒng)適合于對時鐘要求不嚴格,不使用片上ADC與模擬比較器,需要ISP下載但不需要Jtag仿真的場合。構建最小系統(tǒng)

Mega16最小系統(tǒng)3此最小系統(tǒng)適合于對時鐘要求不嚴格,不使用片上ADC與模擬比較器,需要ISP下載與Jtag仿真的場合。構建LT-Mini-M16

學習板初學者應該學習的內(nèi)容IO口輸出操作:流水燈,蜂鳴器,數(shù)碼管IO口輸入操作:普通按鍵,4X4矩陣鍵盤外部中斷:按鍵觸發(fā)中斷定時器溢出功能的操作:閃爍燈初學者進階內(nèi)容USART:與PC機通訊SPI:時鐘芯片DS1302ADC:電位器調(diào)整電壓,單次采樣IIC:EEPROM芯片AT24C02LCD1602,LCD12864:相當于普通IO口的輸出操作單片機常用外圍器件簡介學習板元件逐個數(shù)40腳IC座排針電阻電容排阻電位器晶振按鍵電源開關BD9串口座LED發(fā)光二極管4位數(shù)碼管蜂鳴器穩(wěn)壓芯片ASM1117-3.3MAX232DS1302DS18B20AT24C02PCB技術與Protel簡介PCB是印刷電路板〔PrintedCircuitBoard〕的縮寫,顧名思義,就是把導線印刷在板子上。覆銅板印刷感光膠曝光鉆孔化學腐蝕金屬化過孔噴絕緣漆印刷絲印層切割Protel軟件是最流行的PCB設計軟件,可以在電腦上完成PCB的設計,然后送到PCB加工廠出板。常用版本:Protel99SE,ProtelDXP2004,AltiumDesigner6〔AD6〕AD6是最新版本,風格與ProtelDXP2004區(qū)別不大。本教程采用AD6環(huán)境進行演示。實戰(zhàn):

用AD6.7設計AVR學習板Protel設計PCB步驟如下:1.繪制元件的PCB封裝庫〔.pcblib〕2.繪制元件的原理圖庫〔.schlib〕3.繪制原理圖〔.schdoc〕4.將原理圖導入PCB文件〔.pcbdoc〕5.元件布局6.布線7.敷銅AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16

力天電子版權所有

2008年9月第三講

AVR開發(fā)根底知識本講內(nèi)容:AVR開發(fā)工具簡介及開發(fā)環(huán)境的建立計算機原理根底知識講解C語言根底知識講解AVR開發(fā)工具簡介軟件開發(fā)工具編譯環(huán)境:WinAVR下載軟件:MuCodeISP仿真環(huán)境:AVRStudio集成環(huán)境:AVRStudio,可以內(nèi)聯(lián)WinAVR成為一個具有編譯、仿真、下載功能的集成環(huán)境硬件開發(fā)工具:下載線仿真器學習板〔或手工焊接的系統(tǒng)板〕工具手冊:WinAVR技術手冊ATmega16官方中文版技術手冊WinAVRLinux系統(tǒng)的GCC工具鏈在Windows環(huán)境的移植請觀看安裝與使用過程下載軟件MuCodeISP

下載線下載線的作用:修改熔絲位向單片機Flash中下載程序代碼下載軟件MuCodeISP下載軟件有很多,但推薦初學者使用MuCodeISP,優(yōu)點是熔絲位設置很清晰,不至于設錯而鎖死芯片下載線有很多種,最常用的是插在計算機并口上的STK200/300可以使用力天電子出品的STK200/300下載線請觀看使用方法AVRStudio

仿真器JtagICEAVRStudio是Atmel公司官方的匯編、下載與仿真軟件可以內(nèi)聯(lián)WinAVR獲得C語言編譯能力JtagICE是Atmel公司官方的仿真調(diào)試器,但已經(jīng)被仿制,價格比官方版本要廉價十倍可以使用力天電子出品的JtagICE請觀看安裝過程與使用方法計算機原理根底知識數(shù)制存儲器:RAM與ROMCPU數(shù)制數(shù)制就是一位數(shù)字能夠表示的數(shù)的數(shù)量,N進制數(shù)的進位規(guī)那么是“馮N進1”常用的數(shù)制有十進制、二進制、十六進制人類有十個指頭,所以習慣采用十進制計算機只能識別0和1,采用二進制為了計算機學中的數(shù)據(jù)書寫方便,采用十六進制位與字節(jié)的概念:位〔bit〕:簡寫為b,表示二進制數(shù)的一位。字節(jié)〔Byte〕:簡寫為B,8位為一字節(jié)。數(shù)制轉(zhuǎn)換工具:Windows自帶的計算器三種數(shù)制的轉(zhuǎn)換表十進制:馮十進一二進制:馮二進一十六進制:馮十六進一位和字節(jié)1Byte=8bit1字節(jié)=2位十六進制數(shù)例:0x55=0b01010101=850xA3=0b10100011=163存儲器:RAM與ROM對于8位單片機,其內(nèi)部存儲器均為8位。RAM與ROM的模型CPUCPU即為中央處理器取指令-執(zhí)行C語言根底知識講解變量運算符語句函數(shù)順序語句選擇語句循環(huán)語句數(shù)組和指針變量、運算符、語句變量:變量就是存儲于RAM或ROM中的數(shù)據(jù)變量的分類:單片機中比較常用的是字符型(char)和整型(int)實型(float)變量在單片機C語言中一般用不到運算符:類似于數(shù)學運算中的運算符號語句:C語言中以分號作為一條語句的結(jié)束習慣上每條語句單獨占用一行,但也可以每行有多條語句,用分號隔開即可字符型變量占用存儲器中的1個字節(jié)空間,即8位二進制數(shù)取值范圍:0~(28-1)即0~255可以賦值為整數(shù)或ASCII碼charzifu=97;charzifu=‘a(chǎn)’;舉例:請觀看演示整型變量占用存儲器中的2個字節(jié),即16位二進制數(shù)有無符號子類型:unsignedint:無符號整型。取值范圍0~(216-1)即0~65535signedint:有符號整型,signed可以省略.取值范圍-215~(215-1)即-32768~32767舉例:請觀看演示長整型取值范圍更大的int子類型:longint:長整形,長度為32位,即4個字節(jié)longlongint:長度為64位,即8個字節(jié)舉例:請觀看演示常用的運算符賦值=加+減–乘*除/括號()求余%與&或|取反~異或^左移<<右移>>邏輯與&&邏輯或||AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第四講

C語言的流水燈驗證本講內(nèi)容:AVR的IO口簡介與存放器的概念IO口設置為輸出狀態(tài)循環(huán)語句、C語言的流水燈驗證蜂鳴器根本概念何謂“存放器”存放器就是RAM中的一些特殊單元,映射片上外設的特殊功能何謂“IO口”可以將“0”與“1”轉(zhuǎn)換為電壓信號的端口單片機中最常用的TTL電平:0V代表“0”,+5V代表“1”Mega16有4個IO口:PA,PB,PC,PDIO口的性能指標灌電流能力:能夠流入IO口的最大電流拉電流能力:能夠從IO口流出的最大電流上拉電阻與下拉電阻最大輸入電壓IO口的兩種狀態(tài)IO口的兩種狀態(tài)輸入口模型輸出口模型IO口的輸出性能指標AVR的IO口灌電流能力與拉電流能力均達30mA51的拉電流能力<100uA,灌電流能力10mA灌電流能力:能夠流入IO口的最大電流拉電流能力:能夠從IO口流出的最大電流IO口的輸入性能指標能夠承受的最大輸入電壓范圍是否有上拉電阻AVR的IO口輸入狀態(tài)時可配置上拉電阻,值為100k數(shù)量級最大輸入電壓范圍:-0.5V~Vcc+0.5VIO、存放器與變量IO口與IO存放器的映射〔x代表A~D〕方向存放器:DDRx數(shù)據(jù)存放器:PORTx輸入存放器:PINxC語言變量與存放器的映射io.h這個文件中將所有存放器映射為同名的變量,對這些變量的讀寫相當于對存放器的讀寫輸出狀態(tài)IO存放器設置DDRx某一位置1,相應位的IO口被設置為輸出PORTx某一位置1或0,對應IO口相應位的電平上下C語言與硬件環(huán)境的映射C語言的流水燈驗證8位流水燈可用于指示8位二進制數(shù)對IO存放器進行移位運算,即可實現(xiàn)流水燈效果循環(huán)語句while語句for語句各種運算符的流水燈驗證賦值=加+減–乘*除/括號()求余%與&或|取反~異或^左移<<右移>>邏輯與&&邏輯或||邏輯非!位運算將某一位置1、置0、取反置1:相應位與1進行按位或|運算置0:相應位與0進行按位與&運算取反:相應位與1進行按位異或^運算移位運算符:左邊為最高位,右邊為最低位左移<<:左移n位相當于乘2n運算,左側(cè)n位丟棄,右側(cè)補n個0右移>>右移n位相當于乘2-n運算,右側(cè)n位丟棄,左側(cè)補n個0蜂鳴器有源蜂鳴器加上電源電壓即可發(fā)出鳴叫聲,消耗電流20mA左右AVR的蜂鳴器驅(qū)動電路IO口直接驅(qū)動傳統(tǒng)的蜂鳴器驅(qū)動電路三極管驅(qū)動IO口輸出操作總結(jié)第一步:IO設置為輸出DDRB=0xff;DDRB|=(1<<5);//第五位設為輸出第二步:對應位輸出數(shù)據(jù)輸出1:PORTB|=(1<<5);//第五位輸出高電平輸出0:PORTB&=~(1<<5);//第五位輸出低電平對應位取反:PORTB^=(1<<5);//第五位取反AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第五講

按鍵與數(shù)碼管的程序設計本講內(nèi)容:AVRIO口的輸入模式與上拉電阻選擇結(jié)構語句與按鍵的查詢方式程序設計數(shù)碼管根本原理掃描方式顯示多位數(shù)碼管輸入狀態(tài)IO存放器設置輸入狀態(tài)IO存放器設置DDRx某一位置0,相應位的IO口被設置為輸入PORTx某一位置1,使能對應IO口相應位的上拉電阻PINx的對應位是輸入的數(shù)據(jù),0或1選擇結(jié)構語句關系運算符和關系表達式小于<小于或等于<=大于>大于或等于>=等于==不等于!=邏輯運算符和邏輯表達式邏輯與&&邏輯或||邏輯非!if語句結(jié)構if(表達式1)語句1elseif(表達式2)語句2else語句3switch語句結(jié)構switch(表達式){case常量1:表達式1case常量2:表達式2…default:表達式n}按鍵的查詢方式程序設計PIND&(1<<6)1<<6:1左移6位,即:0b01000000PIND&(1<<6)將除第6位之外其他位清零第6位保持輸入的值與選擇結(jié)構語句的結(jié)合判斷PIND&(1<<6)的值,執(zhí)行相應代碼八段數(shù)碼管八段數(shù)碼管由八段LED構成各LED陰極或陽極并在一起,稱為“位選線”:共陰、共陽其余8個引腳各自引出,稱為“段選線”,各段可以分別控制多位合一的數(shù)碼管多位合一的數(shù)碼管將多個八段數(shù)碼管的段選線分別并在一起,位選線引出數(shù)碼管掃描原理數(shù)碼管掃描原理多位數(shù)碼管的各個位均可以單獨顯示不同的數(shù)據(jù),但一個時刻只能點亮一位依次點亮多位數(shù)碼管中的各個位,由于人眼的視覺暫留效應,看起是來多位同時點亮請觀看程序演示AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第六講

中斷與定時器本講內(nèi)容:中斷的概念M16的外部中斷定時器的概念M16的定時器中斷方式使用定時器中斷的概念在程序運行期間,發(fā)生非預期的緊急事件通常是為了防止查詢方式的程序設計用得最多的是外部中斷與定時器中斷外部中斷:按鍵程序定時器中斷:定時與循環(huán)掃描等應用場合中斷效勞程序中斷發(fā)生時,主程序暫停,跳轉(zhuǎn)到中斷效勞程序,稱為“響應中斷”執(zhí)行完畢后返回主程序繼續(xù)運行M16的外部中斷M16具有3個外部中斷INT0、INT1:支持4種觸發(fā)模式,同步觸發(fā)INT2支持2種觸發(fā)模式,異步觸發(fā)中斷相關庫函數(shù)的頭文件avr/interrupt.h中斷效勞程序SIGNAL(SIG_INTERRUPT0){ //此處添加中斷效勞代碼}中斷有關的存放器MCUCRMCUCSRGICR外部中斷使用步驟第1步:包含頭文件#include<avr/interrupt.h>第2步:設置中斷觸發(fā)方式任意邏輯電平變化:MCUCR|=(1<<ISC10);下降沿觸發(fā):MCUCR|=(1<<ISC10)|(1<<ISC11);上升沿觸發(fā):MCUCR|=(1<<ISC11);第3步:使能響應相應外部中斷GICR|=(1<<INT0);第4步:使能全局中斷sei();第5步:編寫中斷效勞程序SIGNAL(SIG_INTERRUPT0){}定時器的概念8位定時/計數(shù)器的模型1個8位長度計數(shù)存放器,可以對其進行讀寫1個時鐘輸入端口,計數(shù)存放器對時鐘輸入端口的時鐘脈沖個數(shù)進行加1計數(shù),即每來一個時鐘脈沖,存放器的數(shù)值自加1如何實現(xiàn)精確定時?給計數(shù)存放器設定初值n0給時鐘輸入端口輸入一個頻率精確的方波方波周期為t0計數(shù)器計數(shù)到256時定時器溢出,時間間隔為:△T=(256–n0)×t0定時器溢出時可以產(chǎn)生中斷定時器溢出方式的應用M16的定時器08位定時器具有PWM功能定時器0相關存放器T/C控制存放器-TCCR0設置時鐘源頻率T/C存放器-TCNT0計數(shù)存放器T/C中斷屏蔽存放器-TIMSK需要使用溢出中斷時T/C中斷標志存放器-TIFR查詢是否溢出定時器0溢出方式

查詢模式使用步驟第1步:設置TC存放器初值TCNT0=55;第2步:開啟時鐘,同時TC0啟動TCCR0|=(1<<CS01);第3步:查詢TIFR存放器的TOV0位while(!(TIFR&TOV0));定時器0溢出方式

中斷模式使用步驟第1步:包含中斷函數(shù)頭文件#include<avr/interrupt.h>第2步:設置TC存放器初值TCNT0=55;第3步:使能TC0溢出中斷TIMSK|=(1<<TOIE0);第4步:編寫TC0溢出中斷效勞程序SIGNAL(SIG_SIG_OVERFLOW0){//此處添加中斷效勞程序代碼}第5步:開啟時鐘,同時TC0啟動TCCR0|=(1<<CS01);第6步:使能全局中斷sei();AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第七講

異步串行口UART本講內(nèi)容:串行通訊技術概述異步串行通訊原理UART與電腦的通訊M16的USART中斷方式使用USART步驟串行通訊技術概述串行通訊的通俗定義:一次發(fā)送一位串行通訊的分類:同步串行通訊時鐘線、數(shù)據(jù)線,通過時鐘保持數(shù)據(jù)同步SPI,IIC異步串行通訊只有一根數(shù)據(jù)線,通過波特率保證數(shù)據(jù)同步UART無線通信一般均為異步串行通信異步串行通訊原理波特率每秒發(fā)送碼元的位數(shù),單位bps9600bps:每個碼元時間寬度為(1/9600)S發(fā)送方按照波特率發(fā)出數(shù)據(jù)接收方按照波特率確定的碼元時間寬度對數(shù)據(jù)進行采樣幀格式8位數(shù)據(jù)格式接線圖發(fā)送端:TXD接收端:RXD交叉連接串口與PC機的通訊RS232電平標準邏輯1:-15V邏輯0:+15VDB9接口定義TXD、RXD、GND三根線即可滿足絕大多數(shù)應用場合M16的USART特點全雙工操作(獨立的串行接收和發(fā)送存放器)異步或同步操作支持5,6,7,8,或9個數(shù)據(jù)位和1個或2個停止位硬件支持的奇偶校驗操作三個獨立的中斷源噪聲濾波,包括錯誤的起始位檢測,以及數(shù)字低通濾波器USART存放器UDRUCSRAUCSRBUCSRCUBRRL與UBRRH中斷方式使用USART步驟第1步:設置波特率#defineF_CPU16000000#defineBAUD9600UBRRH=(F_CPU/BAUD/16-1)/256;UBRRL=(F_CPU/BAUD/16-1)%256;第2步:使能發(fā)送、接收、接收完成中斷UCSRB|=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE);第3步:使能全局中斷sei();第4步:查詢方式發(fā)送、中斷方式接收發(fā)送:while(!(UCSRA&(1<<UDRE))); UDR=c;接收中斷:c=UDR;AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第八講

SPI串行口與DS1302本講內(nèi)容:同步串行口SPI的根本原理DS1302的接口時序圖DS1302的使用M16的SPI的使用SPI根本原理同步串行口利用時鐘線對串行數(shù)據(jù)進行同步上升沿或者下降沿鎖存數(shù)據(jù)4線SPI:全雙工SS,SCLK,MOSI,MISO3線SPI:半雙工SS,SCLK,DIOSPI時序圖按照時序圖編寫IO程序上升沿:PORTB&=~(1<<5);asm(“NOP”);PORTB|=(1<<5);下降沿:PORTB|=(1<<5);asm(“NOP”);PORTB&=~(1<<5);DS1302的接口時序圖

與AVR的接線圖時序圖見DS1302的官方技術文檔與AVR之間的接線圖3線SPI與4線SPI的互聯(lián)DS1302的使用等效于一部電子萬年歷可以讀出年月日時分秒星期等時間信息可以對上述信息進行設置,“校表”外圍元器件32768Hz晶振備份電池數(shù)據(jù)傳輸模式單字節(jié)傳輸模式突發(fā)傳輸模式IO口模擬SPI時序M16的SPI功能強大的AVRSPI全雙工支持全部四種SPI模式主機或從機模式可配置的SPI位速率,最高達8MHzSPI存放器設置SPI控制存放器-SPCRSPI狀態(tài)存放器-SPSRSPI數(shù)據(jù)存放器-SPDRSPI初始化函數(shù)與讀寫1字節(jié)函數(shù)AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第九講

IIC(TWI)接口與AT24C02本講內(nèi)容:IIC總線定義與特點I2C總線的工作原理AVR的TWI模塊的使用方法AT24C02I2C總線定義I2C(Inter-IntegratedCircuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設備開發(fā),如今主要在效勞器管理中使用,其中包括單個組件狀態(tài)的通信。例如管理員可對各個組件進行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風扇??呻S時監(jiān)控內(nèi)存、硬盤、網(wǎng)絡、系統(tǒng)溫度等多個參數(shù),增加了系統(tǒng)的平安性,方便了管理。TWI:ATMega系列單片機片內(nèi)集成兩線制串行接口模塊,Atmel文檔稱它為TWI接口。事實上TWI與PHILIPS的I2C總線是同一回事,之所以叫它TWI是因為這樣的命名可使Atmel防止交術語版稅。所以,TWI是兼容I2C的一種說法。I2C總線的特點I2C總線最主要的優(yōu)點是其簡單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)本錢??偩€的長度可高達25英尺,并且能夠以10Kbps的最大傳輸速率支持40個組件。I2C總線的另一個優(yōu)點是,它支持多主控(multimastering),其中任何能夠進行發(fā)送和接收的設備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當然,在任何時間點上只能有一個主控。I2C總線多機通訊I2C總線的工作原理I2C總線是由數(shù)據(jù)線SDA和時鐘SCL構成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上并接的每一模塊電路既是主控器〔或被控器〕,又是發(fā)送器〔或接收器〕,這取決于它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和控制量兩局部,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別〔如比照度、亮度等〕及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關。I2C總線的工作原理I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:開始信號、結(jié)束信號和應答信號。開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。結(jié)束信號:SCL為高電平時,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。應答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個信號后,等待受控單元發(fā)出一個應答信號,CPU接收到應答信號后,根據(jù)實際情況作出是否繼續(xù)傳遞信號的判斷。假設未收到應答信號,由判斷為受控單元出現(xiàn)故障。這些信號中,起始信號是必需的,結(jié)束信號和應答信號,都可以不要。I2C總線的時序圖AVR的TWI模塊本局部結(jié)合ATmega16的技術文檔講解AT24C02AT24C02是由ATMEL公司提供的,I2C總線串行EEPROM,其容量為2Kbit〔256B〕,工作電壓在2.7V~5.5V之間,生產(chǎn)工藝是CMOS工藝。各引腳功能如下。A2~A0:器件地址選擇引腳。將這3個引腳配置成不同的編碼值,在同一串行總線上最多可擴充8片同一容量或不同容量的24系列串行EEPROM芯片。SDA:串行數(shù)據(jù)輸入輸出口,是一個雙向的漏極開路結(jié)構的引腳,容量擴展時可以將多片24系列的SDA引腳直接相連。SCL:串行移位時鐘控制端。寫入時上升沿起作用,讀出時下降沿起作用。WP:硬件寫保護控制引腳。當其為低電平時,正常寫操作,高電平時,對EEPROM局部存儲區(qū)域提供硬件寫保護功能,即對被保護區(qū)域只能讀不能寫。GND:接地。VCC:接+5V電壓電路設計程序流程容量計算方法AT24Cxx:01~1024容量=xxX1Kbit型號系列列表AT24C01 1K(128X8)AT24C02 2K(256X8)AT24C04 4K(512X8)AT24C08 8K(1KX8)AT24C16 16K(2KX8)AT24C512 512K(64KX8)AT24C1024 1M(128KX8)AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第十講

ATmega16的ADC本講內(nèi)容:模數(shù)轉(zhuǎn)換技術概述性能指標:速度與精度AVR的模數(shù)轉(zhuǎn)換器模數(shù)轉(zhuǎn)換技術概述所謂模數(shù)轉(zhuǎn)換,就是將模擬信號〔電壓或電流〕通過模數(shù)轉(zhuǎn)換器〔ADC〕轉(zhuǎn)換成數(shù)字電路〔例如單片機〕可以處理的數(shù)字量形象的說,ADC就是一個單片機可以對其進行讀取的數(shù)字電壓表〔電流表〕性能指標:速度與精度轉(zhuǎn)換速率:每秒鐘采樣的次數(shù)。常用單位:SPS〔每秒次〕KSPS〔每秒千次〕MSPS〔每秒百萬次〕。越快越好。轉(zhuǎn)換精度:轉(zhuǎn)換結(jié)果的有效位數(shù)〔二進制〕。單位:位AVR的片上ADC:最高轉(zhuǎn)換速率:15kSPS最高轉(zhuǎn)換精度:10位AVR的模數(shù)轉(zhuǎn)換器AVR片上ADC的特點:10位精度0.5LSB的非線性度±2LSB的絕對精度65-260μs的轉(zhuǎn)換時間最高分辨率時采樣率高達15kSPS8路復用的單端輸入通道7路差分輸入通道2路可選增益為10x與200x的差分輸入通道可選的左對齊ADC讀數(shù)0-VCC的ADC輸入電壓范圍可選的2.56VADC參考電壓連續(xù)轉(zhuǎn)換或單次轉(zhuǎn)換模式通過自動觸發(fā)中斷源啟動ADC轉(zhuǎn)換ADC轉(zhuǎn)換結(jié)束中斷基于睡眠模式的噪聲抑制器使用流程:1.初始化相關存放器2.讀取轉(zhuǎn)換結(jié)果3.平滑濾波4.進行單位制變換AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第十一講

液晶顯示模塊的使用本講內(nèi)容:液晶顯示技術概述LCD顯示的原理LCD控制器與LCD模塊LCD模塊使用方法液晶顯示技術概述液晶〔LiquidCrystal〕是一種高分子材料,因為其特殊的物理、化學、光學特性,20世紀中葉開始被廣泛應用在輕薄型的顯示技術上。人們熟悉的物質(zhì)狀態(tài)〔又稱相〕為氣、液、固,較為生疏的是電漿和液晶〔LiquidCrystal,簡稱LC〕。液晶相要具有特殊形狀分子組合始會產(chǎn)生,它們可以流動,又擁有結(jié)晶的光學性質(zhì)。液晶的定義,現(xiàn)在以放寬而囊括了在某一溫度范圍可以是現(xiàn)液晶相,在較低溫度為正常結(jié)晶之物質(zhì)。而液晶的組成物質(zhì)是一種有機化合物,也就是以碳為中心所構成的化合物。同時具有兩種物質(zhì)的液晶,是以分子間力量組合的,它們的特殊光學性質(zhì),又對電磁場敏感,極有實用價值。特點:輕薄低功耗LCD顯示的原理液晶顯示材料最常見的用途是電子表和計算器的顯示板,這種液態(tài)光電顯示材料,利用液晶的電光效應把電信號轉(zhuǎn)換成字符、圖像等可見信號。液晶在正常情況下,其分子排列很有秩序,顯得清澈透明,一旦加上直流電場后,分子的排列被打亂,一局部液晶變得不透明,顏色加深,因而能顯示數(shù)字和圖象。液晶顯示器的英文縮寫為LCD。LCD顯示的原理:兩片玻璃片分別鍍有透明的導電鋁箔,上下外表兩條鋁條加電壓,其交叉點上的液晶會變得渾濁LCD控制器與LCD模塊LCD控制芯片專門用于LCD的驅(qū)動與控制,在單片機與LCD屏之間提供一個良好的接口LCD模塊:將LCD控制芯片與LCD屏集成在一起,方便單片機等可編程芯片對其進行控制LCD模塊的種類:筆段型字符型:顯示字符位數(shù),常見的有1602(16字符X2行)點陣型(圖形液晶):點數(shù)(X*Y),常見的有12864(128點X64點)LCD模塊使用方法結(jié)合技術文檔講解AVR單片機軟硬件設計教程-入門篇

——學單片機就要學AVR!

主講:尹延輝策劃:張勇

學習板:LT-Mini-M16 力天電子版權所有 技術交流QQ群:31646346

2008年9月第十二講

工程實例:多功能電子鐘本講內(nèi)容:工程設計要求工程規(guī)劃DS18B20的使用方法程序流程工程設計要求設計要求:設計制作一個多功能電子鐘,具備年月日時分秒顯示功能,掉電后時鐘信息不會喪失。具備顯示當前環(huán)境溫度功能。顯示器可以在字符液晶與數(shù)碼管之間切換選擇。電子鐘通過USART與PC機通訊,通過串口調(diào)試助手設置時間。通過四個按鍵切換顯示模式與數(shù)碼管顯示內(nèi)容。具有數(shù)字電壓表功能,能夠測量0~2.5V范圍內(nèi)的電壓并在字符型液晶上顯示。采用AVR單片機ATmega16。工程規(guī)劃時鐘功能的實現(xiàn):AVR單片機自帶RTC功能,但C語言實現(xiàn)日歷功能比較復雜,且ATmega16的功耗不夠低(ATmega48V是典型的低功耗AVR)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論