c51单片机控制红外通信接口电路图的方案设计书.docx
- 文档编号:29052919
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:27
- 大小:34.89KB
c51单片机控制红外通信接口电路图的方案设计书.docx
《c51单片机控制红外通信接口电路图的方案设计书.docx》由会员分享,可在线阅读,更多相关《c51单片机控制红外通信接口电路图的方案设计书.docx(27页珍藏版)》请在冰豆网上搜索。
c51单片机控制红外通信接口电路图的方案设计书
封面
作者:
PanHongliang
仅供个人学习
c51单片机控制红外通信接口电路图的设计
原理图的求证:
注:
黑色字体为我的个人阐述,其他颜色字体为单片机手册节选文章。
如图(原图)
电路图中电阻R6-R13为多余的,其作用如下文:
(这几个电阻是需要的!
!
起限流和保护单片机,LED的作用,不能少,一般选择220-510欧姆,流过LED电流在10-20毫安为好)
2.4发光二极管显示部分设计
有8个发光二极管与单片机的P1口相连,二极管的正极与电源正极相连,负极串联一个电阻与Pl口相连,给Pl口送低电平就得到不同的显示状态。
因为,电阻R6-R13没有参与光的发射和接收所以我认为它是多余的。
去掉后节省出来P1.0-P1.7的引脚,用作他用。
(这不对的,如果你LED接到了P1口,P1就不能做其它用了,如果作其它用的话,LED指示就让你感觉莫名其妙了)
2.3数码显示部分
在系统中,选用一个双七段数码管来显示发送和接收的数据。
数码管采用DPY双位七段共阳数码管。
高位的共阳极是lO脚,低位的共阳极是5脚。
由单片机的PO口控制数码管的阴极,P2.6,P2.7口分别控制数码管的高位和低位,当P2口输出数位“0”时,相应的三极管导通。
根据PO口输出不同数位,数码管显示不同的数字,当P2口输出数位“l”时,三极管截止,数码管不显示。
我不需要数码显示部分,而跟他相关的电子元件没有参与红外线的发射和接受,所以我认为直接去掉就行。
(这个有会更好些,因为可以显示的东西会比LED显示效果更好。
前提是你得写单片机程序,要是我在LED与它之间做取舍的话,我将保留它,舍掉LED,不过编写程序会复杂些)
这样一来图中保留了,主要的红外线发射部分的电路图,没有因为删减部分而影响它的正常功能,却剩出了16个引脚。
红外线发射部分的运作原理如下:
2.1发射部分设计
红外发送电路包括脉冲振荡器、三极管和红外发射管等部分。
其中脉冲振荡器有NE555定时器、电阻和电容组成,用于产生38kHz的脉冲序列作为载波信号,红外发射管HG选用Vishay公司生产的TSAL6238,用来向外发射950nm的红外光束。
其发送的过程为:
串行数据有单片机的串行输出端TXD送出并驱动三极管,数位“O”使三极管导通.通过有NE555构成的多谐振荡电路调制成38kHz的载波信号,并利用红外发射管以光脉冲的形式向外发送。
数位“l”使三极管截止,红外发射管不发射红外光。
NE555构成的多谐振荡电路的振荡周期公式为T=O.693(R1+R2)C,其中,R1为充电电阻,R2为放电电阻,C为充电电容。
以上文字再次说明了在光的发射的过程中没有用到发光二极管显示部分设计和数码显示部分,去掉后从新编写一下程序就行了。
(LED,和数码管是给你显示东西的,即输出设备,把两个都去掉不用修改程序都是可以的,但是它工作的时候你不知道它在干什么了)
注:
关于显示器的安排,所有产生的任何数据都要通过JF24C(2.4G无线双向数据传输模块)模块传送到另一个指令发射器上(上面有显示器)。
(你保留一个就可以了,比如保留LED,这样你在调试程序的时候会感觉到方便点)
我想要的电路图
修改后的红外发射图:
添加一个JF24C模块,它与51机的最简电路如图:
说明:
JF24C可以和各种单片机配套,对于硬件上没有SPI的单片机可以用IO口或者串口模拟SPI。
与51系列单片机配套时在P0口加一个10k的上啦电阻,其余IO口可以和JF24C直接相连。
单片机可以用5v供电,JF24C用3.3v供电。
JF24C工作电压不得超过3.5v,否则会烧坏器件。
添加后如图:
那个上拉电阻我不会加。
(添加上拉电阻非常简单,就是电阻一端接到3.3V,另一端接到P0口上就为上拉了,每一脚一个)
我还想添加个数据采集的电路CH375资料和原理图如下:
8、应用
8.1.并口方式(下图)
这是CH375与普通的MCS-51单片机的连接电路。
CH375的TXD引脚通过1KΩ左右的下拉电阻接
地或者直接接地,从而使CH375工作于并口方式。
USB总线包括一对5V电源线和一对数据信号线,通常,+5V电源线是红色,接地线是黑色,D+
信号线是绿色,D-信号线是白色。
USB插座P1可以直接连接USB设备,必要时可以在提供给USB设
备的+5V电源线上串接具有限流作用的快速电子开关,USB电源电压必须是5V。
电容C3用于CH375内部电源节点退耦,C3是容量为4700pF到0.02μF的独石或者高频瓷片电
容。
电容C4和C5用于外部电源退耦,C4是容量为0.1μF的独石或者高频瓷片电容。
晶体X1、
电容
C1和C2用于CH375的时钟振荡电路。
USB-HOST主机方式要求时钟频率比较准确,晶体X1的频率是
12MHz±0.4‰,C1和C2是容量为15pF~30pF的独石或高频瓷片电容。
为使CH375可靠复位,电源电压从0V上升到5V的上升时间应该少于100mS。
如果电源上电过程
较慢并且电源断电后不能及时放电,那么CH375将不能可靠复位。
可以在RSTI引脚与VCC之间跨接
一个容量为0.1μF或者0.47μF的电容C11延长复位时间。
如果CH375的电源电压为3.3V,那么应该将V3引脚与VCC引脚短接,共同输入3.3V电压,并
且电容C3可以省掉。
在设计印刷线路板PCB时,需要注意:
退耦电容C3和C4尽量靠近CH375的相连引脚;使D+和
D-信号线贴近平行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短XI和
XO引脚相关信号线的长度,为了减少高频时钟对外界的干扰,可以在相关元器件周边环绕地线或者
覆铜。
CH375芯片具有通用的被动并行接口,可以直接连接多种单片机、DSP、MCU等。
在普通的MCS-51
系列单片机的典型应用电路中,CH375芯片可以通过8位被动并行接口的D7~D0、-RD、-WR、-CS、
A0直接挂接到单片机U2的系统总线上。
如果MCS-51单片机没有用U3锁存A7~A0地址,那么可以用U2的P20等引脚驱动CH375的地址
线A0,并且单片机程序中的端口地址需要相应修改。
U4用于简单的地址译码,产生所需的片选信号,
图中CH375芯片的片选地址范围为B000H-BFFFH,而实际上CH375只需要占用两个地址:
地址BXX1H
用于写命令,地址BXX0H用于读写数据。
8.2.串口方式(下图)
如果CH375芯片的TXD引脚悬空或者没有通过下拉电阻接地,那么CH375工作于串口方式。
在
串口方式下,CH375只需要与单片机/DSP/MCU连接3个信号线,TXD引脚、RXD引脚以及INT#引脚,
其它引脚都可以悬空。
除了连接线较少之外,其它外围电路与并口方式基本相同。
另外,如果需要动态修改CH375串口的通讯波特率,那么建议由单片机的I/O引脚控制CH375
的RSTI引脚,便于在必要时复位CH375以恢复到默认的通讯波特率。
由于RSTI引脚内置有下拉电阻,
所以由MCS51等单片机的准双向I/O引脚驱动时可能需要另加一个阻值约几KΩ的上拉电阻。
由于INT#引脚和TXD引脚在CH375复位期间只能提供微弱的高电平输出电流,在进行较远距离
的连接时,为了避免INT#或者TXD在CH375复位期间受到干扰而导致单片机误操作,可以在INT#引
脚或者TXD引脚上加阻值为2KΩ~5KΩ的上拉电阻,以维持较稳定的高电平。
在CH375芯片复位完
成后,INT#引脚和TXD引脚将能够提供4mA的高电平输出电流或者4mA的低电平吸入电流。
8.3.单片机读写U盘文件(USB存储设备的文件级接口)
文件级API应用层接口
FAT32/16/12文件系统层
SCSI/UFI/RBC命令层---以扇区读写闪存或者硬盘
Bulk-Only传输协议层---Bulk-Only传输协议层
USB基本传输:
控制/批量---USB基本传输:
控制/批量
USB
USB-HOST硬件接口芯片---USB-DEVICE硬件接口芯片
一般情况下,单片机或嵌入式系统处理USB存储设备的文件系统需要实现上图左边的4个层次,
右边是USB存储设备的内部结构层次。
由于CH375不仅是一个通用的USB-HOST硬件接口芯片,还内
置了相关的固件程序,包含了上图左边的3个层次(标为灰色部分),所以实际的单片机程序只需要处理FAT文件系统层,并且即使这一层也可以由CH375的U盘文件级子程序库实现。
如果不需要处理文件系统,也就是不处理上图左边的最顶层,那么CH375直接提供了数据块的读写接口,以512字节或者2K字节等的物理扇区为基本读写单位,从而将USB存储设备简化为一种外部数据存储器,单片机可以自由读写USB存储设备中的数据,也可以自由定义其数据结构。
由于计算机将USB存储设备组织为文件系统,为了方便单片机通过USB移动存储设备与计算机之
间交换数据,单片机也可以将USB存储设备组织为文件系统,也就是处理上图左边的最顶层。
CH375以C语言子程序库提供了USB存储设备的文件级接口,这些应用层接口API包含了常用的
文件级操作,可以移植并嵌入到各种常用的单片机程序中。
CH375的U盘文件级子程序库具有以下特性:
支持常用的FAT12、FAT16和FAT32文件系统,磁
盘容量可达100GB以上,支持多级子目录,支持8.3格式的大写字母和中文文件名,可以支持小写字
母或者长文件名,支持文件打开、新建、删除、读写以及搜索等。
CH375的文件级子程序库需要至少600字节的随机存储器RAM作为缓冲区。
以普通的MCS-51单
片机为例,文件系统的全部子程序有4KB到8KB代码,并且需要大约80字节的内部RAM和至少512
字节的外部RAM作为缓冲区。
有关U盘文件级子程序库的详细信息请参考CH375评估板的说明。
文件级子程序库的所有API在调用后都有操作状态返回,但不一定有应答数据。
有关API参数的
说明请参考CH375HF?
.H,主要子程序如下:
初始化CH375芯片:
CH375Init
查询U盘是否准备好:
CH375DiskReady
查询U盘容量:
CH375DiskSize
查询U盘信息(总容量及剩余容量):
CH375DiskQuery
打开文件:
CH375FileOpen
枚举或者搜索文件:
CH375FileEnumer
关闭文件:
CH375FileClose
新建文件:
CH375FileCreate
删除文件:
CH375FileErase
以扇区为单位从文件读数据:
CH375FileReadX
以扇区为单位向文件写数据:
CH375FileWriteX
以扇区为单位移动文件指针:
CH375FileLocate
查询文件属性(属性/日期/时间/长度):
CH375FileQuery
设置文件属性(属性/日期/时间/长度__________):
CH375FileModify
以字节为单位从文件读数据:
CH375ByteRead
以字节为单位向文件写数据:
CH375ByteWrite
以字节为单位移动文件指针:
CH375ByteLocate
前两张图好像是并口,后一张图好像是串口,文章我没看懂太专业了。
问:
“红外”的修改成立吗(大体上,如果成立细节上还需要些什么”。
这个你没有修改啊,我看也可以了!
问:
如何能将CH375电路添加在我的“红外”电路图上。
(我想用最简电路CH375的串口的电路图直接接上行吗?
有跟简单的方法吗,要是51单片机带个usp接口就好了,那样我差个读卡器就行了。
有吗?
USB这块比教难的,目前我也很少研究,有的单品就支持USB的,不过我记不到是什么型号了。
你要做USB,得找资料多研究才行!
你必须考虑怎么访问USB,U盘里面的资料等。
帮忙推荐几款支持USB烧写程序的单片机~
悬赏分:
5-解决时间:
2008-9-110:
00
正常工作电压为3或5V。
问题补充:
非常感谢你的回答,还有点问题想再请教一下:
配合FT232BM的单片机是要那种带串行ISP擦写接口的吗?
有没有直接用可以通过USB烧写程序的微控制器?
用C或汇编编程的。
提问者:
genuine1219-三级
最佳答案
直接支持USB接口,并且可以用USB接口写入程序的单片机并不多。
C8051F320片上集成了USB接口,但不能通过USB接口下载程序。
可以试着用STC系列的51单片机,配合一条USB转串口线,或者加个FT232BM芯片,就可以通过USB口往单片机里写程序了。
回答补充:
问:
合FT232BM的单片机是要那种带串行ISP擦写接口的吗?
答:
的。
问:
没有直接用可以通过USB烧写程序的微控制器?
用C或汇编编程的。
答:
ARM在运行Bootloader之后可以通过USB写程序;支持ISP的单片机可以自己编写一个BootLoader,再编写一套上位机程序,也可以通过USB口写程序。
目前为止,我还没找到可以直接通过USB接口下载程序的单片机。
AT89S52中文资料
学习资料2009-04-0316:
16:
10阅读449评论0字号:
大中小
AT89S52
1
主要性能
l与MCS-51单片机产品兼容
l8K字节在系统可编程Flash存储器
l1000次擦写周期
l全静态操作:
0Hz~33Hz
l三级加密程序存储器
l32个可编程I/O口线
l三个16位定时器/计数器
l八个中断源
l全双工UART串行通道
l低功耗空闲和掉电模式
l掉电后中断可唤醒
l看门狗定时器
l双数据指针
l掉电标识符
功能特性描述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有
8K在系统可编程Flash存储器。
使用Atmel公司高密度非
易失性存储器技术制造,与工业80C51产品指令和引脚完
全兼容。
片上Flash允许程序存储器在系统可编程,亦适于
常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统
可编程Flash,使得AT89S52为众多嵌入式控制应用系统提
供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,
32位I/O口线,看门狗定时器,2个数据指针,三个16位
定时器/计数器,一个6向量2级中断结构,全双工串行口,
片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻
辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU
停止工作,允许RAM、定时器/计数器、串口、中断继续工
作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,
单片机一切工作停止,直到下一个中断或硬件复位为止。
R
8位微控制器
8K字节在系统可编程
Flash
AT89S52
Rev.1919-07/01
AT89S52
2
引脚结构
AT89S52
3
方框图
引脚功能描述
AT89S52
4
VCC:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻
辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,
P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验
时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个
TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2
的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个
TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)
时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用
8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个
TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入
口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
AT89S52
5
引脚号第二功能
P3.0RXD(串行输入)
P3.1TXD(串行输出)
P3.2INT0(外部中断0)
P3.3INT0(外部中断0)
P3.4T0(定时器0外部输入)
P3.5T1(定时器1外部输入)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器写选通)
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门
狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上
的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址
的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或
时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,
ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使
能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而
在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器
读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
AT89S52
6
表1AT89S52特殊寄存器映象及复位值
特殊功能寄存器
特殊功能寄存器(SFR)的地址空间映象如表1所示。
并不是所有的地址都被定义了。
片上没有定义的地址是不能用的。
读这些地址,一般将
得到一个随机数据;写入的数据将会无效。
用户不应该给这些未定义的地址写入数据“1”。
由于这些寄存器在将来可能被赋予新的
功能,复位后,这些位都为“0”。
定时器2寄存器:
寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表2
和表3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。
中断寄存器:
各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。
AT89S52
7
表2T2CON:
定时器/计数器2控制寄存器
T2CON地址为0C8H复位值:
00000000B
位可寻址
TF2EXF2RLCLKTCLKEXEN2TR2
76543210
符号功能
TF2定时器2溢出标志位。
必须软件清“0”。
RCLK=1或TCLK=1时,TF2
不用置位。
EXF2
定时器2外部标志位。
EXEN2=1时,T2EX上的负跳变而出现捕捉或重
载时,EXF2会被硬件置位。
定时器2打开,EXF2=1时,将引导CPU
执行定时器2中断程序。
EXF2必须如见清“0”。
在向下/向上技术模式
(DCEN=1)下EXF2不能引起中断。
RCLK
串行口接收数据时钟标志位。
若RCLK=1,串行口将使用定时器2溢出
脉冲作为串行口工作模式1和3的串口接收时钟;RCLK=0,将使用定
时器1计数溢出作为串口接收时钟。
TCLK
串行口发送数据时钟标志位。
若TCLK=1,串行口将使用定时器2溢出
脉冲作为串行口工作模式1和3的串口发送时钟;TCLK=0,将使用定
时器1计数溢出作为串口发送时钟。
EXEN2
定时器2外部允许标志位。
当EXEN2=1时,如果定时器2没有用作串行
时钟,T2EX(P1.1)的负跳变见引起定时器2捕捉和重载。
若EXEN2
=0,定时器2将视T2EX端的信号无效
TR2开始/停止控制定时器2。
TR2=1,定时器2开始工作
定时器2定时/计数选择标志位。
=0,定时;=1,外部事
件计数(下降沿触发)
捕捉/重载选择标志位。
当EXEN2=1时,=1,T2EX出现负脉冲,
会引起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都
会出现自动重载操作。
=0将引起T2EX的负脉冲。
当RCKL=1
或TCKL=1时,此标志位无效,定时器2溢出时,强制做自动重载操作。
双数据指针寄存器:
为了更有利于访问内部和外部数据存储器,系统提供了两路16位
数据指针寄存器:
位于SFR中82H~83H的DP0和位于84H~85。
特殊寄存器AUXR1
中DPS=0选择DP0;DPS=1选择DP1。
用户应该在访问数据指针寄存器前先初始化
AT89S52
8
DPS至合理的值。
表3aAUXR:
辅助寄存器
AUXR地址:
8EH复位值:
XXX00XX0B
不可位寻址
---WDIDLEDISRTO--DISALE
76543210
-预留扩展用
DISALEALE使能标志位
DISALE操作方式
0ALE以1/6晶振频率输出信号
1ALE只有在执行MOVX或MOVC指令时激活
DISRTO复位输出标志位
DISRT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c51 单片机 控制 红外 通信 接口 电路图 方案设计