产品选型

单片机与接口技术实验 单片机无线串行接口电路实验

小编 2024-10-25 产品选型 23 0

单片机无线串行接口电路实验

单片机无线串行接口电路由MICRF102单片发射器芯片、MICRF007单片接收器芯片组成,工作在300~440 MHz ISM频段;具有ASK调制和解调能力,抗干扰能力强,适合工业控制应用;采用PLL频率合成技术,频率稳定性好;接收灵敏度高达 -96 dBm,最大发射功率达-2.5 dBm;数据速率可达2 Kb/s;低工作电压:4.75~5.5 V;功耗低,接收时电流3 mA,发射时电流7.75 mA,接收待机状态仅为0.5μA,发射待机状态仅为1.0μA;可用于单片机之间的串行数据无线传输,也可在单片机数据采集、遥测遥控等系统中应用。

2 电路组成及工作原理

2.1 无线发射电路

无线发射电路如图1所示,电路以MICRF102为核心。MICRF102是Micrel公司推出的一个单片UHF ASK发射器,采用SOP(M)-8封装,芯片内包含有:由基准振荡器、相位检波器、分频器、带通滤波器、压控振荡器构成的合成器,发射偏置控制,RF功率放大器,天线调谐控制和变容二极管等电路,是一个真正的"数据输入-无线输出"的单片无线发射器件。UHF合成器产生载频和正交信号输出。输入相位信号(I)用来驱动RF功率放大器。天线调谐正交信号(Q)用来比较天线信号相位。天线调谐控制部分检测天线通道中发射信号的相位和控制变容二极管的电容,以调谐天线,实现天线自动调谐。功率放大器输出受发射偏置控制单元控制。ASK/OOK调制,提供低功耗模式,数据传输速率为20 kb/s。

使用中应注意的问题是:(1)REFOSC(引脚4)是基准振荡端,连接晶振到地,或采用AC耦合方式输入峰-峰值为0.5 V的时钟脉冲。发射频率是基准振荡器频率的32倍:基准振荡频率×32=发射频率。如果使用外接时钟信号,须采用AC耦合方式,输入信号幅度峰-峰值为200~500 mV。(2)MICRF102使用差分输出去驱动天线负载。功率放大器输出级包含有一个变容二极管,它自动与天线的电感调谐,以保证谐振在发射频率上。典型的PCB导线天线的电感与回路的尺寸、天线导线的宽度、PCB铜泊的厚度和接地板的位置有关。设计时一般选择变容二极管的电容值为6.5 pF。天线电感L由公式L=1/(4π2f2C)计算。(3)功率放大器的输出功率与PC端(引脚1)上的电压有关。正常工作时,该引脚端上的电压被设置在0.2~0.4 V之间。PC端上的电压上升,输出功率加大;但是,如果PC端上的电压超过0.4 V,功率放大器被限流,输出功率不再增加。减少PC端的电压可降低电源功率消耗,同时也会减少RF输出功率。(4)STBY端(引脚5)是待机模式控制。接VDD为发射方式,接VSS为待机模式。(5)MICRF102芯片对电源纹波敏感,正确地电源旁路是必需的,一般使用4.7μF、 0.1μF、100 pF 3个电容并联在VDD和VSS之间。

2.2 无线接收电路

无线接收电路如图2所示,电路以MICRF007为核心。MICRF007是Micrel公司推出的单片UHF ASK/OOK(导通-关断键控)超外差无线电接收芯片。MICRF007采用SOP(M)-8封装,芯片内电路可分为UHF下变换器、OOK解调器和基准控制三部分。UHF下变换器包含RF放大器、混频器、中频放大器、带通滤波器、峰值检波器、合成器、AGC控制电路;OOK解调器包含低通滤波器、比较器;基准控制电路包含基准振荡器和控制逻辑电路。仅需外接2个电容器CAGC和CTH,1个晶振以及电源去耦电容即可构成1个UHF ASK接收器,所有的RF和IF调谐都在芯片内自动完成,是一个真正"无线输入-数据输出"的单片器件。

