鑰匙搜尋器課程設計_第1頁
鑰匙搜尋器課程設計_第2頁
鑰匙搜尋器課程設計_第3頁
鑰匙搜尋器課程設計_第4頁
鑰匙搜尋器課程設計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄摘要 1 STM32的概述 1.1 STM32F10系列 1.2 STM32F10x重要參數(shù) 1.3 STM32架構的優(yōu)勢 2 無線收發(fā)器NRF24L01的介紹 2.1性能參數(shù) 原理圖 引腳定義 3程序設計 接受模塊程序設計 4原理圖設計 原理圖 接受模塊原理圖 總設計原理圖 5參考文獻 摘要:忘性比記性好的你是不是會經(jīng)常鑰匙不知道丟到了哪里?愛丟三落四的老婆是不是經(jīng)常讓你幫忙找鑰匙找到心煩?找呀找找呀找!鑰匙不見了,可能是家門鑰匙、辦公室鑰匙、抽屜鑰匙為什么鑰匙總不見?鑰匙尋找器一定會幫到你的大忙,這款外觀設計雅致, 在鑰匙那里安裝一個無線接收器(射頻),在搜尋器那里安裝發(fā)射器(射頻)

2、,如果接收器接收到信號就,蜂鳴器開始工作。這樣就可以找到鑰匙。解決找不到鑰匙的煩惱。使用簡單,隨時可找到鑰匙,再也不用為找不到鑰匙而發(fā)愁了。當然,除了鑰匙你也可使用在任何生活物品上,一按就找到。關鍵詞:鑰匙 搜尋器 蜂鳴器1 STM32的概述STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內(nèi)核。按性能分成兩個不同的系列:STM32F103“增強型”系列和STM32F101“基本型”系列。增強型系列時鐘頻率達到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳

3、選擇。兩個系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場上功耗最低的產(chǎn)品,相當于0.5mA/MHz。1.1 STM32F10系列簡介ARM公司的高性能”Cortex-M3”內(nèi)核 一流的外設 1s的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉速度 低功耗 在72MHz時消耗36mA(所有外設處于工作狀態(tài)),待機時下降到2A 最大的集成度 復位電路、低電壓檢測、調壓器、精確的RC振蕩器等 簡單的結構和易用的工具 1.2 STM32F10x重要參數(shù)2V-3.

4、6V供電 容忍5V的I/O管腳 優(yōu)異的安全時鐘模式 帶喚醒功能的低功耗模式 內(nèi)部RC振蕩器 內(nèi)嵌復位電路 工作溫度范圍: -40°C至+85°C或105°C1.3 STM32架構的優(yōu)勢除新增的功能強化型外設接口外,STM32互連系列還提供與其它STM32微控制器相同的標準接口,這種外設共用性提升了整個產(chǎn)品家族的應用靈活性,使開發(fā)人員可以在多個設計中重復使用同一個軟件。新STM32的標準外設包括10個定時器、兩個12位1-Msample/s 模數(shù)轉換器 (交錯模式下2-Msample/s)、兩個12位數(shù)模轉換器、兩個I2C接口、五個USART接口和三個SPI端口。新

5、產(chǎn)品外設共有12條DMA通道,還有一個CRC計算單元,像其它STM32微控制器一樣,支持96位唯一標識碼。2 無線收發(fā)器NRF24L01的介紹nRF24L01是由NORDIC1生產(chǎn)的工作在2.4GHz2.5GHz的ISM 頻段的單片無線收發(fā)器芯片。無線收發(fā)器包括:頻率發(fā)生器、增強型“SchockBurst”模式控制器、功率放大器、晶體振蕩器、調制器和解調器。輸出功率頻道選擇和協(xié)議的設置可以通過SPI 接口進行設置。幾乎可以連接到各種單片機芯片,并完成無線數(shù)據(jù)傳送工作。 極低的電流消耗:當工作在發(fā)射模式下發(fā)射功率為0dBm 時電流消耗為11.3mA ,接收模式時為12.3mA,掉電模式和待機模式

6、下電流消耗更低。 性能參數(shù) 小體積,QFN20 4x4mm封裝 寬電壓工作范圍,1.9V3.6V,輸入引腳可承受5V電壓輸入 工作溫度范圍,-40+80 工作頻率范圍,2.400GHz2.525GHz 發(fā)射功率可選擇為0dBm、-6dBm、-12dBm和-18dBm 數(shù)據(jù)傳輸速率支持1Mbps、2Mbps2 低功耗設計,接收時工作電流12.3mA,0dBm功率發(fā)射時11.3mA,掉電模式時僅為900nA 126個通訊通道,6個數(shù)據(jù)通道,滿足多點通訊和調頻需要 增強型“ShockBurst”工作模式,硬件的CRC校驗和點對多點的地址控制 數(shù)據(jù)包每次可傳輸132Byte的數(shù)據(jù) 4線SPI通訊端口,

