通信系统设计.doc

上传人:s9****2 文档编号:561283842 上传时间:2023-06-30 格式:DOC 页数:26 大小:4.21MB
返回 下载 相关 举报
通信系统设计.doc_第1页
第1页 / 共26页
通信系统设计.doc_第2页
第2页 / 共26页
通信系统设计.doc_第3页
第3页 / 共26页
通信系统设计.doc_第4页
第4页 / 共26页
通信系统设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《通信系统设计.doc》由会员分享,可在线阅读,更多相关《通信系统设计.doc(26页珍藏版)》请在金锄头文库上搜索。

1、附录:校园网布线图基于单片机的多机通信系统设计 张胜杰 31202064 通信1202 【摘要】 随着单片机技术的不断发展,单片机的应用已经从单机向多机互联化方向发展。单片机在实时数据采集和数据处理方面,有着成本低、能满足一般要求、开发周期短等优点,其在智能家居、计算机的网络通信与数据传输、工业控制自动化等方面有着广泛的应用。单片机又以其极高的性价比越来越多的在智能式仪表和工业过程控制中也得到广泛的应用。但由于其本身资源有限,在一些复杂过程或功能较多的控制中就难以满足要求,需要将单片机的数据送到上一级的微机进行处理。因此实现上位机(PC机)与下位机(单片机)之间的数据可靠通信是必须解决的主要问

2、题之一。本系统能够实现单片机之间的串口通信及无线通信。在多机通信系统中,要保证主机与从机间可靠的通信,必须要让通信接口具有识别功能,51单片机串行口控制寄存器SCON中的控制位SM2正是为了满足这一要求而设置的。 1、系统总体方案设计 系统的组成图 1.1 单片机STC12C5A60S2/AD/PWM 系列单片机是STC生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12 倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。1)

3、增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统80512) 工作电压:STC12C5A60S2 系列工作电压: 5.5V - 3.5V(5V单片机)STC12LE5A60S2 系列工作电压: 3.6V - 2.2V(3V单片机)3) 工作频率范围:035MHz,相当于普通8051的 0420MHz4) 有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)5) 内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)6) 外部掉电检测电路: 在P4.6口有一个低压门槛比较器5V单片机为1.33V,误差为5%,3.3V 单

4、片机为1.31V,误差为3%7) 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为5% 到10% 以内)用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟常温下内部R/C振荡器频率为:5.0V 单片机为: 11 MHz 17MHz3.3V 单片机为: 8MHz 12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准8) 共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器9) 3个时钟输出口,可由T0的溢

5、出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟10) 外部中断I/O7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2), CCP1/P1.4(也可通过寄存器设置到P4.3)11) PWM(2路)/ PCA(可编程计数器阵列,2路)- 也可用来当2路D/A使用- 也可用来再实现2个定时器- 也可用来再实现2个外部中断(上升沿中断

6、/下降沿中断均可分别或同时支持)12) A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)13) 通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口14) STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)15) 工作温度范围:-40 +85(工业级) / 0 75(商业级)16) 封装:LQFP-48, LQFP-44, PDIP-40, PLCC-44, QFN-40I/O口不够时,可用2到3

7、根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。STC12C5A60S2系列单片机具有2个采用UART(Universal Asychronous Receiver/Transmitter)工作方式的全双工串行通信接口(串口1和串口2)。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个

8、地址码。串行口1的两个缓冲器共用的地址码是99H;串行口2的两个缓冲器共用的地址码是9BH。串行口1的两个缓冲器统称串行通信特殊功能寄存器SBUF;串行口2的两个缓冲器统称串行通信特殊功能寄存器S2BUFSTC12C5A60S2系列单片机的两个串行口都有4种工作方式,其中两种方式的波特率是变的,另两种是固定的,以供不同应用场合选用。用户可用软件设置不同的波特率和选择不同的工作方式。 STC12C5A60S2单片机引脚图1.2 LCD16021602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可

9、以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形. 1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,

10、负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 引脚图3、2.4G:(1) 2.4Ghz 全球开放ISM 频段免许可证使用(2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合(3) 126 频道,满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA(6) 内置2.4Ghz 天线,体积小巧15mm X29mm(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),

11、可直接接各种单片机使用,软件编程非常方便(8) 内置专门稳压电路,使用各种电源包括DC/DC 开关电源均有很好通信效果(9) 2.54MM间距接口,DIP封装(10)工作于Enhanced ShockBurst 具有Automatic packethandling, Auto packet transaction handling,具有可选的内置包应答机制,极大的降低丢包率。(11)与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要。(12)其他系列的单片机,如果是5V的,请参考该系列单片机IO口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块! 如果

12、是3.3V的,可以直接和RF24l01模块的IO口线连接。比如AVR系列单片机;如果是5V 的,一般串接2K 的电阻引脚定义图1.3 串口通信 串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。 1.4 5V转3.3V用电阻分压的方式使5V转为3.3V3 硬件设计 4 软件设计源代码中,对应代码要改成sbitCE =P11; /双路电流检测板sbitCS=P14; sbitIR

13、Q=P32;sbit MOSI =P15; /双路电流检测板sbit MISO =P16;sbit SCK=P17;sbit LCD1602_RS=P23; /双路电流检测板sbit LCD1602_RW=P22;sbit LCD1602_EN=P21;附录A 系统原理图B 系统实物图C 源代码HELLOWOLD #include Timertimer.h#include LCD1602lcd1602.h BYTE code str0=-Hello World!-;BYTE code str1=-Hello LCD1602-;BYTE code str2=-Welcome to 51 MCU

14、WORLD!-;void main(void)/InitSerial();TimerInit();LCD1602_init();EA=1;while(1)LCD1602_string(0,0,str0);LCD1602_string(0,1,str1);Delay100ms(10);LCD1602_string(0,0,str2);Delay100ms(10);文件名称:timer.c* 功能描述:timer0设置为自动重装工作模式,每100us产生一次中断,复用为多个定时器* 开发环境:IDE为Keil uVision2 v7.20。MCU为STC89C516RD+,晶振频率24M* 程序作者:张懿* 文件版本:v0.9* 创建时间:2008/11/1 * 修改记录:无*/#define _TIMER_C_#include .Timertimer.hstatic data BYTE gBa_TmrBufMAX_TMR; / Timer arraystatic data BYTE gB_Count1ms; / 1ms counterstatic data BYTE gB_Count10ms; / 10ms counters

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号