MICRF007是标准的窄RF带宽的超外差接收器,窄带宽接收器对RF干扰信号不敏感。RF中心频率由完全集成的PLL/VCO频率合成器控制,与基准振荡器外接晶振有关。中频带通滤波器的带宽为430 kHz,基带解调器的低通滤波器带宽为2.1 kHz。接收数字ASK信号,接收器数据传输率为2 Kb/s。

使用中应注意的是:

(1)MICRF007是一个窄带宽接收器,要求发射电路必须使用SAW或晶振稳频。(2)如果接收器处于高噪声环境,在天线ANT端和VSS之间可以连接一个固定数值的带通网络,以提供接收选择性和输入过载保护。(3)基准振荡器可通过REFOSC端(引脚8)外接晶振或输入时钟信号。基准振荡器的频率fT是外接晶振频率的64.5倍。对于超外差接收器本机振荡频率fLO和发射频率fTX的差值必须等于中频的中心频率。因此,发射器的频率fTX(即接收器接收频率)、基准振荡器频率fT和本机振荡器频率fLO的关系为:fT =fLO/64.5,fLO =fTX±(1.064fTX/390)。(4)SHUT端(引脚6)控制接收器使能,当SHUT端电压VSHUT为高电平时,芯片进入低功耗待机模式,电流消耗仅为0.5μA;当VSHUT为低电平(下拉到地)时,芯片使能,为接收状态。(5)CTH端(引脚4)上的解调信号的直流值作为比较器的基准阀值。CAGC端(引脚7)外接电容C2可增加输入动态范围。(6)MICRF007芯片对电源纹波敏感,正确地电源旁路是必需的。一般使用4.7μF、0.1μF、100 pF 3个电容并联在VDD和VSS之间。

2.3 单片机串行接口电路

无线收发电路可以直接与常用的单片机如8051、68HC05、PIC16C5X等连接,实现单片机与单片机之间的串行数据无线传输,连接电路如图3所示。

实验表明: 所设计的单片机串行接口无线收发电路结构简单、工作可靠,可方便地在单片机与单片机之间,构成一个点对点、一点对多点的无线串行数据传输通道。

使用中应注意的问题是:

① 在发射模式下,通信速率最高为2 Kb/s;发送数据之前须将电路置于发射模式(MICRF102的第5脚STBY =1);接收模式转换为发射模式的转换时间至少5 ms;可以发送任意长度的数据;发送结束后应将电路置于接收模式(MICRF007的第6脚SHUT =0);发射模式转换为接收模式的转换时间至少5 ms。

② 在待机模式(MICRF102的STBY=0,MICRF007的SHUT =1)下,电路不发射/接收数据。设计串行通信程序应考虑:双方通信的协议,有效数据识别标志,数据的检错、纠错和校验。

学习笔记单片机的40个经典实验之32:ADC0809AD 转换器基本应用技术

1. 基本知识

ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及微处理机兼容的控制逻辑的 CMOS 组件。它是逐次逼近式 A/D 转换器,可以和单片机直接接口。

(1). ADC0809 的内部逻辑结构

由上图可知,ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。

(2). 引脚结构

IN0-IN7:8 条模拟量输入通道ADC0809 对输入模拟量要求:信号单极性,电压范围是 0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4 条ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁存与译码器将 A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和 C 为地址输入线,用于选通 IN0-IN7 上的一路模拟量输入。通道选择表如下表所示。

数字量输出及控制线:11 条

ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行 A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。CLK 为时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为 500KHZ,VREF(+),VREF(-)为参考电压输入。

2. ADC0809 应用说明

(1). ADC0809 内部带有输出锁存器,可以与 AT89S51 单片机直接相连。

(2). 初始化时,使 ST 和 OE 信号全为低电平。

(3). 送要转换的哪一通道的地址到 A,B,C 端口上。

(4). 在 ST 端给出一个至少有 100ns 宽的正脉冲信号。

