STM32-24L01-对讲机原理图

合集下载

24L01 台产资料

24L01 台产资料

一、模块介绍(1) 2.4Ghz 全球开放ISM 频段免许可证使用(2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合(3) 126 频道,满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA(6) 内置2.4Ghz 天线,体积种类多样(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8) 内置专门稳压电路,使用各种电源包括DC/DC 开关电源均有很好的通信效果(9) 2.54MM间距接口,DIP封装(10)工作于Enhanced ShockBurst 具有Automatic packet handling, Auto packet transaction handling,具有可选的内置包应答机制,极大的降低丢包率。

(11)与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要。

(12)其他系列的单片机,如果是5V的,请参考该系列单片机IO口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块! 如果是3.3V的,可以直接和RF24l01模块的IO口线连接。

比如AVR系列单片机如果是5V 的,一般串接2K 的电阻二、接口电路说明:1) VCC脚接电压范围为1.9V~3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。

推荐电压3.3V左右。

(2) 除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO 口直接相连,无需电平转换。

当然对3V左右的单片机更加适用了。

(3) 硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机真正的串口介入,只需要普通的单片机IO口就可以了,当然用串口也可以了。

(4) 如果需要其他封装接口,比如密脚插针,或者其他形式的接口,可以联系我们定做。

简易对讲机制作

简易对讲机制作

简易对讲机制作无线对讲机的原理什么是对讲机,它是一种双向移动通信工具,在不需要任何网络支持的情况下,就可以通话,没有话费产生,适用于相对固定且频繁通话的场合。

电路原理图:工作原理:如图,Q1高频管的集电集到发射极接有C4正反馈电容,这个正反馈信号会使用电路产生高频振荡,同时,由于天线会接收到空中的电磁波,并通过L加到T1,使得Q1能根据空间电磁破的变化而振荡也发生变化,起到灵敏度极高的超再生检波作用。

超再生检波出来的音频信号通过R4C9传输到Q2进行前置放大,经过前置放大后的信号就可以再经Q3推动、Q4、Q5功率放大去推动SP扬声器发出声音了,这就是对讲机的接收过程。

通过调节T1的磁芯、C1、C3、C4还可以改变接收信号的频率,当接收频率刚好等于当地广播电台的频率时,还可以当收音机用。

当需要讲话时,请接下“收”开关,这时,SP喇叭原本是接在输出发声的,现在变成了当作话筒来拾取音频信号了,SP的音圈随着声音的振动感应出微弱的电信号经过Q2放大,再经过经Q3推动、Q4、Q5功率放大后加到了Q1的集电集,Q1的集电极电压会随着声音的变化而变化,经过,导致了Q1的高频振荡信号幅射到空音的强弱也在随声音变化而变化,这时本机就相当于是一个小小的无线发射台了。

必须要注意一点的是:对讲机要保证发射的频率和接收的频率是一样,才能完成对讲。

名句赏析~~~~~不限主题不限抒情四季山水天气人物人生生活节日动物植物食物山有木兮木有枝,心悦君兮君不知。

____佚名《越人歌》人生若只如初见,何事秋风悲画扇。

____纳兰性德《木兰词?拟古决绝词柬友》十年生死两茫茫,不思量,自难忘。

____苏轼《江城子?乙卯正月二十日夜记梦》只愿君心似我心,定不负相思意。

____李之仪《卜算子?我住长江头》玲珑骰子安红豆,入骨相思知不知。

____温庭筠《南歌子词二首 / 新添声杨柳枝词》曾经沧海难为水,除却巫山不是云。

____元稹《离思五首?其四》愿得一心人,白头不相离。

stm32光电隔离电路原理

stm32光电隔离电路原理

stm32光电隔离电路原理
光电隔离电路利用光电传感器将光信号转换为电信号,并通过光电隔离器将电信号隔离开来,以防止干扰。

常见的光电隔离电路通常包括以下几个主要部分:
1. 光电传感器:光电传感器是将光信号转换为电信号的设备。

它通常由光敏元件和信号处理电路组成。

光敏元件可以是光敏电阻、光敏二极管、光敏三极管等。