7、通訊速率最高可達8Mbps,適合與各種MCU連接,編程簡單 可通過軟件設置工作頻率、通訊地址、傳輸速率和數(shù)據(jù)包長度 MCU可通過IRQ引腳快判斷是否完成數(shù)據(jù)接收和數(shù)據(jù)發(fā)送 原理圖電路原理nRF24L01原理圖   引腳定義nRF24L01引腳定義 3.程序設計發(fā)送的程序#include "stm32f10x.h"#include "stm32_eval.h"#include "delay.h" #include "NRF24L01.h"#include "spi.h"#inc

8、lude "stdio.h"/管腳PB7,PB8的初始化函數(shù)void GPIO_KEY_Config(void) GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_Init(GPIOB, &GPIO_InitStructure); RCC_APB2Per

9、iphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_Init(GPIOB, &GPIO_InitStructure);/發(fā)送信號函數(shù),向接收端發(fā)送信號S,接收不成功則顯示"請確認接收端是否正常"u8 send_data(u8 data) TX_Mode();/將射頻模塊NRF24L01設置為發(fā)送模式;delay_ms(500);/延遲以等待接收設備有

10、足夠時間轉換成接收模式printf("nr正在發(fā)送數(shù)據(jù)(數(shù)字化): "); if(NRF24L01_TxPacket(data)=TX_OK)/進行發(fā)送 delay_ms(500);return 1; else /若發(fā)送不成功,顯示”請確認接收端是否正?!?printf("nr請確認接收端是否正常"); delay_ms(500);return 0; /主函數(shù) int main(void) GPIO_KEY_Config();/初始化管腳PB7; NRF24L01_Init(); /初始化射頻模塊NRF24L01; while(NRF24L01_Chec

11、k()/對射頻模塊進行檢測,若射頻模塊NRF24L01線路連接出錯,則顯示"nRF24L01檢測出錯!請確認nRF24L01的連接!" printf("nRF24L01檢測出錯!請確認nRF24L01的連接! nr");delay_ms(1000); /進入死循環(huán),不斷查詢按鍵是否被按下,若按下則發(fā)送信息's'給接收端; while(1) if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7) send_data('o'); delay_ms(100); if(GPIO_ReadInputDa

12、taBit(GPIOB,GPIO_Pin_8) send_data('s'); delay_ms(100); return 0;接收的程序#include "stm32f10x.h"#include "stm32_eval.h"#include "delay.h" #include "NRF24L01.h"#include "spi.h"#include "stdio.h"/蜂鳴器的初始化函數(shù)void BEEP_config(void) GPIO_InitTy

13、peDef GPIO_InitStructure; /*使能蜂鳴器使用的GPIO時鐘*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); /*初始化蜂鳴器使用的GPIO管腳*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure

14、); /主函數(shù) int main(void) u8 receive_data; /定義初始化接收數(shù)據(jù)變量; BEEP_config();/初始化蜂鳴器NRF24L01_Init(); /初始化射頻模塊NRF24L01 while(NRF24L01_Check()/對射頻模塊進行檢測,若射頻模塊NRF24L01線路連接出錯,則顯示"nRF24L01檢測出錯!請確認nRF24L01的連接!" printf("nRF24L01檢測出錯!請確認nRF24L01的連接! nr");delay_ms(1000); /進入死循環(huán),不斷查詢按鍵是否接收到數(shù)據(jù),若接收到,

15、則根據(jù)信息來令蜂鳴器開啟或者關閉; while(1) RX_Mode(); /將射頻模塊NRF24L01設置為接收模式,隨時接收來自發(fā)送端的信息 delay_ms(500); if(NRF24L01_RxPacket(receive_data)=0)/一旦接收到信息,則打印信息:"接收到數(shù)據(jù)". printf("nr接收到數(shù)據(jù)");if(receive_data='o') /若接收到信息o,則開啟蜂鳴器 GPIO_SetBits(GPIOA, GPIO_Pin_12);/*開啟蜂鳴器*/if(receive_data='s') /若接收到信息s,則關閉蜂鳴器

溫馨提示

  • 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

提交評論