(5). 是否转换完毕,我们根据 EOC 信号来判断。

(6). 当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单片机了。

3. 实验任务

如下图所示,从 ADC0809 的通道 IN3 输入 0-5V 之间的模拟量,通过 ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809 的 VREF 接+5V电压。

4. 电路原理图

5. 系统板上硬件连线

(1). 把“单片机系统板”区域中的 P1 端口的 P1.0-P1.7 用 8 芯排线连接到“动态数码显示”区域中的 A B C D E F G H 端口上,作为数码管的笔段驱动。

(2). 把“单片机系统板”区域中的 P2 端口的 P2.0-P2.7 用 8 芯排线连接到“动态数码显示”区域中的 S1 S2 S3 S4 S5 S6 S7 S8 端 口 上 ,作为数码管的位段选择。

(3). 把“单片机系统板”区域中的 P0 端口的 P0.0-P0.7 用 8 芯排线连接到“模数转换模块”区域中的 D0D1D2D3D4D5D6D7 端口上,A/D 转换完毕的数据输入到单片机的 P0 端口

(4). 把“模数转换模块”区域中的 VREF 端子用导线连接到“电源模块”区域中的 VCC 端子上;

(5). 把“模数转换模块”区域中的 A2A1A0 端子用导线连接到“单片机系统”区域中的 P3.4 P3.5 P3.6 端子上;

(6). 把“模数转换模块”区域中的 ST 端子用导线连接到“单片机系统”区域中的 P3.0 端子上;

(7). 把“模数转换模块”区域中的 OE 端子用导线连接到“单片机系统”区域中的 P3.1 端子上;

(8). 把“模数转换模块”区域中的 EOC 端子用导线连接到“单片机系统”区域中的 P3.2 端子上;

(9). 把“模数转换模块”区域中的 CLK 端子用导线连接到“分频模块”区域中的 /4 端子上;

(10). 把“分频模块”区域中的 CK IN 端子用导线连接到“单片机系统”区域中的 ALE 端子上;

(11). 把“模数转换模块”区域中的 IN3 端子用导线连接到“三路可调压模块”区域中的 VR1 端子上;

6. 程序设计内容

(1). 进行 A/D 转换时,采用查询 EOC 的标志信号来检测 A/D 转换是否完毕,若完毕则把数据通过 P0 端口读入,经过数据处理之后在数码管上显示。

(2). 进行 A/D 转换之前,要启动转换的方法:ABC=110 选择第三通道ST=0,ST=1,ST=0 产生启动转换的正脉冲信号

7. 汇编源程序

CH EQU 30H

DPCNT EQU 31H

DPBUF EQU 33H

GDATA EQU 32H

ST BIT P3.0

OE BIT P3.1

EOC BIT P3.2

ORG 00H

LJMP START

ORG 0BH

LJMP T0X

ORG 30H

START: MOV CH,#0BCH

MOV DPCNT,#00H

MOV R1,#DPCNT

MOV R7,#5

MOV A,#10

MOV R0,#DPBUF

LOP: MOV @R0,A

INC R0

DJNZ R7,LOP

MOV @R0,#00H

MOV TMOD,#01H

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256

SETB TR0

SETB ET0

SETB EA

WT: CLR ST

SETB ST

CLR ST

WAIT: JNB EOC,WAIT

SETB OE

MOV GDATA,P0

CLR OE

MOV A,GDATA

MOV B,#100

DIV AB

MOV 33H,A

MOV A,B

MOV B,#10

DIV AB

MOV 34H,A

MOV 35H,B

SJMP WT

T0X: NOP

MOV DPTR,#DPCD

MOV A,DPCNT

ADD A,#DPBUF

MOV R0,A

MOV A,@R0

MOVC A,@A+DPTR

MOV P1,A

MOV DPTR,#DPBT

MOV P2,A

INC DPCNT

MOV A,DPCNT

CJNE A,#8,NEXT

MOV DPCNT,#00H

NEXT: RETI