光电传感器的输出电信号与输入光信号强度呈线性或非线性关系。

2. 光电隔离器:光电隔离器通常使用发光二极管 (LED) 和光敏三极管 (OPTOCOUPLER) 组成。

LED作为光源,将输入电信号转换为光信号发送出去,光敏三极管作为光电传感器,将光信号转换为电信号输出。

光电隔离器一般具有高隔离电压和高传递比,可以有效地隔离输入和输出电路。

3. 隔离电源:为了确保输入和输出电路之间的隔离效果,光电隔离电路通常需要使用独立的隔离电源。

隔离电源可以采用交流-直流变换器或者直流-直流变换器,将输入电路和输出电路完全隔离,以防止干扰的传导。

总体而言,光电隔离电路通过将输入电信号转换为光信号发送出去,再由光敏元件将光信号转换为输出电信号,实现了输入电路和输出电路的完全隔离,从而提高了系统的抗干扰能力和安全性。

在STM32控制器中,可以使用适当的电路连接光电传感器和光电隔离器,以实现光电隔离的功能。

基于STM32F103和nRF24L01的近程无线数传系统设计

基于STM32F103和nRF24L01的近程无线数传系统设计

基于STM32F103和nRF24L01的近程无线数传系统设计致芯科技最具实力的芯片解密、IC解密、单片机解密等解密服务机构,致芯科技拥有多年的解密服务经验和超高水平的解密技术,一直从客户利益出发,为每位客户提供最科学最合理最低成本的解密方案与解密服务,深受客户的信赖与喜爱。

近年来,随着无线通信技术的发展,无线通讯设备的集成化越来越高。

本文介绍了一种选用高性能、低功耗的32位微处理器STM32F103和射频收发芯片nRF24L01来设计短距离无线数据传输系统的具体方法。

短距离无线数传系统主要由电源管理器AMC7635、微控制器STM32F103、射频收发器nrf24l01三部分组成。

下面分别介绍其关键电路。

本设计的电源采用3.7V锂电池供电,然后经低压降电源管理芯片AMC7635,以产生3.0V的电压来为STM32F103和nRF24L01供电,图1所示是本系统的供电电路。

微控制器电路微控制器选用带ARMCortex-M3内核的STM32F103。

STM32F103控制器具有高性能、低功耗、低电压等特性,同时具有高集成度和易于开发的优势。

图2所示是该系统中的微控制器电路。

控制器与射频收发器nRF24L01的接口采用SPI 口来实现,即图2中SPICS、MOSI、MISO和SCK四条信号线和CE和INT0两条信号线。

另外,该控制器还可以扩展一路主板RS232口和8路GPIO口输出。

射频收发电路nRF24L01可工作于2.4GHz~2.5GHzISM频段,该收发器内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,是一款集成度较高的无线收发器。

nRF24L01的外部电路比较简单,而且融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。

同时,该芯片的功耗极低,在以-6dBm 的功率发射时,其工作电流只有9mA;而在接收时,工作电流只有12.3mA。

nRF24L01的控制电路可与STM32控制器的SPI口和GPIO口相连接。

STM32驱动NRF24L01

STM32驱动NRF24L01

STM32驱动NRF24L01
1. 简介
NRF24L01 是nordic 的无线通信芯片,它具有以下特点:
1)2.4G 全球开放的ISM 频段(2.400 - 2.4835GHz),免许可证使用;
2)最高工作速率2Mbps,高校的GFSK 调制,抗干扰能力强;
3)125 个可选的频道,满足多点通信和调频通信的需要;
4)内置CRC 检错和点对多点的通信地址控制;
5)低工作电压(1.9~3.6V),待机模式下状态为26uA;掉电模式下为
900nA;
6)可设置自动应答,确保数据可靠传输;
7)工作于EnhancedShockBurst 具有Automatic packet handling,Auto packet transaction handling ,可以实现点对点或是 1 对 6 的无线通信,速度可以达
到2M(bps),具有可选的内置包应答机制,极大的降低丢包率。

8)通过SPI 总线与单片机进行交互,最大通信速率为10Mbps;
1.1 结构框图
如图右侧为六个控制和数据信号,分别为CSN、SCK、MISO、MOSI、IRQ、CE。

