摘要:當(dāng)前的電動(dòng)小車(chē)基本上采取的是基于純硬件電路的一種開(kāi)環(huán)控制方法,具有直線行駛、前進(jìn)、后退、轉(zhuǎn)彎、停車(chē)等基本功能,但在某些特殊場(chǎng)合下卻不能采集到有用信息。文章正是在這種需要之下,以ATmega16單片機(jī)為控制核心,用RF2401無(wú)線收發(fā)模塊進(jìn)行遙控通信,用DS18B20進(jìn)行溫度檢測(cè),同時(shí)采用超聲波等傳感器材檢測(cè)信號(hào)和障礙物,最后充分利用單片機(jī)的串口資源和運(yùn)算、處理能力,開(kāi)發(fā)設(shè)計(jì)了一種智能控制系統(tǒng),從而實(shí)現(xiàn)了小車(chē)的測(cè)溫、躲避障礙物等功能。
1)那就是在之前的介紹中說(shuō)過(guò),在說(shuō)一遍~~主機(jī)和從機(jī)的兩個(gè)移位寄存器可以被認(rèn)為是一個(gè)公開(kāi)的16位環(huán)形移位寄存器,當(dāng)數(shù)據(jù)從主機(jī)移向從機(jī)時(shí),同時(shí)從機(jī)餓數(shù)據(jù)也向相反的放向移向主機(jī)。這就意味著在一個(gè)以為周期內(nèi),主機(jī)
五、ATMEGA16的USART與PC機(jī)串行通信五—(02)、PC機(jī)發(fā)送字符給單片機(jī),然后用液晶顯示發(fā)送的字符~~~這章節(jié)也是相對(duì)挺簡(jiǎn)單的~~直接上圖片吧~~基本上就這么點(diǎn)吧~~然后就是程序了,這里我只是粘貼一下重要的程序~~,有
九、ATMEGA16的模數(shù)轉(zhuǎn)換器九—(01)、ATMEGA16的模數(shù)轉(zhuǎn)換器的介紹1、介紹1)特點(diǎn):? 10 位 精度? 0.5 LSB 的非線性度? ± 2 LSB 的絕對(duì)精度? 65 - 260 μs 的轉(zhuǎn)換時(shí)間? 最高分辨率時(shí)采樣率高達(dá)15 kSPS? 8 路復(fù)用的單
五、ATMEGA16的USART與PC機(jī)串行通信五—(03)、PC機(jī)發(fā)送控制指令控制單片機(jī)工作~(這個(gè)控制還是比較簡(jiǎn)單的~~,不過(guò)個(gè)人認(rèn)為還是有水平的~)還是先上圖片~~,然后程序,程序師模塊化的,我盡量貼全點(diǎn)~~然后就是程序了
三、ATMEGA16驅(qū)動(dòng)16*2點(diǎn)陣字符液晶三—(01)、ATMEGA16驅(qū)動(dòng)16*2點(diǎn)陣字符液晶這篇文章只是簡(jiǎn)單的驅(qū)動(dòng)并讓1602顯示,并沒(méi)有用到讀數(shù)據(jù)和讀狀態(tài)的部分,也沒(méi)有用到讀寫(xiě)檢測(cè)(要是感興趣的話還是寫(xiě)寫(xiě)這里吧)1、那就是用
四、ATMEGA16的定時(shí)/計(jì)數(shù)器四—(01)、四位顯示秒表試驗(yàn)首先懷念一下咱們的體育課,再體育課或者田徑比賽的時(shí)候,老師會(huì)經(jīng)常使用秒表來(lái)記錄同學(xué)們的成績(jī)。在此,來(lái)進(jìn)行一個(gè)秒表的設(shè)計(jì)。(說(shuō)實(shí)話,這個(gè)秒表真的太貴了
//1號(hào)主機(jī):#include #include#include#include #defineucharunsigned char#defineSTATUS(TWSR&0xf8)#defineSLA_W0x32#defineSLA_R0x33#defineSLAVER_ADDRESS0x32#defineSTART0x08#defineRE_START0x10#defineMT_SLA_W
在設(shè)置之前呢,我得把ATMEGA16里面的datasheet里面的資料說(shuō)說(shuō),當(dāng)然是關(guān)于系統(tǒng)時(shí)鐘和時(shí)鐘選項(xiàng)的一、系統(tǒng)時(shí)鐘及時(shí)鐘選項(xiàng)(這里主要是介紹原理,三里面會(huì)介紹如何設(shè)置,其實(shí)你會(huì)了一,那后面的二和三就相當(dāng)簡(jiǎn)單了~~你懂
//------------------------------------------------------------------------------//ATMEGA16與PC機(jī)的通信實(shí)驗(yàn)1//PC機(jī)發(fā)送一個(gè)字符給單片機(jī),單片機(jī)收到后既在發(fā)光二極管進(jìn)行顯示,同時(shí)將其回傳給PC//單片機(jī)的發(fā)送
一、ATMEGA16的I\\0端口的使用:(只有一個(gè)實(shí)驗(yàn),下面的部分每個(gè)小節(jié)可能有幾個(gè)實(shí)驗(yàn)驗(yàn)證,你懂得)一—(01)、)—使用4*4行列式按鍵開(kāi)關(guān)的使用I/O端口介紹:直接一個(gè)圖就哦了,因?yàn)楦緵](méi)什么,就是控制寄存器(這里
#include #include #include interrupt.h>void port_init(void){ DDRB = 0xff; PORTB = 0xff; DDRD = 0x00; PORTD |= (1
/*********************************************File name : USART.c Chip type : ATmega16 Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Data
/*****************************************************File name : AD_onchip.c Chip type : ATmega16L Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM si
/************************************************** EEPROM讀寫(xiě)操作 晶振:內(nèi)部 8M***************************************************/#include#include#define uchar unsigned char#define uint unsigned int
五、ATMEGA16的USART與PC機(jī)串行通信五—(01)、PC機(jī)發(fā)送字符給單片機(jī)控制發(fā)光管亮,同時(shí)將其傳回PC機(jī),其中單片機(jī)的發(fā)送和接收都采用查詢(xún)方式(下一篇中有例程~)1、USART的主要特點(diǎn)通用同步和異步串行接收器和轉(zhuǎn)發(fā)
四、ATMEGA16的定時(shí)/計(jì)數(shù)器四—(02)、T/C1定時(shí)器A/B比較匹配中斷和溢出中斷實(shí)現(xiàn)LED亮度自動(dòng)調(diào)節(jié)啊~~~~~圖~~~~~這里沒(méi)有什么要注意的,只要理解并會(huì)控制T/C1的兩個(gè)比較匹配中斷A/B和溢出中斷,That's all ~~然后
下面就總結(jié)一下AVR單片機(jī)ATmega16的主要特點(diǎn):(注: 括號(hào)內(nèi)有紅色 *x*符號(hào)的表示文章下方會(huì)有解釋/擴(kuò)展)1) 采用 RISC 結(jié)構(gòu)的AVR內(nèi)核單片機(jī).131 條機(jī)器指令, 大多數(shù)指令為單個(gè)系統(tǒng)時(shí)鐘周期執(zhí)行的指令;32 個(gè) 8 位通用工作
十、ATMEGA16的同步串行接口SPI十—(03)、ATMEGA16的同步串行接口SPI的串行通訊實(shí)驗(yàn)—通過(guò)效率最高的中斷法~~然后就是程序了~~IAR10_2_M.c//-------------------------------------------------------------------
本程序參照馬潮mega128的編寫(xiě)。可支持485或232接口。變異軟件ICCAVR,上位機(jī)軟件應(yīng)用超級(jí)終端或avrubd等,Xmodem,9600,8,1,n#include #include #include #define SPM_PAGESIZE 128 //M16的一個(gè)Flash頁(yè)為128字節(jié)(