DPCD: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH,00H

DPBT: DB 0FEH,0FDH,0FBH,0F7H

DB 0EFH,0DFH,0BFH,07FH

END

8. C 语言源程序

#include <AT89X52.H>

unsigned char code dispbitcode={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};

unsigned char code dispcode={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f,0x00};

unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};

unsigned char dispcount;

sbit ST=P3^0;

sbit OE=P3^1;

sbit EOC=P3^2;

unsigned char channel=0xbc;//IN3

unsigned char getdata;

void main(void)

{

TMOD=0x01;

TH0=(65536-4000)/256;

TL0=(65536-4000)%256;

TR0=1;

ET0=1;

EA=1;

P3=channel;

while(1)

{

ST=0;

ST=1;

ST=0;

while(EOC==0);

OE=1;

getdata=P0;

OE=0;

dispbuf[2]=getdata/100;

getdata=getdata%10;

dispbuf[1]=getdata/10;

dispbuf[0]=getdata%10;

}

}

void t0(void) interrupt 1 using 0

P1=dispcode[dispbuf[dispcount]];

P2=dispbitcode[dispcount];

dispcount++;

if(dispcount==8)

{

dispcount=0;

阅读本文用了: 秒,转发只需1秒

转载是一种智慧 分享是一种美德❀

相关问答

单片机 接口技术 的区别?

单片机和接口技术在以下几个方面存在区别:功能和应用:单片机是一种嵌入式系统,它集成了微处理器、存储器、输入/输出接口和其他功能组件,主要用于控制系统和...

单片机 原理及 接口技术 好学吗?

如果有比较好的C语言编程、模拟电路和数字电路基础,还是很容易学的。学单片机主要靠实践,只要入了门,接下来就多学习,多练习就行了。有条件最好能自己买一块...

什么是人机 接口 ?-ZOL问答

人机接口是指人与计算机之间建立联系、交换信息的输入/输出设备的接口。是计算机同人机交互设备之间实现信息传输的控制电路。它与人机交互设备一起完成两个任...

电脑如何读取 单片机 USB 接口 的数据?

单片机串口是TTL电平输出,所以必须通过TTL-rs232转换,一般用max232芯片,很简单。本来可以直接接电脑的COM口9RS232电平)。但要求接USB口,所以,还必须要有rs...

单片机 和微机原理 与接口技术 这两门课之间有什么区别啊?

两门课程的侧重点不同。单片机,目的是会使用51单片机,并以此为基础,学习更复杂的编程环境做准备。微机原理与接口,则是更底层的基础,8086/8088单片机,只有...

单片机 的I/O 接口 能输入或输出模拟信号吗? - 懂得

单片机的I/O接口,如果该I/O口有AD功能就可以,以模拟量信号输入,如果该I/O口有PWM功能就可以,以PWM调制信号输出,或者通过滤波以模拟量信号输出,现在...

单片机接口 和端口的区别?

单片机串行口与普通IO口区别如下:1、串口用作串行通信,通信包括IIC,RS485,RS232等,它也是输出是定速度的0-1-0-之类变化。2、I/O口是指来关量的输入或输出,...

单片机 ,什么是串行口,什么是并行口? - 懂得

两种接口都是用来传送二进制数据的接口形式。串行接口,一般有一根时钟线,一根数据线,一个时钟周期传送二进制1位,要传送一个字节至少需要8个时钟周...

单片机 开发板usb 接口 电路?

如果开发板没有5V,当然可以给开发板供电,但地必须共上,一般而言是足够驱动了,一个USB大概可以提供500毫安的电流,单片机本身需要80毫安左右就够了。如果开发...

单片机接口 p1.0 P1.1 P1.2 P1.3******P3.0 P3.1是什么意思,还有A0 A1 A2 A3 A4 A5是什么意思?

P1.0这些那就是IO口的编号,51单片机一共有4组IO口,分别是P0、P1、P2、P3,每组都有8个IO口,那就是P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7。同一...

猜你喜欢