信号线功能
CSN 芯片的片选线,CSN 为低电平芯片工作
SCK 芯片控制的时钟线(SPI 时钟)
MISO 芯片控制数据线(Master input slave output)
MOSI 芯片控制数据线(Master output slave input)
IRQ 中断信号。

无线通信过程中MCU 主要是通过IRQ 与NRF24L01 进。

24L01详细经验之谈

24L01详细经验之谈
#define RX_PW_P4 0x15 //接收频道0接收数据长度
#define RX_PW_P5 0x16 //接收频道0接收数据长度
#define FIFO_STATUS 0x17 // FIFO栈入栈出状态寄存器设置
可用以下语句调用
SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); //写本地地址
24L01被设置为接收模式后,可通过6个不同的数据通道(data pipe)接收数据。每个数据通道都有一个唯一的地址但是各数据通道的频率是相同的。这意味着可以有6个被配置成发送状态的nRF24L01可以和一个配置成接收状态的nRF24L01通信,并且接收方可以区分。
数据通道0有址前32位相同,而后8位不同。所有的数据通道都可以实现Enhanced ShockBurst模式。
void SetRX_Mode(void)
{
CE=0;
SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f);// IRQ收发完成中断响应,16位CRC,主接收
CE = 1;
Delay_us(15);//适当的延时将00001111写入config寄存器
}
以下是config寄存器说明
/*****************************模拟SPI时序****************************/
ucharSPI_RW(uchar ch)
{
ucharbit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++)
{
MOSI = (ch& 0x80);

STM32控制GSM模块原理图

STM32控制GSM模块原理图

V3.3 C109 100nF U102 RS232_TXD0 RS232_RXD3 UTXD STM_TXD3
C
16
Loud_SPK
VCC
13 8 11 10 1 3 4 5 2 6
R1IN R2IN T1IN T2IN C1+ C1C2+ C2V+ V-
R1OUT R2OUT T1OUT T2OUT
4
复位
3
NRST
NRST
C227 100n
C
摄像头电源
U206 Vin_5V R211 10K
2
S D 3
Vcamera_5V
SD卡电路
V3.3
1
cam_pwr_on_P25 R212 U207 390R 9013
蜂鸣器和指示灯
VBAT J204 V3.3
J205 V3.3 SD_CS SP2_MOSI SP2_CLK D202 C229 SP2_MISO 100n
GPRS模块唤醒电路
V3.3
Y202 8MHZ C226 33p
1 2 3 4 5 6 7 8 9 10 11 12
VDD_3 VSS_3 PB9/TIM4_CH4 PB8/TIM4_CH3 BOOT0 PB7/I2C1_SDA PB6/I2C1_SCL PB5/I2C1_SMBA PB4/NJTRST PB3/JTDO PA15/JTDI PA14/SWCLK
1
1
VCC
LX2 LX1 GND2 GND1 INFB
8 7 3 4
C114 100nF
J100
2
C102
SCP
6 5
OCP2020 100n/10V (X5R) R103 1K C103 2.2nF

最简单的调幅对讲机电路图

最简单的调幅对讲机电路图

现在的年轻人一上车就是拿起手机,跟远方的好友通话,还真是有天涯若比邻的感觉。

在四十年前那个没有手机的年代,所有无线电通讯器都是属于管制品,只有一种玩具型的低功率调幅对讲机,虽然只有两三百公尺的有限通话距离,却也是当时美国小孩子最喜欢的玩具,更曾经是销美电子产品的热门。

最近很难得我在网络上找到类似电路,虽然只是简单的四石电路(四个三极管),电路的功能却是很复杂,希望在解析其动作之后,能给读者有若干启发性。

电路中的Q1在发射状态时,担任射频振荡以及音频信号调变功能,在接收状态则是Reflexive回复式起振及检波音频输出功能。

回复式电路时利用天线接收的射频信号,予以放大后利用二极管特性检波出音频信号。

Q2的功能为音频信号放大,Q3与Q4功能为音频信号功率放大。

这个电路由9伏特电池供电,有四组开关同步切换发射T与接收R的功能。

图中的喇叭是动圈式磁铁,接收时为喇叭功能,在发射状况则是由音压压缩纸盆,使喇叭线圈产生感应电流,相当于麦克风的功能。

天线接收射频信号,经由天线匹配电感器到15pF与2turns线圈谐振,过滤出27MHz 信号,并经由线圈耦合至次级9turns线圈,再经由基极接地的Q1射频放大至射级输出,并利用射级与基极间的二极管检波特性,解调出音频信号。

射级的音频信号电流再经由Q1集电极(原文为集级)输出。

经过9turns线圈,开关R点,0.47uF电容,音量控制VR,39n 电容,到Q2音频放大,再经Q3、Q4音频放大,再经过变压器阻抗转换以推动喇叭负载。

在发射状况下,Q1基极(原文为集级)至射级经由33pF电容的正回授,产生振荡而以基极的27MHz振荡水晶为谐振网络。

喇叭作为麦克风使用的声音信号,同样经过Q2、Q3、Q4的放大电路,此时Q1极的电源是由电池经过声音变压器提供,也因而产生音频对Q1射频的调幅调变。

调幅射频经由射频变压器转换低阻以匹配天线输出。

Q1射级电路的390电阻与10nF电容,提供射频旁路以及检波音频的射级负载。

24L01 带大数据包地ACK,用于双向传输

24L01 带大数据包地ACK,用于双向传输

发现网上关于24L01带数据包的ACK介绍的比较少,自己之前做四轴的时候想说用24L01做双向通讯,但是对于频繁切换发送、接收模式很是麻烦,时间调的不好很容易造成通讯失败,后来想到24L01的带数据包的ACK做双向通讯,在网上找了资料,但是就只做了简单介绍,没有介绍用的时候是怎么实现,下面我就对我使用的过程做一个总结,在附上测试程序(C51),本人热衷于使用STC单片机做东西,四轴也是用STC单片机来做的控制板,飞的也还行。

对于初学者来讲,STC单片机的程序看起来也比较容易看得懂,对于双向传输,我看过STM32的程序,想要移植到51上,但是对于发送接收部分没有详细的注释,所以刚开始也是一头雾水,找半天都找不到什么时候吧带数据的ACK包送入缓存,所以也就放弃了,但是我觉得初始化部分写的比较好,所以也就移植了部分程序,好了不多说,下面开始将原理:带数据包的ACK应答传输,有的人说只能用在24L01+上,没有+的用不了,然而我刚好只有带+的,没带+的用不用的了这个我就不知道了,但是我看过没带+的芯片手册,并没有看到有关带数据包的ACK的介绍,然后又看了带+的芯片手册,在带+的手册上发现有相关带数据包的ACK的介绍,所以我也认为ACK要能带数据包,只能用在有+的芯片上。

利用这个ACK做数据传输,首先要配置正确,对于配置,你们网上找找,也能找到,我也在这里直接复制粘贴别人的说法:1,需要设置成为可变长度的接收与发送2,需要将接收数据的ACK使能3,由于ACK带有数据因此自动重发的时间要改成500μS4,将数据写入等待发送使用的是W_ACK_PAYLOAD命令作为接收模式,若要让ACK带上数据包,那就得在接收到数据之前,把数据包送到ACK 发送缓存,将数据写入W_ACK_PAYLOAD这个地址里面,详细介绍如下从这里可以看出,W_ACK_PAYLOAD的地址为0xA8-0xAD,用哪个地址由你喜欢,缓存字节数为32字节。

对讲机原理图

对讲机原理图

对讲机原理图
对讲机原理图是一种用于实现无线通信的设备。

它由发射器和接收器组成,发射器负责将声音信号转换为无线信号并发送出去,而接收器负责接收并解码无线信号,再将其转换为声音信号。

发射器部分包括以下组件:麦克风、音频放大器、调制器和射频发射器。

麦克风负责将声音转换为电信号,并将其传递给音频放大器。

音频放大器负责放大音频信号的强度,以便后续处理。

调制器将音频信号调制为射频信号,同时将射频信号与发射器的频率进行匹配。

射频发射器将调制后的射频信号放大,并将其发送出去。

接收器部分包括以下组件:天线、射频接收器、解调器、音频放大器和扬声器。

天线负责接收发送器发出的无线信号。

射频接收器将接收到的射频信号放大,并将其传递给解调器。

解调器将射频信号解调为音频信号,并将其传递给音频放大器。

音频放大器放大音频信号的强度,然后将其传递给扬声器,最终实现声音的输出。

通过发射器和接收器之间的无线通信,对讲机可以实现双向语音通信。

无论是在工作场所还是户外活动中,都能够方便地进行沟通和协调。

对讲机电路原理分析:看不懂电路图不是合格的HAM

对讲机电路原理分析:看不懂电路图不是合格的HAM

对讲机电路原理分析:看不懂电路图不是合格的HAM对讲机电路原理分析:看不懂电路图不是合格的HAM 北峰电讯 02-27 10:18 大模拟对讲机,电路示意图:电路简单图解1.当天线接收到信号后,由于信号非常微弱,需要将信号放大,这就需要LNA(低噪声放大器)。

然后通过一个射频段的带通滤波器,这里标注为Image Filter(镜像频率抑制滤波器),镜像频率指以载频为中心,与有用信号对称的频率,该频率上的噪声通过混频后会进到中频频率中。

2.通过Image Filter后,信号进入MIXER(混频器)中与LO(本地振荡器)进行混频,并通过一个SAW(表面声波滤波器),只保留中频点的信号,其他频率点的进行衰减。

IFAMP(中频放大器)将中频信号恢复并放大后,再次通过第二个混频器将频率降至450K低频,这时信号就容易被基带部分处理。

3.基带部分:FMDET,鉴频器,将调制信号恢复出音频信号,但这时的信号效果很差,需要送到音频处理部分处理一下才能得到较好的音效。

这部分包括De-emphasis(去加重),Audio Filter(音频滤波器),Adder(暂时没搞清楚),Volume(调节音量),SP AMP(扬声器放大器,提供大功率,推动大负载),SPEAKER(扬声器)。

4.发送部分,人的话音被MIC(麦克风)转成电信号,通过Pre-emphasis(预加重)和MIC AMP后送到Audio Filter中滤波,在通过Limiter(限幅器)整形,之后通过Splatter Filter(泼溅滤波器)滤掉Limiter 产生的谐波。

注意,这时是低频信号,信号通过VCO(压控振荡器)后将信号调制到高频,再经过TX Amp(发射机放大器)和PA(功率放大器)后就有足够的能量被发射出去了。

这个结构是传统的超外差(Superheterodyne)结构,该结构特点是有两个中间频率,抑制干扰能力较强,不足之处是由于需要两组中频器件,使得成本较高。

nRF24L01无线通信系统设计

nRF24L01无线通信系统设计

nRF24L01无线通信系统设计学院:电子信息学院专业:电子信息工程姓名:学号:指导老师:摘要本文介绍了一套基于STM32微处理器,结合nRF24L01无线通信模块的无线数据传输系统。

nRF24L01无线通信系统是基于nRF24L01无线收发芯片,以STM32F103单片机为核心的半双工无线通信系统,文中详细阐述了该无线通信系统的硬件和软件设计。

该系统主要由一个nRF24L01无线通信模块组成,在硬件基础上,结合nRF24L01的特点,实现了两个nRF24L01无线通信模块之间的通信。

关键字:nRF24L0l;STM32;无线通信AbstractThis paper introduces a wireless communication system , a system based on STM32 microprocessor, combined with nRF24L01 wireless communication module . nRF24L01 wireless communication system is based on nRF2L01 wireless transceiver chip, half duplex wireless communication system with a control core of STM32F103 MCU.This paper describes the hardware and software design of the wireless communication system. The system mainly consists of a nRF24L01 wireless communication module, basing on the hardware and combining with the characteristics of nRF24L01, and realize the implementation of communication between two nRF24L01 wireless communication modules .Key words:nRF24L01;STM32;Wireless Communication前言无线方案适用于布线繁杂或者不允许布线的场合,目前在遥控遥测、门禁系统、无线抄表、小区传呼、工业数据采集、无线遥控系统、无线鼠标键盘等应用领域,都采用了无线方式进行远距离数据传输。

对讲机原理图

对讲机原理图

11、如客户负责的布线部分需委托卖方完成,具体方案及价格需按客户实际要求,另行协商确定。

1.林黛玉:三生石畔,灵河岸边,甘露延未绝,得汝日日倾泽。

离恨天外,芙蓉潇湘,稿焚情不断,报汝夜夜苦泪。

注:1、图中机房对讲主机及监控中心对讲主机由卖方提供;2、电梯机房至监控中心之间的布线(包括线材、线管及敷设工程)由客户按大楼结构尺寸负责,并且客户需协助电梯安装单位完成该功能的安装调试。

3、 敷线线缆为:PVC 护套屏蔽软电缆0.75mm 2的2芯电缆,型号为RVVP2×0.75。

4、此图适用于整个项目仅有6台或6台以下电梯的情况。

5、监控中心预留的通讯线需在到达对讲主机后,再多预留2米以上线缆;电梯机房预留的通讯线需在到达电梯控制柜后,再多预留2米以上线缆。

6、电梯机房到监控中心的最远布线距离不能超过2km 。

7、对于无机房电梯,电梯的控制柜一般放置在地面1楼井道内。

8、通讯线路单根内阻平均每百米不高于4Ω。

9、布线必需达到以下检测要求绝缘表500V 档分别测量接地线对黑线、白线及黑白两线间阻值,应在0.02M Ω以上。

万用表交流电压档测量黑、白线与接地线间的感应电压在48V 以内(电梯系统带电时测量)直流电压档测量黑、白线与接地线间及黑白两线间电压应为零短接各机房对讲主机通讯总线,在监控中心测量黑线、白线间阻值,应在120Ω之内10、如客户负责的布线部分需委托卖方完成,具体方案及价格需根据客户的实际要求,另行协商确定。

注4注4注4注4注4注4小区监控中心监控中心 对讲主机机房1控制柜1 机房对讲主机机房对讲主机控制柜y 通讯线弱电井1机房n弱电井n控制柜1 机房对讲主机控制柜y 机房对讲主机注4注4模拟对讲系统布线示意图2.3. 4. 5. 6. 7. 8. 9.10.11.12.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24. 我知道你心里在想什么,师姐,你多半是骂我不知人事,不知这世道艰险,我心中所想所求,泰半都难有结果。

24L01模块说明

24L01模块说明

24L01微功率2.4G高速无线收发模块简介一.24L01模块简介★ 2.4G全球开放ISM频段,最大0dBm发射功率。

★ 支持2M的高速数据传输,减少发射时间,降低平均功耗。

★ 125个频点,满足多点通信和跳频通信需要★ 内置2.4G天线,体积小巧,15X34mm 方便集成使用★ 当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了平均功耗。

★ 集成了所有与RF协议相关的高速信号处理部分,如:自动重发丢失数据包和自动产生应答信号等,SPI接口可以利用单片机的硬件SPI口连接或用单片机的I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口,便于使用低成本单片机。

★ 由于链路层完全集成在模块上,非常便于开发。

★ 自动重发功能,自动检查和重发丢失的数据包,重发时间及重发次数可软件控制★ 自动存储未收到的应答信号的数据包★ 自动应答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程★ 内置硬件CRC检错和点对多点通信地址控制★ 数据包传输错误计数器及载波检测功能可用于跳频设置★ 可同时设置六路接收通道地址,可选择性的打开接收通道★ 标准的2.54mmDIP间距接口,便于嵌入式应用。

★ 提供参考源代码,应用原理图等详细资料,上手快,缩短您的开发时间二.24L01模块的应用1、智能家庭、家居应用和无线传感、安全系统;2、控制处理、无线数据连接、遥测、小型无线网络;3、车辆监控、防盗;机器人控制,飞思卡尔智能车控制4、无线抄表、门禁系统、小区传呼;5、工业数据采集系统、生物信号采集、水文气象监控等;三.24L01模块的技术指标产品型号 24L01工作频率 2400-2525M调制方式 GFSK发射功率 0dBm接收灵敏度 -85dBm@1M -82dBm@2M 工作电压 1.9---3.6V谐波1st<-20dBc ; 2nd<-50dB杂散 <-60dBm发射电流 11 mA @0dBm接收电流 12.3mA用户接口方式 SPI工作温度 -30℃~70℃工作湿度 10%~90%相对湿度,无冷凝外形尺寸 15mm×34mm参考距离 开阔地最远80米四.24L01端口定义及连接示意图1、端口定义2、连接示意图3、SPI接口SPI 接口由SCK , MISO , MOSI及CSN组成在待机或掉电模式下,单片机通过SPI接口配置模块的工作参数,在发射或接收模式下,单片机通过SPI接口发送或接收数据,中断接口IRQ可提供如下几种中断输出(可选): 数据发射结束TX_DS,数据接收就绪TX_DR,重发此时达到最大MAX_RF具体模块的SPI配置参数及工作时序请参考NORDIC的官方文件。

24c01程序控制及原理图

24c01程序控制及原理图

/**************************************************;功能描述:;PC端发送3个数据n0,n1,n2;n0=0,写,将n1写入n2地址中;n0=1,读,读出n1地址中的数据,n2不起作用,但必须有;收到一个字节后,将其地址值显示在数码管第1、2位上,数值显示在第5、6位上;读出一个字节后,将其地址值显示在数码管第1、2位上,读出的值显示在第5、6位上;**************************************************/#include "pic.h"#define uchar unsigned char#define uint unsigned int#define Hidden 16__CONFIG(HS&WDTDIS&LVPDIS); //配置文件,设置为HS方式振荡,禁止看门狗,低压编程关闭ucharDispTab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x8 6,0x8E,0xFF};uchar BitTab[]={0xfb,0xfd,0xfe};uchar DispBuf[6];bit Rec; //接收到数据的标志uchar RecBuf[3]; //接收缓冲区#define SCL_CNT TRISC3#define SDA_CNT TRISC4void mDelay(uint DelayTime){ uint temp;for(;DelayTime>0;DelayTime--){ for(temp=0;temp<270;temp++){;}}}void interrupt Int_Process(){ static uchar dCount; //用作显示的计数器static uchar Count; //用作接收缓冲区计数if(TMR1IF==1&&TMR1IE==1) //定时器T1中断{TMR1H=-(12000/256);TMR1L=-(12000%256); //重置定时初值PORTA|=0x07; //关前面的显示PORTE|=0X07; //关前面的显示PORTD=DispTab[DispBuf[dCount]]; //显示第i位显示缓冲区中的内容if(dCount<3)PORTE&=BitTab[dCount]; //第1~3位是由PORTE控制的elsePORTA&=BitTab[dCount-3]; //第4~6位是由PORTA的低3位控制的dCount++;if(dCount==6)dCount=0;TMR1IF=0; //清中断标志}else if(TXIE&TXIF) //串行发送中断{if(TRMT)TXEN=0; //停止发送}else if(RCIE&RCIF) //串行接收中断{RecBuf[Count]=RCREG-0x30;Count++;if(Count>=3){ Count=0;Rec=1; //置位标志}}}void Idle(void) //I2C 空闲检测{while((SSPCON2 & 0x1F)|(STAT_RW))continue;}void WrToRom(uchar Data[], uchar Address,uchar Num){ uchar i;SEN = 1; //发送起始命令while(SEN); //SEN被硬件自动清零前循环等待SSPBUF = 0b10100000; //控制字送入SSPBUFIdle(); //空闲检测if(!ACKSTAT); //是否有应答?else //ACKSTA T=1从器件无应答,直接返回return ;SSPBUF=Address; //地址送入SSPBUFIdle(); //I2C空闲检测if(!ACKSTAT); //应答位检测,ACKSTAT=0从器件有应答else //ACKSTA T=1从器件无应答,直接返回return ;for(i=0;i<Num;i++){SSPBUF = Data[i]; //数据送入SSPBUFIdle(); //空闲检测if(!ACKSTAT); //应答位检测,ACKSTAT=0从器件有应答else //ACKSTA T=1从器件无应答,直接返回return ;}PEN = 1; //初始化重复停止位while(PEN); //PEN被硬件自动清零之前循环//EEPROM内部写周期一般为3ms~10ms,主机必须查询内部写入过程是否结束for(;;){ SEN=1; //发送起始位while(SEN); //SEN被硬件自动清零前循环等待SSPBUF=0b10100000; //控制字送入SSPBUFIdle(); //空闲检测PEN=1; //发送停止位while(PEN); //PEN被硬件自动清零前循环if(!ACKSTAT) //应答位检测,ACKSTAT=0从器件有应答break; //ACKSTA T=1从器件无应答,直接返回}}void RdFromRom(uchar Data[],uchar Address,uchar Num){ uchar i;SEN = 1; //发送起始信号while(SEN); //SEN被硬件自动清零前循环等待SSPBUF = 0b10100000; //写控制字送入SSPBUFIdle(); //空闲检测if(!ACKSTAT); //应答位检测,ACKSTAT=0从器件有应答else //ACKSTA T=1从器件无应答,直接返回return ;SSPBUF = Address; //地址送入SSPBUFIdle(); //空闲检测if(!ACKSTAT); //应答位检测,ACKSTAT=0从器件有应答else //ACKSTA T=1从器件无应答,直接返回return ;for(i=0;i<Num;i++){RSEN = 1; //重复START状态while(RSEN); //等待START状态结束SSPBUF = 0b10100001; //读数据的控制字送入SSPBUFIdle(); //空闲检测if(!ACKSTAT); //应答位检测,ACKSTAT=0从器件有应答else //ACKSTA T=1从器件无应答,直接返回return ;RCEN = 1; //允许接收while(RCEN); //等待接收结束ACKDT = 1; //接收结束后不发送应答位ACKEN = 1; //while(ACKEN); //ACKEN被硬件自动清零之前不断循环Data[i]= SSPBUF; //数据写入SSPBUF}PEN = 1; //发送停止位while(PEN); //PEN被硬件自动清零前循环}void Init_Ser(){ SYNC=0; //选择异步通信模式BRGH=1; //选择高速波特率发生模式SPEN=1; //串行通信端口打开CREN=1; //开启异步通信的接收功能RCIE=1; //允许接收中断SPBRG=38; //设置波特率为19.2K,12M,高速模式}void Init_IO(){ ADCON1=0x06; //设定为数字端口TRISA&=0xf8; //PORTA 0~2设为输出TRISE&=0xf8; //PORTE 0~2设为输出TRISD=0; //PORTD 设为输出TRISC&=0xbf; //RC6引脚为输出TRISC|=0x80; //RC7引脚作为输入//////////////////Timer1 设置TMR1CS=0; //将T1设为定时器TMR1ON=1; //启动T1TMR1IE=1;//////////////////中断控制GIE=1; //总中断允许PEIE=1; //外围部件中断允许}void main(){ uchar RomDat[4];Init_IO(); //初始化端口Init_Ser(); //初始化串行口DispBuf[2]=Hidden;DispBuf[3]=Hidden;SSPADD=29; //在晶振11.0592M时,波特率约为100K SSPIE=0; //禁止SSPIF中断SSPCON=0B00101000; //SSPEN=1,I2C主模式for(;;){DispBuf[0]=RecBuf[1]/16;DispBuf[1]=RecBuf[1]%16;if(Rec) //接收到数据{ Rec=0; //清除标志if(RecBuf[0]==0) //第一种功能,写入{ RomDat[0]=RecBuf[2];DispBuf[4]=RomDat[0]/16;DispBuf[5]=RomDat[0]%16;WrToRom(RomDat,RecBuf[1],1);TXREG=RomDat[0];TXEN=1; //启动发送}else{ RdFromRom(RomDat,RecBuf[1],1);DispBuf[4]=RomDat[0]/16;DispBuf[5]=RomDat[0]%16;TXREG=RomDat[0];TXEN=1; //启动发送}}}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档